caveman-review — Claude Code skill: what it does, how to install
Generates terse, single-line code review comments with exact line numbers, problems, and fixes. Eliminates conversational filler in pull request reviews.
npx skills add JuliusBrussee/caveman --skill caveman-review -a claude-codeWhat caveman-review does
This skill forces the agent into a terse code review mode. Every finding follows the strict L: . . pattern, with :L: ... used across multi-file diffs. Fluff is banned. Phrases like "I noticed that" or "consider refactoring" get dropped in favor of exact line numbers and symbol names in backticks.
When issues vary in severity, the skill prefixes lines with 🔴 bug:, 🟡 risk:, 🔵 nit:, or ❓ q:. Full paragraphs are permitted only for CVE-class security findings or architectural disagreements. Once that explanation ends, terse mode resumes immediately.
The tool only reviews diffs and prints comments ready to paste into a PR. It will not write code fixes. It does not run linters or change review status. If you need an agent to apply refactorings directly into files, skip this skill.
What it helps with
- generate single-line PR review comments with location and fix
- strip conversational filler and hedging from AI code reviews
- tag review comments with bug, risk, or nit severity prefixes
- document CVE security findings with complete explanatory paragraphs
Example prompts for the agent
- /caveman-review
- review this PR
- stop caveman-review
How to install caveman-review
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-review -a claude-code2Manually: put the files in place
~/.claude/skills/caveman-review/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/caveman-review/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-review -a codex2Manually: put the files in place
.agents/skills/caveman-review/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-review -a cursor2Manually: put the files in place
.cursor/skills/caveman-review/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install JuliusBrussee/caveman caveman-review2Manually: put the files in place
.github/skills/caveman-review/SKILL.md1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-review -a gemini-cli2Platform CLI
gemini skills install https://github.com/JuliusBrussee/caveman --path skills/caveman-reviewManually: put the files in place
.devin/skills/caveman-review/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-review -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set22
The whole set →Similar
Questions about caveman-review
How to install caveman-review in Claude Code?
Run npx skills add JuliusBrussee/caveman --skill caveman-review -a claude-code. The skill file installs to ~/.claude/skills/caveman-review/SKILL.md.
What does caveman-review do?
It formats diff reviews into single-line findings containing the line number, problem, and concrete fix. It removes polite filler like "I noticed that" and keeps only actionable feedback.
Does caveman-review modify the code?
No, the skill only outputs review comments ready to paste into a PR. It does not write fixes to files, run linters, or approve pull requests.
Source text
SKILL.md · Apache-2.0
---
name: caveman-review
description: >
Compressed code review - one line per finding with location, problem and fix.
Use for /caveman-review, "review this PR", or "review the diff".
---
Write code review comments terse and actionable. One line per finding. Location, problem, fix. No throat-clearing.
## Rules
**Format:** `L<line>: <problem>. <fix>.` — or `<file>:L<line>: ...` when reviewing multi-file diffs.
**Severity prefix (optional, when mixed):**
- `🔴 bug:` — broken behavior, will cause incident
- `🟡 risk:` — works but fragile (race, missing null check, swallowed error)
- `🔵 nit:` — style, naming, micro-optim. Author can ignore
- `❓ q:` — genuine question, not a suggestion
**Drop:**
- "I noticed that...", "It seems like...", "You might want to consider..."
- "This is just a suggestion but..." — use `nit:` instead
- "Great work!", "Looks good overall but..." — say it once at the top, not per comment
- Restating what the line does — the reviewer can read the diff
- Hedging ("perhaps", "maybe", "I think") — if unsure use `q:`
**Keep:**
- Exact line numbers
- Exact symbol/function/variable names in backticks
- Concrete fix, not "consider refactoring this"
- The *why* if the fix isn't obvious from the problem statement
## Examples
❌ "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."
✅ `L42: 🔴 bug: user can be null after .find(). Add guard before .email.`
❌ "It looks like this function is doing a lot of things and might benefit from being broken up into smaller functions for readability."
✅ `L88-140: 🔵 nit: 50-line fn does 4 things. Extract validate/normalize/persist.`
❌ "Have you considered what happens if the API returns a 429? I think we should probably handle that case."
✅ `L23: 🟡 risk: no retry on 429. Wrap in withBackoff(3).`
## Auto-Clarity
Drop terse mode for: security findings (CVE-class bugs need full explanation + reference), architectural disagreements (need rationale, not just a one-liner), and onboarding contexts where the author is new and needs the "why". In those cases write a normal paragraph, then resume terse for the rest.
## Boundaries
Reviews only — does not write the code fix, does not approve/request-changes, does not run linters. Output the comment(s) ready to paste into the PR. "stop caveman-review" or "normal mode": revert to verbose review style.
© JuliusBrussee · Apache-2.0 · JuliusBrussee/caveman