npx skills add ...
npx skills add nousresearch/hermes-agent --skill dogfood
Exploratory QA of web apps: find bugs, evidence, reports.
npx skills add nousresearch/hermes-agent --skill dogfood
This skill guides you through systematic exploratory QA testing of web applications using the browser toolset. You will navigate the application, interact with elements, capture evidence of issues, and produce a structured bug report.
browser_navigate, browser_snapshot, browser_click, browser_type, browser_vision, browser_console, browser_scroll, browser_back, browser_press)The user provides:
./dogfood-output)Follow this 5-phase systematic workflow:
For each page or feature in your plan:
Navigate to the page:
Take a snapshot to understand the DOM structure:
Check the console for JavaScript errors:
Do this after every navigation and after every significant interaction. Silent JS errors are high-value findings.
Take an annotated screenshot to visually assess the page and identify interactive elements:
The annotate=true flag overlays numbered [N] labels on interactive elements. Each [N] maps to ref @eN for subsequent browser commands.
Test interactive elements systematically:
browser_click(ref="@eN")browser_type(ref="@eN", text="test input")browser_press(key="Tab"), browser_press(key="Enter")browser_scroll(direction="down")After each interaction, check for:
browser_console()browser_vision(question="What changed after the interaction?")For every issue found:
Take a screenshot showing the issue:
Save the screenshot_path from the response — you will reference it in the report.
Record the details:
Classify the issue using the issue taxonomy (see references/issue-taxonomy.md):
Generate the final report using the template at templates/dogfood-report-template.md.
The report must include:
MEDIA:<screenshot_path> for inline images)Save the report to {output_dir}/report.md.
| Tool | Purpose |
|---|---|
browser_navigate | Go to a URL |
browser_snapshot | Get DOM text snapshot (accessibility tree) |
browser_click | Click an element by ref (@eN) or text |
browser_type | Type into an input field |
browser_scroll | Scroll up/down on the page |
browser_back | Go back in browser history |
browser_press | Press a keyboard key |
browser_vision | Screenshot + AI analysis; use annotate=true for element labels |
browser_console | Get JS console output and errors |
browser_console() after navigating and after significant interactions. Silent JS errors are among the most valuable findings.annotate=true with browser_vision when you need to reason about interactive element positions or when the snapshot refs are unclear.MEDIA:<screenshot_path> so they can see the evidence inline.