caveman-review

Ультра-сжатые комментарии к ревью кода. Убирает шум из фидбека по PR, сохраняя полезный сигнал. Каждый комментарий — одна строка: место, проблема, исправление. Используется, когда пользователь говорит «проверь этот PR», «ревью кода», «проверь diff», «/review» или вызывает /caveman-review. Автоматически срабатывает при ревью пул-реквестов.

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.

Больше skills от juliusbrussee

caveman
juliusbrussee
Ультра-сжатый режим общения. Сокращает использование токенов примерно на 75% за счёт речи как пещерный человек, сохраняя полную техническую точность. Поддерживает уровни интенсивности: lite, full (по умолчанию), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Используется, когда пользователь говорит «caveman mode», «talk like caveman», «use caveman», «less tokens», «be brief» или вызывает /caveman. Также автоматически срабатывает при запросе эффективности токенов.
communicationproductivity
caveman-commit
juliusbrussee
Ультра-сжатый генератор сообщений коммитов. Убирает шум из сообщений коммитов, сохраняя намерение и обоснование. Формат Conventional Commits. Тема ≤50 символов, тело только когда «почему» не очевидно. Используется, когда пользователь говорит «напиши коммит», «сообщение коммита», «сгенерируй коммит», «/commit» или вызывает /caveman-commit. Автоматически срабатывает при подготовке изменений.
developmentcode-review
caveman-compress
juliusbrussee
Сжимает файлы памяти на естественном языке (CLAUDE.md, todos, preferences) в формат caveman для экономии входных токенов. Сохраняет всё техническое содержание, код, URL и структуру. Сжатая версия перезаписывает исходный файл. Человекочитаемая резервная копия сохраняется как FILE.original.md. Триггер: /caveman-compress FILEPATH или "compress memory file
developmentdocument
caveman-help
juliusbrussee
Краткая справочная карточка по всем режимам, навыкам и командам пещерного человека. Одноразовое отображение, не постоянный режим. Триггер: /caveman-help, "caveman help", "what caveman commands", "how do I use caveman".
developmentdocumentproductivity
caveman-stats
juliusbrussee
Показывает реальное использование токенов и примерную экономию для текущей сессии. Считывает данные напрямую из лога сессии Claude Code — без ИИ-оценок. Запускается по команде /caveman-stats. Вывод внедряется через хук mode-tracker; сама модель не вычисляет числа.
developmentdata-analysis
cavecrew
juliusbrussee
We need to translate the given text from English to Russian. The text is a description of a decision guide for delegating to subagents. We must preserve product names, protocol names, URLs, numbers, technical terms. The name "cavecrew" appears multiple times, but the instruction says "Do not include the name unless it appears in the source text." Since it appears in the source, we should keep it as is. Also preserve "cavecrew-investigator", "cavecrew-builder", "cavecrew-reviewer", "Explore" (capitalized), "~60%", "main context", "tool-result", "inline", "vanilla". The trigger phrases should be translated but the names inside them preserved? The trigger says "delegate to subagent", "use cavecrew", "spawn..." - we should translate the English words but keep "cavecrew" as is. Also "caveman-style" and "caveman-compressed" - "caveman" is part of the style name, likely should be kept as
developmentcode-reviewapi