Creates high-quality git commits by reviewing and staging intended changes, splitting work into logical units, and writing clear Conventional Commit messages. It ensures only relevant changes are included and verifies the commit before finalization.
Say it in your own words; the assistant finds this recipe by itself. Examples:
Use this skill when the user asks to commit their current changes, craft a specific commit message, or stage files for a commit. It is also appropriate when a user has a mixed working tree and needs help splitting unrelated changes into separate, logical commits. This skill is ideal for ensuring commit hygiene and adhering to Conventional Commits standards.
Make commits that are easy to review and safe to ship: - only intended changes are included - commits are logically scoped (split when needed) - commit messages describe what changed and why
1) Inspect the working tree before staging
- git status
- git diff (unstaged)
- If many changes: git diff --stat
2) Decide commit boundaries (split if needed)
- Split by: feature vs refactor, backend vs frontend, formatting vs logic, tests vs prod code, dependency bumps vs behavior changes.
- If changes are mixed in one file, plan to use patch staging.
3) Stage only what belongs in the next commit
- Prefer patch staging for mixed changes: git add -p
- To unstage a hunk/file: git restore --staged -p or git restore --staged <path>
4) Review what will actually be committed
- git diff --cached
- Sanity checks:
- no secrets or tokens
- no accidental debug logging
- no unrelated formatting churn
5) Describe the staged change in 1-2 sentences (before writing the message)
- "What changed?" + "Why?"
- If you cannot describe it cleanly, the commit is probably too big or mixed; go back to step 2.
6) Write the commit message
- Use Conventional Commits (required):
- type(scope): short summary
- blank line
- body (what/why, not implementation diary)
- footer (BREAKING CHANGE) if needed
- Prefer an editor for multi-line messages: git commit -v
- Use references/commit-message-template.md if helpful.
7) Run the smallest relevant verification
- Run the repo's fastest meaningful check (unit tests, lint, or build) before moving on.
8) Repeat for the next commit until the working tree is clean
Provide:
- the final commit message(s)
- a short summary per commit (what/why)
- the commands used to stage/review (at minimum: git diff --cached, plus any tests run)
LICENSEREADME.mdSKILL.mdreferences/commit-message-template.mdVendored from softaworks/agent-toolkit, commit 3027f20f3181, path skills/commit-work, licence MIT. The upstream licence file ships inside the skill.