adhd-output-style
This skill should be used when the user asks for "ADHD output", "fewer output tokens", "short…
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
$ npx -y skills add fcakyon/claude-codex-settings --skill dogfood --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dogfoodContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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 full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams. allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*) license: Apache-2.0
Systematically explore a web application, find issues, and produce a report with full reproduction evidence for every finding.
Only the **Target URL** is required. Everything else has sensible defaults -- use them unless the user explicitly provides an override.
| Parameter | Default | Example override | |-----------|---------|-----------------| | **Target URL** | _(required)_ | `vercel.com`, `http://localhost:3000` | | **Session name** | Slugified domain (e.g., `vercel.com` -> `vercel-com`) | `--session my-session` | | **Output directory** | `./dogfood-output/` | `Output directory: /tmp/qa` | | **Scope** | Full app | `Focus on the billing page` | | **Authentication** | None | `Sign in to user@example.com` |
If the user says something like "dogfood vercel.com", start immediately with defaults. Do not ask clarifying questions unless authentication is mentioned but credentials are missing.
Always use `agent-browser` directly -- never `npx agent-browser`. The direct binary uses the fast Rust client. `npx` routes through Node.js and is significantly slower.
1. Initialize Set up session, output dirs, report file 2. Authenticate Sign in if needed, save state 3. Orient Navigate to starting point, take initial snapshot 4. Explore Systematically visit pages and test features 5. Document Screenshot + record each issue as found 6. Wrap up Update summary counts, close session
mkdir -p {OUTPUT_DIR}/screenshots {OUTPUT_DIR}/videosCopy the report template into the output directory and fill in the header fields:
cp {SKILL_DIR}/templates/dogfood-report-template.md {OUTPUT_DIR}/report.mdStart a named session:
agent-browser --session {SESSION} open {TARGET_URL}
agent-browser --session {SESSION} wait --load domcontentloadedIf the app requires login:
agent-browser --session {SESSION} snapshot -i
# Identify login form refs, fill credentials
agent-browser --session {SESSION} fill @e1 "{EMAIL}"
agent-browser --session {SESSION} fill @e2 "{PASSWORD}"
agent-browser --session {SESSION} click @e3
# Replace this with the target app's post-login URL, text, or JS condition:
agent-browser --session {SESSION} wait --url "{POST_LOGIN_URL_PATTERN}"
# Or:
# agent-browser --session {SESSION} wait --text "{POST_LOGIN_TEXT}"
# agent-browser --session {SESSION} wait --fn "{POST_LOGIN_CONDITION}"For OTP/email codes: ask the user, wait for their response, then enter the code.
After successful login, save state for potential reuse:
agent-browser --session {SESSION} state save {OUTPUT_DIR}/auth-state.jsonTake an initial annotated screenshot and snapshot to understand the app structure:
agent-browser --session {SESSION} screenshot --annotate {OUTPUT_DIR}/screenshots/initial.png
agent-browser --session {SESSION} snapshot -iIdentify the main navigation elements and map out the sections to visit.
Read [references/issue-taxonomy.md](references/issue-taxonomy.md) for the full list of what to look for and the exploration checklist.
**Strategy -- work through the app systematically:**
**At each page:**
agent-browser --session {SESSION} snapshot -i
agent-browser --session {SESSION} screenshot --annotate {OUTPUT_DIR}/screenshots/{page-name}.png
agent-browser --session {SESSION} errors
agent-browser --session {SESSION} consoleUse your judgment on how deep to go. Spend more time on core features and less on peripheral pages. If you find a cluster of issues in one area, investigate deeper.
Steps 4 and 5 happen together -- explore and document in a single pass. When you find an issue, stop exploring and document it immediately before moving on. Do not explore the whole app first and document later.
Every issue must be reproducible. When you find something wrong, do not just note it -- prove it with evidence. The goal is that someone reading the report can see exactly what happened and replay it.
**Choose the right level of evidence for the issue:**
These require user interaction to reproduce -- use full repro with video and step-by-step screenshots:
1. **Start a repro video** _before_ reproducing:
agent-browser --session {SESSION} record start {OUTPUT_DIR}/videos/issue-{NNN}-repro.webm2. **Walk through the steps at human pace.** Pause 1-2 seconds between actions so the video is watchable. Take a screenshot at each step:
agent-browser --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-1.png
sleep 1
# Perform action (click, fill, etc.)
sleep 1
agent-browser --session {SESSION} screenshot {OUTPUT_DIR}/screenshots/issue-{NNN}-step-2.png
sleep 1
# ...continue until the issue manifests3. **Capture the broken state.** Pause so the viewer can see it, then take an annotated screenshot:
sleep 2 agent-browser
Battle-tested Claude Code, OpenAI Codex, Cursor configs, plugins, hooks and agents with Kimi, MiniMax and GLM API support.
Repo: fcakyon/claude-codex-settings
This skill should be used when the user asks for "ADHD output", "fewer output tokens", "short…
Agent-browser usage guide. Read this before running any agent-browser commands. Covers the…
Reverse-engineer a website's internal API by recording browser traffic into a HAR file, then…
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using…
Build and validate experimental WebMCP tools for an existing web page. Use when an agent…