82 lines
3.6 KiB
Markdown
82 lines
3.6 KiB
Markdown
---
|
|
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 <url>", 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.
|