name: commit
description: "Commit changes to Git. Use when you want to commit changes, create atomic commits, finalize work, or ask for commit messages. Analyze staged/unstaged changes, group by logical concern, create atomic Conventional Commits, and update existing CHANGELOG.md. Specialized writer for git operations."
Analyze
Execute git status -s and git diff / git diff --cached to identify all modified, deleted, and untracked files. Group changes by logical concern and prepare atomic Conventional Commits.
Rules
- Never split changes within a single file across multiple commits. A single modified file must always belong to only one commit, including a description of all its changes in the commit message.
- Never commit without user confirmation.
- Never push.
- Never use
--no-verify.
- Never use signature in commit messages (
Co-Authored-By).
Output format
Format:
COMMIT PLAN
Commit 1/N: type(scope): title
~ every file reported by `git status`
Confirm? (yes / no / modify)