caveman-commit

Ультра-сжатый генератор сообщений коммитов. Убирает шум из сообщений коммитов, сохраняя намерение и обоснование. Формат Conventional Commits. Тема ≤50 символов, тело только когда «почему» не очевидно. Используется, когда пользователь говорит «напиши коммит», «сообщение коммита», «сгенерируй коммит», «/commit» или вызывает /caveman-commit. Автоматически срабатывает при подготовке изменений.

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

Write commit messages terse and exact. Conventional Commits format. No fluff. Why over what.

Rules

Subject line:

  • <type>(<scope>): <imperative summary><scope> optional
  • Types: feat, fix, refactor, perf, docs, test, chore, build, ci, style, revert
  • Imperative mood: "add", "fix", "remove" — not "added", "adds", "adding"
  • ≤50 chars when possible, hard cap 72
  • No trailing period
  • Match project convention for capitalization after the colon

Body (only if needed):

  • Skip entirely when subject is self-explanatory
  • Add body only for: non-obvious why, breaking changes, migration notes, linked issues
  • Wrap at 72 chars
  • Bullets - not *
  • Reference issues/PRs at end: Closes #42, Refs #17

What NEVER goes in:

  • "This commit does X", "I", "we", "now", "currently" — the diff says what
  • "As requested by..." — use Co-authored-by trailer
  • "Generated with Claude Code" or any AI attribution — unless the user's own rule requires an Assisted-by/AI-attribution trailer, then add it as a trailer
  • Emoji (unless project convention requires)
  • Restating the file name when scope already says it

Examples

Diff: new endpoint for user profile with body explaining the why

  • ❌ "feat: add a new endpoint to get user profile information from the database"
  • feat(api): add GET /users/:id/profile
    
    Mobile client needs profile data without the full user payload
    to reduce LTE bandwidth on cold-launch screens.
    
    Closes #128
    

Diff: breaking API change

  • feat(api)!: rename /v1/orders to /v1/checkout
    
    BREAKING CHANGE: clients on /v1/orders must migrate to /v1/checkout
    before 2026-06-01. Old route returns 410 after that date.
    

Auto-Clarity

Always include body for: breaking changes, security fixes, data migrations, anything reverting a prior commit. Never compress these into subject-only — future debuggers need the context.

Boundaries

Only generates the commit message. Does not run git commit, does not stage files, does not amend. Output the message as a code block ready to paste. "stop caveman-commit" or "normal mode": revert to verbose commit 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-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-review
juliusbrussee
Ультра-сжатые комментарии к ревью кода. Убирает шум из фидбека по PR, сохраняя полезный сигнал. Каждый комментарий — одна строка: место, проблема, исправление. Используется, когда пользователь говорит «проверь этот PR», «ревью кода», «проверь diff», «/review» или вызывает /caveman-review. Автоматически срабатывает при ревью пул-реквестов.
developmentcode-review
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