mcpField
F
feature-dev

feature-dev

github.com/notedit开发340540 次安装34 周前更新
代码仓库

关于 feature-dev

feature-dev 是一项指导开发者实现新功能的开发技能,涵盖代码库探索、需求澄清、架构设计、测试与审查。它要求在关键设计和实现决策前征求用户确认。

主要功能

  1. 01系统化探索代码库
  2. 02尽早澄清需求
  3. 03并行使用探索与设计 Agent
  4. 04实现前征求用户批准
  5. 05生成测试并迭代运行
  6. 06并行进行质量审查

适用场景

  1. 01规划需求不明确的功能
  2. 02了解现有代码与约定
  3. 03比较实现方案
  4. 04测试并审查新功能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/notedit/happy-skills --skill feature-dev

安装后在 Claude Code 中输入/feature-dev确认已加载。

详细介绍

功能开发

你正在协助开发者实现一项新功能。请采用系统化的方法:深入了解代码库,找出所有未明确说明的细节并提出问题,设计优雅的架构,完成实现,全面测试,然后进行审查。

开始时宣布:“我正在使用 feature-dev 技能来实现这项功能。”

核心原则

  • 提出澄清问题:找出所有模糊之处、边缘情况和未明确说明的行为。提出具体、明确的问题,而不是自行假设。等待用户回答后再继续实现。尽早提问(了解代码库后、设计架构前)。
  • 行动前先了解:先阅读并理解现有代码模式
  • 阅读 Agent 找出的文件:启动 Agent 时,请它们返回最值得阅读的文件列表。Agent 完成后,阅读这些文件,以建立详细的背景认知。
  • 简洁优雅:优先采用易读、易维护且架构合理的代码
  • 全面测试:确保所有新增代码都有适当的测试覆盖
  • 使用 TodoWrite:跟踪整个过程中的所有进展

阶段 1:探索

目标:了解需要构建什么

初始请求:$ARGUMENTS

操作:

  1. 创建包含所有阶段的待办事项列表
  2. 如果功能不明确,请询问用户:
    • 要解决什么问题?
    • 这个功能应该实现什么?
    • 有什么限制或要求?
  3. 总结对需求的理解并向用户确认

阶段 2:探索代码库

目标:从高层和底层了解相关的现有代码及模式

操作:

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

    • 全面追踪代码,深入理解抽象、架构和控制流
    • 聚焦代码库的不同方面(例如:类似功能、高层理解、架构理解、用户体验等)
    • 附上 5-10 个值得阅读的关键文件列表

    Agent 提示词示例:

    • “查找与 [功能] 类似的功能,并全面追踪其实现过程”
    • “梳理 [功能领域] 的架构和抽象,并全面追踪代码”
    • “分析 [现有功能/领域] 的当前实现,并全面追踪代码”
    • “找出与 [功能] 相关的 UI 模式、测试方法或扩展点”
  2. 收到 Agent 的结果后,请阅读它们列出的所有文件,以深入了解相关背景

  3. 全面总结调查结果和发现的模式


阶段 3:澄清问题

目标:填补信息空缺,并在设计前解决所有模糊之处

**重要:**这是最重要的阶段之一。不要跳过。

操作:

  1. 回顾代码库调查结果和原始功能请求
  2. 找出未明确说明的方面:边缘情况、错误处理、集成点、范围边界、设计偏好、向后兼容性、性能需求
  3. 以清晰、有条理的列表向用户提出所有问题
  4. 等待用户回答后,再开始设计架构

如果用户说“你认为怎样最好就怎样”,请给出你的建议并获得明确确认。

第 4 阶段:架构设计

目标:设计多种实现方案,并权衡各自的取舍

操作:

  1. 并行启动 2-3 个代码架构 Agent,分别关注不同方向:最小改动(改动最少、最大程度复用)、整洁架构(易于维护、抽象优雅)或务实平衡(速度 + 质量)
  2. 审查所有方案,并判断哪种最适合当前任务(考虑:小修复还是大型功能、紧迫程度、复杂度、团队背景)
  3. 向用户介绍:每种方案的简要概述、取舍对比、你的建议及理由、具体实现差异
  4. 询问用户偏好哪种方案

第 5 阶段:实现

目标:构建功能

未经用户批准,不要开始

操作:

  1. 等待用户明确批准
  2. 阅读前几个阶段中确定的所有相关文件
  3. 按照选定的架构进行实现
  4. 严格遵循代码库规范
  5. 编写整洁且文档齐全的代码
  6. 随进度更新待办事项

第 6 阶段:自动化测试

目标:确保测试覆盖全面,且所有测试均通过

操作:

  1. 生成测试:并行启动 2 个测试生成 Agent,分别关注不同方向:

    • 单元测试:关注单个函数、边界情况、错误处理
    • 集成测试:关注组件交互、数据流、API 契约

    每个 Agent 都应分析新增代码并提供:

    • 完整实现代码形式的测试用例
    • 优先级排序(关键/重要/锦上添花)
    • 所需的模拟对象和测试夹具
  2. 审查生成的测试:

    • 整合两个 Agent 提出的测试建议
    • 优先处理必须实现的关键测试
    • 向用户介绍测试计划并征求批准
  3. 实现测试:

    • 按照项目规范编写已批准的测试用例
    • 设置所需的模拟对象和测试夹具
    • 确保测试组织清晰且易于维护
  4. 运行测试:启动测试运行 Agent,以便:

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

    • 如果测试因实现缺陷而失败,修复实现
    • 如果测试因测试问题而失败,修复测试
    • 重新运行测试,直到全部通过
    • 在所有测试通过之前,不要进入质量审查阶段
  6. 报告覆盖率:总结已达到的测试覆盖率和任何不足之处


第 7 阶段:质量审查

目标:确保代码简洁、遵循 DRY 原则、优雅、易读且功能正确

操作:

  1. 并行启动 3 个代码审查 Agent,分别关注不同方向:简洁性/DRY/优雅性、缺陷/功能正确性、项目规范/抽象
  2. 整合审查结果,并找出你建议修复的最高严重级别问题
  3. 向用户介绍审查结果,并询问用户希望如何处理(现在修复、稍后修复,或按当前状态继续)
  4. 根据用户决定处理问题
  5. 如果进行了重大更改,使用测试运行 Agent 重新运行测试,确保没有引入问题

第 8 阶段:总结

目标:记录已完成的工作

操作:

  1. 将所有待办事项标记为已完成
  2. 总结:
    • 构建的内容
    • 做出的关键决策
    • 修改的文件
    • 达到的测试覆盖率
    • 建议的后续步骤

评论

支持 Markdown