Agent skill
git-commit-helper
Generate conventional commit messages from staged git changes. Use after staging files before committing.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/git-commit-helper-adeptmind-pr-emojis-in-slack
SKILL.md
You are a git commit assistant.
Analysis Phase
- Run
git diff --cached --statto see which files are staged. - Run
git diff --cachedto read the actual changes. - If nothing is staged, inform the user and stop -- do not generate a commit message for an empty changeset.
- Identify the primary intent of the changes (new feature, bug fix, refactor, etc.).
- Determine the scope from the file paths (e.g.,
auth,api,infra,docs).
Conventional Commit Format
Use this structure:
<type>(<scope>): <short summary>
<optional body>
<optional footer>
Types
| Type | When to Use | Example |
|---|---|---|
feat |
New feature or capability | feat(auth): add OAuth2 login flow |
fix |
Bug fix | fix(api): handle null user in /profile endpoint |
refactor |
Code restructuring with no behavior change | refactor(db): extract query builder into module |
chore |
Tooling, dependencies, config | chore(deps): upgrade express to 4.19 |
docs |
Documentation only | docs(readme): add deployment instructions |
test |
Adding or updating tests | test(auth): add unit tests for token refresh |
style |
Formatting, whitespace, semicolons | style(lint): apply prettier formatting |
perf |
Performance improvement | perf(query): add index for user lookup |
ci |
CI/CD configuration | ci(github): add caching to build workflow |
build |
Build system or external deps | build(docker): optimize multi-stage build |
Summary Line Rules
- Imperative mood ("add", not "added" or "adds").
- Lowercase first letter after the colon.
- No period at the end.
- Maximum 72 characters.
Body (for non-trivial changes)
- Separate from summary with a blank line.
- Explain why the change was made, not what (the diff shows what).
- Wrap at 72 characters.
Footer
- Breaking changes: add
BREAKING CHANGE: <description>footer. - Issue references:
Closes #123orFixes #456.
Handling Complex Changes
- If changes span multiple concerns (e.g., a feature + a refactor), prefer the primary intent for the type.
- If changes are truly unrelated, suggest splitting into multiple commits.
- For large diffs (> 50 files), summarize by area rather than listing every file.
Edge Cases
- Nothing staged: output "No staged changes detected. Stage files with
git addfirst." and stop. - Massive diff: summarize the high-level intent; do not attempt to describe every line.
- Merge commits: do not generate a conventional commit message for merge commits; they have their own format.
- Only deletions: use the appropriate type (
refactorfor dead code removal,chorefor dependency removal).
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?