
Caveman Review
- 267k installs
- 93.6k repo stars
- Updated July 26, 2026
- juliusbrussee/caveman
caveman-review is a skill command that generates one-line PR comments with line-number references and bug classification.
About
Generate one-line PR review comments with inline bug references. Delivers tight feedback like 'L42: bug: user null. Add guard.' with 65% output compression.
- PR review comments
- token compression
- one-line feedback
Caveman Review by the numbers
- 267,292 all-time installs (skills.sh)
- +18,351 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #2 of 1,382 Code Review & Quality skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
caveman-review capabilities & compatibility
- Capabilities
- review generation · bug flagging · feedback optimization
- Use cases
- code review
- Runs
- Runs locally
- Pricing
- Free
npx skills add https://github.com/juliusbrussee/caveman --skill caveman-reviewAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 267k |
|---|---|
| repo stars | ★ 93.6k |
| Security audit | 2 / 3 scanners passed |
| Last updated | July 26, 2026 |
| Repository | juliusbrussee/caveman ↗ |
What it does
Developers use caveman-review to leave concise, actionable PR comments that preserve technical detail in minimal tokens.
Who is it for?
Writing concise PR review comments, identifying bugs, providing actionable feedback
Skip if: Architecture RFCs, teaching-oriented reviews with long explanations, or security audits requiring detailed exploit narratives.
When should I use this skill?
A developer needs to comment on a pull request with brief, clear feedback
What you get
One-line review comments with file/line anchors, severity tags, and concrete fix instructions per finding.
- line-anchored review comments
- severity-tagged findings
By the numbers
- One line per review finding with location, problem, and fix
Files
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.
caveman-review
One-line PR comments. Location, problem, fix. No throat-clearing.
What it does
Generates code review comments in L<line>: <severity> <problem>. <fix>. format. One line per finding. Severity emoji: 🔴 bug, 🟡 risk, 🔵 nit, ❓ question. Drops "I noticed that...", hedging, and restating what the diff already shows. Keeps exact line numbers, backticked symbols, and concrete fixes.
Auto-clarity: drops terse mode for CVE-class security findings, architectural disagreements, and onboarding contexts where the author needs the why. Resumes terse for the rest.
Output only — does not approve, request changes, or run linters.
How to invoke
/caveman-reviewAlso triggers on "review this PR", "code review", "review the diff".
Example output
L42: 🔴 bug: user can be null after .find(). Add guard before .email.
L88-140: 🔵 nit: 50-line fn does 4 things. Extract validate/normalize/persist.
L23: 🟡 risk: no retry on 429. Wrap in withBackoff(3).
L107: ❓ q: why drop the cache here? Reads on next request will miss.See also
- `SKILL.md` — full LLM-facing instructions
- Caveman README — repo overview
Related skills
FAQ
What format does caveman-review use per comment?
caveman-review outputs one line per finding as `L<line>: <problem>. <fix>.` Multi-file diffs prefix the file path. Optional emoji severity tags mark bugs, risks, or nits.
When should caveman-review auto-trigger?
caveman-review fires when a user says review this PR, code review, review the diff, uses /review or /caveman-review, or when an agent enters pull-request review on a staged diff.
Is Caveman Review safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.