# Dogfood

> Dogfood a web app or local URL with exploratory QA, bug hunt, UX review, console checks, screenshots, videos, repro steps, and severity report. Use when user asks to test, QA, find issues, review quality, or explore site/app behavior. Do not inspect source code during testing.

- Skill: `flpbalada/dogfood` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add flpbalada/dogfood`
- Raw SKILL.md: https://api.skillmd.com/api/skills/flpbalada/dogfood/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: flpbalada (https://skillmd.com/u/flpbalada)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/flpbalada/dogfood

---


# Dogfood

Explore a web app like a user.
Find issues.
Prove every finding.

## Inputs

- Required: target URL.
- Optional: session name, output directory, scope, credentials.
- Defaults:
  - Session: slugified domain.
  - Output: `./dogfood-output/`.
  - Scope: full app.
  - Auth: none.

If target URL is present, start.
Ask only when auth is needed and credentials are missing.

## Rules

- Use `agent-browser` directly.
- Do not use `npx agent-browser`.
- Do not read target app source code.
- Do not delete output files.
- Do not close and restart session mid-run.
- Verify issue before documenting.
- Document each issue immediately.
- Static issue: annotated screenshot enough.
- Interactive issue: video plus step screenshots.

## Setup

```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
```

If login is needed:

```bash
agent-browser --session {SESSION} snapshot -i
agent-browser --session {SESSION} fill @e1 "{EMAIL}"
agent-browser --session {SESSION} fill @e2 "{PASSWORD}"
agent-browser --session {SESSION} click @e3
agent-browser --session {SESSION} wait --load networkidle
agent-browser --session {SESSION} state save {OUTPUT_DIR}/auth-state.json
```

Ask user for OTP codes.

## Flow

1. Create output directories and report.
2. Open target and authenticate if needed.
3. Take initial annotated screenshot.
4. Read `references/issue-taxonomy.md`.
5. Explore top-level navigation.
6. Test core workflows, forms, modals, menus, empty states, and errors.
7. Check console and browser errors.
8. Document each issue as soon as found.
9. Stop around 5-10 well-documented issues.
10. Update severity counts and close session.

## Explore commands

```bash
agent-browser --session {SESSION} screenshot --annotate {OUTPUT_DIR}/screenshots/initial.png
agent-browser --session {SESSION} snapshot -i
agent-browser --session {SESSION} errors
agent-browser --session {SESSION} console
```

Use `snapshot -i` for interactive refs.
Use `snapshot` for text and content.

## Evidence

For interactive issues:

```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
sleep 1
agent-browser --session {SESSION} screenshot --annotate {OUTPUT_DIR}/screenshots/issue-{NNN}-result.png
sleep 2
agent-browser --session {SESSION} record stop
```

For static issues:

```bash
agent-browser --session {SESSION} screenshot --annotate {OUTPUT_DIR}/screenshots/issue-{NNN}.png
```

## References

| Reference | When to Read |
|-----------|--------------|
| [references/issue-taxonomy.md](references/issue-taxonomy.md) | Start of session -- calibrate severity levels, issue types, and exploration checklist |
| [templates/dogfood-report-template.md](templates/dogfood-report-template.md) | Copy into output directory as the report file |

## Output

- Report path.
- Total issues.
- Severity breakdown.
- Most critical findings.
- Evidence files saved.

