SuperAPI AI 工具集

codely-plan-phase-implement-github

编程与开发

查看项目

更新于 10-16 16:53

技能介绍

用途

该技能用于执行以 GitHub issue 形式保存的开发计划,每次只实现其中一个阶段。计划(父 issue)与阶段(子 issue)都存放在当前工作目录对应仓库的 issue 中,拉取请求也在该仓库创建。调用方式为 /codely-plan_phase-implement-github <github-issue-url>。

输入与仓库确认

传入的 URL 可以指向阶段(子)issue,也可以指向父计划 issue。若未提供 URL,技能会先向用户询问。仓库不写死,由 gh 从本地 Git remote 解析,并用 gh repo view --json nameWithOwner --jq .nameWithOwner 确认;若给定 URL 不属于该仓库,技能会停止并请用户在对应仓库的克隆中运行。

判定当前阶段的规则:若 issue 是阶段(子)issue(含有 Part of #<parent> 引用和 to-do 清单),则实现该阶段;若 issue 是父计划 issue(含有链接子 issue 的 Phases 清单),则当前阶段是清单中第一个仍处于打开状态的子 issue;若所有子 issue 均已关闭,则告知用户所有阶段已完成,不实现任何内容。

实现步骤

  1. 按上述规则确定要实现的阶段 issue。
  2. 创建并检出与该阶段 issue 关联的分支:gh issue develop <phase-issue-number> --checkout。
  3. 只实现该阶段 to-do 清单中的动作,不实现其他阶段。
  4. 用 gh issue edit <phase-issue-number> --body ... 在阶段 issue 正文中勾选已完成项(- [x] ...)。
  5. 验证变更(类型检查、代码检查、测试),并在继续前修复发现的问题。
  6. 停止,向用户展示变更,并按 Conventional Commits 建议 3 个候选提交/PR 标题(如 feat:、fix:、refactor:、test:、docs:),三个候选使用不同且合理的类型,方便用户回复类似“open the PR with title 1”。
  7. 用户选定标题后,提交、推送分支并创建引用该阶段 issue 的 PR:
gh pr create \
  --title "<chosen title>" \
  --body "Closes #<phase-issue-number>"

若这是计划的最后一个阶段(此后没有其他打开的兄弟 issue),在同一 PR 正文中也关闭父 issue:

Closes #<phase-issue-number>
Closes #<parent-issue-number>

技能不会合并 PR,并会告知用户:合并该 PR 将关闭阶段 issue(若是最后一个阶段,还会关闭父计划 issue)。若实现的是计划最后一个阶段,技能会建议用户导出对话(使用其 IDE)并作为评论附到父计划 issue 上。

issue 的更新方式

在子 issue 中勾选当前阶段已完成的 to-do 项;更新父 issue 的 Next step 部分为下一个待完成阶段;替换父 issue 中关于 Codely 追加新随机 emoji 故事的最后一句(示例:若原最后一句为 "Plan powered by Codely 🐢 💨",新句可为 "Bugs squashed thanks to Codely AI tooling. 🐛 < 🐢 💨")。

父子关系

每个阶段的 PR 在合并时关闭各自的子 issue;父计划 issue 通过其 Phases 清单跟踪子项,GitHub 在对应子 issue 关闭时勾选各项;最后一个阶段的 PR 也会关闭父 issue,从而在完成最后阶段时关闭整个计划。

通用注意事项与约束

  • 每次调用只实现一个阶段,完成后停止并等待用户审阅,未经用户明确批准不得进入下一阶段。
  • 绝不合并拉取请求;技能可以创建特性分支、提交、推送并创建 PR,但合并时机由用户决定,合并动作才是关闭阶段 issue 的方式。
  • 逻辑推理上以 AGENTS.md 为参考:设计应用服务、领域事件、测试等;遵循代码约定与架构决策(均在 docs/ 目录内);确定需创建/修改/删除的测试套件与测试用例。
  • 可使用可用的 agent 工具向用户提供不同选项:Cursor 中可用时使用 AskQuestion 工具(仅部分模型如 Opus 4.5 支持,Composer 1 等不支持);Claude Code 中使用 AskUserQuestion 工具。
  • 涉及的 gh 命令示例包括:gh issue view <number>、gh issue develop <number> --checkout、gh pr create --title "..." --body "..."。

适用场景

适合将大型开发计划拆分为多个 GitHub issue 阶段、并希望由 AI 按阶段逐步实现、每步都经用户审阅再进入下一步的开发流程。

限制

技能要求在本地仓库克隆中运行且 gh 能解析出对应仓库;每次仅处理一个阶段;不会自动合并 PR;未提供具体平台支持范围、收费或价格等信息。