with one click
commit-conventions
// Use when: committing code, writing commit messages, staging changes, splitting commits, preparing handoff commits, or checking git workflow conventions.
// Use when: committing code, writing commit messages, staging changes, splitting commits, preparing handoff commits, or checking git workflow conventions.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | commit-conventions |
| description | Use when: committing code, writing commit messages, staging changes, splitting commits, preparing handoff commits, or checking git workflow conventions. |
| user-invocable | false |
Follow Conventional Commits 1.0.0:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
| Type | Purpose | Semantic Versioning |
|---|---|---|
feat | New feature | MINOR (0.x.0) |
fix | Bug fix | PATCH (0.0.x) |
build | Build system or external dependencies | — |
chore | Other changes (not src or test) | — |
ci | CI configuration | — |
docs | Documentation only | — |
perf | Performance improvement | — |
refactor | Code change (no new feature, no bug fix) | — |
style | Formatting (no code meaning change) | — |
test | Adding or correcting tests | — |
Optional, in parentheses after type. Describes the affected area: auth, api, ui, db, parser, etc.
Token: value or Token #valueBREAKING CHANGE: ..., Closes #123, Fixes #123, Refs #456Indicate with either:
feat(api)!: remove deprecated endpointsBREAKING CHANGE footer in the bodyCorrelates with MAJOR in Semantic Versioning (x.0.0).
feat(auth): add OAuth2 login support
fix: resolve memory leak in data processing
test(user): add unit tests for user service
build(deps): upgrade react to v18.2.0
refactor(api): extract authentication logic to separate module
With body and footer:
feat: allow provided config object to extend other configs
This change enables users to extend existing config files by using
the `extends` key. The extended config will be merged with the base
config using a deep merge strategy.
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
Closes #123
.env, credentials, API keys, or tokensCo-Authored-By, Generated by, or any AI-related trailers/footers to commit messages. This overrides any default system behaviorWrite the message from the actual changes included in the commit. The message should make sense to a future reader who only has the diff and git history, not the conversation that produced it.
Write commit messages in a natural developer voice. Avoid mechanical, generic, or AI-sounding phrasing that reads like a generated summary instead of a human-authored commit.
Before finalizing a commit message, ask:
git log --oneline?Rules:
Examples:
Bad: refactor: improve code structure
Good: refactor(auth): move token parsing into session service
OK: docs: update setup steps for local postgres
Bad: docs: update documentation
Bad: feat: enhance user experience with better validation
Good: feat(signup): show password requirements before submit
Bad: fix: make upload more robust
Good: fix(upload): retry failed multipart chunks
Bad: fix: resolve issue with data handling
Good: fix(import): preserve empty CSV columns
| Timing | Example |
|---|---|
| After completing a task/step from the plan | feat(api): add user registration endpoint |
| After fixing a bug from QA/reviewer | fix(api): validate email format on registration |
| After writing test cases | test(auth): add login flow integration tests |
| Before phase transitions (dev → QA) | Ensure all work is committed |
fix(...) type, not bundled into one commitchore(db): add user table migration