# Caveman Commit > Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes. Source: https://skillsagentes.com/skills/juliusbrussee/caveman/caveman-commit Repository: https://github.com/JuliusBrussee/caveman Author: juliusbrussee License: MIT Updated: hace 2 meses Context cost: 87 tok installed, 647 tok once triggered, 954 tok with every bundled file Bundle: 2 files, 4 KB Permissions requested: none declared ## Install ```bash npx -y skills add JuliusBrussee/caveman --skill caveman-commit --agent claude-code ``` ## What it does - Genera mensajes de commit en formato Conventional Commits, terso y exacto, priorizando el "por qué" sobre el "qué". - Asunto en modo imperativo, ≤50 caracteres cuando es posible (tope duro 72), sin punto final, con tipos fijos (feat/fix/refactor/perf/docs/test/chore/build/ci/style/revert). - El cuerpo solo aparece si hace falta: por qué no obvio, breaking changes, notas de migración o issues enlazados; nunca incluye frases como "this commit does X" ni atribución de IA salvo que el usuario lo pida. - Para breaking changes, fixes de seguridad, migraciones de datos o reverts, siempre incluye cuerpo completo con contexto, nunca lo comprime a solo el asunto. ## Use it when - El usuario pide "write a commit", "commit message", "/commit" o invoca /caveman-commit. - Al hacer staging de cambios (auto-trigger según el archivo). ## What triggers it - "/caveman-commit" - "genera el mensaje de commit para este diff" - "escribe un commit para este cambio breaking" ## Before you install - Ninguno: solo genera el texto del mensaje; el archivo dice explícitamente que no ejecuta git commit, no hace stage ni hace amend. ## Files - README.md — 1 KB - SKILL.md — 3 KB ## SKILL.md Reproduced verbatim from JuliusBrussee/caveman under MIT. This section is the upstream document and is in English. Write commit messages terse and exact. Conventional Commits format. No fluff. Why over what. ## Rules **Subject line:** - `(): ` — `` 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 Agentes — https://skillsagentes.com/skills/juliusbrussee/caveman/caveman-commit