mcpField
F
feature-generator

feature-generator

github.com/unlearndev开发105157 次安装3 周前更新
代码仓库

关于 feature-generator

此技能将项目的 `spec.md` 转为按依赖顺序排列的 `features.md`,供 AI Agent 实施,并在提出修改时保持文件内容同步。它还规定每项功能需包含用户流程和 UI 概览。

主要功能

  1. 01开始前检查是否有 `spec.md`
  2. 02从规格中提取独立功能
  3. 03按实施依赖排列功能
  4. 04定义用户流程和 UI 概览
  5. 05在文件间同步相关改动

适用场景

  1. 01根据项目规格创建实施计划
  2. 02按依赖关系调整功能顺序
  3. 03规格变更后更新功能文档
  4. 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 从上到下逐项处理文件:

  1. 首先是基础内容——数据库、身份验证、核心模型
  2. 接着是依赖最少的简单用户流程
  3. 然后是基于这些流程构建的功能
  4. 面向客户的对应功能之后,再列出管理和内部功能
  5. 最后列出跨领域关注点(通知、速率限制等)
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,并呈现两个文件。

评论

支持 Markdown