SuperAPI AI 工具集

wtf.create-pr

编程与开发

查看项目

更新于 10-16 02:14

技能介绍

用途

wtf.create-pr 用于在为已完成的 trace 分支(trace branch)打开拉取请求(Pull Request)时使用。典型触发场景包括开发者希望「创建一个 PR」「打开一个拉取请求」等。该技能的核心目标是:读取完整的规范层级(Trace + Feature + Epic)以及分支差异,撰写一段解释变更「为什么存在」而不仅是「做了什么」的 PR 描述。

主要能力

  • 检查当前分支,确认其不是 main。
  • 检查该分支是否已存在打开的 PR。
  • 从分支名称中识别 Trace 编号(如 trace/42-date-range-filter → #42),也兼容遗留的 task/42-<slug> 分支。
  • 执行生命周期检查(若已关联 Trace)。
  • 抓取规范层级:从 Trace 提取 story、Scenario Claim、Spine position、Technical Approach、DoD;从 Feature 提取 ACs、Trace Plan、交付覆盖与约束;从 Epic 提取 Goal。
  • 检查分支差异(git log、git diff --stat)。
  • 生成 PR 标题(可选用子代理,基于 haiku 模型)与正文。
  • 与用户复核草稿后创建 PR。
  • 在已关联的 Trace issue 下发布链接 PR 的评论。
  • 可选择添加评审者,并支持 gh-stack 原生堆叠。

使用方式

该技能按以下步骤执行:

  1. GitHub CLI 设置:运行 ../references/gh-setup.md 的第 1–2 步(安装检查与认证检查),若 gh 未安装或未认证则停止。
  2. 确认分支:检查当前分支并确认不是 main;检查是否已存在 PR。
  3. 识别 Trace:尝试从分支名提取 trace 编号。
  4. 生命周期检查(若关联 Trace)。
  5. 抓取规范层级(Trace → Feature → Epic)。
  6. 检查差异:确定基础分支并收集分支差异。
  7. 草拟 PR:生成标题与正文,遵守严格 STE。
  8. 与用户复核草稿。
  9. 创建 PR:确定基础分支并通过 gh body helper 创建。
  10. 更新 Trace issue(若已关联)。
  11. 提供后续步骤(如邀请评审者)。

创建 PR 时使用如下形式的命令:

python3 .wtf/gh-body.py create --pr \
  --title "<title>" \
  --body-file "$BODY" \
  --base <base_branch>

Trace 评论使用:

python3 .wtf/gh-body.py comment <trace_number> --body-file "$COMMENT"

添加评审者使用:

gh pr edit <pr_number> --add-reviewer <username>

适用场景

  • 开发者为已完成的 trace 分支打开 PR。
  • 需要基于 Trace/Feature/Epic 规范层级撰写解释「为什么」的 PR 描述。
  • 采用 trunk 或 staged 交付模式的仓库。
  • 希望将多个 Trace PR 链接为原生堆叠(需 gh-stack 扩展)。

限制

  • 若 gh 未安装或未认证,技能会停止。
  • 需要 .wtf 目录下的参考文件与辅助脚本。
  • 基础分支必须遵循 Base-branch policy,绝不能指向该分支未从其分叉的分支。
  • 原生堆叠功能需 gh extension list 显示 gh-stack。
  • 关于收费、价格、平台支持范围等具体信息暂未提供。