with one click
open-pr
// Full PR workflow -- ticket, branch, verify, lint, test, commit, push, open PR. Use when the user asks to open, ship, or land a PR; handles fresh work, mid-fix state, and changes already verified in the session.
// Full PR workflow -- ticket, branch, verify, lint, test, commit, push, open PR. Use when the user asks to open, ship, or land a PR; handles fresh work, mid-fix state, and changes already verified in the session.
Shared atom for running quality checks, committing, and pushing. Background knowledge for workflow commands -- not invoked directly.
Shared atom for analyzing a diff and writing a structured PR description. Background knowledge for workflow commands -- not invoked directly.
Root-cause-first debugging by tracing expected behavior to the first unintended side effect before changing contracts, parsing, or types. Use when debugging protocol errors, deserialization failures, null payloads, missing fields, restore or hydration issues, state-ownership bugs, unexpected requests, background mutations, or reviewing code where the visible failure may be downstream noise. Also loaded by /implement during bug-fix flows.
Control and navigate a logged-in macOS GUI session with upstream trycua/cua `cua-driver`. Use for macOS app automation, native dialogs, screenshots, UI inspection, clicking, typing, hotkeys, and any task where a Droid needs reliable computer-use control of macOS.
Reference for using linear-cli (aliased as `linear`) to manage Linear.app issues, projects, cycles, and sprints from the terminal. Use when the user mentions Linear tickets, issues, project management, or sprint planning.
Self-review your aggregate diff before shipping to catch dead weight, junk code, perf misses, pattern drift, AI slop, and scope creep. Use when the user asks to scrub, stranger-review, or clean up changes prior to opening a PR.
| name | open-pr |
| description | Full PR workflow -- ticket, branch, verify, lint, test, commit, push, open PR. Use when the user asks to open, ship, or land a PR; handles fresh work, mid-fix state, and changes already verified in the session. |
| argument-hint | ["TICKET-ID | description of work"] |
Load skills: linear-cli, ticket-branch, quality-ship, pr-description (mandatory hand-off at step 4 — see below), worktree-setup.
At every ## boundary:
completed (only after verification).in_progress.After any approved spec or plan becomes ground truth (Phase 4 in /implement, equivalents elsewhere):
Fire TodoWrite in parallel with the first tool call of each phase.
Follow the ticket-branch skill:
$ARGUMENTS contains a ticket ID, resolve it. Otherwise create one inline (ticket-branch handles both paths).First, determine the entry state -- does working code already exist from this session or another branch?
git stash before branch checkout in step 1, then git stash pop after.git cherry-pick <commits> or git diff <branch> | git apply onto the new branch.If in a git worktree, follow the worktree-setup skill to symlink dependencies before running any checks.
Follow the quality-ship skill:
Re-load pr-description, emit its section 0 checklist inline, and tick every box before gh pr create. Drafting from memory is not allowed — "I remember the structure" is the exact failure mode this gate blocks.
DEFAULT_BRANCH=$(git remote show origin 2>/dev/null | awk '/HEAD branch/ {print $NF}')
gh pr create --base "$DEFAULT_BRANCH" --title "<title>" --body-file /tmp/pr-body.md
Report the PR URL.