一键导入
pr-writing
Write or revise pull request descriptions for squash-merge review, focusing on the final net change against the merge base rather than branch history.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Write or revise pull request descriptions for squash-merge review, focusing on the final net change against the merge base rather than branch history.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Supervise another coding agent — Claude Code, Pi, Codex, or OpenCode — running in a tmux pane, separate process, or HTTP port. Use when one agent is observing, nudging, or unblocking another agent's work. Covers all (supervisor × worker) combinations across the four supported agent kinds. Includes a unified `superv` CLI that handles registration, observation, message sending, status classification, notes, and heartbeats.
Launch a three-agent tmux triad with the current agent as supervisor, a Pi worker by default, and a Claude reviewer by default; worker and reviewer start idle and receive task instructions only after explicit supervisor delegation.
Audit a system for accreted complexity — machinery that exists because each change was reasoned about locally and carried forward rather than questioned. Runs two fresh agents of different model families in parallel against the same brief, then synthesizes their independent findings into ranked options. Use after a substantial body of work lands, when a system feels heavier than its purpose, or when a series of individually-reasonable changes has produced something nobody would draw on a blank page. Produces proposals only, never changes.
Write documents — user guides, READMEs, PR descriptions, specs, proposals, commit bodies, code comments — for a reader who has no history. Use when authoring or editing any text a future reader will encounter cold, with no memory of prior versions, abandoned alternatives, or the conversation that produced the text. Triggers include user requests to apply "cold-reader policy", make a document "forward-looking", remove references to "old" / "previous" / "deprecated" / "removed" behavior the reader has no context for, or scrub a document of iteration-history framing.
Maintain active skepticism toward accreted complexity while writing specs and plans, designing systems, implementing changes, and reviewing work. Use when local decisions are cascading into machinery, when a solution feels larger than its purpose, when inherited text or precedent is driving work, during long autonomous plans, or whenever the user asks to use "complexity inoculation."
Merge a branch with another branch (typically `main`) using policy-level reconciliation, not just git's conflict list. Use whenever you run `git merge` or `git rebase` and want to avoid silent post-merge breakage. Treats git-flagged conflicts as one input among many, not the totality of the work.
| name | pr-writing |
| description | Write or revise pull request descriptions for squash-merge review, focusing on the final net change against the merge base rather than branch history. |
Write the PR for a squash-merge review. Describe the final net change against
the merge base (main) only.
A pull request description should explain the system change, not just enumerate file changes. It must give a reviewer enough context to understand the architecture, runtime behavior, key technologies, and integration boundaries without already knowing the branch history. Name the primary mechanisms and tools involved, explain how data flows through the feature, and describe what existing behavior changed. A reviewer should be able to answer "what is this?", "how does it work?", "what are the important moving parts?", and "why was it built this way?" from the PR itself.
Assume the reviewer sees only the final squashed delta and has no knowledge of the development timeline. Focus on what exists in the final code/spec/test changes, grouped by shipped behavior, architecture, validation, and important decisions. Do not frame the PR around the latest incremental changes or the sequence of development work.
Or in short: write PRs for a capable reviewer who has not lived inside the branch.
A PR reviewer is a cold reader. They see the squash diff against main and
the current state of main. They do not see your intermediate commits, the
design conversation that produced the change, abandoned implementations,
renames you reverted, or alternatives you considered along the way.
Apply the cold-reader policy (cold-reader/SKILL.md) when writing the PR.
The policy and its self-audit grep apply directly. In the PR context, the
practical rules are:
main are valid. "Removed flag --foo" works when
--foo exists in main — the reviewer sees both sides in the diff.main. The reviewer has nothing to compare against.Run the cold-reader self-audit grep before publishing.
mainIf a design rationale only makes sense by contrasting against an alternative that lived during development but is not in the final diff, the rationale belongs in commit messages or design docs, not the PR body.
When updating long-form PR text, treat the PR body as publication content, not shell content and not patch content. Draft it in a plain temporary markdown file exactly as you want reviewers to read it, with no diff markers, no patch prefixes, and no shell interpolation. Then send that file to GitHub through a file-based API path, and verify the stored PR body afterward. Never compose PR prose inline inside shell commands, and never reuse patch-formatted text as PR content.