code-cleanup
SKILL.md
Code Cleanup Skill
Scan projects for redundant code and generate cleanup reports.
Quick Start
# Scan for dead code (unused imports, functions, variables)
python scripts/scan_dead_code.py backend/
# Scan for stale code (old TODOs, debug statements, commented code)
python scripts/scan_stale_code.py src/
# Check unused dependencies
python scripts/scan_unused_deps.py .
Scripts
| Script | Detects | Confidence |
|---|---|---|
| scan_dead_code.py | Unused imports, functions, classes, variables | High |
| scan_stale_code.py | Commented code, old TODOs, debug statements | Medium |
| scan_unused_deps.py | Unused packages in requirements.txt/package.json | Low |
Usage
scan_dead_code.py
python scripts/scan_dead_code.py <dir> [--format json|text] [--ignore "test_*"]
Detects:
- Unused imports (high confidence, safe to remove)
- Unused functions/classes not starting with
_(medium confidence) - Unused top-level variables (medium confidence)
scan_stale_code.py
python scripts/scan_stale_code.py <dir> [--todo-days 90] [--no-debug]
Detects:
- Commented-out code blocks
- TODOs/FIXMEs older than N days (default: 90)
- Debug statements:
print(,console.log(,debugger,pdb
scan_unused_deps.py
python scripts/scan_unused_deps.py <dir> [--type python|node|all]
Checks:
- requirements.txt vs actual imports
- package.json dependencies vs actual imports
Output Format
All scripts output JSON by default:
{
"target": "backend/",
"issues": [
{
"type": "unused_import",
"file": "services/user.py",
"line": 3,
"code": "import os",
"confidence": "high",
"suggestion": "Remove unused import: os"
}
],
"summary": {
"total": 15,
"high": 10,
"medium": 5,
"low": 0
}
}
Confidence Levels
| Level | Meaning | Action |
|---|---|---|
| high | Definitely unused | Safe to remove |
| medium | Likely unused | Review before removing |
| low | Possibly unused | Manual inspection needed |
Cleanup Workflow
- Run scan scripts on target directory
- Review JSON output, filter by confidence
- For each issue: remove, keep, or defer
- Apply changes (Claude can help edit files)
- Run tests to verify nothing broke
Safety Notes
- Scripts are read-only (scan only, no modifications)
- Always backup before bulk cleanup
- Run tests after cleanup
- Some "unused" code may be used dynamically (reflection,
__getattr__, lazy imports) - Ignore
__init__.pyre-exports
References
- Detection patterns:
references/detection-patterns.md - Cleanup examples:
references/cleanup-examples.md
Weekly Installs
5
Repository
wade56754/ai_ad_spend02First Seen
Jan 24, 2026
Security Audits
Installed on
claude-code3
trae2
gemini-cli2
antigravity2
windsurf2
codex2