with one click
git-master
Commit and release hygiene for safe version-control work.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Commit and release hygiene for safe version-control work.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Iterative multi-round codebase audit with diminishing-returns detection. Run 5-20+ rounds, each focusing on one specific area. Built from 19 rounds of dogfooding pi-crew on itself.
Pi TUI crew widget data sources, display priority, and rendering performance.
Multi-phase orchestration for planners and executors.
Spawn 3 adversarial subagents (Skeptic, Pragmatist, Critic) to evaluate a decision, architecture choice, or plan. Anti-anchoring: each role receives ONLY the question, not conversation history. Aggregates votes into consensus recommendation with dissent tracking. Use when facing critical decisions, architecture choices, security tradeoffs, or plan reviews where single-perspective analysis is insufficient.
Background worker, heartbeat, stale-run, crash-recovery, and deadletter workflow. Use when debugging stuck/dead workers or changing async run reliability.
Child Pi worker spawning, lifecycle callbacks, and failure modes.
| name | git-master |
| description | Commit and release hygiene for safe version-control work. |
| origin | pi-crew |
| triggers | ["commit this","tag release","bump version","publish package","prepare release"] |
Use this skill for commit/release hygiene. This skill covers git workflow from local changes to published releases.
Before every commit:
git status --short — understand what changedgit diff --stagedtype(scope): subject where type is fix, feat, chore, docs, test, refactornode_modules, dist/, *.log, *.tmptype(scope): short description (50 chars max)
Longer description if needed. Explain WHY the change was made,
not just what changed. Reference issues/PRs if applicable.
Refs: #123
Examples:
fix(live-agent): prevent cross-workspace agent access
feat(widget): add snapshot cache with 500ms TTL
docs(skills): add event-log-tracing skill
chore(tests): add integration test for reconcileAllStaleRuns
| Pattern | Use case | Example |
|---|---|---|
fix/<description> | Bug fixes | fix/ghost-run-display |
feat/<description> | New features | feat/skill-templates |
docs/<description> | Documentation | docs/skills-deep-research |
chore/<description> | Tooling, CI | chore/update-ci-node22 |
hotfix/<description> | Urgent production fixes | hotfix/secret-leak |
git revert HEAD
git push
# Soft: keep changes staged
git reset --soft HEAD~1
# Mixed: keep changes unstaged
git reset HEAD~1
# Hard: discard all changes (DESTRUCTIVE)
git reset --hard <commit-hash>
git checkout <commit-hash> -- path/to/file
git reflog # find the commit before reset
git reset --hard <reflog-entry>
When a regression is found and the culprit commit is unknown:
git bisect start
git bisect bad # current commit is bad
git bisect good <known-good> # a commit that worked
# git checks out a middle commit
# test it: if bad, mark it; if good, mark it
# repeat until culprit found
git bisect bad # or: git bisect good
# after bisect completes:
git bisect reset # return to original branch
# culprit is the first bad commit in the range
# Make additional changes
git add .
git commit --amend --no-edit # amend without changing message
git commit --amend -m "new message" # or with new message
# Only force-push to feature branches, never main/master
git push --force-with-lease origin <branch>
# --force-with-lease is safer: fails if someone else pushed
# Regular --force can overwrite others' work
When safe to force-push:
git rebase (rebase rewrites commit history)When to NEVER force-push:
git tag -a v1.2.3 -m "Release 1.2.3: Add skill templates"
git push origin v1.2.3
git add CHANGELOG.md package.json
git commit -m "chore: bump version to 1.2.3"
git tag -a 1.2.3 -m "Version 1.2.3"
git push && git push --tags
git tag -l
git show <tag-name>
npx tsc --noEmit passesnpm test passesCHANGELOG.md with changes for this versionpackage.json version fieldchore: bump version to X.Y.Zgit tag -a X.Y.Z -m "Release X.Y.Z"npm publish --access publicnpm view pi-crew shows new versiongit stash -u # include untracked files
git stash push -m "WIP: feature X" # with message
git stash list # show all stashes
git stash pop # apply latest and remove
git stash apply # apply latest, keep in stash
git stash apply stash@{2} # apply specific stash
git stash drop # remove latest stash
git stash clear # remove all stashes
Before committing or publishing, verify:
git status reviewed — only related files stagedgit diff --staged reviewed — no unintended changesnpm test or appropriate test command)type(scope): subject (50 chars or less)If ANY answer is NO → Stop. Fix issues before committing.
dist/, build/, *.min.js unless intentionalAPI_KEY, TOKEN, PASSWORD, SECRET before stagingsrc/state/atomic-write.ts — atomic git-safe file writessrc/worktree/worktree-manager.ts — worktree git operationssrc/utils/conflict-detect.ts — git conflict detectionpackage.json — version field, publish scriptscd pi-crew
git status --short
git log --oneline -5
git diff --staged --stat
# TypeScript
npx tsc --noEmit
# Tests
npm test
# Package dry-run before publish
npm pack --dry-run