Comprehensive codebase cleanup across 11 quality dimensions: dead code, duplication, weak types, circular deps, defensive cruft, legacy code, AI slop, type consolidation, security, performance, and async patterns. Analyzes code with confidence scoring and verifies changes with build/test gates. Use when codebase has accumulated tech debt, after major feature work, before releases, or when code quality metrics are declining. Trigger with "/cleanup-code-code", "clean up the codebase", "remove dead code", "fix code quality".

GitHub
Install command
npx skhub add jeremylongshore/cleanup-code
Markdown
SKILL.md

Codebase Cleanup

Systematic code cleanup across 11 quality dimensions, ordered by risk. Each finding includes confidence scoring (HIGH/MEDIUM/LOW) and all changes are verified through build/test gates.

Environment Detection

!git rev-parse --show-toplevel 2>/dev/null && echo "---" && git diff --stat HEAD~5 2>/dev/null | tail -5 !ls package.json pyproject.toml Cargo.toml go.mod Makefile 2>/dev/null | head -5 !cat package.json 2>/dev/null | head -3; echo "---"; ls tsconfig.json .eslintrc* 2>/dev/null

Prerequisites

  • Git repository with clean working tree (no uncommitted changes)
  • Language toolchain installed (Node.js/Python/Go/Rust as applicable)
  • Optional: knip, madge, jscpd, ruff, bandit for tool-verified scanning

Overview

This skill orchestrates cleanup across 11 dimensions, each with a dedicated agent. Dimensions are ordered LOW → HIGH risk. See dimensions reference for full detection criteria, verification steps, and risk profiles.

The 11 Dimensions (by risk level):

#DimensionKeyRiskAuto-apply?
1Dead code removaldeadLOWYes (after build)
2AI slop removalslopLOWComments only
3Weak type eliminationtypesMEDYes (after typecheck)
4Security cleanupsecurityMEDFlag only
5Legacy code removallegacyMEDWith confirmation
6Type consolidationtypeconsMEDYes (after typecheck)
7Defensive code cleanupdefensiveMEDFlag only
8Performance optimizationperfMEDFlag only
9DRY deduplicationdryHIGHFlag only (>=10 lines)
10Async pattern fixesasyncHIGHFlag only
11Circular dep untanglingcircularHIGHFlag only

Instructions

Step 1: Safety Checkpoint

Before any changes:

  1. Verify clean git state: git status --porcelain must be empty (or stash changes)
  2. Record baseline: git rev-parse HEAD as rollback point
  3. Run existing tests to confirm green baseline
  4. See safety protocol for revert procedures

Step 2: Determine Scope

Parse user arguments to set scope:

  • Full codebase (default): scan all source files
  • Specific path: cleanup src/api/ — limit to directory
  • Changed files only: --changed flag — git diff --name-only HEAD~10
  • Specific dimensions: --dimensions dead,types,security
  • Single dimension: cleanup --dimensions dry

Exclude from all scans: node_modules/, dist/, build/, .git/, vendor dirs, generated files.

Step 3: Execute Dimensions

For each selected dimension (in risk order):

  1. Scan using patterns from patterns reference
  2. Score confidence — HIGH (certain, safe to fix), MEDIUM (likely, needs review), LOW (possible, flag only)
  3. Apply or flag based on the dimension's auto-apply policy (see table above)
  4. Verify — run build/typecheck/tests after each dimension with auto-apply

Use tools reference for language-specific tool commands (knip, madge, ruff, jscpd, etc.).

Step 4: Build Verification Gate

After each auto-applied dimension:

# TypeScript/JavaScript
npx tsc --noEmit 2>&1 | tail -20
npm test 2>&1 | tail -30

# Python
python3 -m py_compile <changed_files>
python3 -m pytest --tb=short 2>&1 | tail -30

# General
git diff --stat  # Show what changed

If verification fails, revert that dimension: git checkout -- .

Step 5: Generate Report

Produce a cleanup report in this format:

## Cleanup Report

**Scope:** [path or "full codebase"]
**Baseline:** [commit hash]
**Dimensions:** [list of dimensions run]

### Summary
| Dimension | Findings | Applied | Flagged | Confidence |
|-----------|----------|---------|---------|------------|
| dead      | 12       | 10      | 2       | HIGH       |
| types     | 8        | 8       | 0       | HIGH       |
| security  | 3        | 0       | 3       | MEDIUM     |

### Changes Applied
- [file:line] description of change

### Flagged for Review
- [file:line] description + reasoning + suggested fix

### Lines Removed: N | Lines Modified: N | Files Touched: N

Output

A structured cleanup report containing:

  • Summary table with findings per dimension (count, applied, flagged, confidence)
  • List of changes applied with file:line references
  • List of flagged items with reasoning and suggested fixes
  • Stats: lines removed, lines modified, files touched

Error Handling

ErrorRecovery
Dirty git stateAsk user to commit or stash first
Build fails after cleanupgit checkout -- . to revert dimension
No test command foundSkip verification, flag all as "unverified"
Tool not installedFall back to grep patterns (see references/patterns.md)
Confidence unclearDefault to flag-only, never auto-apply

Examples

Full cleanup:

/cleanup-code

Security-focused:

/cleanup-code --dimensions security,async

Changed files only:

/cleanup-code src/api/ --changed

Single dimension deep-dive:

/cleanup-code --dimensions dead

Resources

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/.curated/cleanup-code

Default branch

main

Latest commit

e5a6c3b

Tree SHA

c2dc8e8