skills/laurigates/claude-plugins/configure-dead-code

configure-dead-code

SKILL.md

/configure:dead-code

Check and configure dead code detection tools.

When to Use This Skill

Use this skill when... Use another approach when...
Setting up dead code detection for a new project Running an existing dead code scan (knip, vulture)
Auditing whether Knip, Vulture, or cargo-machete is configured correctly Manually removing specific unused exports or imports
Migrating between dead code detection tools Debugging why a specific file is flagged as unused
Adding dead code checks to CI/CD pipelines Reviewing dead code findings one by one
Standardizing dead code detection across a monorepo Configuring linting rules (/configure:linting instead)

Context

  • Project root: !pwd
  • Package files: !find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' \)
  • Knip config: !find . -maxdepth 1 \( -name 'knip.json' -o -name 'knip.config.*' \)
  • Vulture config: !find . -maxdepth 1 \( -name '.vulture' -o -name 'vulture.ini' \)
  • Pre-commit: !find . -maxdepth 1 -name '.pre-commit-config.yaml'
  • Project standards: !find . -maxdepth 1 -name '.project-standards.yaml'

Parameters

Parse from command arguments:

  • --check-only: Report compliance status without modifications (CI/CD mode)
  • --fix: Apply fixes automatically without prompting
  • --tool <knip|vulture|deadcode|machete>: Override tool detection

Dead code detection tools:

  • JavaScript/TypeScript: Knip (finds unused files, exports, dependencies)
  • Python: Vulture or deadcode (finds unused code)
  • Rust: cargo-machete (finds unused dependencies)

Execution

Execute this dead code detection compliance check:

Step 1: Detect project language and existing tools

Check for language and tool indicators:

Indicator Language Tool
knip.json or knip.config.* JavaScript/TypeScript Knip
package.json with knip JavaScript/TypeScript Knip
pyproject.toml [tool.vulture] Python Vulture
.vulture or vulture.ini Python Vulture
Cargo.toml Rust cargo-machete

Use WebSearch or WebFetch to verify latest versions before configuring.

Step 2: Analyze current configuration

For the detected tool, check configuration completeness:

Knip:

  • Config file exists (knip.json or knip.config.*)
  • Entry points configured
  • Ignore patterns set
  • Plugin configurations
  • Workspace support (monorepo)
  • CI integration

Vulture:

  • Configuration file exists
  • Minimum confidence set
  • Paths configured
  • Ignore patterns
  • Allowlist file (if needed)

cargo-machete:

  • Installed as cargo subcommand
  • Workspace configuration
  • CI integration

Step 3: Generate compliance report

Print a formatted compliance report:

Dead Code Detection Compliance Report
======================================
Project: [name]
Language: [TypeScript | Python | Rust]
Tool: [Knip 5.x | Vulture 2.x | cargo-machete 0.6.x]

Configuration:
  Config file             knip.json                  [EXISTS | MISSING]
  Entry points            configured                 [CONFIGURED | AUTO-DETECTED]
  Ignore patterns         node_modules, dist         [CONFIGURED | INCOMPLETE]
  Plugin support          enabled                    [ENABLED | N/A]

Detection Scope:
  Unused files            enabled                    [ENABLED | DISABLED]
  Unused exports          enabled                    [ENABLED | DISABLED]
  Unused dependencies     enabled                    [ENABLED | DISABLED]
  Unused types            enabled                    [ENABLED | DISABLED]

Scripts:
  dead-code command       package.json scripts       [CONFIGURED | MISSING]

Integration:
  Pre-commit hook         .pre-commit-config.yaml    [OPTIONAL | MISSING]
  CI/CD check             .github/workflows/         [CONFIGURED | MISSING]

Overall: [X issues found]

If --check-only, stop here.

Step 4: Configure dead code detection (if --fix or user confirms)

Apply configuration based on detected language. Use templates from REFERENCE.md:

  1. Install tool (e.g., bun add --dev knip, uv add --group dev vulture)
  2. Create config file with entry points, exclusions, and plugins
  3. Add scripts to package.json or create run commands
  4. Add CI workflow step (warning mode, not blocking)

Step 5: Update standards tracking

Update .project-standards.yaml:

standards_version: "2025.1"
last_configured: "[timestamp]"
components:
  dead_code: "2025.1"
  dead_code_tool: "[knip|vulture|deadcode|machete]"
  dead_code_ci: true

Step 6: Print final report

Print a summary of changes applied, run an initial scan if possible, and provide next steps for reviewing findings.

For detailed configuration templates and usage examples, see REFERENCE.md.

Agentic Optimizations

Context Command
Quick compliance check /configure:dead-code --check-only
Auto-fix all issues /configure:dead-code --fix
Run Knip scan (JS/TS) npx knip --reporter compact
Run Vulture scan (Python) vulture . --min-confidence 80
Run cargo-machete (Rust) cargo machete
CI mode (JSON output) npx knip --reporter json

Flags

Flag Description
--check-only Report status without offering fixes
--fix Apply all fixes automatically without prompting
--tool <tool> Override tool detection (knip, vulture, deadcode, machete)

Examples

# Check compliance and offer fixes
/configure:dead-code

# Check only, no modifications
/configure:dead-code --check-only

# Auto-fix with Knip
/configure:dead-code --fix --tool knip

Error Handling

  • No language detected: Cannot determine appropriate tool, error
  • Tool installation fails: Report error, suggest manual installation
  • Configuration conflicts: Warn about multiple tools, suggest consolidation
  • High number of findings: Suggest starting with allowlist

See Also

Weekly Installs
48
GitHub Stars
14
First Seen
Feb 9, 2026
Installed on
opencode48
gemini-cli48
github-copilot48
codex48
amp48
cline48