caveman-commit

Generates terse Conventional Commits messages from staged changes.

Updated Aug 20, 2026
One-click install
npx skills add https://github.com/bittlinkm/claude-setup --skill caveman-commit-bittlinkm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: caveman-commit
Source: https://github.com/bittlinkm/claude-setup/tree/main/skills/caveman-commit
Command: npx skills add https://github.com/bittlinkm/claude-setup --skill caveman-commit-bittlinkm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing commit messages often produces verbose, inconsistent, or filler-heavy text that obscures intent. This Skill generates concise Conventional Commits messages that preserve the reasoning behind a change while cutting noise like AI attribution, restated diffs, and unnecessary body text. ## Core Features & Use Cases - Conventional Commits formatting: Produces <type>(<scope>): <imperative summary> subjects with types like feat, fix, refactor, and perf, capped at 50-72 characters. - Conditional body generation: Adds a wrapped body only when the why is non-obvious, and always for breaking changes, security fixes, data migrations, and reverts. - Use Case: After staging a breaking API rename, invoke the Skill to get feat(api)!: rename /v1/orders to /v1/checkout with a BREAKING CHANGE footer explaining migration deadlines, ready to paste into your commit. ## Quick Start Ask the AI to write a commit message for your currently staged changes using the caveman-commit style.

Frequently Asked Questions about caveman-commit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a Conventional Commits message?

Use the format type(scope): imperative summary, with types like feat, fix, refactor, or docs. Keep the subject under 50 characters with a hard cap of 72, use imperative mood like "add" instead of "added", and omit the trailing period.

When should a commit message include a body?

Add a body only when the why is non-obvious, and always for breaking changes, security fixes, data migrations, and reverts. Wrap body lines at 72 characters and reference issues at the end with lines like Closes #42.

How do I mark a breaking change in a commit message?

Append an exclamation mark after the type or scope, such as feat(api)!: rename /v1/orders to /v1/checkout, then include a BREAKING CHANGE footer in the body describing the migration path and deadlines.

Does this Skill run git commit or stage files?

No. It only generates the commit message text and outputs it as a code block ready to paste. It does not stage files, run git commit, or amend existing commits.

What should never appear in a commit message?

Avoid phrases like "this commit does X", first-person pronouns, AI attribution lines, and restating file names already covered by the scope. Emoji are excluded unless the project convention requires them.