Commit Message
A Conventional Commits message: typed subject in the imperative under 72 characters, a body that explains why (not what) wrapped at 72, and the provenance trailer when an AI wrote significant code.
id template/commit-messagev1.0.0placeholders 5
Skeleton
{{type}}{{scope}}: {{subject}}
{{body}}
{{trailers}}Rendered example
feat(schemas): add template class for rendered documents
Agents asked to write an ADR, runbook, or handoff had no skeleton to
fill. A template carries the skeleton, its placeholders, and one rendered
example; rendering is a distinct runtime action from injecting text.
Co-Authored-By: Claude Fable 5.1 <[email protected]>Placeholders
| Name | Required | What goes here | Example |
|---|---|---|---|
{{type}} | yes | feat, fix, refactor, perf, docs, test, build, ci, or chore. | feat |
{{scope}} | no | Optional parenthesised area, e.g. (schemas). | (schemas) |
{{subject}} | yes | Imperative mood, no trailing period, subject line ≤ 72 characters including type and scope. | add template class for rendered documents |
{{body}} | no | Why this change, the non-obvious decisions, and what alternatives were rejected. Wrap at 72. Omit for trivial changes. | Agents asked to write an ADR had no skeleton… |
{{trailers}} | no | Co-Authored-By and similar trailers, one per line. | Co-Authored-By: Claude Fable 5.1 <[email protected]> |
Rules for the finished document
- Subject line ≤ 72 characters, imperative mood, no trailing period.
- One logical change per commit; refactor commits never carry feat or fix payloads.
- Body explains why; the diff already says what.
Produced by
- skill/commit — Commit
commitconventional-commitsgit
Author convergent-systems-key. Source ai-atoms. License CC-BY-4.0. Rules from the AI Constitution's commit discipline (§4.10.2) and provenance rule (§3.32).