# Tighten

> Use when tightening named files or pasted text in place by removing verbose prose, brittle references, and low-value noise.

- Skill: `tony/tighten` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tony/tighten`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tony/tighten/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tony (https://skillmd.com/u/tony)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tony/tighten

---



# `/lean:tighten`

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 `/slop:scan`

### Use `/lean:tighten` 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 `/slop:scan` 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 `AskUserQuestion`.

## Steps

1. **Resolve targets.** Expand paths/globs, or read stdin with
   `--stdin`. Reject an empty target set with a clear message.
2. **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.
3. **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.
4. **Preview and confirm.** Show the proposed edits and confirm via
   `AskUserQuestion` before writing; the preview and the printed diff
   (Step 6) are the review surface. Skip when `--diff-only`.
5. **Apply in place.** Use `Edit`. Replacements must be concrete and
   shorter than the original.
6. **Diff.** Print `git diff -- <targets>`. With `--gates`, run the
   discovered checks once and report; commit on neither pass nor fail.
7. **Report and hand off.** Summarize findings resolved and skipped,
   then offer next steps via `AskUserQuestion`: commit with `/commit`,
   run `/slop:scan` 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 `/pr:deslop`.
- Scan the whole repo — that is `/slop:scan`.
- Delete whole files — too consequential; report them instead.

