Skip to content
Back to skills

Cleanup Code

ASecurity

'Comprehensive codebase cleanup across 11 quality dimensions: dead code,

  • 2,719 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 21, 2026
ai-agentsjavascripttypescriptpythonrustgojavabashnoderefactoringgit

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 21, 2026

npx -y skills add jeremylongshore/claude-code-plugins-plus --skill cleanup-code --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cleanup Code?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cleanup Code
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-cleanup-code-79bd7fcf/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-cleanup-code-79bd7fcf)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cleanup-code
description: '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".

  '
allowed-tools: Read, Write, Edit, Glob, Grep, Bash(git:*), Bash(npm:*), Bash(npx:*),
  Bash(pnpm:*), Bash(python3:*), Bash(tsc:*), Bash(wc:*), Bash(ls:*), AskUserQuestion
version: 1.7.0
author: Jeremy Longshore <jeremy@intentsolutions.io>
license: MIT
tags:
- code-quality
- cleanup
- refactoring
- dead-code
- deduplication
- type-safety
- security
argument-hint: '[scope] [--dimensions d1,d2,...] [--changed]'
compatibility: Designed for Claude Code
---
# 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](references/dimensions.md)
for full detection criteria, verification steps, and risk profiles.

**The 11 Dimensions** (by risk level):

| # | Dimension | Key | Risk | Auto-apply? |
|---|-----------|-----|------|-------------|
| 1 | Dead code removal | `dead` | LOW | Yes (after build) |
| 2 | AI slop removal | `slop` | LOW | Comments only |
| 3 | Weak type elimination | `types` | MED | Yes (after typecheck) |
| 4 | Security cleanup | `security` | MED | Flag only |
| 5 | Legacy code removal | `legacy` | MED | With confirmation |
| 6 | Type consolidation | `typecons` | MED | Yes (after typecheck) |
| 7 | Defensive code cleanup | `defensive` | MED | Flag only |
| 8 | Performance optimization | `perf` | MED | Flag only |
| 9 | DRY deduplication | `dry` | HIGH | Flag only (>=10 lines) |
| 10 | Async pattern fixes | `async` | HIGH | Flag only |
| 11 | Circular dep untangling | `circular` | HIGH | Flag 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](references/safety.md) 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](references/patterns.md)
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](references/tools.md) for language-specific tool commands (knip, madge, ruff, jscpd, etc.).

### Step 4: Build Verification Gate

After each auto-applied dimension:

```text
# 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

| Error | Recovery |
|-------|----------|
| Dirty git state | Ask user to commit or stash first |
| Build fails after cleanup | `git checkout -- .` to revert dimension |
| No test command found | Skip verification, flag all as "unverified" |
| Tool not installed | Fall back to grep patterns (see references/patterns.md) |
| Confidence unclear | Default 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

- [All 11 Dimensions](references/dimensions.md) — detection criteria, verification, risk profiles
- [Tool Reference](references/tools.md) — language-specific cleanup tools
- [Grep Patterns](references/patterns.md) — detection patterns by dimension
- [Safety Protocol](references/safety.md) — revert procedures, confidence scoring

Files in this skill

  • SKILL.md6.5 KB
  • references/dimensions.md9.2 KB
  • references/patterns.md5.8 KB
  • references/safety.md3.5 KB
  • references/tools.md4.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.