mcpField
P
pr

pr

github.com/akshay-diwadkar开发173 次安装今天更新
代码仓库

关于 pr

用于准备和创建 PR 的 Skill,依据差异、权威需求和记录的验证结果撰写说明。发布前必须由用户确认完整且已检查的文本;它不会合并 PR 或修改分支代码。

主要功能

  1. 01依据差异和需求撰写说明
  2. 02记录验证命令及结果
  3. 03检查草稿的依据和证据
  4. 04创建 PR 前要求用户确认
  5. 05不合并 PR 或修改分支代码

适用场景

  1. 01为已完成的改动起草 PR 说明
  2. 02核实声明的测试是否实际运行
  3. 03确认完整说明后再创建 PR

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/akshay-diwadkar/first-four-hours --skill pr

安装后在 Claude Code 中输入/pr确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

skill-protocol.json
agents/
openai.yaml
references/
description-guide.md
update.md
scripts/
_diagnostic_contract.py
_skill_protocol_runtime.py
check_description.py
cli.py
pr_contract.py
publish_pr.py
record_run.py

详细介绍

PR

撰写评审者需要了解、但无法从差异中看出的内容,机械化检查,并且仅在用户确认准确文本后才创建 PR。绝不合并、批准 PR,也不编辑分支代码。

奠定依据

  1. 固定基础引用(例如 origin/main),并阅读完整的 git diff <base>...HEAD。如果 gh pr view <branch> --json state 显示 OPEN,请先阅读 更新。
  2. 查找权威依据:关联的问题(gh issue view <n>),或已封存的 .first-four-hours/blueprints/*/blueprint.md。链接或引用其中的意图、决策和验收标准;绝不要将它们重新撰写成第二个事实来源。两者都没有时,请说明这一点,并以用户提供的意图为准。
  3. 在将要推送的提交所在的干净工作树中,通过 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