| name | commit-progress |
| description | Commit a logical unit of work with a descriptive message. Invoke after completing a meaningful chunk (component created, store wired, tests passing) to maintain small, reviewable commits. |
| user_invocable | true |
Commit Progress
Create a focused commit for the work just completed. This skill produces small,
reviewable commits — one per logical unit of work, not one per file edit.
When to Invoke
- After a component is created and rendering correctly
- After store fields/actions are wired and working
- After tests are written and passing
- After a bug fix is verified
- After a refactor is complete
- When switching context to a different sub-task
When NOT to Invoke
- In the middle of incomplete work (half-written component, broken imports)
- After only formatting or trivial changes
- If there are no meaningful changes to commit
Procedure
1. Assess what changed
Run in parallel:
git status — see all modified/untracked files
git diff --stat — summary of changes
git diff — full diff of unstaged changes
git log --oneline -5 — recent commits for style reference
2. Determine if changes form a coherent unit
A good commit contains changes that serve one purpose. If the diff contains
unrelated changes, stage only the related files.
Examples of coherent units:
- "Add SignStepContent component and store fields"
- "Wire simulate isNextDisabled logic"
- "Add tracking events for sign step"
- "Fix auth entry XDR parsing edge case"
3. Stage and commit
Stage specific files (prefer explicit paths over git add .):
git add src/app/(sidebar)/transaction/build/components/SignStepContent.tsx
git add src/store/createTransactionFlowStore.ts
Write commit message following the project's conventions:
- Style: Informal, descriptive, present tense
- Prefix: Use a context-aware prefix reflecting the feature/page (e.g.,
[Smart Contract Page], [View XDR], [New Tx], [Endpoints])
- Format: Short summary line; no body needed for small changes
- Examples from this repo:
[New Tx] Add Simulate Step
[New Tx] Wire sign step into page layout
[Smart Contract Page] Add contract deployment UI
[View XDR] Fix XDR decoding for auth entries
fix auth entry parsing for empty credentials
git commit -m "$(cat <<'EOF'
[New Tx] Add SignStepContent component
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
EOF
)"
4. Verify
Run git status to confirm clean state or expected remaining changes.
Guidelines
- Never force push or amend without explicit user request
- Never commit
.env, credentials, or sensitive files
- Never skip hooks (
--no-verify) unless user explicitly requests it
- Prefer small commits — if in doubt, commit more often
- Pre-commit hook runs lint-staged (ESLint auto-fix on staged files) — if it
fails, fix the lint error and create a NEW commit (don't amend)
- Pre-push hook runs TypeScript check + all tests — these only run on push,
not commit