pr
1. Bilingual SKILL.md
左右滑动可直接切换英文版与中文版;两种语言按段落自动对齐。英文中的蓝色虚线词语可点击查看解释。共标记 16 处。
Entry SHA-256: ab63f1cf78647389edcd386c9427c5dfca27ed2836930c24773ffee834c19bcd
2. Why This Skill Is Clever
一句话核心机制
pr 用固定三段式把 PR 正文变成一次可扫读、可验证的合并决策:用最小充分视图说明变化,用前后对照证明效果,再显式标注可逆性与影响范围。
触发与边界
直接来源: frontmatter 的 description: "Use when writing a PR body." 把触发点限定为“撰写 PR 正文”,不是执行代码评审、生成提交记录或替人决定是否合并。
支持性上下文: skills/engineering/README.md 将它列为 promoted engineering skill,并概括为“最小视觉摘要 + before/after 证据 + merge-danger 判断”;agents/openai.yaml 的界面说明是“Write a PR body that's fast to review”。CREDITS.md 说明 Summary 的视觉表达菜单源自 Dex Horthy 的 show-me,但为保证独立安装而复制机制、保留署名,不建立运行时依赖。
解释: 它不是“自动写一篇漂亮 PR”的大包大揽流程,而是一套信息选择协议。作者仍必须理解真实 diff、读取 GLOSSARY.md、取得执行证据,并判断哪一种视图最能回答评审者的问题。
信息架构与执行顺序
- 先采用固定骨架:
Summary → Evidence → Merge Danger。 - 在 Summary 中识别变化类型:算法、调用流、UI 组件、文件职责、跨组件交互,或已有结构中的局部差异。
- 选择最小充分视图;若省略会掩盖职责、顺序或可复制的目标形态,就展示完整代码块。
- 把视图放在它支撑的短文本旁,只保留当前讨论所需的调用、文件、属性、状态与边界。
- 在 Evidence 中给出同条件的 before/after;视觉变化优先截图,行为变化优先真实执行结果。
- 最后判断 Door 与 Blast Radius:先给出可扫读的短结论,再按需解释回滚难度和潜在后果。
最巧妙的设计点
1. 固定骨架同时覆盖理解、证明与风险
Summary·Evidence·Merge Danger
直接来源: 模板只有三个一级部分。解释: 它们分别回答“改了什么”“凭什么相信”“合并会怎样”,避免 PR 只复述实现而漏掉验证与风险。
2. 表达方式由变化的结构决定
Match the diff shape to the topic.
直接来源: skill 为逻辑、调用流、UI、文件职责、时序和局部变化提供不同表示法。解释: 它不迷信 Mermaid 或 diff,而是让表示法匹配问题结构,降低评审者的解码成本。
3. “最小”带有明确停止条件
the smallest view that makes the key point clear
直接来源: Summary 先要求最小视图,随后规定当省略会隐藏 ownership or order 时展示完整块。解释: 这不是机械压缩字数,而是以信息损失为边界的最小充分原则。
4. 视图必须与论点共址
Place each visual next to the short text it supports.
直接来源: Guidance 要求视觉内容紧邻它所支撑的文字。解释: 这减少长 PR 中的来回映射,也迫使作者说清每张图究竟证明什么。
5. 证据按目标行为分级
Screenshots are S-tier
Execution-based evidence is A-tier.
直接来源: 视觉变化在环境可运行时优先截图,测试和控制台输出是高等级执行证据。解释: 关键不是字母等级本身,而是使用离目标行为最近的证据:不要用“测试通过”代替视觉验收,也不要用截图代替逻辑执行。
6. 风险被拆成可逆性与影响范围
one-way or two-way door
blast radius
直接来源: Door 判断是否容易回退,Blast Radius 判断出错会波及多大范围;模板先要求短值,再允许补充说明。解释: 这让快速扫描与深入评审共享同一结构,同时防止笼统的“低风险”把两个不同维度混为一谈。
防失败机制与 trade-off
源中明确的不变量: 跳过开场白;使用 GLOSSARY.md 中的领域语言;选择能讲清关键点的最小视图;diff 的形态匹配主题;不要让用户信息过载;Evidence 必须有 before/after;Door 必须分类;Blast Radius 先给一个词的描述,复杂情况再补充潜在后果。
权衡: 高度压缩依赖作者判断,选错视图会隐藏关键上下文;截图和执行输出可能受环境影响;“S-tier/A-tier”只是启发式,不保证证据天然可靠;一个词的 Blast Radius 提高扫描速度,却可能过度简化数据迁移、法规或长期运维风险,所以复杂 PR 不能省略后续说明。
可移植性风险: GLOSSARY.md 是仓库约定;Markdown diff、Mermaid 和代码块的渲染依赖 PR 平台;“PR body”的自动调用方式依赖具体 harness。迁移时应保留最小充分表达、真实证据和可逆性分析,而不是照搬文件名或语法。
可迁移原则
- 用“理解、证明、风险”三段式组织任何变更说明。
- 先判断变化结构,再选择图、树、伪代码或 diff。
- 为“最小化”设置停止条件:不能牺牲职责、顺序和可执行目标。
- 让每个视觉元素紧邻它所支撑的结论。
- 使用最接近目标行为的证据,并提供同条件的前后对照。
- 把风险拆成可逆性与影响范围,先给短结论,再按需展开。
今日实践题
选一个最近的 PR:如果 Summary 只能保留一种视图,你会选调用树、文件树、Mermaid 还是 diff?哪一条职责或顺序信息一旦被省略,就说明这个视图已经不再“最小充分”?
Evidence note
三段式模板、视觉表示法、最小充分原则、before/after、证据等级,以及 Door/Blast Radius 风险框架均来自所选 pr 原文;promoted 状态、界面描述与来源说明来自仓库 skills/engineering/README.md、agents/openai.yaml 和 CREDITS.md,仅作为支持性上下文;“信息选择协议”“理解、证明、风险”与扫描成本的归纳属于设计解释。
Source & provenance
- Repository path
- skills/engineering/pr/SKILL.md
- Generated
- 2026-10-01 08:23 Asia/Shanghai
- Upstream commit
- d81f3a183412e71a5b1e84ca21bc1a35eea03a60
- Source
- View on GitHub