App Documentation Generator
Browse a running web app, screenshot every screen, and produce a complete user guide. The documentation is generated from the actual app, not from specs or assumptions.
Browser Tool Detection
Before starting, detect available browser tools:
- Chrome MCP () — preferred for authenticated apps
- Playwright MCP (
mcp__plugin_playwright_playwright__*
) — for public apps
- playwright-cli — for scripted flows
If none are available, inform the user and suggest installing Chrome MCP or Playwright.
Depth Levels
| Depth | Screenshots | Coverage | Duration |
|---|
| quick | ~10 | Main 3-5 screens, happy path | 10-15 min |
| standard | ~30 | All pages, primary workflows | 30-60 min |
| thorough | ~80+ | All pages, all states, mobile views, every CRUD flow | 1-3 hours |
Default: standard
Workflow
1. Get App Details
Ask the user:
- App URL (required)
- App name (for the guide title)
- Auth — do they need to log in? Chrome MCP uses their session; Playwright needs credentials
- Depth — quick, standard, or thorough
- Audience — who will read this guide? (end users, admins, new team members)
2. Discover All Routes
Navigate the app and build a page inventory:
- Read the sidebar/navigation menu
- Click through all top-level items
- Note sub-pages and nested navigation
- Check for settings, profile, admin areas
- Record the URL and purpose of each page
Create a task list to track documentation progress.
3. Document Each Page
For each page in the inventory:
a. Navigate and Orient
- Navigate to the page
- Wait for data to load (no skeleton/spinner in screenshot)
- Resize browser to 1280x720 for consistent screenshots
b. Screenshot Default State
- Take a clean screenshot showing the page with realistic data
- Save to with descriptive names: ,
c. Describe the Page
Write a section covering:
- What this page is for — one sentence
- What the user can see — key data, status indicators, navigation elements
- What the user can do — actions available (buttons, forms, filters)
d. Document Key Workflows
For interactive pages, document step-by-step:
- Screenshot the starting state
- Perform the action (click button, fill form)
- Screenshot each significant step
- Screenshot the result/confirmation
- Write numbered steps matching the screenshots
e. Depth-Specific Extras
| Extra | quick | standard | thorough |
|---|
| Empty states | Skip | Note if present | Screenshot and document |
| Error states | Skip | Note if present | Trigger and screenshot |
| Dark mode | Skip | Skip | Screenshot every page |
| Mobile view (375px) | Skip | Skip | Screenshot every page |
| All CRUD operations | Skip | Primary only | Every operation with screenshots |
| Settings/config pages | Skip | Document | Document all options |
4. Organise the Guide
Group pages into logical sections. Common groupings:
markdown
# [App Name] User Guide
## Getting Started
- Accessing the app (URL, login)
- Dashboard overview
- Navigation guide
## [Core Feature 1: e.g. Contact Management]
### Viewing contacts
### Adding a new contact
### Editing contact details
### Deleting a contact
### Searching and filtering
## [Core Feature 2: e.g. Reports]
### Viewing reports
### Creating a report
### Exporting data
## [Core Feature 3: e.g. Settings]
### Profile settings
### Team management
### Preferences
## Tips and Shortcuts
- Keyboard shortcuts (if any)
- Bulk actions
- Filters and search tips
## Troubleshooting
- Common issues noticed during documentation
- Error messages and what they mean
5. Write the Output
Screenshots:
docs/screenshots/NN-description.png
(numbered for order)
- Relative image paths:

- Step-by-step numbered lists for workflows
- Tables for reference data (keyboard shortcuts, settings options)
- Admonitions for important notes:
Optional HTML version: If the user wants a hosted version, generate a single HTML file with embedded images (base64) or relative image paths, styled with Tailwind CDN.
Screenshot Conventions
- Resolution: 1280x720 (desktop), 375x812 (mobile if thorough)
- Naming:
NN-section-description.png
(e.g. 01-dashboard-overview.png
, )
- Content: Wait for data to load. No spinners, no skeleton screens in final shots.
- Annotations: If a screenshot needs callouts, describe them in the markdown text below the image rather than editing the image
- Save location: in the project root
Autonomy Rules
- Just do it: Navigate pages, take screenshots, read page content
- Brief confirmation: Before writing docs to files
- Ask first: Before submitting forms, before clicking delete, before entering credentials
- Thorough mode: Same as above but skip confirmation for writing files and filling forms with test data
Quality Rules
- Document what the app actually does, not what you think it should do
- Every screenshot must have context — don't just dump images without explanation
- Write for the audience — admin docs are different from end-user docs
- Number screenshots chronologically — so they make sense when viewed in a file browser
- Note gaps — if a feature seems incomplete or confusing, note it (this is feedback for the developer)
- Keep steps atomic — one action per numbered step