this skill
Tighten specified files in the working tree and print a diff. Never
commits, never pushes, never requires a clean tree, never scans
repo-wide.
This skill is invoked by name, never routed to on the model’s initiative: it edits files,
so it must be user-explicit.
Difference from the slop-scan skill
Use this skill when
The slop is in files you are actively editing and you want a quick
in-place tidy with a diff to review — no commit ceremony, dirty tree
fine.
Use the slop-scan skill when
You want repo-wide coverage with one reviewable, revertable commit per
finding, on a clean tree.
$ARGUMENTS
paths/globs — files to tighten (via git ls-files -- <glob> when
tracked, else literal paths).
--stdin — tighten a pasted draft read from stdin instead of files;
print the tightened text and edit nothing.
--gates — after editing, run the project's discovered
format/lint/typecheck once and report. Never commits.
--diff-only — show what would change without editing.
If $ARGUMENTS is empty, ask which files via ask-user-choice.
Steps
- Resolve targets. Expand paths/globs, or read stdin with
--stdin. Reject an empty target set with a clear message.
- Load the rubric and voice. Read
references/lean-rubric.md, then ./AGENTS.md
and ./CLAUDE.md for the host's rubric and accepted voice. For
--gates, take the format/lint/typecheck commands from a checks
section in those files; if none is defined, skip gates.
- Detect. Flag slop per the rubric — AI signatures, brittle
references, diff narration, prose inflation, coded labels, and
tables where prose reads cleaner. Preserve every load-bearing
reference and "why" comment.
- Preview and confirm. Show the proposed edits and confirm via
ask-user-choice before writing; the preview and the printed diff
(Step 6) are the review surface. Skip when --diff-only.
- Apply in place. Use
Edit. Replacements must be concrete and
shorter than the original.
- Diff. Print
git diff -- <targets>. With --gates, run the
discovered checks once and report; commit on neither pass nor fail.
- Report and hand off. Summarize findings resolved and skipped,
then offer next steps via
ask-user-choice: commit with /commit,
run the slop-scan skill for repo-wide coverage, or discard the edits —
review the printed diff first, since git checkout -- <file> resets
the whole file to HEAD and drops any other uncommitted work in it.
What this does not do
- Commit or push — you decide; use
/commit.
- Rewrite history — that is the
pr-deslop skill.
- Scan the whole repo — that is the
slop-scan skill.
- Delete whole files — too consequential; report them instead.
Portability notes
ask-user-choice — present the listed options and wait for the user to pick one. Hosts with a structured multiple-choice tool (Claude Code's AskUserQuestion) should use it; otherwise print a numbered list and wait for a numbered reply. Never proceed on an assumed answer.
$ARGUMENTS — the text the user passed when invoking this skill. If your host does not substitute it, read it as the user's request in the current turn, and ask when there is none.
- Bundled files — every relative path in this skill points at a file shipped inside this skill directory. Read them from here, not from the host's plugin tree.
1---2name: lean-tighten3description: Use when tightening named files or pasted text in place by removing verbose prose, brittle references, and low-value noise.4---56# this skill78Tighten specified files in the working tree and print a diff. Never9commits, never pushes, never requires a clean tree, never scans10repo-wide.1112This skill is invoked by name, never routed to on the model’s initiative: it edits files,13so it must be user-explicit.1415## Difference from the `slop-scan` skill1617### Use this skill when1819The slop is in files you are actively editing and you want a quick20in-place tidy with a diff to review — no commit ceremony, dirty tree21fine.2223### Use the `slop-scan` skill when2425You want repo-wide coverage with one reviewable, revertable commit per26finding, on a clean tree.2728## `$ARGUMENTS`2930- `paths/globs` — files to tighten (via `git ls-files -- <glob>` when31 tracked, else literal paths).32- `--stdin` — tighten a pasted draft read from stdin instead of files;33 print the tightened text and edit nothing.34- `--gates` — after editing, run the project's discovered35 format/lint/typecheck once and report. Never commits.36- `--diff-only` — show what would change without editing.3738If `$ARGUMENTS` is empty, ask which files via `ask-user-choice`.3940## Steps41421. **Resolve targets.** Expand paths/globs, or read stdin with43 `--stdin`. Reject an empty target set with a clear message.442. **Load the rubric and voice.** Read45 `references/lean-rubric.md`, then `./AGENTS.md`46 and `./CLAUDE.md` for the host's rubric and accepted voice. For47 `--gates`, take the format/lint/typecheck commands from a checks48 section in those files; if none is defined, skip gates.493. **Detect.** Flag slop per the rubric — AI signatures, brittle50 references, diff narration, prose inflation, coded labels, and51 tables where prose reads cleaner. Preserve every load-bearing52 reference and "why" comment.534. **Preview and confirm.** Show the proposed edits and confirm via54 `ask-user-choice` before writing; the preview and the printed diff55 (Step 6) are the review surface. Skip when `--diff-only`.565. **Apply in place.** Use `Edit`. Replacements must be concrete and57 shorter than the original.586. **Diff.** Print `git diff -- <targets>`. With `--gates`, run the59 discovered checks once and report; commit on neither pass nor fail.607. **Report and hand off.** Summarize findings resolved and skipped,61 then offer next steps via `ask-user-choice`: commit with `/commit`,62 run the `slop-scan` skill for repo-wide coverage, or discard the edits —63 review the printed diff first, since `git checkout -- <file>` resets64 the whole file to HEAD and drops any other uncommitted work in it.6566## What this does not do6768- Commit or push — you decide; use `/commit`.69- Rewrite history — that is the `pr-deslop` skill.70- Scan the whole repo — that is the `slop-scan` skill.71- Delete whole files — too consequential; report them instead.727374## Portability notes7576- `ask-user-choice` — present the listed options and wait for the user to pick one. Hosts with a structured multiple-choice tool (Claude Code's `AskUserQuestion`) should use it; otherwise print a numbered list and wait for a numbered reply. Never proceed on an assumed answer.77- `$ARGUMENTS` — the text the user passed when invoking this skill. If your host does not substitute it, read it as the user's request in the current turn, and ask when there is none.78- Bundled files — every relative path in this skill points at a file shipped inside this skill directory. Read them from here, not from the host's plugin tree.