← ClaudeAtlas

commit-messagelisted

Writes a clear commit message from your staged changes — a subject that fits in 50 characters and a body that explains why. Use when committing a change whose reason isn't obvious from the diff alone.
skilletmd/skillet · ★ 3 · Code & Development · score 75
Install: claude install-skill skilletmd/skillet
# commit-message The diff shows what changed. The commit message exists to say *why* — the context that isn't in the code and won't be in anyone's head in six months. This skill writes that. ## When to use Any commit worth more than `git commit -m "fix"`. Especially before committing a change whose reason isn't obvious from the diff. ## Read what you're committing ```bash git diff --staged ``` Commit one logical change at a time. If the staged diff does two unrelated things, that's two commits — `git restore --staged <file>` to split them. ## The format ``` <type>: <subject, imperative, under 50 chars> <body: why this change, what it affects, wrapped at 72 chars> ``` **Subject line:** - Imperative mood: "add", "fix", "remove" — not "added" or "fixes". It completes the sentence "If applied, this commit will ___." - Under 50 characters. If it won't fit, the commit is probably too big. - No trailing period. **Type** (conventional commits — optional, but be consistent): `feat`, `fix`, `refactor`, `docs`, `test`, `chore`, `perf`. **Body** (skip it only when the subject is genuinely complete on its own): - Explain *why*, not *what* — the diff already shows what. - Note side effects, migrations, or anything a future reader would be surprised by. - Reference the issue: `Closes #123`. ## Example ``` fix: stop double-charging on retried checkout The payment client retried on a 504 without checking whether the first request had already succeeded, charging some customers t