关于 feature-generator
此技能将项目的 `spec.md` 转为按依赖顺序排列的 `features.md`,供 AI Agent 实施,并在提出修改时保持文件内容同步。它还规定每项功能需包含用户流程和 UI 概览。
主要功能
- 01开始前检查是否有 `spec.md`
- 02从规格中提取独立功能
- 03按实施依赖排列功能
- 04定义用户流程和 UI 概览
- 05在文件间同步相关改动
适用场景
- 01根据项目规格创建实施计划
- 02按依赖关系调整功能顺序
- 03规格变更后更新功能文档
- 04将功能文档修改同步回规格
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ unlearndev/ skills --skill feature-generator安装后在 Claude Code 中输入/feature-generator确认已加载。
详细介绍
功能生成器技能
将 spec.md 扩展为详细的 features.md,并按照 AI Agent 最容易成功实现的顺序(依赖顺序)排列。当其中一个文件被修改时,保持两个文件同步。
步骤 1:检查 spec.md
开始任何操作之前,检查当前上下文中是否存在 spec.md,或用户是否已提供该文件。
如果不存在 spec.md:
告诉用户:“目前还没有 spec.md——你需要先创建一个。如果你已启用 spec-generator 技能,我现在可以帮你启动它。你想这样做吗?”
在 spec.md 可用之前,不要继续。
步骤 2:生成 features.md
完整阅读 spec.md。提取规范中隐含的每一项独立功能,包括用户角色、核心功能和技术栈。然后按照以下格式生成 features.md。
排序规则
按照实现依赖关系排列功能,即某项功能必须依赖哪些前置条件才能构建。设想 AI Agent 从上到下逐项处理文件:
- 首先是基础内容——数据库、身份验证、核心模型
- 接着是依赖最少的简单用户流程
- 然后是基于这些流程构建的功能
- 面向客户的对应功能之后,再列出管理和内部功能
- 最后列出跨领域关注点(通知、速率限制等)
features.md 格式
每项功能都遵循以下确切结构:
# [Product Name] — Features
---
## [N]. [Feature Name]
[One sentence describing what this feature does and who it's for.]
**User flow**
1. [Step]
2. [Step]
3. [Step]
**UI overview**
[2–4 sentences describing the key UI elements involved.]
---
规则:
- 每项功能都必须包含编号、用户流程和 UI 概述,不得遗漏
- 用户流程应从参与者(客户、团队成员、访客)的角度撰写
- UI 概述描述用户看到和交互的内容,而不是实现细节
- 用户流程中不得使用子项目符号,只能使用编号步骤
- 每项功能之间以及标题之后都要添加水平分隔线(
---)
步骤 3:同步变更
当用户修改 spec.md 或 features.md 并要求同步时:
如果修改的是 spec.md:
- 确定变更内容(新增、删除或修改的功能)
- 仅更新
features.md中相关的功能,使其反映这些变更 - 按正确的依赖顺序位置添加新功能
- 删除规范中已不存在的功能
- 不要改动不受影响的功能
如果修改的是 features.md:
- 确定变更内容(新增、删除或实质性修改的功能)
- 仅更新
spec.md中相关部分,以反映这些变更 - 保留规范中的所有其他内容,确保原样不动
- 不要重写或重新格式化未改动的部分
同步前始终向用户确认变更内容,以便他们核实是否会更新正确的内容。
输出
将 features.md 保存到 /mnt/user-data/outputs/features.md,并使用 present_files 呈现。
如果要同步 spec.md 中的变更,将更新后的版本保存到 /mnt/user-data/outputs/spec.md,并呈现两个文件。