Adopts the whatsinagame naming pattern where the domain comes first and the action second (e.g. pr-review, sprint-start, audio-gen). Updated all cross-references in settings, agents, docs, and inter-skill references. 12 renames: commit→git-commit, create-skill→skill-create, gen-audio→audio-gen, gen-image→image-gen, plan-sprint→sprint-plan, push-pr→pr-push, render-sprite→sprite-gen, review-pr→pr-review, search-docs→docs-search, start-sprint→sprint-start, start-workshop→workshop-start. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.3 KiB
name, description, user-invocable, allowed-tools
| name | description | user-invocable | allowed-tools |
|---|---|---|---|
| pr-push | Push commits and create or update a pull request. Use when the user says "push pr", "push and create pr", "update pr", "create a pr", "open a pr", or invokes /pr-push. NOT triggered by plain "push" (that's just git push). Pushes the current branch, creates a PR if none exists, or confirms the existing PR was updated. NEVER merges the PR into main — this skill only pushes to the branch and manages the PR lifecycle. | true | Bash, Read, Grep, Glob, AskUserQuestion, Skill |
Push PR Skill
Push commits to remote and create or update a PR. Operates exclusively on the current branch — never touches main.
Safety Rules (NON-NEGOTIABLE)
- NEVER merge a PR into main. No
tea pr merge, nogit mergeinto main. - NEVER checkout or push to main.
- NEVER force-push unless the user explicitly requests it.
- NEVER use
--no-verifyor skip hooks. - Only push to the current working branch.
Workflow
1. Validate branch
git branch --show-current
If on main, stop: "You're on main. Switch to a team branch first."
2. Commit uncommitted changes
git status
If there are uncommitted changes (staged or unstaged), run the commit skill
first. Use the /git-commit skill to group changes into logical commits with
proper conventional commit messages. Wait for commit to complete before
proceeding.
If the working tree is clean (no uncommitted changes), skip to step 3.
3. Check for unpushed commits
git fetch --all
git log --oneline origin/<branch>..<branch>
If no unpushed commits, skip to step 5 (PR check).
4. Check for conflicts with main
git merge-tree --write-tree origin/main HEAD 2>&1
If conflicts reported, merge main into current branch:
git merge origin/main --no-edit
If merge conflicts, stop and report — let the user resolve. If clean, continue.
5. Push
git push origin <branch>
If push fails, stop and report. Never force-push without explicit request.
6. Check for existing PR
tea pr list --login schweitz --repo jpmschweitzer/settled-reach --state open --output simple
Match current branch name in PR list.
- PR exists: Report "Pushed N commits to
<branch>. PR #X updated." Done. - No PR: Continue to step 7.
7. Create a new PR
git log --oneline main..<branch>
git diff --stat main...<branch>
Draft title (<type>(<scope>): <summary>, max 70 chars) and description.
cat > /tmp/pr-body.md << 'EOF'
## Summary
...
EOF
tea pr create \
--repo jpmschweitzer/settled-reach \
--login schweitz \
--title "<title>" \
--description "$(cat /tmp/pr-body.md)" \
--base main \
--head <branch>
Report PR URL when done.
8. Update ticket status to review
Scan all commit messages in the PR for ticket references (#NNN):
git log --oneline main..<branch>
Extract ticket IDs from #NNN patterns. For each ticket that is
currently in_progress, update it to review:
db/connectors/ticket status <id> review
Report which tickets were moved to review. Skip tickets that are
already done, review, cancelled, or backlog (only transition
in_progress → review).
Arguments
If the user passes arguments (e.g., /pr-push "my title"), use them as the
PR title instead of generating one.