| name | code-dead-code |
| description | Detect dead code, unused exports, unreachable branches, and orphaned files. Use when reducing maintenance burden, cleaning up after refactors, or auditing codebase health. |
| args | [PATH] [--tool <knip|vulture|machete>] [--fix] |
| argument-hint | path or directory to scan for dead code |
| allowed-tools | Bash(npx knip *), Bash(vulture *), Bash(cargo machete *), Bash(npx ts-prune *), Read, Grep, Glob, TodoWrite |
| model | sonnet |
| created | "2026-04-10T00:00:00.000Z" |
| modified | "2026-05-04T00:00:00.000Z" |
| reviewed | "2026-04-10T00:00:00.000Z" |
/code:dead-code
Detect and report dead code across languages.
When to Use This Skill
| Use this skill when... | Use something else when... |
|---|
| Cleaning up after a major refactor | Setting up dead code tooling → /configure:dead-code |
| Auditing codebase for unused exports | Looking for duplicated code → /code:dry-consolidation |
| Reducing bundle size by removing dead code | Looking for anti-patterns → /code:antipatterns |
| Pre-merge cleanup of feature branches | Need full code review → /code:review |
Context
- Package files: !
find . -maxdepth 1 \( -name "package.json" -o -name "pyproject.toml" -o -name "Cargo.toml" \) -type f
- Knip config: !
find . -maxdepth 1 \( -name "knip.json" -o -name "knip.jsonc" -o -name ".knip.json" \) -type f
Parameters
$1: Path to scan (defaults to current directory)
--tool: Force specific tool (knip, vulture, machete)
--fix: Automatically remove detected dead code where safe
Execution
Execute this dead code detection workflow:
Step 1: Detect project type and available tools
Check which languages are present and which dead code tools are available:
- JavaScript/TypeScript: Check for knip or ts-prune
- Python: Check for vulture
- Rust: Check for cargo-machete
If no tool is available, report which tool to install and suggest /configure:dead-code to set up the project.
Step 2: Run dead code detection
JavaScript/TypeScript (Knip):
npx knip --reporter compact
If Knip is not configured:
npx knip --reporter compact --include files,exports,dependencies
Python (Vulture):
vulture ${1:-.} --min-confidence 80
Rust (cargo-machete):
cargo machete
Step 3: Categorize findings
Group results by severity: