configure-dead-code

v2026.09.24

Dead-code detection: Knip, Vulture, cargo-machete, deadcode. Use when setting up unused-code scanning, migrating tools, or adding dead-code CI checks.

GitHub
安装命令
npx skhub add laurigates/configure-dead-code
Markdown
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 projectRunning an existing dead code scan (knip, vulture)
Auditing whether Knip, Vulture, or cargo-machete is configured correctlyManually removing specific unused exports or imports
Migrating between dead code detection toolsDebugging why a specific file is flagged as unused
Adding dead code checks to CI/CD pipelinesReviewing dead code findings one by one
Standardizing dead code detection across a monorepoConfiguring 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:

IndicatorLanguageTool
knip.json or knip.config.*JavaScript/TypeScriptKnip
package.json with knipJavaScript/TypeScriptKnip
pyproject.toml [tool.vulture]PythonVulture
.vulture or vulture.iniPythonVulture
Cargo.tomlRustcargo-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

ContextCommand
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

FlagDescription
--check-onlyReport status without offering fixes
--fixApply 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

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

configure-plugin/skills/configure-dead-code

默认分支

main

最新提交

1668324

Tree SHA

b2d4cc3