From commit
Analyze changes, create conventional commits with smart splitting. Opus analyzes, Haiku executes git commands.
How this skill is triggered — by the user, by Claude, or both
Slash command
/commit:commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyze staged/unstaged changes, create conventional commits with smart splitting. You (Opus) analyze and plan; Haiku subagents execute git commands.
Analyze staged/unstaged changes, create conventional commits with smart splitting. You (Opus) analyze and plan; Haiku subagents execute git commands.
Run these commands yourself (NOT via subagent):
${CLAUDE_PLUGIN_ROOT}/scripts/gather-info.sh
If the user specified file paths, directories, or glob patterns in the arguments (e.g., /commit src/, /commit *.py), restrict the commit scope to only matching files. Still run the full git commands above for context awareness, but only include matching files in the commit plan. Unscoped /commit considers all changes.
Group changes into logical commits when:
style: commit for formatting + a feat: commit for new content)Always use conventional commits:
feat: — new featurefix: — bug fixrefactor: — code restructuring without behavior changetest: — adding or updating testsdocs: — documentation changeschore: — maintenance, dependencies, configstyle: — formatting, whitespaceperf: — performance improvementci: — CI/CD changesInclude a scope when obvious: feat(auth):, fix(api):, etc.
Keep messages concise, focused on why not what.
For the commit body:
- bullet points when the commit includes multiple distinct changes or reasonsUse a HEREDOC for the commit message:
git commit -m "$(cat <<'EOF'
feat(auth): add OAuth2 login flow
- Implement Google OAuth2 provider with token refresh
- Add callback endpoint and session persistence
EOF
)"
Present the plan to the user:
auto argument was provided, skip confirmation and execute immediatelyFor each commit, dispatch a Haiku subagent:
Task tool parameters:
subagent_type: "commit:commit"
model: "haiku"
max_turns: 3
description: "[commit] execute git add and commit"
prompt: |
Run these git commands in sequence:
1. git add <files>
2. git commit -m "$(cat <<'EOF'
<commit message>
EOF
)"
Execute commits sequentially (one subagent at a time), not in parallel.
If Haiku reports HOOK_FAILED:
Only push if the user explicitly asked (e.g., /commit push or mentioned pushing).
Task tool parameters:
subagent_type: "commit:commit"
model: "haiku"
max_turns: 3
description: "[commit] push to remote"
prompt: |
Run: git push
Relay the result to the user. If GitHub printed a PR creation URL, highlight it.
Show the user:
These are non-negotiable:
git push --force or -f)git commit --amend)--no-verify or -n)git add (never git add -A or git add .)auto argument provided)npx claudepluginhub clemux/claude-code-plugins --plugin commitCreates semantic git commits with conventional commit format, stages changes, and pushes to remote. Handles pre-commit hooks and writes meaningful commit messages.
Executes git commits with conventional commit message analysis, intelligent staging, and message generation. Use when asked to commit changes or when /commit is invoked.
Guides git commits with atomic change analysis, conventional commit messages, and interactive staging options. Flags non-atomic commits and suggests splits for better maintainability.