关于 feature-dev
feature-dev 是一项指导开发者实现新功能的开发技能,涵盖代码库探索、需求澄清、架构设计、测试与审查。它要求在关键设计和实现决策前征求用户确认。
主要功能
- 01系统化探索代码库
- 02尽早澄清需求
- 03并行使用探索与设计 Agent
- 04实现前征求用户批准
- 05生成测试并迭代运行
- 06并行进行质量审查
适用场景
- 01规划需求不明确的功能
- 02了解现有代码与约定
- 03比较实现方案
- 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
操作:
- 创建包含所有阶段的待办事项列表
- 如果功能不明确,请询问用户:
- 要解决什么问题?
- 这个功能应该实现什么?
- 有什么限制或要求?
- 总结对需求的理解并向用户确认
阶段 2:探索代码库
目标:从高层和底层了解相关的现有代码及模式
操作:
-
并行启动 2-3 个代码探索 Agent。每个 Agent 都应:
- 全面追踪代码,深入理解抽象、架构和控制流
- 聚焦代码库的不同方面(例如:类似功能、高层理解、架构理解、用户体验等)
- 附上 5-10 个值得阅读的关键文件列表
Agent 提示词示例:
- “查找与 [功能] 类似的功能,并全面追踪其实现过程”
- “梳理 [功能领域] 的架构和抽象,并全面追踪代码”
- “分析 [现有功能/领域] 的当前实现,并全面追踪代码”
- “找出与 [功能] 相关的 UI 模式、测试方法或扩展点”
-
收到 Agent 的结果后,请阅读它们列出的所有文件,以深入了解相关背景
-
全面总结调查结果和发现的模式
阶段 3:澄清问题
目标:填补信息空缺,并在设计前解决所有模糊之处
**重要:**这是最重要的阶段之一。不要跳过。
操作:
- 回顾代码库调查结果和原始功能请求
- 找出未明确说明的方面:边缘情况、错误处理、集成点、范围边界、设计偏好、向后兼容性、性能需求
- 以清晰、有条理的列表向用户提出所有问题
- 等待用户回答后,再开始设计架构
如果用户说“你认为怎样最好就怎样”,请给出你的建议并获得明确确认。
第 4 阶段:架构设计
目标:设计多种实现方案,并权衡各自的取舍
操作:
- 并行启动 2-3 个代码架构 Agent,分别关注不同方向:最小改动(改动最少、最大程度复用)、整洁架构(易于维护、抽象优雅)或务实平衡(速度 + 质量)
- 审查所有方案,并判断哪种最适合当前任务(考虑:小修复还是大型功能、紧迫程度、复杂度、团队背景)
- 向用户介绍:每种方案的简要概述、取舍对比、你的建议及理由、具体实现差异
- 询问用户偏好哪种方案
第 5 阶段:实现
目标:构建功能
未经用户批准,不要开始
操作:
- 等待用户明确批准
- 阅读前几个阶段中确定的所有相关文件
- 按照选定的架构进行实现
- 严格遵循代码库规范
- 编写整洁且文档齐全的代码
- 随进度更新待办事项
第 6 阶段:自动化测试
目标:确保测试覆盖全面,且所有测试均通过
操作:
-
生成测试:并行启动 2 个测试生成 Agent,分别关注不同方向:
- 单元测试:关注单个函数、边界情况、错误处理
- 集成测试:关注组件交互、数据流、API 契约
每个 Agent 都应分析新增代码并提供:
- 完整实现代码形式的测试用例
- 优先级排序(关键/重要/锦上添花)
- 所需的模拟对象和测试夹具
-
审查生成的测试:
- 整合两个 Agent 提出的测试建议
- 优先处理必须实现的关键测试
- 向用户介绍测试计划并征求批准
-
实现测试:
- 按照项目规范编写已批准的测试用例
- 设置所需的模拟对象和测试夹具
- 确保测试组织清晰且易于维护
-
运行测试:启动测试运行 Agent,以便:
- 执行完整测试套件(或相关子集)
- 分析任何失败并诊断根本原因
- 为失败的测试提供具体修复方案
-
修复并迭代:
- 如果测试因实现缺陷而失败,修复实现
- 如果测试因测试问题而失败,修复测试
- 重新运行测试,直到全部通过
- 在所有测试通过之前,不要进入质量审查阶段
-
报告覆盖率:总结已达到的测试覆盖率和任何不足之处
第 7 阶段:质量审查
目标:确保代码简洁、遵循 DRY 原则、优雅、易读且功能正确
操作:
- 并行启动 3 个代码审查 Agent,分别关注不同方向:简洁性/DRY/优雅性、缺陷/功能正确性、项目规范/抽象
- 整合审查结果,并找出你建议修复的最高严重级别问题
- 向用户介绍审查结果,并询问用户希望如何处理(现在修复、稍后修复,或按当前状态继续)
- 根据用户决定处理问题
- 如果进行了重大更改,使用测试运行 Agent 重新运行测试,确保没有引入问题
第 8 阶段:总结
目标:记录已完成的工作
操作:
- 将所有待办事项标记为已完成
- 总结:
- 构建的内容
- 做出的关键决策
- 修改的文件
- 达到的测试覆盖率
- 建议的后续步骤
评论
支持 Markdown