| name | commit |
| description | Create atomic conventional commits from staged/unstaged changes. Use when the user asks to commit, save, or checkpoint their work. |
| allowed-tools | Bash(git *) |
Commit Skill
Create atomic, well-scoped conventional commits following the Conventional Commits specification.
Process
- Run
git status and git diff to understand all changes
- Run
git log --oneline -5 to see recent commit style
- Group changes into atomic commits — each commit should represent one logical change
- For each atomic commit:
- Stage only the relevant files (
git add <specific files>)
- Write a conventional commit message using the format below
- Verify with
git status after committing
Conventional Commit Format
<type>(<scope>): <short description>
<optional body>
Always pass the message via HEREDOC and include a Co-Authored-By trailer identifying the AI that produced the changes:
git commit -m "$(cat <<'EOF'
<type>(<scope>): <short description>
<optional body>
Co-Authored-By: <ai-trailer>
EOF
)"
Co-Authored-By trailers by AI
| AI | Trailer |
|---|
| Claude | Claude Opus 4.6 <noreply@anthropic.com> |
| Codex | chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com> |
Use the trailer matching the AI that made the changes being committed.
Types
feat — new feature or capability
fix — bug fix
refactor — code restructuring without behavior change
style — formatting, CSS, visual changes
docs — documentation only
chore — tooling, config, dependencies
perf — performance improvement
test — adding or updating tests
Scope
Optional, lowercase, identifies the area: ui, parser, api, theme, etc.
Rules
- Subject line: imperative mood, lowercase, no period, under 72 chars
- Body: explain why, not what (the diff shows what)
- One logical change per commit — if changes touch unrelated areas, split into multiple commits
- Never use
git add . or git add -A — always add specific files
- Never amend unless explicitly asked
- Never push unless explicitly asked
- Never use
--no-verify