Open PR skill
Open or update a pull request on pascalorg/editor from the current branch, describing only what the branch actually did.
by pascalorg·MIT license·★ 24,602 Stars on the repo·GitHub ↗
npx degit pascalorg/editor/.agents/skills/open-pr#main ~/.claude/skills/open-prChecked ·commit main
Files of Open PR
Show the full text51 lines
Open (or refresh) a pull request against pascalorg/editor from the current branch.
1. What is actually on the branch
git branch --show-current # not main
git status --short # nothing uncommitted you weren't asked to commit
base=$(git merge-base HEAD origin/main)
git log --oneline --first-parent --no-merges "$base"..HEAD
git diff --stat "$base"..HEAD
The PR describes only these commits and this diff. Work that arrived by merging main, reverted commits, and patch-equivalent cherry-picks are not this PR's claims. If a file in the diff has no commit on the branch explaining it, stop and ask.
Run bun run check-types when the change is non-trivial; never claim a check you did not run.
2. Body = the repo template
.github/pull_request_template.md is the source of truth for headings and checklist. Fill it from §1, not from memory:
- What does this PR do? — the result, one paragraph or a short list;
Fixes #123when applicable. - How to test — numbered, concrete reviewer steps with the expected outcome. Automated commands only if you ran them.
- Screenshots / screen recording — link,
Not added yet.for a visual change without media, orN/A — non-visual change. - Checklist — copy verbatim; tick only what was verified (
bun devonly after a real local run).
Title: under ~70 characters, a concrete result (not "update"/"improve"), scope-prefixed when one package owns it (core:, viewer:, editor:, nodes:, mcp:).
3. Push and open, or update
git push -u origin HEAD
gh pr view --json number,url,body 2>/dev/null # existing PR?
- None →
gh pr create --title … --body "$(cat <<'EOF' … EOF)". - Exists →
gh pr edit <n> --body …: rebuild "What" and "How to test" from the current branch, keep the media section and the reviewer's checklist ticks verbatim, keep any extra sections at the end. Change the title only if the scope changed.
End the body with the attribution lines the session asks for, if any.
4. Report
PR URL, title, which checks you ran, and anything left unchecked for the reviewer.
| 1 | |
| 2 | name open-pr |
| 3 | description Open or update a pull request on pascalorg/editor from the current branch, describing only what the branch actually did. Use when the user asks to open/create a PR, push and PR, or ship a branch in the editor repo. |
| 4 | metadata |
| 5 | internal true |
| 6 | allowed-tools Bash(git *) Bash(gh *) Read |
| 7 | |
| 8 | |
| 9 | Open (or refresh) a pull request against `pascalorg/editor` from the current branch. |
| 10 | |
| 11 | ## 1. What is actually on the branch |
| 12 | |
| 13 | |
| 14 | git branch --show-current # not main |
| 15 | git status --short # nothing uncommitted you weren't asked to commit |
| 16 | base=$(git merge-base HEAD origin/main) |
| 17 | git log --oneline --first-parent --no-merges "$base"..HEAD |
| 18 | git diff --stat "$base"..HEAD |
| 19 | |
| 20 | |
| 21 | The PR describes **only** these commits and this diff. Work that arrived by merging `main`, reverted commits, and patch-equivalent cherry-picks are not this PR's claims. If a file in the diff has no commit on the branch explaining it, stop and ask. |
| 22 | |
| 23 | Run `bun run check-types` when the change is non-trivial; never claim a check you did not run. |
| 24 | |
| 25 | ## 2. Body = the repo template |
| 26 | |
| 27 | `.github/pull_request_template.md` is the source of truth for headings and checklist. Fill it from §1, not from memory: |
| 28 | |
| 29 | **What does this PR do?** — the result, one paragraph or a short list; `Fixes #123` when applicable. |
| 30 | **How to test** — numbered, concrete reviewer steps with the expected outcome. Automated commands only if you ran them. |
| 31 | **Screenshots / screen recording** — link, `Not added yet.` for a visual change without media, or `N/A — non-visual change`. |
| 32 | **Checklist** — copy verbatim; tick only what was verified (`bun dev` only after a real local run). |
| 33 | |
| 34 | Title: under ~70 characters, a concrete result (not "update"/"improve"), scope-prefixed when one package owns it (`core:`, `viewer:`, `editor:`, `nodes:`, `mcp:`). |
| 35 | |
| 36 | ## 3. Push and open, or update |
| 37 | |
| 38 | |
| 39 | git push -u origin HEAD |
| 40 | gh pr view --json number,url,body 2>/dev/null # existing PR? |
| 41 | |
| 42 | |
| 43 | None → `gh pr create --title … --body "$(cat <<'EOF' … EOF)"`. |
| 44 | Exists → `gh pr edit <n> --body …`: rebuild "What" and "How to test" from the current branch, keep the media section and the reviewer's checklist ticks verbatim, keep any extra sections at the end. Change the title only if the scope changed. |
| 45 | |
| 46 | End the body with the attribution lines the session asks for, if any. |
| 47 | |
| 48 | ## 4. Report |
| 49 | |
| 50 | PR URL, title, which checks you ran, and anything left unchecked for the reviewer. |
| 51 |
Discussion
Alternatives
Browse more free Claude skills or everything in Development.