- /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
-
- 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
:
Install tool
(e.g.,
bun add --dev knip
,
uv add --group dev vulture
)
Create config file
with entry points, exclusions, and plugins
Add scripts
to package.json or create run commands
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
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 /configure:linting - Configure linting tools /configure:all - Run all compliance checks Knip documentation : https://knip.dev Vulture documentation : https://github.com/jendrikseipp/vulture cargo-machete documentation : https://github.com/bnjbvr/cargo-machete