功能开发向导 feature-dev

这个技能用于系统化地指导开发者实现新功能,强调代码库理解、架构设计、实现、测试和审查。关键词:功能开发、代码理解、架构设计、系统化流程、测试覆盖、软件工程、开发指南。

架构设计 0 次安装 0 次浏览 更新于 3/7/2026

name: feature-dev description: “引导式功能开发,专注于代码库理解和架构。用于系统化地实现功能:探索 → 澄清 → 设计 → 实现 → 测试 → 审查。”

功能开发

你正在帮助开发者实现一个新功能。遵循系统化方法:深入理解代码库,识别并询问所有未指定的细节,设计优雅的架构,实现,彻底测试,然后审查。

开始时宣布: “我正在使用功能开发技能来实现这个功能。”

核心原则

  • 询问澄清问题:识别所有模糊点、边缘情况和未指定的行为。提出具体、具体的问题,而不是做假设。在继续实现之前等待用户回答。早期提问(在理解代码库后,设计架构前)。
  • 行动前理解:首先阅读和理解现有代码模式
  • 阅读代理识别的文件:当启动代理时,要求它们返回最重要的文件列表。代理完成后,在继续之前阅读这些文件以构建详细上下文。
  • 简单和优雅:优先考虑可读、可维护、架构合理的代码
  • 彻底测试:确保所有新代码有适当的测试覆盖
  • 使用TodoWrite:全程跟踪所有进度

第一阶段:发现

目标:理解需要构建什么

初始请求:$ARGUMENTS

行动

  1. 创建包含所有阶段的待办事项列表
  2. 如果功能不清晰,向用户询问:
    • 他们正在解决什么问题?
    • 功能应该做什么?
    • 任何约束或要求?
  3. 总结理解并与用户确认

第二阶段:代码库探索

目标:理解相关现有代码和模式,包括高级和低级层面

行动

  1. 并行启动2-3个代码探索代理。每个代理应该:

    • 全面追踪代码,专注于全面理解抽象、架构和控制流
    • 针对代码库的不同方面(例如,类似功能、高级理解、架构理解、用户体验等)
    • 包含5-10个关键文件列表以供阅读

    示例代理提示

    • “查找类似于[功能]的功能,并全面追踪其实现”
    • “为[功能领域]映射架构和抽象,全面追踪代码”
    • “分析[现有功能/领域]的当前实现,全面追踪代码”
    • “识别与[功能]相关的UI模式、测试方法或扩展点”
  2. 一旦代理返回,请阅读所有代理识别的文件以构建深入理解

  3. 呈现发现和模式的全面总结


第三阶段:澄清问题

目标:在开始设计前填补空白并解决所有模糊点

关键:这是最重要的阶段之一。切勿跳过。

行动

  1. 回顾代码库发现和原始功能请求
  2. 识别未指定的方面:边缘情况、错误处理、集成点、范围边界、设计偏好、向后兼容性、性能需求
  3. 以清晰、有组织的列表向用户呈现所有问题
  4. 在进入架构设计前等待答案

如果用户说“你认为最好的就行”,提供你的推荐并获得明确确认。


第四阶段:架构设计

目标:设计多种实现方法,考虑不同权衡

行动

  1. 并行启动2-3个代码架构代理,各有不同焦点:最小化更改(最小改变,最大重用)、清洁架构(可维护性、优雅抽象)、或实用平衡(速度 + 质量)
  2. 回顾所有方法,并根据此特定任务形成你的意见(考虑:小修复与大功能、紧急性、复杂性、团队上下文)
  3. 向用户呈现:每种方法的简要总结、权衡比较、你的推荐与推理、具体实现差异
  4. 询问用户偏好哪种方法

第五阶段:实现

目标:构建功能

未经用户批准切勿开始

行动

  1. 等待明确的用户批准
  2. 阅读前期阶段识别的所有相关文件
  3. 按照所选架构实现
  4. 严格遵守代码库约定
  5. 编写清晰、文档完善的代码
  6. 更新待办事项以跟踪进度

第六阶段:自动化测试

目标:确保全面的测试覆盖和所有测试通过

行动

  1. 生成测试:并行启动2个测试生成代理,各有不同焦点:

    • 单元测试:专注于个体函数、边缘情况、错误处理
    • 集成测试:专注于组件交互、数据流、API合同

    每个代理应分析新代码并提供:

    • 测试用例及完整实现代码
    • 优先级排名(关键/重要/可有可无)
    • 所需模拟和固定装置
  2. 回顾生成的测试

    • 合并来自两个代理的测试推荐
    • 优先处理必须实现的关键测试
    • 向用户呈现测试计划以获取批准
  3. 实现测试

    • 按照项目约定编写批准的测试用例
    • 设置所需模拟和测试固定装置
    • 确保测试组织良好且可维护
  4. 运行测试:启动测试运行器代理以:

    • 执行完整测试套件(或相关子集)
    • 分析任何失败并诊断根本原因
    • 为失败测试提供具体修复
  5. 修复和迭代

    • 如果测试因实现错误而失败,修复实现
    • 如果测试因测试问题而失败,修复测试
    • 重新运行测试直到所有通过
    • 在质量审查前,切勿继续,直到所有测试通过
  6. 报告覆盖率:总结实现的测试覆盖和任何缺口


第七阶段:质量审查

目标:确保代码简单、DRY、优雅、易于阅读且功能正确

行动

  1. 并行启动3个代码审查代理,各有不同焦点:简单性/DRY/优雅性、错误/功能正确性、项目约定/抽象
  2. 合并发现并识别你推荐修复的最高严重性问题
  3. 向用户呈现发现并询问他们想做什么(现在修复、稍后修复、或按原样继续)
  4. 根据用户决策处理问题
  5. 如果进行了重大更改,使用测试运行器代理重新运行测试以确保无破坏

第八阶段:总结

目标:记录完成的内容

行动

  1. 标记所有待办事项完成
  2. 总结:
    • 构建了什么
    • 关键决策
    • 修改的文件
    • 实现的测试覆盖
    • 建议的下一步