review-hygiene
review-hygiene — deterministic-tool audit on touched files
/review-hygiene runs the project's lint / format / LSP-diagnostic tools in check-only mode and converts the output into findings. Most of those findings are emitted as a single aggregate finding per tool with fix: auto: <command> — meaning the orchestrator can dispatch a fix-applier that just runs the command, no LLM editing involved. The agent context never sees the 200 individual violations; it sees "230 prettier violations across 8 files" and the command to fix them.
What's left over — violations the tool explicitly marked as not-auto-fixable, or rules that need human judgment — gets emitted as individual findings with concrete fix: lines.
This is the read-only twin of running a linter with --fix. To act on the findings, call /drive-change.
Why this exists
When a 100-file diff has format drift everywhere, running each file through an LLM reviewer to emit "missing semicolon on line 23" 800 times is absurd. The linter already knows where every issue is, and the formatter already knows how to fix all of them. This skill keeps the LLM out of work the tools handle deterministically:
- The reviewer (this skill) runs each tool in check-mode, counts violations, emits one aggregate finding per tool.
- The merger sees
kind: aggregate, partitions it as a separate packet, skips apply-validation (the tool re-runs in check-mode after the fix to validate). - The fix-applier dispatches an aggregate packet by reading the
auto: <command>from thefix:line and just running it. NoRead, noEdit, no per-line decision.
Net effect: the orchestrator sees a Hygiene: 230 violations auto-fixed across 8 files line in the report instead of 230 paragraphs of finding blocks, and the fix-applier finishes in seconds instead of minutes.