--- name: dogfood description: Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with reproduction evidence. allowed-tools: Bash(agent-browser:*) Bash(npx agent-browser:*) --- # Dogfood Systematically explore a web application, find issues, and produce a report with reproduction evidence for each finding. ## Defaults Only the target URL is required. Use defaults unless the user overrides them. | Parameter | Default | |-----------|---------| | Target URL | Required | | Session name | Slugified domain | | Output directory | `./dogfood-output/` | | Scope | Full app | | Authentication | None | If the user says "dogfood ", start immediately. Ask only when authentication is required but credentials are missing. Use `agent-browser` directly, not `npx agent-browser`, when available. ## Workflow 1. Initialize output dirs and copy `templates/dogfood-report-template.md` to `{OUTPUT_DIR}/report.md`. 2. Open `{TARGET_URL}` in a named `agent-browser` session and wait for `networkidle`. 3. Authenticate if needed. Ask the user for OTP/email codes. 4. Take initial annotated screenshot and `snapshot -i`. 5. Read `references/issue-taxonomy.md` for severity and exploration checklist. 6. Explore top-level navigation, core workflows, forms, empty/error states, boundaries, modals/dropdowns, console errors, and realistic create/edit/delete flows. 7. Document each issue immediately as it is found; never batch findings at the end. 8. Aim for 5-10 well-documented issues. Depth of evidence beats count. 9. Re-read the report, update summary counts, close the browser session, and summarize findings. ```bash mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videos cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.md agent-browser --session {SESSION} open {TARGET_URL} agent-browser --session {SESSION} wait --load networkidle agent-browser --session {SESSION} screenshot --annotate {OUTPUT_DIR}/screenshots/initial.png agent-browser --session {SESSION} snapshot -i ``` ## Evidence Rules Interactive/behavioral issues need full repro evidence: ```bash agent-browser --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.webm agent-browser --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png # perform action at human pace agent-browser --session {SESSION} screenshot --annotate {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png agent-browser --session {SESSION} record stop ``` Static visible-on-load issues need one annotated screenshot and no video: ```bash agent-browser --session {SESSION} screenshot --annotate {OUTPUT_DIR}/screenshots/issue-{NNN}.png ``` For every issue, verify it reproduces before collecting evidence, increment `ISSUE-001`, `ISSUE-002`, and write report steps that map to screenshots. ## Guardrails - Test as a user. Do not read the target app's source code. - Never delete output files mid-session. - Do not close and restart the session unless necessary; work forward. - Use `snapshot -i` for clickable/fillable elements and `snapshot` for reading content. - Check console/errors periodically. - During repro video, use `type` instead of `fill` and add small pauses so the video is watchable. - Batch independent browser commands when efficient. ## Resources - `references/issue-taxonomy.md`: severity levels and exploration checklist. - `templates/dogfood-report-template.md`: report template.