agentsclimarketplace

Cleaning existing codebase

Skill gg-mo/repo-hygiene/skills/cleaning-existing-codebase

Hygiene skills for Claude Code, Codex, Cursor, OpenCode, Gemini, and Copilot — orient, docstring, test, gate commits

Install
npx -y skills add gg-mo/repo-hygiene --skill cleaning-existing-codebase

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when the user asks to "clean up", "apply repo-hygiene to", or "fix the hygiene of" an existing codebase — orchestrates the other hygiene skills in a phased, reviewable order rather than firing a 200-file mega-diff

SKILL.md

4.6 KB, as published. Nobody here has run it

Cleaning an Existing Codebase

Overview

When a user asks to apply hygiene to an existing project, the seductive path is to start with the visible, mechanical work — docstrings on every file, README rewrite, dep pruning — and ship a 200-file diff. That optimizes for appearing thorough; it does NOT optimize for being useful. The god-class is usually the real liability; everything else is decoration.

Core principle: Survey, propose, get buy-in, work in small reviewable phases. Don't type any cleanup code until the user has approved a plan.

When To Use

  • User asks to "clean up" / "apply repo-hygiene" / "fix the hygiene of" an existing project
  • Onboarding into a long-running codebase with obvious hygiene debt
  • Tech-debt sprint where hygiene is the focus

The Process

1. Survey

Invoke repo-hygiene:orienting-to-repo first. Then quantify the hygiene gaps with concrete numbers:

  • File-size offenders — files >500 lines, ranked. find . -type f \( -name '*.py' -o -name '*.ts' -o -name '*.go' \) -exec wc -l {} + | sort -rn | head -20
  • Docstring coverage — sample 10 random functions across the codebase; how many have useful docstrings?
  • Test coverage — count test files vs source files. Run the suite if possible; capture pass rate and gaps.
  • Stale docsgit log -1 --format=%cs README.md CHANGELOG.md; spot-check the README against current code
  • Dead-code candidates — unused imports, unreferenced exports. Don't act yet; just note.
  • Dep hygiene — unused deps in requirements.txt / package.json

Output a concise inventory (~10 bullets with numbers). NOT a 5-page audit.

2. Propose a Phased Plan

Show the plan to the user BEFORE touching code. Default ordering, by leverage and dependency:

PhaseWhy this position
0 — Safety netAdd a smoke test or characterization test for the biggest module BEFORE any refactor. Refactoring without tests is reckless.
1 — Cheap visibility winsFix README, prune unused deps, add CHANGELOG entry. Reviewable in minutes; signals progress.
2 — ArchitectureDecompose god-files / god-classes. Highest risk; needs Phase 0 done first.
3 — Documentation sweepDocstrings across files. Last, so docs describe the SHAPE AFTER restructuring, not the moving target.
4 — Test backfillCoverage floor on changed code. Use repo-hygiene:testing-new-code per file.

Adjust per the survey. Some projects skip Phase 2 entirely; others ARE Phase 2.

Wait for explicit user approval before starting Phase 0.

3. Execute, One Phase Per PR

  • One phase = one PR. Not one mega-PR.
  • Inside a phase, many small commits (one logical change each). Use repo-hygiene:writing-commit-messages.
  • After each phase, ask the user to review and merge before starting the next.
  • If a phase surfaces more issues, NOTE them for a future phase. Don't expand the current scope.

4. Use the Other Hygiene Skills as Tools

This skill orchestrates; the others do the work:

  • File-size offenders → repo-hygiene:keeping-files-small for split proposals
  • New code added during refactor → repo-hygiene:writing-docstrings
  • Public-API changes during refactor → repo-hygiene:keeping-docs-fresh
  • Each commit → repo-hygiene:gating-commits and repo-hygiene:writing-commit-messages

What NOT To Do

Anti-patternWhy bad
Start with docstring sweepHighest visibility, lowest leverage. Decorates without fixing.
Refactor a god-class before adding testsReckless. You'll break things you can't detect.
One mega-PR with everythingUnreviewable. Reverting one issue reverts everything.
Skip the survey, just start fixingYou'll fix visible issues and miss load-bearing ones.
Expand scope mid-phase ("while I'm here…")Phases stop being focused. Note and move on.

Red Flags — STOP

  • About to write docstrings on file #1 of 47 with no plan presented
  • Refactoring a large file with no test coverage in place first
  • Bundling architecture + docs + deps in one commit
  • "Appearing thorough" — if your gut says you're optimizing for looking busy over being useful, you are. Pause and check the plan.
  • More than ~10 files changed in a single commit during cleanup

The Bottom Line

A good cleanup leaves the codebase reviewable. A bad cleanup ships a diff so big nobody reads it and no one can revert any single piece of it.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.