Commit Skill
Create well-formatted commits with conventional commit messages and emoji prefixes.
When to Use
- •User explicitly asks to commit changes
- •User asks to "save" or "commit" their work
- •After completing a significant task (ask user first)
- •User says "commit this" or similar
Process
- •Check status: Run
git statusto see changes - •Review diff: Run
git diffto understand changes - •Check recent commits: Run
git log --oneline -5for commit style reference - •Stage files: If no files staged, add relevant files with
git add - •Analyze changes: Determine if multiple commits are needed
- •Create commit: Use conventional commit format with emoji
Commit Message Format
code
<emoji> <type>: <description> [optional body] 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Commit Types with Emoji
| Type | Emoji | When to Use |
|---|---|---|
feat: | ✨ | New feature |
fix: | 🐛 | Bug fix |
docs: | 📝 | Documentation |
refactor: | ♻️ | Code refactoring |
chore: | 🔧 | Build/tooling |
perf: | ⚡️ | Performance |
test: | ✅ | Tests |
style: | 🎨 | Code formatting |
ci: | 🚀 | CI/CD changes |
fix: | 🔒️ | Security fix |
chore: | 🔖 | Release/version tag |
Git Safety Rules
- •NEVER update git config
- •NEVER use destructive commands (push --force, hard reset) unless explicitly requested
- •NEVER skip hooks unless explicitly requested
- •NEVER amend commits that have been pushed
- •NEVER commit files that may contain secrets (.env, credentials.json)
Splitting Commits
Consider multiple commits when changes involve:
- •Different concerns (unrelated code areas)
- •Different types (features + fixes + docs)
- •Different file patterns (source vs documentation)
Example
bash
git add src/components/NewFeature.tsx src/services/feature.ts git commit -m "$(cat <<'COMMIT' ✨ feat: add user authentication system Implements login, logout, and session management. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> COMMIT )"