dogfood
Dogfood Skill
Systematic exploratory QA of a web application: navigate it, interact with it, capture evidence of anything broken, and produce a structured bug report with screenshots and console errors attached.
This skill drives a real headless Chromium instance through a small bundled Node script (scripts/browser-driver.mjs). One browser session stays alive across the whole pass, so pages, cookies, and console history persist. It needs only the four core tools every harness has — Read, Write, Edit, Bash — plus Node. No harness-specific browser tool is required.
See also: USE_CASES.md for trigger phrases and a worked example, references/local-app-setup.md for safely standing up a local target first, and the top-level skills index. This skill is also called internally by app-design's Mode A Test phase — see app-design/SKILL.md. The accessibility-audit skill reuses this driver and its axe command (documented in the driver reference below).
Setup: paths & shell state (READ THIS FIRST)
Two facts about how commands run, and how this skill deals with them:
- Each Bash command may run in a fresh shell. On stock pi, shell variables and
exports do not carry over from one Bash call to the next. So this skill does not rely on a variable set in an earlier step. Instead:- The output directory is a fixed relative path,
./dogfood-output— the working directory (your project root) is stable between calls, so this same relative path always resolves to the same place. Every command below uses it literally. - The one value that must be absolute is this skill's own directory (where
browser-driver.mjslives). Each Bash block that needs it setsD=on its first line. You must fill inDwith the real absolute path (see step 2). Do not leave the placeholder.
- The output directory is a fixed relative path,