| name | commit |
| description | Stage and commit changes using Conventional Commits |
| disable-model-invocation | false |
| allowed-tools | Bash(git *) |
Create a git commit for the current changes following the Conventional Commits specification.
Steps
-
Run these commands in parallel to understand the current state:
git status to see all changed and untracked files
git diff to see unstaged changes
git diff --cached to see already-staged changes
git log --oneline -5 to see recent commit style
-
Analyze the changes and determine:
- Which files should be staged (skip files that likely contain secrets like
.env, credentials, etc.)
- The appropriate Conventional Commit type and scope
- A concise description of the change
-
Stage the relevant files by name (do NOT use git add -A or git add .)
-
Determine attribution - analyze the conversation context:
- Did Claude write or modify code/content (generate implementations, write documentation, create components)? → Add
Assisted-by: Claude:<model-id> trailer
- Did Claude only perform mechanical tasks (committing, formatting, running commands) or did the human make all changes? → NO trailer
- Never use
Co-Authored-By
-
Craft the commit message using the types, scopes, and rules defined in CONTRIBUTING.md. Additional skill-specific rules:
- Scope is optional but encouraged - use the most relevant area
- If changes span multiple concerns, prefer a single commit with a clear summary over being overly granular
- Always pass the commit message via a HEREDOC:
git commit -s -m "$(cat <<'EOF'
type(scope): description
Optional body.
Assisted-by: Claude:<model-id>
EOF
)"
- After committing, run
git status to verify success.
Arguments
If $ARGUMENTS is provided, use it as guidance for the commit message or scope.