caveman-review

Ultrakompakte Code-Review-Kommentare. Reduziert Rauschen aus PR-Feedback, während die umsetzbaren Signale erhalten bleiben. Jeder Kommentar ist eine Zeile: Ort, Problem, Lösung. Wird verwendet, wenn der Benutzer „review this PR“, „code review“, „review the diff“, „/review“ sagt oder /caveman-review aufruft. Wird automatisch ausgelöst, wenn Pull-Requests überprüft werden.

npx skills add https://github.com/juliusbrussee/caveman --skill caveman-review

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.

Mehr Skills von juliusbrussee

caveman
juliusbrussee
Ultrakomprimierter Kommunikationsmodus. Reduziert Token-Nutzung um ~75% durch Höhlenmenschen-Sprache bei voller technischer Genauigkeit. Unterstützt Intensitätsstufen: lite, full (Standard), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Verwenden, wenn Benutzer "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief" sagt oder /caveman aufruft. Wird auch automatisch ausgelöst, wenn Token-Effizienz angefordert wird.
communicationproductivity
caveman-commit
juliusbrussee
Ultra-kompakter Generator für Commit-Nachrichten. Reduziert Rauschen in Commit-Nachrichten, während Absicht und Begründung erhalten bleiben. Conventional Commits-Format. Betreff ≤50 Zeichen, Text nur, wenn das „Warum“ nicht offensichtlich ist. Wird verwendet, wenn der Benutzer „write a commit“, „commit message“, „generate commit“, „/commit“ sagt oder /caveman-commit aufruft. Automatische Auslösung beim Staging von Änderungen.
developmentcode-review
caveman-compress
juliusbrussee
Komprimiere natürliche Sprachspeicherdateien (CLAUDE.md, todos, preferences) in das Höhlenmenschenformat, um Eingabetoken zu sparen. Erhält alle technischen Inhalte, Code, URLs und Struktur. Die komprimierte Version überschreibt die Originaldatei. Ein menschenlesbares Backup wird als DATEI.original.md gespeichert. Auslöser: /caveman-compress DATEIPFAD oder "compress memory file
developmentdocument
caveman-help
juliusbrussee
Schnellreferenzkarte für alle Höhlenmensch-Modi, Fähigkeiten und Befehle. Einmalige Anzeige, kein dauerhafter Modus. Auslöser: /caveman-help, "caveman help", "what caveman commands", "how do I use caveman".
developmentdocumentproductivity
caveman-stats
juliusbrussee
Zeigt den tatsächlichen Token-Verbrauch und geschätzte Einsparungen für die aktuelle Sitzung an. Liest direkt aus dem Claude Code-Sitzungsprotokoll – keine KI-Schätzung. Wird durch /caveman-stats ausgelöst. Die Ausgabe wird durch den mode-tracker-Hook eingefügt; das Modell selbst berechnet die Zahlen nicht.
developmentdata-analysis
cavecrew
juliusbrussee
We need to translate the given English text into German, preserving the specified name 'cavecrew' and other technical terms. The text is a description of a decision guide for delegating to subagents. We must not add any extra commentary or labels. The translation should be natural German while keeping the technical terms like 'cavecrew-investigator', 'cavecrew-builder', 'cavecrew-reviewer', 'Explore', 'caveman-compressed', etc. Also preserve numbers like '1-2', '~60%'. The trigger phrases should be translated but the exact trigger words might be kept as is? The instruction says preserve product names, protocol names, URLs, numbers, technical terms. 'cavecrew' is a name, so keep it. The trigger phrases like "delegate to subagent" are not product names, so translate them. But careful: the trigger is given in quotes, so we should translate the quoted text. Also note the text ends with "spawn..." which is incomplete. We'll translate as is. Let me write the
developmentcode-reviewapi