mcpField
M
make-pr

make-pr

github.com/prathamdby开发6631 次安装5 天前更新
代码仓库

关于 make-pr

make-pr 是一项根据锁定的 Git 差异创建或更新 PR 的技能,面向开发者。它涵盖发布前检查、可追溯的 PR 文案、推送及远程状态核验。

主要功能

  1. 01检查分支与 PR 状态
  2. 02根据差异拟定标题和正文
  3. 03推送并创建或更新 PR
  4. 04对照记录核验远程状态

适用场景

  1. 01检查分支状态后创建 PR
  2. 02更新现有 PR 并保留其设置
  3. 03差异或上游状态变化时阻止发布

安装

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

$npx skills add https://github.com/prathamdby/skills --skill make-pr

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

包含的文件

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

REFERENCE.md
references/
body-hygiene.md
views.md

详细介绍

创建 PR

选项

默认值:目标分支为 main、不关联工单/议题、标题采用祈使句式的句首字母大写格式、非草稿 创建。“Target ”用于选择目标分支;“draft PR”用于创建草稿。 除非用户明确要求转换,否则更新时保留现有草稿状态。“Ticket ” / “prefix []”仅提供该确切前缀。 “Issue N” / “fixes #N” / “closes #N”授权每个议题添加一个 Closes #N。 议题 URL 仅从 /issues/N 提取 N;PR URL 不会。单独的 #N、缺失值或冲突选项都会阻止操作。不得从其他上下文推断工单/议题。 “Conventional title”会加载 ../commit/REFERENCE.md 中的格式和拒绝规则;请先确认该依赖存在。

1. 预检

确定分支、目标、状态、上游和开放的 PR。使用已配置的推送远程或 origin;比较前先获取。 遇到分离 HEAD、目标与当前分支相同、目标缺失、获取失败、上游落后/分叉、 工作区有改动/未跟踪文件、存在多个开放的 PR,或已有 PR 的目标分支不同,则阻止操作。 忽略已关闭的 PR。记录 branch/base | remote | diff hash | PR | draft | title/body/depth | mutation | terminal。 完成条件:分支干净、目标分支已确定,且已知要创建还是更新。

2. 根据锁定的差异起草

仅读取并哈希 git diff <target>...HEAD;为空 → NO_CHANGES。 默认标题采用祈使句式的句首字母大写格式,最多 60 个字符,不含类型或句号。 Conventional 标题遵循 50 个字符的限制。明确指定的工单前缀不受长度限制,也不会被工单拒绝规则拦截,但不能作为工单声明属实的证明。

对于非空差异,应用 REFERENCE.md 中的正文、深度和风格规则。 只有在主题需要围栏视图时才使用 references/views.md。 追溯标题中的每个短语、正文中的每一行、说明文字和视觉标签,确保其对应差异块; 只有明确授权的 Closes 页脚可免于此要求。 完成条件:格式、深度、确切的议题集合和无上下文追溯检查均通过。

3. 发布

重新检查状态和差异哈希;若有变动,则返回预检。正常推送缺失/超前的上游,绝不强制推送;获取并确认上游等于本地 HEAD。 创建时明确指定目标分支/源分支和所需的草稿状态,或更新内容,同时保留草稿状态、审核者、标签、指派人员和项目。只有明确要求转换草稿状态时,才可更改该状态。 记录每项成功的变更;若操作中断,应重新预检,而不是重复已成功的推送/创建。在工作开始时,如有主机的 PR 链接工具,则用其登记 URL,包括已有 PR。 完成条件:已有 PR URL 或已捕获的变更错误。

4. 回读

对照记录验证 URL、目标分支/源分支、标题/正文、草稿状态和保留字段。 若 API 返回结果不完整或非正文内容不匹配,允许回读后重试一次变更;之后以字段差异标记为 BLOCKED。对于追加的正文或页脚,应用 references/body-hygiene.md。 确认正文包含三个标题、Why 部分为一个句子、Special 边界,以及确切的 Closes 集合。认证/速率限制/获取/推送/平台错误均会阻止操作。 只有在匹配后才报告创建/更新、推送、URL、深度、正文剥离和追溯结果。 完成条件:远程状态与记录一致。

终态:SUCCESS、NO_CHANGES、BLOCKED。此流程不执行提交、强制推送、重新打开已关闭的 PR、构建或测试。

评论

支持 Markdown