git-cmt-helper
by @0xtresser
Generate standardized git commit messages following Conventional Commits format. Use this skill when the user asks to commit code, write a commit message, or...
clawhub install git-cmt-helperπ About This Skill
name: git-commit-helper description: > Generate standardized git commit messages following Conventional Commits format. Use this skill when the user asks to commit code, write a commit message, or create a git commit. Enforces team conventions for type prefixes, scope naming, message length, and breaking change documentation.
Git Commit Message Guide
Format
Every commit message MUST follow this structure:
(): [optional body]
[optional footer]
Type (required)
| Type | When to use | |------|-------------| | feat | New feature or capability | | fix | Bug fix | | docs | Documentation only | | refactor | Code change that neither fixes nor adds | | test | Adding or updating tests | | chore | Build, CI, tooling changes |
Scope (required)
Scope MUST be a real module name from this project. See references/modules.md for the full list.
If unsure of the scope, check the file paths being changed β the top-level directory is usually the correct scope.
Subject (required)
Body (optional)
Breaking Changes
If the commit introduces a breaking change, add footer:
BREAKING CHANGE:
Examples
Good:
feat(auth): add JWT token refresh endpointTokens now auto-refresh 5 minutes before expiry.
Previously users had to re-login after token expiration.
fix(parser): handle empty input without crashing
refactor(db): extract connection pooling to separate moduleBREAKING CHANGE: DatabaseClient constructor no longer accepts
pool config. Use PoolConfig.create() instead.
Bad:
updated some stuff β no type, no scope, vague
feat: Add new Feature. β capitalized, period, missing scope
fix(misc): various fixes β "misc" is not a real module
π‘ Examples
Good:
feat(auth): add JWT token refresh endpointTokens now auto-refresh 5 minutes before expiry.
Previously users had to re-login after token expiration.
fix(parser): handle empty input without crashing
refactor(db): extract connection pooling to separate moduleBREAKING CHANGE: DatabaseClient constructor no longer accepts
pool config. Use PoolConfig.create() instead.
Bad:
updated some stuff β no type, no scope, vague
feat: Add new Feature. β capitalized, period, missing scope
fix(misc): various fixes β "misc" is not a real module