SuperAPI AI 工具集

implement

编程与开发

查看项目

更新于 10-15 08:17

技能介绍

用途

Implement 是一个端到端的功能实现流水线技能,把预检验证、TDD 循环、范围管控和质量提交编排为单一流程。它用于实现功能、添加端点,或进行需要预检验证的非平凡代码改动。

当用户只需要聚焦的子流程(如 /tdd 或 /quality-commit),或工作已经完成、只需验证或提交处理时,不应加载此技能。

主要能力与流水线

该技能按阶段推进:

  • Phase 0:预检(< 30 秒):运行 git status --short 和 npx tsc --noEmit 2>&1 | head -20。如果是 monorepo,检查共享/库包是否需要重新构建(源码比编译输出新)。任何检查失败时,先报告并询问如何处理,再写代码。
  • Phase 1:理解与规划:阅读目标文件,识别模块类型(路由处理器、仓库、插件、工具、服务、组件)。检查最近的测试文件以了解既有的 mock 模式。给出简要总结:“我将添加覆盖 Y 的 X 个测试,然后实现 Z。”若范围超过 3 个文件,等待确认。
  • Phase 2:Bootstrap Mock(1 个测试):写一个最小测试,导入模块并验证 mock 能解析。运行它,必须通过。若两次尝试后仍失败,停止——mock 接线有问题(模块路径错误、mock 工厂不正确、缺少类型 shim),先修复再进入 Red/Green。
  • Phase 3:Red——编写失败测试:为正常路径、边界情况、错误情况编写测试。运行文件,所有新测试必须失败。若有测试意外通过,说明它们没有测试新行为。
  • Phase 4:Green——最小实现:编写让所有测试通过的最小代码,然后运行,所有测试必须通过。不要添加测试未覆盖的功能,不要优化,不要重构现有代码。
  • Phase 5:范围守卫:运行 git diff --name-only,标记与任务无关的文件。仅格式化的改动用 git checkout -- <file> 还原;无关重构还原或拆分为单独提交;对未触碰代码添加文档字符串的改动还原。
  • Phase 6:全量套件 + 质量门:运行 npx vitest run --reporter=dot、npx tsc --noEmit、npx eslint <changed files only>。分诊失败:自己文件中的测试失败是回归,修复;类型错误修复;自己文件中的 lint 修复;未触碰文件中的 lint 在提交信息中注明,不修复。
  • Phase 7:提交:使用 git add <specific files> 暂存特定文件,然后 git commit -m "type(scope): description\n\nCo-Authored-By: Claude <noreply@anthropic.com>"。

使用方式

参数 $ARGUMENTS 指定要实现的内容。示例:/implement add rate limiting to POST /api/search;/implement src/routes/admin/settings.ts — add PATCH endpoint for theme。若为空,询问用户要实现什么。

决策树:从哪个阶段开始

  • 工作区是否干净且绿色?否 → 预检:先修复或询问,再写任何代码;是 → 继续。
  • 目标模块是否已有测试文件?是 → 先运行它,确认绿色基线;否 → bootstrap mock 是第一步。
  • 任务是否涉及超过 5 个文件?是 → 写代码前请用户确认范围;否 → 继续。

限制与禁止事项

  • 绝不跳过预检——在损坏的基线上写代码会浪费整个 TDD 循环。
  • Green 阶段绝不添加测试未覆盖的功能——那是测试循环内的范围蔓延。
  • 绝不使用 git add -A 或 git add .——只暂存特定文件。
  • bootstrap mock 失败后绝不继续——它意味着 mock 接线坏了,不是 Red/Green 问题。
  • 绝不提交未触碰文件中已存在的 lint 错误——在提交信息中注明即可。
  • 绝不把 Red 阶段通过的测试当作“足够好”——实现前就通过的测试没有测试新行为。

中止条件

以下情况停止流水线并询问用户:预检发现工作区处于损坏状态(改动前类型检查就失败);需要修改超过 5 个文件(范围可能对单次提交过大);bootstrap mock 测试两次尝试后仍失败;你的改动导致全量套件回归。