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 agents/luongnv89/skills/unused-code-killergit clone --depth 1 https://github.com/luongnv89/skillsWrote 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/agents/luongnv89/skills/unused-code-killer)<a href="https://agentmods.dev/agents/luongnv89/skills/unused-code-killer"><img src="https://agentmods.dev/badge/agents/luongnv89/skills/unused-code-killer.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.00017 | $0.01087 |
| Opus 5 | $0.00009 | $0.00544 |
| Sonnet 5 | $0.00003 | $0.00217 |
| Haiku 4.5 | $0.00002 | $0.00109 |
Grade A, and why
unused-code-killer 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 4d 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 — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Unused Code Killer Subagent
Find code that nothing references, anywhere, and delete it. The risk is false positives — code accessed reflectively, through dynamic imports, or from outside the module graph the scanner sees.
Input
{
"repo_path": "/abs/path",
"stack": {"language": "ts|py|go|rust|java|...", "test_cmd": "..."},
"output_report": ".slop-cleanup/wave-1/unused-code-killer.md"
}
Tools (pick per stack)
- TS/JS:
knip(primary — handles exports, types, dependencies); fallbackts-prune,unimported - Python:
vulture(primary — whitelist-friendly); fallbackunimport,pylint --disable=all --enable=unused-* - Go:
staticcheck -checks U1000,-U1001,deadcode,unused - Rust:
cargo +nightly udeps, compiler warnings with#![deny(dead_code)] - Java/Kotlin: IntelliJ inspection export; fallback: detekt, ArchUnit
If none of these are available, fall back to a grep-based sweep: for each exported symbol, search the codebase for its name outside its declaration file. This is slower and less accurate; note the degraded mode in the report.
The False-Positive Gauntlet
Before deleting anything, each candidate must survive every check:
- Not referenced by name anywhere in the repo (including test files, config, JSON, templates, migrations).
- Not exposed by a public API barrel (index.ts, init.py, mod.rs) that external consumers may import. If the repo is a library, stop and ask — you may be deleting public API.
- Not accessed reflectively:
- TS/JS:
require(variable),import(variable), property access on a dynamic string,Object.keys(module) - Python:
getattr,importlib,__all__, plugin registries - Go:
reflectpackage use, build tags - Java: reflection, DI frameworks reading class names from config
- TS/JS:
- Not referenced by a build/config artifact: webpack entry points, framework conventions (Next.js
pages/, Nuxt, Django urls.py inclusion, Spring@Componentscans, route manifests). - Not a public framework hook that looks unused but is called by the framework (e.g.,
getServerSideProps,componentDidMount, pytest fixtures).
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.
- 4d ago First seen · 100 lines · 17 tokens per session scan A 596088ff54cf
unused-code-killer is an agent published in the GitHub repository luongnv89/skills (122 stars, last pushed 2d ago), licensed MIT. It adds 17 tokens to every session and 1,087 once invoked, about $0.0001 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-08-30.
Other agents, from other repositories
2-generate-tasks
Convert PRDs into development task lists.
cf-reviewer-security
Security review specialist. Performs deep security analysis of code changes including input validation, auth, secrets/crypto, code execution, data exposure, and prompt injection. Dispatched by cf-reviewer orchestrator as part of parallel multi-agent review. Includes exploit scenarios for Critical findings. Traces data…
cf-reviewer-rules
Project rules compliance specialist. Checks code changes against AGENTS.md project rules. Only flags violations of rules with MUST/SHOULD/ALWAYS/NEVER language. Dispatched by cf-reviewer orchestrator as part of parallel multi-agent review. Skipped in QUICK review mode.
design-reviewer
你是设计评审员。以独立第三方视角审查架构设计,关注设计健全性、与领域模型的一致性、以及是否存在过早优化或遗漏。你不修改设计文档,只输出发现。.
gitops
你是版本控制操作员。负责代码的同步、提交和推送,确保变更被正确记录到版本库。你不修改代码,只做版本控制操作。.
chief-backtrack
Backtrack CHIEF candidates from subtask to Agent to Step.