SuperAPI AI 工具集

phase-kickoff

编程与开发

查看项目

更新于 10-15 08:17

技能介绍

用途

Phase Kickoff 用于在开始一个新的开发阶段或冲刺时,把三项准备工作作为一次原子操作完成:创建分支、生成 TDD 测试骨架、写入路线图条目。其核心目的是强制一条不变量——实现工作绝不能在分支和验证骨架存在之前开始。

主要能力

  • 解析参数中的阶段编号与标题(例如 "3 - User Authentication" 或 "4 Real-time Notifications")。
  • 向路线图追加阶段条目,包含目标、任务清单和验证字段。
  • 创建分支,命名格式为 feature/phase{N}-{kebab-case-title}。
  • 生成 TDD 测试骨架,describe 块与路线图任务一一对应,使用 it.todo("should ...") 占位。
  • 打印摘要:阶段编号、分支、测试文件路径、任务数量。

使用方式

通过脚本调用:

bash scripts/scaffold-phase.sh "3 - User Authentication"

输出内容包括:分支名称、测试文件路径、路线图存根。

执行步骤:

  1. 解析 $ARGUMENTS:提取阶段编号和标题。
  2. 追加路线图条目,格式为:
## Phase {N}: {Title}
**Goal**: {one-sentence goal}
- [ ] {N}.1 {task}
**Verify**: {runnable command or unambiguous outcome}
  1. 创建分支:git checkout -b feature/phase{N}-{kebab-case-title}
  2. 创建 TDD 测试骨架,describe 块匹配路线图任务:
describe("Phase {N}: {Title}", () => {
  describe("{N}.1 - {task}", () => {
    it.todo("should ...");
  });
});
  1. 打印摘要:阶段编号、分支、测试文件路径、任务数量。

参数:$ARGUMENTS 为阶段编号和标题,例如 "3 - User Authentication" 或 "4 Real-time Notifications"。

适用场景

  • 启动需要同时完成分支创建、TDD 测试骨架和路线图条目的新开发阶段或冲刺。

限制与不适用场景

以下情况不应加载该技能:

  • 阶段已存在,现在需要的是执行而非搭建。
  • 任务是一次性修复,没有路线图或分支骨架需求。
  • 用户只需要规划,不需要修改仓库。

强制规则

  • 绝不在分支和测试骨架存在之前开始实现。事后补建骨架意味着测试骨架描述的是已存在的代码,而非驱动其设计;TDD 骨架的价值在于迫使你在编写行为之前先命名行为。
  • 绝不创建没有具体目标和验证标准的阶段条目。模糊的路线图条目(如 "improve auth")会变得无法合并,因为没人能就 "完成" 达成一致。验证字段必须是可运行的命令或无歧义的可观察结果。
  • 绝不把无关的清理工作混入 kickoff 提交。kickoff 提交是该阶段的参照点,混杂的关注点会让 git bisect 和阶段差异比对不可靠。
  • 绝不使用像 feature/phase3 这样的通用分支名,应包含标题 slug,使 git branch -a 无需交叉参照路线图即可读懂。

专家决策点

何时拆分还是扩展阶段:如果不确定工作属于新阶段还是扩展当前阶段,可问:是否有不同的主要交付物?是否有不同的部署风险?能否被独立评审?两个答案为 "是" 则新建阶段,否则扩展。

测试骨架结构决定阶段质量:测试骨架中的 describe 层级就是该阶段的规格说明。应在路线图任务之前编写,而非之后。如果无法为某个任务写出有意义的 it.todo("should..."),说明该任务定义得不够清晰,不足以开始。

路线图验证字段:验证字段是质量门。可接受形式包括:

  • npx vitest run src/auth —— 可运行的测试命令
  • curl -s localhost:3000/health | jq '.status == "ok"' —— 可观察结果
  • pnpm build && npx tsc --noEmit —— 构建门

不可接受:"auth works"、"tests pass"、"looks good"。