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 tomzx/agents --skill find-dead-codegit clone --depth 1 https://github.com/tomzx/agentsWrote 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/tomzx/agents/find-dead-code)<a href="https://agentmods.dev/skills/tomzx/agents/find-dead-code"><img src="https://agentmods.dev/badge/skills/tomzx/agents/find-dead-code/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/tomzx/agents/find-dead-code"><img src="https://agentmods.dev/badge/skills/tomzx/agents/find-dead-code.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00032 | $0.01787 |
| Opus 5 | $0.00016 | $0.00894 |
| Sonnet 5 | $0.00006 | $0.00357 |
| Haiku 4.5 | $0.00003 | $0.00179 |
Grade A, and why
find-dead-code 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 5d 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 — 199 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TODAY=!date +%Y-%m-%d
Dead Code Scan
Identifies code that is defined but never used — functions, classes, variables, exports, feature flags, and config keys — and produces a prioritized list of safe removals. Dead code increases cognitive load, slows onboarding, and creates false surface area for future bugs.
Prerequisites
- Working directory is the root of the repository (or a subdirectory)
- Optional:
$1— path to limit the scan (defaults to.) - Language-specific tools installed as available (degrades to heuristics):
- Python:
vulture(uv tool install vultureorpip install vulture) - JavaScript/TypeScript:
ts-prune(npx ts-prune) orknip(npx knip) - Go:
deadcode(go install golang.org/x/tools/cmd/deadcode@latest)
- Python:
Categories of Dead Code
| Category | Examples |
|---|---|
| Unused functions / methods | Defined but never called anywhere in the codebase |
| Unused classes / types | Defined but never instantiated or referenced |
| Unused variables / constants | Assigned but never read |
| Unused imports | Imported but not used in the file |
| Unreachable code | Code after a return/raise/exit, or in a branch that can never be true |
| Stale feature flags | Flags that are always-true or always-false in all environments |
| Orphaned config keys | Keys present in config files but never read by the application |
| Unused exports | Symbols exported from a module but not imported anywhere |
Steps
1. Detect Language and Available Tools
find ${1:-.} -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -10
command -v vulture
command -v ts-prune || npx --yes ts-prune --version 2>/dev/null
command -v deadcode
2. Run Language-Specific Dead Code Detection
Python — vulture:
vulture ${1:-.} --min-confidence 80 --sort-by-size
--min-confidence 80 reduces false positives from dynamic attribute access.
JavaScript/TypeScript — knip (preferred) or ts-prune:
npx knip --reporter compact 2>/dev/null || npx ts-prune ${1:-.}
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.
- 5d ago First seen · 199 lines · 32 tokens per session scan A 968fc0d957d4
find-dead-code is a skill published in the GitHub repository tomzx/agents (6 stars, last pushed 5d ago), licensed MIT. It adds 32 tokens to every session and 1,787 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
adversarial-reviewer
Adversarial code review that assumes bugs exist and hunts for them. Use when asked to review code, find bugs, audit for correctness, stress-test a PR, or when someone says "tear this apart" or "what's wrong with this". Give no benefit of the doubt — every line is guilty until proven innocent.
gsd-ns-review
Route to the appropriate quality / review skill based on the user's intent. gsd-code-review-fix was absorbed by gsd-code-review --fix in #2790.
issue
Use when starting a chain from a GitHub issue — turning an issue URL or number into a triaged, planned, dispatched, and reviewed pull request. Classifies the thread (bug → root-cause discipline, feature → plan chain, question → drafted reply), synthesizes a spec from the issue's own acceptance criteria, then runs the…
gitnexus
A code-graph analysis add-on for examining an existing codebase, including symbols, call paths, execution flows, and effects across repositories. It can query GitNexus through its command-line or MCP interfaces.
cleanup-code-inspections
Reduce technical debt and improve code quality by systematically resolving static analysis warnings.
superlint
This skill describes the mandatory standard operating procedure for using our internal SuperLint tool. Use this when tasks require fixing code quality issues according to corporate standards.