open-pr

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

Opens a pull request from the current branch using the PR template. Use when the user asks to open a PR, create a pull request, or invokes /open-pr.

.agents/skills/open-pr/SKILL.md

Download bundle ↓
next · bf830862 bundle filesScanned 2026-09-14

SKILL.md

648 tokens · o200k_base · 2,834 bytes

Open Pull Request

Opens a draft PR from the current branch following Storybook conventions.

Workflow

1. Gather context

Run in parallel: git status, git diff, git log --oneline <base>...HEAD (after step 2), git branch -vv.

Push first if needed: git push -u origin HEAD.

2. Detect base branch

git fetch origin
bash .agents/skills/open-pr/scripts/detect-base-branch.sh

Detects base in order: tracked upstream → reflog checkout source → closest origin/* ancestor (fewest commits from branch tip to HEAD). Supports telescoped/stacked PRs off feature branches, not only next/main. Skips branches at the same commit as HEAD. Tie-break: feature branch over trunk, then next over main. Falls back to next. Tell the user the result.

3. Ask for labels

Use AskQuestion for three questions. Options from .github/PULL_REQUEST_TEMPLATE.md:

QuestionOptions
CI labelci:normal, ci:merged, ci:daily
QA labelqa:needed, qa:skip
Type labelbug, maintenance, dependencies, build, cleanup, documentation, feature request, BREAKING CHANGE, other

Verify the available labels with the PR template.

4. Draft title and body

Title: [Area]: [Description] — see the pr skill for format and examples.

Body: Read .github/PULL_REQUEST_TEMPLATE.md. Copy it exactly (keep all HTML comments). Fill in:

  • Closes # when an issue is linked
  • What I did
  • Testing checkboxes and mandatory manual-testing steps (or state why none is needed)
  • Documentation checkboxes when applicable
  • Leave maintainer checklist items unchecked

5. Create the PR

gh pr create \
  --draft \
  --base "<detected-base>" \
  --title "<Area>: <Description>" \
  --body "$(cat <<'EOF'
<FILLED_TEMPLATE>
EOF
)" \
  --assignee @me \
  --label "<type>,<ci>,<qa>"

6. Report and offer canary

Share the PR URL. Then AskQuestion: "Do you want to create a canary release for this PR?"

  • Yes — follow the canary skill
  • No — stop

Notes

  • Always draft; always assign @me.
  • For canary details after publishing, see the canary skill.
Discovery context

Discovered by repository scan. No exact path reference found in the snapshot’s root AGENTS.md.