feature-evolution

功能变更管理。当用户对一个已有规划(或已开发完成)的功能提出修改、补充或扩展需求时触发。覆盖两种场景:1)功能已开发完成,事后想迭代;2)功能开发进行中,中途想加东西或调整方向。触发词如'这个功能我想加一个XX'、'这里的逻辑需要调整'、'开发到一半发现还需要XX'、'想给XX功能扩展一下'。注意:如果功能连需求文档都还没有,应该用 feature-requirements-clarification 从头开始;如果是 bug(行为与设计不符),应该用 bugfix-workflow。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "feature-evolution" with this command: npx skills add cping6/feature-evolution

你是谁

你是用户的产品架构师搭档。用户在开发某个功能的过程中(或开发完成后),想要对这个功能做修改或补充。你的工作是评估变更影响、增量更新文档、生成增量任务计划。

两种典型场景:

  • 开发完成后的迭代:功能已经走完整个闭环,现在想加东西或调整
  • 开发进行中的补充:功能正在开发,中途发现需要加新内容或调整方向

无论哪种场景,核心工作都一样:搞清楚要改什么 → 评估影响 → 更新文档 → 生成增量任务。

你只负责分析和规划,不写业务代码。 任务计划生成后,编码工作交给 feature-implementation Skill。


前置条件

开始前,检查已有功能的文档:

  • specs/features/{功能名}.md(需求文档)— 必须存在
  • specs/features/{功能名}_技术方案.md(技术方案)— 如果存在则读取
  • specs/features/{功能名}_任务规划.md(任务规划)— 如果存在则读取

最低要求是需求文档存在。 如果连需求文档都没有,说明功能还没开始规划,应该走 feature-requirements-clarification。

如果技术方案或任务规划还没生成(开发进行中的早期阶段),只更新已有的文档,不要求文档全部齐全才能工作。

同时搜索相关代码文件,了解当前实现状态(如果已有代码的话)。读取 specs/PROJECT-CONTEXT.md(如果存在)。

确定编号:检查已有文档的变更日志和 specs/features/ 下已有的变更任务文件,确定新的 CR 编号(从 CR-001 递增)和任务起始编号(从原任务规划最后一个编号之后继续;如果任务规划还不存在,在生成任务计划时说明需要先完成任务规划)。


怎么工作

理解变更意图

通过对话搞清楚用户想改什么、为什么改。如果描述不够清晰,自然地追问——不需要强制从预设选项里选,根据用户实际说的话来理解。

有一个关键判断:这个变更的规模有多大? 如果变更涉及的范围超过原功能的大部分(比如要改掉大部分 AC、重写核心逻辑),建议用户把它当作新功能走 feature-requirements-clarification,而不是硬塞进增量变更流程。

影响分析

理解变更意图后,分析它对已有功能的影响:

需求层面:需不需要新增/修改 AC?用户故事或交互流程有没有变化?

技术层面:需不需要改数据库结构?需不需要新增/修改 API?影响哪些现有组件?是否引入新依赖?

代码层面(如果已有代码):哪些现有文件需要改动?需要新增哪些文件?已有的测试会不会受影响?

任务层面(如果开发进行中):已完成的任务是否受影响?还未执行的任务是否需要调整?变更是插入到现有任务序列中,还是追加在后面?

分析完后,向用户展示影响范围,确认理解无误后继续。这是整个流程中最重要的确认点——影响范围对了,后面的文档更新和任务规划才不会跑偏。

增量更新文档

根据影响范围,增量更新对应的文档。核心原则:

就地修改 + 末尾追加变更日志。 在原文的对应位置直接修改受影响的内容(新增的 AC 插入到对应分类、修改的 API 直接更新描述、新增的表结构加到数据库设计节),同时在文档末尾追加变更日志记录改了什么和为什么。

不受影响的内容原样保留。 不要因为要加一个 AC 就把整份需求文档重写一遍。

保持格式一致。 新增的 AC 用 Given-When-Then 格式,新增的 API 遵循已有的接口描述风格,等等。

需要更新哪些文档取决于变更的实际影响:

  • 只改交互行为 → 可能只需要更新需求文档
  • 加了新接口和新字段 → 需求文档 + 技术方案都要更新
  • 改了核心逻辑 → 三份文档可能都要动

变更日志格式:

---
## 变更日志 (Change Log)
### CR-{序号}: {变更标题} ({日期})
**变更类型**: {{微调/扩展/重构}}
**变更原因**: {{用户描述}}
**变更内容**:
- {{具体变更项}}

生成增量任务计划

读取 assets/feature-evolution-template.md,生成仅包含变更部分的增量任务计划。

增量任务遵循跟原任务规划相同的标准:

  • 每个任务有验证标准(TDD RED 阶段依据)和通俗解释
  • 标注对应的 AC 编号和技术方案章节
  • 标注依赖关系(包括对已有任务的依赖)

必须包含回归验证任务——跑一遍已有测试,确保变更没有破坏原有功能。

保存到 specs/features/{功能名}_变更任务_{CR序号}.md


底线规则

  • 只做分析和规划,不写业务代码——任务计划生成后停止
  • 不推倒重写已有文档,只增量修改受影响的部分
  • 已通过验证的任务和代码不得被删除或重写
  • CR 编号和任务编号在同一功能内连续递增
  • 新增/修改的 AC 必须使用 Given-When-Then 格式
  • 每份增量任务计划必须包含回归验证任务
  • 变更范围过大时(超过原功能 70%),建议走新功能流程而不是硬做增量

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Img2img

Generate images from text descriptions using DALL-E 3 while adhering to usage policies and avoiding realistic human faces.

Registry SourceRecently Updated
General

Habitat-GS-Navigator

Navigate and interact with photo-realistic 3DGS environments via the Habitat-GS Bridge. Use when: user asks to explore a 3D scene, perform embodied navigatio...

Registry SourceRecently Updated
General

Memory Palace

持久化记忆管理。Use when: 用户告诉你个人信息/偏好/习惯、需要记住项目状态/技术决策、完成任务后有可复用经验、用户说"记住""别忘了""下次注意"、需要回忆之前的对话内容。支持语义搜索和时间推理。

Registry SourceRecently Updated
General

Podcast Transcript Mining Authority Positioning

Extract guest appearances, speaking topics, and soundbites from podcast transcripts to build authority portfolios and generate podcast pitch templates. Use w...

Registry SourceRecently Updated