| name | commit |
| description | Create git commits with good messages. Use when user says "commit", "create commit", or asks to commit changes. |
| tools | ["Bash(git status)","Bash(git diff *)","Bash(git log *)","Bash(git add *)","Bash(git commit *)","read_file","glob"] |
Git Commit Skill
Create a well-formatted git commit for staged changes.
Instructions
-
Gather information (run in parallel):
git status - See what's staged and unstaged
git diff --staged - See exactly what will be committed
git log --oneline -5 - See recent commit message style
-
Analyze changes:
- What was changed? (files, functions, features)
- Why was it changed? (bug fix, new feature, refactor)
- Follow the repository's commit message style
-
Draft commit message:
- First line: concise summary under 50 chars
- Focus on "why" not "what"
- Match existing commit style
-
Execute commit:
Safety Rules
- Do NOT commit .env or credential files
- Do NOT use
--amend unless explicitly asked
- Do NOT push unless explicitly asked
- If commit fails, create NEW commit (don't amend)
Example
git status
git diff --staged
git commit -m "$(cat <<'EOF'
Fix authentication timeout issue
Increased JWT expiry from 1h to 24h to prevent
frequent re-authentication during long sessions.
EOF
)"
git status