Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add OutlineDriven/outline-driven-development --skill diff-scoped-browser-qagit clone --depth 1 https://github.com/OutlineDriven/outline-driven-developmentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/outlinedriven/outline-driven-development/diff-scoped-browser-qa)<a href="https://agentmods.dev/skills/outlinedriven/outline-driven-development/diff-scoped-browser-qa"><img src="https://agentmods.dev/badge/skills/outlinedriven/outline-driven-development/diff-scoped-browser-qa/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/outlinedriven/outline-driven-development/diff-scoped-browser-qa"><img src="https://agentmods.dev/badge/skills/outlinedriven/outline-driven-development/diff-scoped-browser-qa.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 40 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00049 | $0.01959 |
| Opus 5 | $0.00024 | $0.00979 |
| Sonnet 5 | $0.00010 | $0.00392 |
| Haiku 4.5 | $0.00005 | $0.00196 |
Grade A, and why
diff-scoped-browser-qa scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Diff-scoped browser QA
Contract
| Field | Bound contract |
|---|---|
| Trigger | /diff-scoped-browser-qa [PR number, branch name, or blank for current branch] [--port PORT] |
| Authority | Reversible local: writes only the dogfood report under the resolved artifact root, auto-fix commits on the target branch, and transient artifacts in OS temp; rollback is version control for commits and the on-disk report checkpoint for the report. No remote mutation. |
| Side effect | Drives a real browser, may autonomously fix small breakages with regression tests and commit them, and writes a dogfood report |
| Done | Every matrix scenario is Pass, Fixed, Skipped, or terminal Blocked; the automated suite result is recorded and the report is finalized |
Inputs
- Target: a PR number, a branch name, or blank for the current branch. Optional
--port PORTfor the dev server. - A local dev server command the project supports (
bin/dev,rails server,pnpm run dev, or the repository equivalent). - The
agent-browserCLI installed on the host. - Product personas under
<root>/personas/, optional; if absent, judge each scenario against the product's evident intended users.
Procedure
-
Resolve the target and diff scope. A blank target means the current branch; the run is already on it, so no isolation is needed. A PR number stays a PR identity through isolation and checkout. Never collapse it to its head ref, whose name may itself be
main. For a named branch other than the current one, offer isolation in a git worktree. If the user declines, check out the target in place, but first confirm if uncommitted changes would be disturbed. Never switch the primary checkout out from under the user. Never dogfood the trunk on a branch-name or blank target because there is no diff. A PR target always has a base and is always diffable. Done when: the target and diff scope are resolved with isolation handled. -
Resolve the artifact root
<root>. Readdocs_rootfrom<repo-root>/.odin/config.yamlonly (<repo-root>=git rev-parse --show-toplevel); do not readconfig.local.yaml. Unset -><root>isdocs. Validate a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under.git/; otherwise stop with an error namingdocs_rootand the value; never fall back todocs. Create<root>if absent. Done when:<root>is resolved and validated, or the skill stops on an invaliddocs_root.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · -45 tokens per session b2c01f208401
- 5d ago First seen · 62 lines · 94 tokens per session scan A 92b62d83ade1
diff-scoped-browser-qa is a skill published in the GitHub repository OutlineDriven/outline-driven-development (52 stars, last pushed 3d ago), licensed Apache-2.0. It adds 49 tokens to every session and 1,959 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
browser-testing
Test and debug browser code with Chrome DevTools MCP. Use when building or debugging browser UI, inspecting the DOM, capturing console errors, analyzing network requests, or verifying visual output.
browse
Drive a real browser through Aside: open a page, read it, click through a flow, take screenshots, check console errors. (gstack).
create-verification-skill
Create a repo-local verification skill and exhaustive feature map for driving a real app through its UI, CLI, or API. Use for "create a verification skill", "make a verify skill for this repo", or "document how agents can verify this app".
browser-qa
A browser-based quality check for deployed web pages and user flows. It uses browser automation to test rendering, navigation, forms, interactions, responsive behaviour, and accessibility-related issues.
memstack-development-webapp-testing
Use when the user says 'write browser tests', 'test this page', 'playwright test', 'e2e test', 'end to end test', 'browser test', 'test the UI', or needs Playwright-based browser testing for a web application. Do NOT use for unit tests, API tests, or non-browser testing.
webapp-selenium-testing
Author and maintain versioned Selenium WebDriver tests with Java and JUnit 5. Use for creating, debugging, or running Selenium specs, implementing Page Objects, handling explicit waits, capturing screenshots, or setting up Maven test projects. Supports Chrome, Firefox, and Edge. Keywords: Selenium WebDriver, Java…