원클릭으로
git-master
Commit and release hygiene for safe version-control work.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Commit and release hygiene for safe version-control work.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
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