CtrlK
BlogDocsLog inGet started
Tessl Logo

open-pr

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.

65

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/open-pr/SKILL.md
SKILL.md
Quality
Evals
Security

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 — run /canary <PR_NUMBER> and report workflow status
  • No — stop

Notes

  • Always draft; always assign @me.
  • For canary details after publishing, see the canary skill.
Repository
storybookjs/storybook
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.