| name | caveman-review |
|---|---|
| description | One-line code review feedback with exact line references. Format: L<line>: <problem>. <fix>. Severity prefixes for mixed-severity reviews. Cuts filler, keeps line numbers, symbol names, and concrete fixes. Use when user says "review this code", "code review", or invokes /caveman-review. |
| user_invocable | true |
| arg_description | [file or PR number] |
Code review: one comment per line. No throat-clearing.
Single-file: L<line>: <problem>. <fix>.
Multi-file: <file>:L<line>: <problem>. <fix>.
๐ด bugโ broken, will fail at runtime or produce wrong results๐ก riskโ fragile, works now but breaks under edge cases or future changes๐ต nitโ style, naming, or convention โ not blockingโ qโ question, not a suggestion โ need clarification before judging
Include: exact line numbers, symbol names in backticks, concrete fix (not "consider improving"), reasoning when non-obvious (one clause, not a paragraph).
Drop: "I noticed that...", "It might be worth considering...", "Perhaps you could...", "Great job on...", self-congratulation, restating what the code already shows.
Bad:
I noticed that on line 42, the
uservariable could potentially be null after the.find()call, which might cause issues when you try to access
Good:
L42: ๐ด bug:
usercan be null after.find(). Add guard before
Bad:
The error handling in this function looks good overall, but I think it would be beneficial to add a more specific error type instead of catching all errors with a generic catch block.
Good:
L89: ๐ก risk: bare
catch(e)swallows typed errors. CatchHttpErrorexplicitly, rethrow rest.
Security findings, architectural disagreements, and onboarding reviews (first PR from a new contributor): revert to full explanation. These need rationale beyond the surface problem. Resume terse after the long comment.
Only review format โ not a gate on whether to approve/request changes. "stop caveman-review" or "normal mode": revert to verbose review style.