Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/storybookjs-open-pr/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-18 | ✗→✓ | ▲ Improved | -40% | 0% |
| case-19 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-20 | ✗→✓ | ▲ Improved | -43% | 0% |
Opens a draft PR from the current branch following Storybook conventions.
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.
bashgit 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.
Use AskQuestion for three questions. Options from .github/PULL_REQUEST_TEMPLATE.md:
| Question | Options | | ---------- | ------------------------------------------------------------------------------------------------------------------------ | | CI label | ci:normal, ci:merged, ci:daily | | QA label | qa:needed, qa:skip | | Type label | bug, maintenance, dependencies, build, cleanup, documentation, feature request, BREAKING CHANGE, other |
Verify the available labels with the PR template.
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 linkedbashgh pr create \ --draft \ --base "<detected-base>" \ --title "<Area>: <Description>" \ --body "$(cat <<'EOF' <FILLED_TEMPLATE> EOF )" \ --assignee @me \ --label "<type>,<ci>,<qa>"
Share the PR URL. Then AskQuestion: "Do you want to create a canary release for this PR?"
canary skill@me.canary skill.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,463 | 10,819 | +142% | 1 | 1 | 0% | 622 | 685 | +10% | 0 | 0 | — |
case-02 | fail→fail | 5,618 | 8,056 | +43% | 1 | 1 | 0% | 744 | 691 | -7% | 0 | 0 | — |
case-03 | fail→fail | 9,322 | 5,711 | -39% | 1 | 1 | 0% | 1,548 | 890 | -43% | 0 | 0 | — |
case-04 | fail→fail | 14,162 | 6,812 | -52% | 1 | 1 | 0% | 1,480 | 934 | -37% | 0 | 0 | — |
case-05 | pass→pass | 11,399 | 4,981 | -56% | 1 | 1 | 0% | 1,655 | 1,224 | -26% | 0 | 0 | — |
case-06 | pass→pass | 9,881 | 4,788 | -52% | 1 | 1 | 0% | 1,466 | 1,239 | -15% | 0 | 0 | — |
case-07 | fail→fail | 23,821 | 8,912 | -63% | 1 | 1 | 0% | 1,736 | 674 | -61% | 0 | 0 | — |
case-08 | fail→pass | 12,254 | 15,534 | +27% | 1 | 1 | 0% | 1,561 | 2,828 | +81% | 0 | 0 | — |
case-09 | fail→fail | 6,864 | 5,588 | -19% | 1 | 1 | 0% | 989 | 807 | -18% | 0 | 0 | — |
case-10 | fail→fail | 4,787 | 8,594 | +80% | 1 | 1 | 0% | 749 | 979 | +31% | 0 | 0 | — |
case-11 | fail→fail | 7,767 | 66,308 | +754% | 1 | 1 | 0% | 1,093 | 1,122 | +3% | 0 | 0 | — |
case-12 | fail→fail | 6,022 | 8,100 | +35% | 1 | 1 | 0% | 842 | 1,079 | +28% | 0 | 0 | — |
case-13 | fail→fail | 2,811 | 11,781 | +319% | 1 | 1 | 0% | 280 | 900 | +221% | 0 | 0 | — |
case-14 | fail→pass | 5,879 | 3,052 | -48% | 1 | 1 | 0% | 839 | 1,076 | +28% | 0 | 0 | — |
case-15 | fail→fail | 8,042 | 10,905 | +36% | 1 | 1 | 0% | 1,248 | 989 | -21% | 0 | 0 | — |
case-16 | fail→fail | 4,736 | 7,252 | +53% | 1 | 1 | 0% | 573 | 978 | +71% | 0 | 0 | — |
case-17 | pass→fail | 7,797 | 4,920 | -37% | 1 | 1 | 0% | 1,188 | 1,338 | +13% | 0 | 0 | — |
case-18 | fail→pass | 13,135 | 4,248 | -68% | 1 | 1 | 0% | 2,119 | 1,269 | -40% | 0 | 0 | — |
case-19 | fail→pass | 10,831 | 4,384 | -60% | 1 | 1 | 0% | 1,655 | 1,248 | -25% | 0 | 0 | — |
case-20 | fail→pass | 12,981 | 3,821 | -71% | 1 | 1 | 0% | 1,950 | 1,108 | -43% | 0 | 0 | — |
case-21 | pass→pass | 9,185 | 3,507 | -62% | 1 | 1 | 0% | 1,370 | 1,179 | -14% | 0 | 0 | — |
case-22 | pass→fail | 7,285 | 6,649 | -9% | 1 | 1 | 0% | 1,041 | 951 | -9% | 0 | 0 | — |
case-23 | fail→fail | 4,646 | 14,176 | +205% | 1 | 1 | 0% | 675 | 2,132 | +216% | 0 | 0 | — |
case-24 | fail→fail | 4,184 | 9,233 | +121% | 1 | 1 | 0% | 511 | 900 | +76% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 10 counted toward the lift figure. The other 14 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +13 percentage points is the difference between those two pass rates over the 10 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.