SuperAPI AI 工具集

wtf.implement-task

编程与开发

查看项目

更新于 10-16 02:05

技能介绍

用途

wtf.implement-task 用于开发者准备实现一个 GitHub Task issue 时启动实施工作。它读取完整的规格层级(Task + Feature + Epic),将规格映射到实际代码库,提出具体的技术方案,并针对每个 Gherkin 场景以测试先行(TDD)的方式驱动实现。

主要能力

  • 读取 Task、Feature、Epic 三层规格,提取 Gherkin、Contracts、Impacted Areas 以及 ACs、Goal、约束。
  • 检查 Task 上的 designed 生命周期标签,必要时推荐先执行 wtf.design-task。
  • 加载 docs/steering/TECH.md 技术指导文档,应用其技术栈、架构模式、关键约束、命令和 ADR。
  • 按 branch-setup 参考设置 feature 分支和 task 分支。
  • 探索代码库:识别测试框架、测试文件模式、导入约定、运行命令、覆盖率命令;并行执行 Grep 和 Glob 搜索定位相关文件、接口定义、依赖和现有测试。
  • 起草包含具体文件路径的技术方案(架构决策、数据流、权衡、受影响区域)。
  • 与用户评审技术方案,并将方案和受影响区域更新到 Task issue。
  • 按 Gherkin 场景逐个驱动 TDD 循环:写失败测试、实现最小代码、重构、提交原子语义提交(带 Scenario 和 Task trailer)。
  • 全部场景通过后运行 lint 和类型检查门禁。
  • 验证单元测试覆盖率,默认阈值 80%(若 docs/steering/QA.md 有定义则以其为准)。
  • 更新 Task issue 中的 Test Mapping 表格。
  • 添加 implemented 生命周期标签,并提供后续操作选项。

使用方式

该技能通过技能调用方式触发。执行流程包括:

  1. GitHub CLI 设置:运行 gh-setup 参考的第 1–2 步(安装检查和认证检查)。若 gh 未安装或未认证则停止。若本会话已运行过 gh-setup 则跳过。
  2. 识别 Task:通过 AskUserQuestion 询问正在实现哪个 Task,选项来自最近标记为 task 的开放 issue。
  3. 生命周期检查:对 Task 上的 designed 标签应用 absent-label 门禁。
  4. 加载技术指导文档:按 steering-doc-process 的严格消费端加载方式加载 docs/steering/TECH.md。
  5. 设置分支:按 branch-setup 参考设置 feature 分支和 task 分支。
  6. 探索代码库:识别测试框架设置,读取现有测试文件样本,在工作草稿中记录测试框架、测试文件模式、导入约定、运行命令、覆盖率命令。使用 Agent 工具并行执行具体搜索。
  7. 起草技术方案:应用严格 STE 写作规范,产出包含实际文件路径的技术方案。
  8. 与用户评审方案:展示技术方案,通过 AskUserQuestion 询问是否对齐,然后更新 Task issue。
  9. 驱动 TDD 循环:对每个 Gherkin 场景按顺序处理,写失败测试、实现最小代码、重构、提交。
  10. 验证覆盖率:确认单元测试覆盖率满足最低阈值。
  11. 更新 Test Mapping:在 Task issue 中填写 Test Mapping 表格。
  12. 标记 implemented 并提供后续选项。

相关命令示例:

python3 .wtf/gh-body.py read <task_number>
python3 .wtf/gh-body.py edit <task_number> --body-file "<path-from-read>"
git add <changed files>
git commit -m "<type>(<scope>): <short description>

Scenario: <scenario name>
Task: #<task_number>"
gh issue edit <task_number> --add-label "implemented"

适用场景

  • 开发者准备开始实现一个已存在的 GitHub Task issue。
  • 需要将 Task、Feature、Epic 规格层级映射到实际代码库。
  • 需要以测试先行的方式按 Gherkin 场景驱动实现。
  • 需要确保实现符合技术指导文档和团队统一语言。
  • 需要验证覆盖率并更新 Task issue 的测试映射。

限制

  • 需要 GitHub CLI(gh)已安装并完成认证,否则停止。
  • 该技能本身不需要扩展。
  • 预期的 Task issue 正文结构定义在 @.github/ISSUE_TEMPLATE/TASK.md。
  • 覆盖率默认阈值为 80%,若 docs/steering/QA.md 存在并定义了阈值则以其为准。
  • 每个公共函数必须至少有一个正常路径和一个错误路径测试。
  • 函数应保持在 40 行以内,避免深层嵌套。
  • 若从循环(非交互模式)调用,跳过询问并将控制权返回循环。
  • 其他具体平台、收费、价格等信息暂未提供。