Deslop
Repo/code changes: run /deslop before commit, push, PR, or merge.
Code is liability. Every added line can break, page someone, or need support.
Inputs
- Run
/simplify, /ponytail-review, /ponytail-audit for broad bloat, and /ponytail-debt for ponytail: markers; then use this skill as the stricter certainty gate.
- Read
git diff --stat and git diff for changed files.
- Read nearby code before proposing new helpers or abstractions.
- If the goal/spec is unclear, ask one question before judging value.
Loop: Delete -> Inline -> Justify
- Inventory additions -- new files, functions, branches, deps, config, hooks.
- Ponytail review -- run
/ponytail-review; record delete/stdlib/native/yagni/shrink candidates before judging value.
- Ponytail audit/debt -- for repo-wide cleanup or marked shortcuts, run
/ponytail-audit and /ponytail-debt. Pair audit/debt with /improve when fixes are not immediate.
- Reuse-first ladder -- before owning new code, prefer deletion, standard library, native platform, already-installed dependency, then one-line local code.
- Question every addition -- keep code only when you are certain it proves product value, defensive correctness, or test confidence.
- Delete first -- remove dead paths, speculative options, unused exports, wrapper layers.
- Inline second -- inline one-use helpers/components; prefer direct code until reuse is real.
- Tighten last -- flatten branches, improve names, shrink tests without weakening assertions.
- Eval evidence -- skill or harness changes need matching evals changed, with RED->GREEN or failing->passing evidence. No eval evidence means block or record why the change is docs-only/non-deterministic.
- Verify -- rerun focused tests/type/lint. Green alone is not enough if diff is noisy.
Blocking finding
Return NEEDS_CHANGES when the diff is low-value, sloppy, untested, non-defensive, or larger than the problem needs. Do not commit, push, or merge until the smallest passing diff is clear.
Output
- Kept: why each major addition deserves ownership cost.
- Deleted/inlined: what surface area shrank.
- Still risky: blockers, tests to add, or user decisions.
See REFERENCE.md for the surface-area budget checklist.
1---2name: deslop3description: Question changed code as liability and remove unjustified surface area. Use before commit, push, PR, merge, or when a change feels overbuilt or low-value.4---56# Deslop78Repo/code changes: run `/deslop` before commit, push, PR, or merge.9Code is liability. Every added line can break, page someone, or need support.1011## Inputs1213- Run `/simplify`, `/ponytail-review`, `/ponytail-audit` for broad bloat, and `/ponytail-debt` for `ponytail:` markers; then use this skill as the stricter certainty gate.14- Read `git diff --stat` and `git diff` for changed files.15- Read nearby code before proposing new helpers or abstractions.16- If the goal/spec is unclear, ask one question before judging value.1718## Loop: Delete -> Inline -> Justify19201. **Inventory additions** -- new files, functions, branches, deps, config, hooks.212. **Ponytail review** -- run `/ponytail-review`; record delete/stdlib/native/yagni/shrink candidates before judging value.223. **Ponytail audit/debt** -- for repo-wide cleanup or marked shortcuts, run `/ponytail-audit` and `/ponytail-debt`. Pair audit/debt with /improve when fixes are not immediate.234. **Reuse-first ladder** -- before owning new code, prefer deletion, standard library, native platform, already-installed dependency, then one-line local code.245. **Question every addition** -- keep code only when you are certain it proves product value, defensive correctness, or test confidence.256. **Delete first** -- remove dead paths, speculative options, unused exports, wrapper layers.267. **Inline second** -- inline one-use helpers/components; prefer direct code until reuse is real.278. **Tighten last** -- flatten branches, improve names, shrink tests without weakening assertions.289. **Eval evidence** -- skill or harness changes need matching evals changed, with RED->GREEN or failing->passing evidence. No eval evidence means block or record why the change is docs-only/non-deterministic.2910. **Verify** -- rerun focused tests/type/lint. Green alone is not enough if diff is noisy.3031## Blocking finding3233Return `NEEDS_CHANGES` when the diff is low-value, sloppy, untested, non-defensive, or larger than the problem needs. Do not commit, push, or merge until the smallest passing diff is clear.3435## Output3637- Kept: why each major addition deserves ownership cost.38- Deleted/inlined: what surface area shrank.39- Still risky: blockers, tests to add, or user decisions.4041See [REFERENCE.md](REFERENCE.md) for the surface-area budget checklist.