关于 pr
用于准备和创建 PR 的 Skill,依据差异、权威需求和记录的验证结果撰写说明。发布前必须由用户确认完整且已检查的文本;它不会合并 PR 或修改分支代码。
主要功能
- 01依据差异和需求撰写说明
- 02记录验证命令及结果
- 03检查草稿的依据和证据
- 04创建 PR 前要求用户确认
- 05不合并 PR 或修改分支代码
适用场景
- 01为已完成的改动起草 PR 说明
- 02核实声明的测试是否实际运行
- 03确认完整说明后再创建 PR
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ akshay-diwadkar/ first-four-hours --skill pr安装后在 Claude Code 中输入/pr确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
skill-protocol.jsonagents/openai.yamlreferences/description-guide.mdupdate.mdscripts/_diagnostic_contract.py_skill_protocol_runtime.pycheck_description.pycli.pypr_contract.pypublish_pr.pyrecord_run.py详细介绍
PR
撰写评审者需要了解、但无法从差异中看出的内容,机械化检查,并且仅在用户确认准确文本后才创建 PR。绝不合并、批准 PR,也不编辑分支代码。
奠定依据
- 固定基础引用(例如
origin/main),并阅读完整的git diff <base>...HEAD。如果gh pr view <branch> --json state显示OPEN,请先阅读 更新。 - 查找权威依据:关联的问题(
gh issue view <n>),或已封存的.first-four-hours/blueprints/*/blueprint.md。链接或引用其中的意图、决策和验收标准;绝不要将它们重新撰写成第二个事实来源。两者都没有时,请说明这一点,并以用户提供的意图为准。 - 在将要推送的提交所在的干净工作树中,通过
record运行你要声明的每项验证,每个 argv 元素对应一个arg:
python <skill-root>/scripts/cli.py --repo-root <repo> --input runs=<runs.jsonl> \
--input arg=<argv0> --input arg=<argv1> --format json record
其结果会提供真实的 exit_code 和要引用的 command 字符串。
起草
阅读 描述指南,然后在仓库外、与 <runs.jsonl> 同级的位置撰写草稿。
检查
python <skill-root>/scripts/cli.py --repo-root <repo> --input draft=<draft.md> \
--input runs=<runs.jsonl> --input base=<base> --format json check
修复草稿中的每条诊断,或记录缺失的运行,然后重新运行,直到检查通过。脚本只检查依据、已记录的运行和 Mermaid 结构,不检查文案质量;内容和每张图表都由你判断。
确认并创建
向用户展示标题和完整的已检查草稿,并询问是否创建 PR;如果分支缺少上游或上游落后,还要先询问是否推送分支。只有明确答复“是”才表示授权;沉默或先前的批准都不算。收到肯定答复后,如有需要先推送,然后运行:
python <skill-root>/scripts/cli.py --repo-root <repo> --input draft=<draft.md> \
--input runs=<runs.jsonl> --input base=<base> --input title=<title> \
--input confirm=<body_sha256 from check> --format json publish
confirm 会绑定用户看到的准确文本;任何编辑后,都必须重新检查、展示并再次询问。报告 PR URL。最后给出一个符合当前结果的可选后续步骤:提供一个自包含的围栏提示词,注明所需的仓库、问题、PR 或产物;或者说明无需后续步骤。只有用户答复“是”才会启动后续步骤,可通过其指定的任意技能启动;但 charter、diagnose 或 ticket 步骤必须由用户以其 /<skill> 命令运行。绝不要合并 PR。
评论
支持 Markdown