用途:为 microsoft/apm 仓库的任意 PR 撰写 PR 描述(PR body)。触发意图包括“write a PR description”“draft a PR body”“open a PR”“fill in the PR template”“summarize this branch as a PR”“create the PR write-up”。输出为一份 Markdown 文件,由编排器粘贴到 gh pr create --body-file 或交给维护者。
主要能力:按固定结构生成正文,依次为标题行、TL;DR、Problem(WHY)、Approach(WHAT)、Implementation(HOW)、Diagrams、Trade-offs、Benefits、Validation、How to test。要求正文自足,评审者无需打开其他文档即可形成判断;每条 WHY 论断需附来源逐字引用(cite-or-omit);使用 GFM 的 alerts、可折叠 details、任务列表、表格与 permalink;涉及多文件或控制流变化时附 1-3 个 mermaid 图,每图前有一句图例。
使用方式:编排器须先收集激活契约中的输入,包括分支名(git rev-parse --abbrev-ref HEAD)、base ref、变更文件列表(git diff --name-status <base>...HEAD)、实际 diff、提交信息、CHANGELOG 条目、关联 issue、验证证据(如 apm audit --ci、uv run pytest)、场景-测试映射等;缺失必需输入时须停止收集。随后按执行清单读取 diff、加载模板、填写、生成并校验 mermaid、运行自检与行数检查,最后写入指定文件路径(默认 .git/PR_BODY.md)。mermaid 块须用 mmdc 校验,命令示例:npx --yes -p @mermaid-js/mermaid-cli mmdc -i "$f" -o "${f%.mmd}.svg" --quiet。
限制:正文目标 150-220 行,超过 250 行需精简;TL;DR 最多 4 句;各节有硬性上限。正文为 UTF-8 GFM,允许 em dash、智能标点与 Unicode;而技能包内源文件(SKILL.md、assets/*)须保持 ASCII。不得编造激活契约之外的事实,不得粘贴提交信息充当正文,不得使用营销语气,不得跳过必需章节。正文以 Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com 结尾。