caveman-commit

Generate terse Conventional Commits messages from code diffs with imperative subjects and optional bodies.

1|Updated Aug 31, 2026
One-click install
npx skills add https://github.com/nguyenhungtran18/skill-and-tool-tracker --skill caveman-commit-nguyenhungtran18
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: caveman-commit
Source: https://github.com/nguyenhungtran18/skill-and-tool-tracker/tree/main/skills/caveman-commit
Command: npx skills add https://github.com/nguyenhungtran18/skill-and-tool-tracker --skill caveman-commit-nguyenhungtran18

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing commit messages often produces verbose, inconsistent, or fluff-filled text that obscures intent. This Skill generates Conventional Commits messages compressed to intent only, enforcing strict formatting rules so your git history stays readable and machine-parseable. ## Core Features & Use Cases - Conventional Commits Formatting: Produces <type>(<scope>): <imperative summary> subjects with types like feat, fix, refactor, perf, and revert, capped at 50-72 characters. - Intent-Only Bodies: Adds a body only when the why is non-obvious, and always requires one for breaking changes, security fixes, data migrations, and reverts. - No Fluff Enforcement: Strips AI attribution, "this commit does X" phrasing, emoji, and first-person language from every message. - Use Case: After staging a diff that renames a public API route, ask for a commit message and receive feat(api)!: rename /v1/orders to /v1/checkout with a BREAKING CHANGE footer explaining the migration deadline. ## Quick Start Ask the AI to write a commit message for your current diff 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 from a diff?▼

Provide the diff and request a commit message. The output follows the format type(scope): imperative summary, with types like feat, fix, refactor, or revert, a subject under 72 characters, and a body only when the reasoning is non-obvious.

What is the correct format for a breaking change commit message?▼

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

When should a commit message include a body?▼

Include a body only when the why is non-obvious, and always for breaking changes, security fixes, data migrations, and reverts. Self-explanatory subjects should stand alone without a body.

Does this tool run git commit or stage files?▼

No. It only generates the commit message text as a ready-to-paste code block. It does not stage files, run git commit, or amend existing commits; you execute the git commands yourself.

Why should commit messages avoid AI attribution and filler phrases?▼

Phrases like "this commit does X" or "Generated with Claude Code" add noise without information, since the diff already shows what changed. Terse messages keep git history scannable and focused on intent.