Ship current work: evaluate changes, create a branch if needed, commit, open issue + PR, get user approval, merge, and clean up.
Steps
1. Evaluate current state
Run
git statusandgit diffto check for uncommitted changes.Run
git branch --show-currentto see what branch you're on.Run
git log main..HEAD --oneline(if on a feature branch) to see commits ahead of main.Also check for local feature branches ahead of main:
git branch --no-merged main.
Four possible states:
| State | Action |
|---|---|
On main with uncommitted changes |
→ Go to step 2 (branch + commit) |
On main, clean, but feature branches exist ahead of main |
→ List them, ask user which to ship, checkout that branch, then skip to step 4 |
On main with no changes and no feature branches |
→ Abort: "Nothing to ship." |
| On a feature branch (with or without uncommitted changes) | → Go to step 3 (commit if needed, then skip to step 4) |
2. Branch and commit (only when on main with uncommitted changes)
- Review the diff and conversation context to understand what the changes are about.
- Create a descriptive branch name:
feat/...,fix/...,refactor/...,docs/.... git checkout -b <branch-name>- Stage relevant files by name (not
git add -A). - Write a clear commit message summarizing the changes. End with
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>. - If changes span multiple logical units, use multiple commits.
3. Commit uncommitted changes (when on a feature branch with dirty working tree)
- Stage and commit any remaining uncommitted changes with a clear message.
4. Create GitHub issue
- Create an issue with
gh issue createdescribing the changes. - Title: short imperative description (e.g. "Clean up config panel UI").
- Body: bullet-point summary of all changes (from diff against main).
5. Push branch and create PR
- Push the branch:
git push -u origin <branch>. - Create a PR with
gh pr createlinking to the issue (Closes #N). - Title: matches the issue title.
- Body: summary +
Closes #N+ test plan.
6. Prompt user for review
- Open the PR in the browser:
start <PR_URL>(Windows) oropen <PR_URL>(macOS). - Show the PR URL.
- Show the diff summary.
- Ask the user: "PR is ready for review. Merge it?" — wait for explicit approval before proceeding.
7. Merge (only after user says yes)
- Merge via
gh pr merge <number> --squash --delete-branch. - Switch back to
mainand pull:git checkout main && git pull.
8. Clean up stale branches
- Delete any local branches fully merged into main:
git branch -d <branch>. - Prune stale remote references:
git remote prune origin. - Report what was cleaned up.
Rules
- Never merge without explicit user approval. Step 6 must pause and wait.
- Squash merge to keep main history clean.
- Stage files by name, not
git add -A— avoid accidentally committing secrets or build artifacts. - If any step fails, stop and report the error — don't retry blindly.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.