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 agentmods add skills/vmobifystudio/app-dev-team/defect-huntingnpx skills add vmobifystudio/app-dev-team --skill defect-huntinggit clone --depth 1 https://github.com/vmobifystudio/app-dev-teamWrote 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/vmobifystudio/app-dev-team/defect-hunting)<a href="https://agentmods.dev/skills/vmobifystudio/app-dev-team/defect-hunting"><img src="https://agentmods.dev/badge/skills/vmobifystudio/app-dev-team/defect-hunting.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00096 | $0.04723 |
| Opus 5 | $0.00048 | $0.02361 |
| Sonnet 5 | $0.00019 | $0.00945 |
| Haiku 4.5 | $0.00010 | $0.00472 |
Grade A, and why
defect-hunting 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 today.
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 — 376 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Defect hunting
Mined from a real remediation programme where twelve screen-by-screen review rounds found nothing new, and one round organised differently found dozens of live defects. Every one of these rules is paid for.
The sentence that generates all four:
Verify the thing that has to be true, not the thing you changed.
Filtering the list is not filtering the parser. Capping the severity is not capping its renderer. Matching the token is not matching the value. Mutating the file is not confirming the mutation landed.
1. Audit the data's entry points, not the screens
A review organised by screen structurally cannot find these, because in every case the audited surface was correct and the bug was in the second path to the same data — usually another file, often another module:
| What was reviewed | Where the defect actually was |
|---|---|
| Add-form validation | the edit path, which validated nothing |
| the dashboard alert banner | the detail screen the banner opens — they disagreed |
| the growth-target reader | the writer, which destroyed data |
| the photo picker's success branch | its cancel branch, which wiped the existing photo |
| the purchase flow | the still-loading entitlement state, which paywalled a paying customer |
| sync's happy path | the RECONCILE_FAILED branch |
The question that does the work
"What is the second way this value gets written?"
And its siblings: what is the second way it gets read? What happens on cancel? On failure? On restore? On import? On sync? On each remaining enum case?
Procedure
Before approving any change that touches persisted or user-visible state:
- Name the data the change touches — the field, the row, the preference, the entitlement.
- Enumerate every writer.
grepthe field name across the whole repo, not the module — preferast-grepwhere the language has one available, same reasoning as §1b: text search false-negatives on a renamed reference or a match sitting inside a comment or string. Create, edit, import, sync, restore, migration, reset-to-default, and every failure branch. - Enumerate every reader, same way.
- Show the invariant holding on each one. A validation that one producer applies and another walks around is not a validation.
- If you cannot enumerate them, say so — do not approve on the strength of the path you read.
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.
- today First seen · 376 lines · 96 tokens per session scan A 4cf94d0107e1
defect-hunting is a skill published in the GitHub repository vmobifystudio/app-dev-team (4 stars, last pushed 24d ago), licensed MIT. It adds 96 tokens to every session and 4,723 once invoked, about $0.0005 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
execute-task
Implement one task (or a cohesion bundle) from a signed-off spec (Ready or Active): recompute the execution freshness gate, write the verifying test first, implement to green, run the project's full CI with adaptive retry, converge via the configured reviewsequence (default /polish --nested), then open a draft PR…
builder
Detect a project's stack and recommend or apply the universal mechanical quality guards from planwright's core catalog (formatter, linters, type-checker, test runner, secret scan, commit hooks, CI gate), plus the growable breadth dimensions. Escalates stake-bearing decisions (auth, data modeling, security posture…
spec-walkthrough
Render a spec bundle (or a chosen slice) into a plain-language, didactic comprehension artifact a human reads and judges for themselves: an unaided cold read before kickoff, re-orientation mid-execution, or onboarding to a finished or abandoned spec. Standalone and strictly read-only: it renders any status, never…
drain
Run the on-demand drain pass over every spec bundle's Gate deferral entries: evaluate structured GATE(when:) conditions, surface date and free-text gates, report malformed ones, inventory each live bundle's [manual] test-spec entries, and surface the observations log's unmined state. Read-only; nothing is…
orchestrate
Advance one planwright spec by one step: pick the next ready unit critical-path-first (or a cohesion bundle), run the freshness gate, record the dispatch under the per-spec lock, and dispatch /execute-task via the backend. A stateless, disposable control tower; a reconcile sweep rebuilds from disk. Never merges, marks…
spec-kickoff
Walk a spec bundle section by section to mutual understanding, producing the signed-off kickoff brief downstream skills execute from. On sign-off: runs the Discovery-Rigor lens pass, flips Draft to Ready, records the sign-off record (anchor last), commits, pushes, opens a draft PR, then on clean completion marks the…