.ai/skills/woocommerce-git-commit/SKILL.md
Commit uncommitted work with clear, conventional messages. Groups unrelated changes into separate commits when appropriate.
git branch --show-currentgit status --shortgit diff --statgit diff --cached --statFrom the dynamic context above, determine what changed:
Default to a single commit unless changes are clearly unrelated. Split only when:
Two files changed for the same reason = one commit. Don't over-split.
Use the current session context to understand what work was done and why. If motivation is still unclear after reviewing the diff and conversation, ask the user in a single question.
Format — verb-first imperative, under 72 chars:
Fix get_item_downloads() not always returning an arrayAdd cache priming to AJAX downloadable searchUpdate email editor reset action label for consistencyRefactor order count cache refresh logicRemove deprecated payment gateway fallbackVerbs: Fix, Add, Update, Refactor, Remove, Restore, Bump, Prepare, Simplify, Improve, Replace
For changelog-only commits: Add changelog entries for [description]
Do NOT include issue/PR refs — GitHub adds those on squash-merge.
If $ARGUMENTS is provided, use it as guidance for the commit message.
Show the user each proposed commit:
Commit 1: Fix double margin-top in flex layout
files: src/Blocks/EmailEditor/Layout.php
src/Blocks/EmailEditor/styles.css
Commit 2: Add changelog entries for email editor fix
files: plugins/woocommerce/changelog/fix-email-margin
Wait for user approval or corrections before executing.
For each confirmed commit:
git add <specific files>
git commit -m "<message>"
Always stage specific files — never git add -A or git add ..
After all commits, show git log --oneline -n <number of new commits> to confirm.
git add -A or git add .woocommerce-dev-cycle skill handles that. Linting should be run before invoking this skill, not after.