From git-commit
Git commit workflow pipeline: atomic unit identification, commit ordering, quality gates, message validation, and post-commit verification. Invoke whenever task involves any interaction with git commits — committing changes, staging work, splitting diffs into atomic units, or preparing work for version control.
How this skill is triggered — by the user, by Claude, or both
Slash command
/git-commit:commitThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<prerequisite>
Skill(git-commit:commit-message)
Do not proceed without loading the skill.
git branch --show-currentgit status --shortgit diff --cached --statgit diff --statgit log --oneline -5<git-commit-config>
<validator-args>
<flag name="require-trailers" value="Task"/>
</validator-args>
<extra-instructions>
Project-specific commit guidance goes here.
</extra-instructions>
</git-commit-config>
Before starting the pipeline, check project CLAUDE.md for <git-commit-config>:
<validator-args> — Pass all defined flags directly to the validator. Each <flag name="X" value="Y"/> becomes
--X "Y" in the command.
<extra-instructions> — Highest priority guidance for this commit process. Follow these instructions throughout
the pipeline. They override defaults.
If uncertain, re-read staged changes with git diff --cached to re-anchor.
Review the diff and identify separate logical changes:
git diff HEAD # All changes
git diff --cached # Staged only
**One logical change per commit.** Look for boundaries:
Each independent change becomes its own commit.
For each identified unit, classify and order:
Commit style/refactor first — keeps behavior-changing commits clean.
Review context: Were lint/test/build commands run earlier in this session for the changed files? If yes and they passed, proceed.
If not verified: Run appropriate quality checks for the project. Use your knowledge of the codebase to determine what checks apply. Scope to changed files when possible for faster feedback.
On failure: Fix issues before proceeding. Do not commit broken code.
On success: Continue to self-review.
After returning from fixes: Re-read <pipeline-awareness> above. Verify you're resuming at step 4, not starting
over or skipping steps.
Before each commit, verify:
git diff --cached # Review exactly what will be committed
For each logical unit:
git add <files>
Do not use git add -p or pipe input to interactive commands — these break tool permission matching. Stage by explicit
file path. If a file contains mixed changes, split it in a prior refactoring commit or accept the broader staging.
node ${CLAUDE_PLUGIN_ROOT}/scripts/validate-commit-message.js [validator-args] --msg "<commit-message>"
<validator-args> exists in project config, include those flagsBefore executing git commit, display the full message as a blockquote.
Then commit:
git commit -m "<validated-message>"
After committing, run each as a separate Bash call:
git log -1 --stat
git status
When a commit breaks backward compatibility:
1. **Prefer incremental migration:** - Add new code without removing old - Migrate callers from old to new - Remove old code when no callers remainBREAKING: prefixAfter completing all commits, show:
npx claudepluginhub xobotyi/cc-foundry --plugin git-commitGuides systematic git commits: checks staging status, reviews diffs, splits changes into atomic commits, formats conventional messages. Use before PRs or when committing code.
Creates Conventional Commits with automatic scope detection, co-author attribution, and pre-commit validation. Validates staged changes and prevents secrets or generated-only files from being committed.
Groups related changes, runs quality checks, and writes Conventional Commit messages with type(scope) format. Use when committing work or asked to commit changes.