Files
skills/dogfood/SKILL.md
2026-05-11 12:05:04 +01:00

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.