open-pr · git:20261028.834247a · 2026-10-28 · sha256 d2a66d21c2f9ac6f

open-pr git:20261028.834247aA

Immutable. This exact content never changes and is served at /api/v1/blob/d2a66d21c2f9ac6f.

---
name: open-pr
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.
metadata:
  internal: true
allowed-tools: Bash(git *) Bash(gh *) Read Write
---

Open (or refresh) a pull request against `pascalorg/editor` from the current branch.

## 1. What is actually on the branch

```bash
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 relevant local checks; reuse checks that already cover the change. CI runs the required suite. 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 #123` when 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, or `N/A — non-visual change`.
- **Checklist** — copy verbatim; tick only what was verified (`bun dev` only 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

```bash
git push -u origin HEAD
gh pr view --json number,url,body 2>/dev/null     # existing PR?
```

- None → write the description to a file, then `gh pr create --title … --body-file <file>`.
- 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.