Conventional commits
Skill narenaryan/agent-skills/skills/git/conventional-commits
Use when writing or validating Conventional Commits v1.0.0 messages β choosing between `!` and `BREAKING CHANGE:` footer, formatting git-trailer footers (Token-with-dashes vs `BREAKING CHANGE`), scope syntax, mapping types to SemVer bumps, prepending gender-neutral gitmoji-style icons (feat β‘ / fix π / refactor β»οΈ / docs π), or handling revert/multi-paragraph body rulesFrom its SKILL.md
npx -y skills add narenaryan/agent-skills --skill conventional-commitsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.3 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Conventional Commits v1.0.0
Header grammar: <type>[(scope)][!]: <description>. Body and footers are separated by blank lines. Footers follow the git-trailer convention.
Type β SemVer β Emoji
All emojis are object-based and gender-neutral β no person/profession glyphs that default to a specific presentation in most fonts.
| Type | SemVer bump | Emoji | Shortcode |
|---|---|---|---|
feat | MINOR | β‘ | :zap: |
fix | PATCH | π | :bug: |
refactor | β | β»οΈ | :recycle: |
docs | β | π | :memo: |
perf | β | π | :rocket: |
test | β | β | :white_check_mark: |
build | β | π¦ | :package: |
ci | β | π€ | :robot: |
chore | β | π§ | :wrench: |
style | β | π¨ | :art: |
any with ! / BREAKING CHANGE: | MAJOR | π₯ | :boom: |
Emoji placement: prepend before the type, then a single space β β‘ feat(parser): add array support. Don't replace the type with the emoji; tooling (semantic-release, commitlint) parses the textual type. Some teams prefer the :zap: shortcode form for plain-text terminals.
Breaking changes β two mechanisms
| Mechanism | Form | Footer required? |
|---|---|---|
| Marker | feat(api)!: drop v1 endpoints | No β description carries the explanation |
| Footer | BREAKING CHANGE: v1 endpoints removed | Yes; can combine with ! |
BREAKING-CHANGE (hyphen) is a synonym only as a footer token. The text BREAKING CHANGE MUST be uppercase; everything else is case-insensitive.
Footer format (git-trailer rules)
<Token>: <value> # standard
<Token> #<value> # issue-ref form, e.g. Refs #133
- Token MUST replace whitespace with
-:Reviewed-by,Acked-by,Signed-off-by. The lone exception isBREAKING CHANGE(space allowed). - Footer values may span newlines; parsing terminates at the next valid
Token:orToken #pair. - Footers begin one blank line after the body.
Examples
β‘ feat(parser): add ability to parse arrays
π fix: prevent racing of requests
Introduce a request id and a reference to latest request.
Reviewed-by: Z
Refs: #123
π₯ chore!: drop Node 6 from CI
BREAKING CHANGE: dropping Node 6 which hits end of life in April
revert: let us never again speak of the noodle incident
Refs: 676104e, a215868
Pitfalls
- Forgetting the space after the colon in the header β
feat:add xis invalid. - Writing a footer token with a space (
Reviewed by:) β onlyBREAKING CHANGEmay contain a space; everything else needs-. - Using lowercase
breaking change:β the token MUST be uppercase, unlike the rest of the spec which is case-insensitive. - Putting
BREAKING CHANGEin the body instead of the footer block β tools that parse trailers (and SemVer release tooling) will miss it; the MAJOR bump won't trigger. - Assuming
!alone bumps MAJOR but skipping a description that explains the break β when!is used without aBREAKING CHANGE:footer, the description is the break explanation, so it must be self-contained. - Replacing the textual type with an emoji (
β‘(parser): ...) β commitlint/semantic-release won't recognize it; always keepfeat/fix/etc. after the emoji. - Avoid person/profession emoji (π·, π¨βπ», π) for type icons β they default to a specific gender presentation in most fonts and exclude readers; prefer object glyphs (π€, π§, π¨).
- Multi-codepoint emoji (β»οΈ uses VS-16, ZWJ sequences) can confuse regex-based hooks counting characters; prefer the
:shortcode:form if your toolchain is byte-fragile. - Scope must be a noun in parens (
fix(parser):), not a verb or sentence; pick one scope or omit. revertis conventional, not specified β agree on a project convention (most tools expectrevert: <subject>+Refs:footer with reverted SHAs).
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.