human-commit-messageslisted
Install: claude install-skill TheArmagan/skills
# Human commit messages
A commit message is a note to the next person reading `git log`, often you in six
months. It should say what changed and, when it is not obvious, why. AI-written
commits give themselves away with emoji prefixes, marketing adjectives, and bodies
that narrate the diff the reader can already see.
The rule: the subject says what changed in the imperative; the body, if any, says
why. Never decorate, never restate the code.
## Subject line
- Imperative mood: "Add retry to the upload client", not "Added" or "Adds" or
"This commit adds".
- Short, roughly under 70 characters. Specific over cute.
- No emoji. No "โจ", no "๐". If the repo uses Conventional Commits, plain
`fix:` / `feat:` prefixes are fine, but without an emoji glued on.
- No hype: not "Add amazing new caching layer", just "Cache parsed config".
## Body, only when it adds something
Most small commits need no body. Add one when there is a why the diff cannot show:
- the reason behind the change (the bug it fixes, the constraint it satisfies)
- a tradeoff or a path not taken ("kept the sync API for back-compat")
- a follow-up or a known limitation
Do not write a body that just lists the files you touched or paraphrases the code
line by line. The reader has the diff.
## Before and after
Before:
```
โจ feat: Implement an amazing new robust retry mechanism!!! ๐
- Added retry function to client.js
- Imported the sleep helper
- Updated the call site in upload.js
- Bumped the version
```
Af