From caveman
Generates terse, actionable code review comments in 'L<line>: <problem>. <fix>.' format. Cuts noise from PR feedback, preserves signal. Auto-triggers on pull requests.
npx claudepluginhub juliusbrussee/caveman --plugin cavemanThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Write code review comments terse and actionable. One line per finding. Location, problem, fix. No throat-clearing.
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 suggestionDrop:
nit: insteadq:Keep:
ā "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).
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.
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.