App Documentation Generator
Browse a running web app, screenshot every screen, and produce documentation good enough to publish. Not a screenshot dump — a structured guide that teaches someone how to use the app.
Browser Tool Detection
Same as ux-audit — Chrome MCP, Playwright MCP, or playwright-cli.
URL Resolution
Same as ux-audit — prefer deployed/live URL over localhost.
Depth Levels
Default: standard
Workflow
1. Get App Details
Ask the user:
- App URL (required — or auto-detect from wrangler.jsonc / running dev server)
- App name (for the guide title)
- Auth — Chrome MCP uses their session; Playwright needs credentials
- Depth — quick, standard, thorough, or exhaustive
- Audience — who reads this? (end users, admins, new team members, clients)
2. Discover All Routes
Navigate the app and build a complete page inventory:
- Read the sidebar/navigation menu
- Click through all top-level items and sub-items
- Note sub-pages, tabs within pages, and nested navigation
- Check for settings, profile, admin areas, help pages
- Record the URL and purpose of each page
- Note which pages have interactive elements (forms, buttons, filters)
Create a task list to track documentation progress.
3. Document Each Page
For each page in the inventory:
a. Navigate and Prepare
- Navigate to the page
- Wait for data to load (no skeleton/spinner in screenshot)
- Resize browser to 1280x720 for consistent screenshots
- Make sure the page has realistic data — not "Test Client" or empty tables
b. Screenshot the Default State
- Take a clean screenshot showing the page populated with data
- Save to
docs/screenshots/with descriptive names
c. Write the Page Section
For each page, write:
d. Document Key Workflows
For interactive pages, document step-by-step with screenshots at each significant step:
e. Depth-Specific Extras
4. Write Supporting Sections
Beyond per-page documentation:
Getting Started (all depths):
Navigation Guide (standard+):
Keyboard Shortcuts Reference (thorough+):
Troubleshooting (thorough+):
Admin Guide (exhaustive):
5. Output Formats
Markdown (default): docs/USER_GUIDE.md
- Relative image paths:
 - GitHub-flavoured markdown — renders on GitHub, in VS Code, in Obsidian
HTML (exhaustive depth, or on request): docs/user-guide.html
- Single self-contained HTML file with Tailwind CDN
- Screenshots as relative paths (not base64 — keeps file size sane)
- Table of contents sidebar with smooth scroll
- Print-friendly CSS (
@media print) - Dark mode support
Screenshot naming: docs/screenshots/NN-section-description.png
- Numbers for sort order:
01-,02-,03- - Section prefix:
01-dashboard-,05-clients-,12-settings- - Descriptive suffix:
-overview.png,-add-form.png,-saved-confirmation.png
6. Mockups and Diagrams
Mix screenshots with diagrams where it helps understanding:
Workflow diagrams (text-based, no external tools):
New Enquiry → Create Client → Add Policy → Send Renewal → Archive ↓ ↓ ↓ ↓ ↓ [Email] [Client Page] [Policy Page] [Email Outbox] [Archive]
Annotated screenshots: When a screenshot needs callouts, describe them in the text:
UI element reference: For complex pages, a labelled diagram helps:
Screenshot Quality
- Resolution: 1280x720 (desktop), 375x812 (mobile)
- Data: Realistic data. Not "Test" or "Lorem ipsum". Use the app as it would actually be used.
- Timing: Wait for data to load. No spinners, no skeleton screens in final shots.
- State: Show the page in a useful state — with data populated, relevant section expanded, key feature visible
- Consistency: Same viewport size, same zoom level, same browser throughout
- Dark mode: If documenting dark mode, switch BEFORE taking screenshots — don't mix modes in one section
Autonomy Rules
- Just do it: Navigate pages, take screenshots, read page content, write documentation
- Brief confirmation: Before writing large doc files
- Ask first: Before submitting forms with real data, before clicking delete
- Thorough/exhaustive mode: Skip confirmation for writing files and filling forms with test data
Quality Bar
The documentation should be good enough that:
- A new user can complete any task by following the guide without asking for help
- Every screenshot has context — what am I looking at? What should I do?
- Steps are atomic — one action per numbered step, never "click X and then fill in Y and Z"
- Tips reveal hidden value — shortcuts, power features, things the user wouldn't discover on their own
- Troubleshooting is real — based on actual confusing moments encountered during documentation, not hypothetical FAQs
- It's scannable — headings, screenshots, tables, tips. Nobody reads documentation top-to-bottom. They search for what they need.


