From caveman
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/caveman:caveman-commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Write commit messages terse and exact. Conventional Commits format. No fluff. Why over what.
Write commit messages terse and exact. Conventional Commits format. No fluff. Why over what.
Subject line:
<type>(<scope>): <imperative summary> — <scope> optionalfeat, fix, refactor, perf, docs, test, chore, build, ci, style, revertBody (only if needed):
- not *Closes #42, Refs #17What NEVER goes in:
Diff: new endpoint for user profile with body explaining the why
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.
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.
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.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub luaaccess/caveman --plugin caveman