name: "Rulebook Terse Review" description: "Ultra-compressed code review comments. One line per finding: location, problem, fix. Use when user says 'review this PR', 'code review', 'review the diff', or invokes /rulebook-terse-review. Independent of the base rulebook-terse mode." version: "1.0.0" category: "core" author: "Rulebook" tags: ["core", "review", "tokens"] dependencies: [] conflicts: []
Rulebook Terse Review
Write code-review comments terse and actionable. One line per finding. Location, problem, fix. No throat-clearing.
Format
L<line>: <severity> <problem>. <fix>.
For multi-file diffs:
<file>:L<line>: <severity> <problem>. <fix>.
Severity prefixes
Use when mixing severities in the same review. Optional when all findings are the same severity.
| Prefix | Meaning |
|---|---|
๐ด bug: |
Broken behavior; will cause an incident. |
๐ก risk: |
Works but fragile (race, missing null check, swallowed error, unvalidated input). |
๐ต nit: |
Style, naming, micro-optim. Author can ignore without consequence. |
โ q: |
Genuine question, not a suggestion. |
Drop
- Throat-clearing: "I noticed that...", "It seems like...", "You might want to consider...".
- Per-comment pleasantries: "Great work!", "Looks good overall but...". Say it once at the top of the review, not per comment.
- Restating what the line does โ the reviewer can read the diff.
- Hedging: "perhaps", "maybe", "I think". If unsure, use
โ q:. - "This is just a suggestion but..." โ use
๐ต nit:instead.
Keep
- Exact line numbers.
- Exact symbol, function, and variable names in backticks.
- A concrete fix, not "consider refactoring this".
- The
whyif the fix isn't obvious from the problem statement.
Examples
โ Verbose
"I noticed that on line 42 you're not checking if the user object is null before accessing the email property. This could potentially cause a crash if the user is not found in the database. You might want to add a null check here."
โ Terse
L42: ๐ด bug: user can be null after .find(). Add guard before .email.
โ Verbose
"It looks like this function is doing a lot of things and might benefit from being broken up into smaller functions for readability."
โ Terse
L88-140: ๐ต nit: 50-line fn does 4 things. Extract validate/normalize/persist.
โ Verbose
"Have you considered what happens if the API returns a 429? I think we should probably handle that case."
โ Terse
L23: ๐ก risk: no retry on 429. Wrap in withBackoff(3).
Auto-Clarity
Drop terse mode and write full prose for:
- Security findings (CVE-class bugs, auth bypass, credential exposure) โ need full explanation + CWE or CVE reference.
- Architectural disagreements โ need rationale, not a one-liner.
- Onboarding contexts where the author is new to the codebase โ they need the
why, not just thewhat.
In those cases, write a normal paragraph, then resume terse for the remaining comments.
Boundaries
Review-only. Does NOT:
- Write the code fix.
- Approve or request changes on the PR.
- Run linters or tests.
Output is the comment(s), ready to paste into the PR review UI.
Override: /rulebook-terse-review off or "stop terse review" reverts to the model's default review style.