Dead Code Sweep

Use when user wants to Find and remove genuine dead code using deadcode + vulture. Filters known false positives (dataclass fields, protocol methods, dunder hooks). Run before a cleanup commit.

Ven0m0 c34877e 1.3 KB Updated

File contents

Dead Code Sweep

Finds unreferenced code using two complementary tools and removes confirmed dead code.

Step 1 - Run scanners

uvx deadcode . 2>&1
uvx vulture --min-confidence 80 . 2>&1

Step 2 - Filter false positives

Before removing anything, verify each reported symbol is actually unused:

Check all callers of a symbol

rg -rn 'symbol_name' src/ tests/ scripts/

Verification workflow for each candidate:

  1. rg -rn 'ClassName\|method_name\|CONSTANT_NAME' src/ tests/ scripts/ .github/ - if any matches beyond definition, it's live
  2. If a class: check if it's a dataclass (@dataclass), NamedTuple, or Protocol
  3. If a function: check if it's registered as a Textual action or event handler

Step 3 - Remove confirmed dead code

Only remove when rg confirms zero callers and the symbol has no interface obligation.

After removal, run:

uv run ruff check src/ uv run pytest --tb=short -q

Both must pass before committing.

Step 4 - Commit

git add CHANGED_FILES git commit -m "chore: remove dead code (SYMBOLS_REMOVED)"

Ven0m0/claude-config/tree/main/kilo-tools/skills/dead-code-sweep commit c34877eb1f

Frequently asked questions

npx skillmds add ven0m0/dead-code-sweep