Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Git commit patterns, formats, and conventions for GSD methodology. Provides atomic commits per task, structured commit messages, planning file commits, branch management, and milestone tag operations.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 262% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 54% | 0% |
Each task in a plan produces one atomic commit:
bash# After completing task 1 of PLAN-1.md git add src/auth/oauth.ts src/auth/types.ts git commit -m "feat(auth): implement OAuth2 login endpoint Phase 72, Plan 1, Task 1: Implement login endpoint - Added POST /api/auth/login with email/password validation - Returns JWT token on success, 401 on invalid credentials - Rate limited to 5 attempts per minute Refs: Phase-72/PLAN-1/Task-1"
Commit message format:
<type>(<scope>): <short description>
Phase <N>, Plan <M>, Task <K>: <task title>
- <change 1>
- <change 2>
Refs: Phase-<N>/PLAN-<M>/Task-<K>Types: feat, fix, refactor, test, docs, chore, style, perf.
Planning files are committed separately from code:
bash# After generating plans git add .planning/phase-72/PLAN-1.md .planning/phase-72/PLAN-2.md git commit -m "plan(phase-72): create execution plans Phase 72: Authentication - PLAN-1.md: OAuth2 login and token management (4 tasks, wave 1) - PLAN-2.md: Auth middleware and role guards (3 tasks, wave 1) Refs: Phase-72/planning"
Planning commit types: plan, state, research, context, verify, audit.
Generate commit messages from task context:
Input:
phase: 72
plan: 1
task: 1
title: "Implement login endpoint"
type: "feat"
scope: "auth"
changes: ["POST /api/auth/login endpoint", "JWT token generation", "Rate limiting"]
Output:
"feat(auth): implement OAuth2 login endpoint
Phase 72, Plan 1, Task 1: Implement login endpoint
- Added POST /api/auth/login endpoint
- JWT token generation on success
- Rate limiting (5 attempts/minute)
Refs: Phase-72/PLAN-1/Task-1"Create annotated tags for milestone completions:
bashgit tag -a v1.0 -m "Milestone v1.0: MVP Launch Phases completed: 70, 71, 72, 73 Requirements covered: R1-R11 Audit result: PASSED Key deliverables: - Project scaffolding and CI pipeline - Database layer with migrations - OAuth2 authentication - REST API endpoints"
Detect current branch state:
json{ "branch": "main", "clean": false, "staged": ["src/auth/oauth.ts"], "unstaged": [".planning/STATE.md"], "untracked": ["src/auth/oauth.test.ts"], "ahead": 3, "behind": 0 }
Separate .planning/ files from source code files:
bash# Stage code changes only git add src/auth/oauth.ts src/auth/types.ts # Stage planning changes only (separate commit) git add .planning/phase-72/SUMMARY.md .planning/STATE.md
Rules:
Analyze commit history for progress tracking:
Phase 72 commits:
abc1234 feat(auth): implement OAuth2 login endpoint (Task 1)
def5678 feat(auth): add token refresh mechanism (Task 2)
ghi9012 feat(auth): implement logout and revocation (Task 3)
jkl3456 test(auth): add auth endpoint tests (Task 4)
Total: 4 commits, 12 files changed, +450 -30 linesGenerate diff summaries for SUMMARY.md:
Changes summary:
Files created: 4
Files modified: 2
Files deleted: 0
Lines added: 450
Lines removed: 30
New files:
src/auth/oauth.ts (120 lines)
src/auth/tokens.ts (85 lines)
src/auth/types.ts (45 lines)
src/middleware/auth.ts (90 lines)
Modified files:
src/routes/index.ts (+15 -2)
package.json (+3 -0)Bash to run git status to see current changesBash to stage only the files related to the current task: git add <files>Bash to commit: git commit -m "<message>"git log -1Bash to identify planning file changes: git status .planning/git add .planning/<files>Read to load milestone audit data for tag annotationBash to create annotated tag: git tag -a <version> -m "<annotation>"git tag -l <version>Bash to run git status --porcelainBash to run git rev-list --count HEAD..@{upstream} for behind countBash to run git rev-list --count @{upstream}..HEAD for ahead countexecute-phase.js - Atomic commit per task during executionverify-work.js - Commit verification results and fixesquick.js - Atomic commit for quick task executiondebug.js - Commit debug fixescomplete-milestone.js - Create milestone git tagadd-tests.js - Commit each test file atomicallyresearch-phase.js - Commit research documentplan-phase.js - Commit generated plans (planning commit)json{ "operation": "commit|tag|status|history|diff", "status": "success|error", "commit": { "hash": "abc1234", "message": "feat(auth): implement OAuth2 login endpoint", "filesChanged": 3, "linesAdded": 120, "linesRemoved": 5 }, "tag": { "name": "v1.0", "annotation": "Milestone v1.0: MVP Launch" }, "branchStatus": { "branch": "main", "clean": true, "ahead": 0, "behind": 0 } }
| Setting | Default | Description | |---------|---------|-------------| | autoCommit | true | Automatically commit after each task | | commitMessageFormat | conventional | Commit message format (conventional/simple) | | separatePlanningCommits | true | Separate planning from code commits | | signCommits | false | GPG-sign commits | | tagPrefix | v | Prefix for milestone tags |
| Error | Cause | Resolution | |-------|-------|------------| | Nothing to commit | No changes to stage | Verify task made expected changes | | Merge conflict | Conflicting changes in working tree | Resolve conflicts before committing | | Dirty working tree | Uncommitted changes from previous task | Commit or stash before proceeding | | Tag already exists | Milestone tag already created | Use --force or choose different tag name | | Detached HEAD | Not on a branch | Checkout a branch before committing |
Other measured skills in the registry, with their headline benchmark lift.