| name | clean |
| description | Polish your own diff by hand with KISS/DRY and local style — the pre-handoff pass, not a test run and not a subagent sweep. Use for /clean, "clean it up", "tidy this", and automatically before creating, updating, or automerging a PR or moving to the next one. |
Clean
KISS/DRY and copy the local code style. Be elitist, shorthand, clever, concise,
efficient, and elegant.
"Clean" means polishing the code — it does NOT mean running the test suite,
tsc, or lint as the task. Run a check only if it's genuinely needed to confirm
the polish is safe.
Clean is a standalone pass, not just a pre-PR step — run it whenever things get
messy, including mid-work. Also run it automatically before any PR handoff
(creating, updating, automerging, or moving to the next PR) without being told
each time.
Do
- Re-read your diff. Cut dead code, leftover debug logging, and duplication.
- Extend existing helpers — don't parallel-implement.
- Match neighboring style (names, imports, file layout, comment density).
- Prefer the small sharp version over ceremony.
- UI work: only after they like the UI (
ui-only). Use ui-system for
primitives.
- On the PR: title/body describe the change as a whole (a short intro), not a
changelog of steps. Split into topical commits (
pr-update), run
no-tropes on the text, and link the PR.
Don't
- Run the test suite / tsc / lint just because you were told to "clean"
- Unrelated refactors
- New abstractions with one caller
- Scope creep dressed up as cleanup