defect-hunting

defect-hunting is a skill for Claude Code from vmobifystudio/app-dev-team. It costs 96 tokens per session (4,723 once invoked), scanned A, original, MIT.

A structured way to find defects by checking the data paths, rules and outcomes behind a feature, not only the screen or code that was changed.

In plain words
What is it for?
It helps with code reviews, application audits, guard rules, tests and checks of thresholds, values and formulas.
Why use it?
It catches bugs in overlooked write paths, incorrect constants, ineffective rules and changes that appear to succeed without actually doing so.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the app-dev-team plugin — 32 skills, 27 commands, 30 agents, 2 hooks shipped together

Good fit It helps with code reviews, application audits, guard rules, tests and checks of thresholds, values and formulas.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/vmobifystudio/app-dev-team/defect-hunting
Install

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.

Any agent
npx skills add vmobifystudio/app-dev-team --skill defect-hunting
Clone the repo
git clone --depth 1 https://github.com/vmobifystudio/app-dev-team

Made for: Claude Code.

Or install app-dev-team, the plugin that ships this one along with the rest of its 32 skills, 27 commands, 30 agents, 2 hooks.

Wrote 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.

agentmods badge for defect-hunting

README.md
[![agentmods](https://agentmods.dev/badge/skills/vmobifystudio/app-dev-team/defect-hunting/github.svg)](https://agentmods.dev/skills/vmobifystudio/app-dev-team/defect-hunting)
Your own site
<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/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.

agentmods 80×15 button for defect-hunting

Your own site · 80×15
<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="Reviewed on agentmods" width="80" height="20"></a>
Per session 96 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,723 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00096 $0.04723
Opus 5.5 $0.00038 $0.01889
Sonnet 5.5 $0.00019 $0.00945
Haiku 4.5 $0.00010 $0.00472

Measured 1mo ago against content hash 4cf94d0107e1, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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 1mo 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.

skills/defect-hunting/SKILL.md · 376 lines

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:

  1. Name the data the change touches — the field, the row, the preference, the entitlement.
  2. Enumerate every writer. grep the field name across the whole repo, not the module — prefer ast-grep where 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.
  3. Enumerate every reader, same way.
  4. Show the invariant holding on each one. A validation that one producer applies and another walks around is not a validation.
  5. If you cannot enumerate them, say so — do not approve on the strength of the path you read.

Read the full file on GitHub · 376 lines

Files

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.

Changes

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.

  1. 1mo ago First seen · 376 lines · 96 tokens per session scan A 4cf94d0107e1

Subscribe to this mod's changes

defect-hunting is a skill published in the GitHub repository vmobifystudio/app-dev-team (4 stars, last pushed 4d ago), licensed MIT. It adds 96 tokens to every session and 4,723 once invoked, about $0.0004 per session on Opus 5.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.