Commit
UTILITY SKILL. INVOKES: git status, git diff, git add, git commit, git push, write-commit-name. FOR SINGLE OPERATIONS: one clear commit.
Read commit workflow before staging, committing, or pushing.
USE FOR:
- Single commit, commit-and-push, local-only commit, and commit-and-monitor requests.
Examples
DO NOT USE FOR:
- Multiple reviewable commits; use
implement-in-logical-commits.
- Amend, squash, rebase, force-push, or history rewrite requests.
- Opening PRs without a commit request.
- Monitoring an already-pushed branch without a commit request.
- Ambiguous mixed worktrees where the intended commit scope is unclear.
Terms
- Clear scope: staged slice or cohesive requested diff.
- Safe target: exact remote/ref verified and authenticated.
- CI trigger: the prompt explicitly asks to run CI, trigger actions, run GitHub Actions, or commit with actions.
- CI marker: the prompt explicitly asks to include a CI marker such as
#CI.
Workflow
- Read
git status --short --branch.
- Use staged changes as scope, or stage only the clear in-scope local diff.
- Do not edit in-scope files during commit prep to reconcile them with older conversation state; the current staged/local diff is the source of truth. If a current hunk appears surprising but is plausibly intentional, leave it unchanged and ask only if it makes the commit scope or behavior genuinely ambiguous.
- Stop and ask if scope, staged/unstaged overlap, merge state, or push target is ambiguous.
- Generate the subject with
write-commit-name; do not add #CI unless the prompt explicitly requested a CI marker.
- Run
git commit -m "SUBJECT".
- Push by default only when the exact remote/ref is safe and authenticated; never force-push.
- If the user explicitly requested CI but not monitoring, create and push an empty
#CI trigger commit after a successful push so CI appears in the PR checks surface.
- If monitoring was explicitly requested, hand off to
monitor after a successful push.
Troubleshooting
- Merge conflict, failed commit, missing auth, or unsafe push target: stop and report the blocker.
- No changes: make no commit.
- User asked local-only: skip push.
Output
Report commit subject, pushed yes/no, push target, checks run or none, monitoring summary if requested, and whether uncommitted changes remain.
1---2name: commit3description: Create one intentional git commit from clear local changes, name it with `write-commit-name`, push only to a safe target, and delegate to `monitor` only after explicit commit-and-monitor requests. Use for single commit, commit-and-push, or local-only requests. Do not use for multi-commit, history rewrite, PR creation, force-push, or monitor-only tasks.4---56# Commit78**UTILITY SKILL. INVOKES:** git status, git diff, git add, git commit, git push, `write-commit-name`. **FOR SINGLE OPERATIONS:** one clear commit.910Read [commit workflow](references/commit-workflow.md) before staging, committing, or pushing.1112## USE FOR:1314- Single commit, commit-and-push, local-only commit, and commit-and-monitor requests.1516## Examples1718- `commit these changes`1920## DO NOT USE FOR:2122- Multiple reviewable commits; use `implement-in-logical-commits`.23- Amend, squash, rebase, force-push, or history rewrite requests.24- Opening PRs without a commit request.25- Monitoring an already-pushed branch without a commit request.26- Ambiguous mixed worktrees where the intended commit scope is unclear.2728## Terms2930- Clear scope: staged slice or cohesive requested diff.31- Safe target: exact remote/ref verified and authenticated.32- CI trigger: the prompt explicitly asks to run CI, trigger actions, run GitHub Actions, or commit with actions.33- CI marker: the prompt explicitly asks to include a CI marker such as `#CI`.3435## Workflow36371. Read `git status --short --branch`.382. Use staged changes as scope, or stage only the clear in-scope local diff.393. Do not edit in-scope files during commit prep to reconcile them with older conversation state; the current staged/local diff is the source of truth. If a current hunk appears surprising but is plausibly intentional, leave it unchanged and ask only if it makes the commit scope or behavior genuinely ambiguous.404. Stop and ask if scope, staged/unstaged overlap, merge state, or push target is ambiguous.415. Generate the subject with `write-commit-name`; do not add `#CI` unless the prompt explicitly requested a CI marker.426. Run `git commit -m "SUBJECT"`.437. Push by default only when the exact remote/ref is safe and authenticated; never force-push.448. If the user explicitly requested CI but not monitoring, create and push an empty `#CI` trigger commit after a successful push so CI appears in the PR checks surface.459. If monitoring was explicitly requested, hand off to `monitor` after a successful push.4647## Troubleshooting4849- Merge conflict, failed commit, missing auth, or unsafe push target: stop and report the blocker.50- No changes: make no commit.51- User asked local-only: skip push.5253## Output5455Report commit subject, pushed yes/no, push target, checks run or `none`, monitoring summary if requested, and whether uncommitted changes remain.