---
name: commit
description: >
Create a conventional commit. Use when user says "commit", "make a commit",
or "save changes". NOT for: drafting code, running tests, or anything that
changes files — this skill only stages and commits already-finished work.
model: sonnet
allowed-tools:
- Bash(git add:*)
- Bash(git commit:*)
- Bash(git status:*)
- Bash(git diff:*)
argument-hint: "[optional commit message override]"
---
!`git status --short`
!`git diff --cached`
1. Review the staged diff above.
2. Write a Conventional Commit message: feat: / fix: / chore: / docs: / refactor: / test: / perf:
3. If `$ARGUMENTS` is provided, use it as the commit subject.
4. Format: `(): ` — subject under 72 chars.
5. Run: `git commit -m ""`
6. Run: `git status` to confirm clean state.
7. Output the commit hash and message.