| name | Commit: One |
| description | {{ ๐ซ๐ซ๐ซ }} Generate a commit message. If nothing staged, stage all changes. |
| when_to_use | When the working tree holds one logical change ready to commit and you just need a well-formed conventional-commit message written. |
| model | haiku |
| effort | low |
| disable-model-invocation | true |
| allowed-tools | ["Bash(git:*)"] |
Current state
git status --short
git diff --cached --stat
Steps
- Per the state above: if no changes staged, stage all. If files are already staged, do not stage more files.
- Generate commit message per conventional commits format.
- Show message and await approval:
- If approved, push to upstream
- If changes requested, revise and repeat
- Subject line: imperative mood, lowercase, no period, max 50 chars (`add feature` not `added feature` or `adds feature`)
- Body: explain *what* and *why*, not *how*; wrap at 72 chars