code-dead-code

Installation
SKILL.md
Contains Shell Commands

This skill contains shell command directives (!`command`) that may execute system commands. Review carefully before installing.

/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:

Category Severity Action
Unused dependencies High Remove from package manifest
Unused exports Medium Remove export, check downstream
Unused files Medium Delete after confirming no dynamic imports
Unused variables/functions Low Remove if truly dead

Step 4: Apply fixes (if --fix)

If --fix flag is set:

  1. Remove unused dependencies: update package.json/pyproject.toml/Cargo.toml
  2. Remove unused exports (only if no external consumers)
  3. Delete orphaned files (confirm no dynamic imports/requires reference them)
  4. Run project tests to verify nothing broke

If --fix is not set, present a summary report with actionable items.

Step 5: Report results

Print summary:

Dead Code Report
================
Unused files: N
Unused exports: N
Unused dependencies: N
Total dead code: N items

Top items to remove:
- [file:export] reason

Post-Actions

  • If many unused dependencies found → suggest npm prune or equivalent
  • If no dead code tool configured → suggest /configure:dead-code
  • If fixes applied → suggest running tests with /test:run

Agentic Optimizations

Context Command
Quick JS/TS scan npx knip --reporter compact --include files,exports
Python scan vulture . --min-confidence 80
Rust scan cargo machete
CI mode npx knip --reporter json
Exports only npx knip --include exports --reporter compact
Weekly Installs
5
GitHub Stars
28
First Seen
7 days ago