关于 gen-specs-as-issues
gen-specs-as-issues 是一项工作流技能,用于分析软件项目、识别并排序功能缺口,再将选定事项整理为详细的 GitHub issue。它引导产品经理和开发者从实现审查推进到依赖映射与最终规划。
主要功能
- 01审查项目结构与实现
- 02识别并评估功能缺口
- 03编写便于实现的规格
- 04创建结构化 GitHub issue
- 05映射依赖并拆分工作
适用场景
- 01检查项目缺失的功能
- 02确定开发工作的优先级
- 03准备功能实现规格
- 04组织独立任务及其依赖
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill gen-specs-as-issues安装后在 Claude Code 中输入/gen-specs-as-issues确认已加载。
详细介绍
产品经理助手:功能识别与规格说明
此工作流引导你通过系统化方法识别缺失功能、为其排定优先级,并创建详细的实现规格说明。
1. 项目理解阶段
- 查看项目结构以了解其组织方式
- 阅读 README.md 和其他文档文件,了解项目的核心功能
- 通过检查以下内容识别现有实现状态:
- 主要入口点(CLI、API、UI 等)
- 核心模块及其功能
- 测试以了解预期行为
- 任何占位实现
引导性问题:
- 此项目的主要目的是什么?
- 它解决了哪些用户问题?
- 当前实现中存在哪些模式?
- 哪些功能在文档中被提及但未完全实现?
2. 差距分析阶段
- 仅将文档中描述的能力与实际实现进行对比
- 识别缺乏真实功能的“占位”代码
- 查找文档中提到但缺少可靠实现的功能
- 考虑用户旅程并识别中断或缺失的步骤
- 优先关注核心功能(而非锦上添花的功能)
输出创建:
- 创建潜在缺失功能列表(5-7 项)
- 对于每个功能,记录:
- 当前实现状态
- 文档中的引用
- 缺失时对用户体验的影响
3. 优先级排序阶段
- 为每个识别出的差距应用评分:
评分矩阵(1-5 分制):
- 用户影响:有多少用户受益?
- 战略一致性:是否符合核心使命?
- 实现可行性:技术复杂度如何?
- 资源需求:需要多少开发工作量?
- 风险水平:潜在的负面影响?
优先级 = (用户影响 × 战略一致性) / (实现工作量 × 风险水平)
输出创建:
- 根据评分呈现优先级最高的 3 个缺失功能
- 对于每个功能,提供:
- 功能名称
- 当前状态
- 未实现时的影响
- 对其他功能的依赖
4. 规格说明开发阶段
- 对于每个已排定优先级的功能,制定详细但实用的规格说明:
- 从哲学方法开始:简单优于复杂
- 优先关注 MVP 功能
- 考虑开发者体验
- 保持规格说明便于实现
对于每个功能规格说明:
-
概述与范围
- 它解决了什么问题?
- 包含什么,明确排除什么?
-
技术要求
- 所需的核心功能
- 面向用户的接口(API、UI、CLI 等)
- 与现有代码的集成点
-
实现计划
- 要创建或修改的关键模块/文件
- 展示方法的简单代码示例
- 清晰的数据结构和接口
-
验收标准
- 我们如何知道它已完成?
- 哪些具体功能必须工作?
- 哪些测试应通过?
5. GitHub Issue 创建阶段
- 对于每个规格说明,创建一个 GitHub issue:
- 清晰、描述性的标题
- 正文中包含全面的规格说明
- 适当的标签(enhancement、high-priority 等)
- 在相关处明确提及 MVP 哲学
Issue 模板结构:
[功能名称]
概述
[功能及其目的的简要描述]
范围
[包含什么,明确排除什么]
技术要求
[具体技术需求和约束]
实现计划
[分步方法及简单代码示例]
验收标准
[认为功能完成所需满足的要求的清晰列表]
优先级
[优先级排序的理由]
依赖
- 阻塞: [被此 issue 阻塞的 issue 列表]
- 被阻塞于: [此 issue 依赖的 issue 列表]
实现规模
- 预估工作量: [小/中/大]
- 子议题: [如果这是父议题,则链接到子议题]
5.5 工作分配优化
-
独立性分析
- 审查每份规范,识别真正独立的组件
- 重构规范,以最大化独立工作流
- 在相互依赖的组件之间建立清晰的边界
-
依赖关系映射
- 对于存在不可避免依赖的功能,建立清晰的议题层级
- 为整体功能创建父议题,并为各组件创建子议题
- 明确记录“被阻塞于”和“阻塞”关系
-
工作量平衡
- 将大型规范拆分为更小、更易管理的子议题
- 确保每个子议题代表 1-3 天的开发工作
- 包含子议题特定的验收标准
实现指南:
- 使用 GitHub 议题链接语法创建明确的关系
- 添加标签以指示依赖状态(例如“blocked”、“prerequisite”)
- 为每个议题包含预估的复杂度/工作量,以协助冲刺规划
6. 最终审查阶段
- 总结所有已创建的规范
- 突出显示功能之间的实现依赖关系
- 建议合理的实现顺序
- 注明任何潜在的挑战或注意事项
在整个过程中请记住:
- 宁简勿繁
- 从可用的最小可行实现开始
- 关注开发者体验
- 构建一个日后可扩展的基础
- 考虑开源社区和贡献模式
这种对我们方法的工作流体现,应有助于在功能如何被指定和排定优先级方面保持一致,确保软件项目以深思熟虑、以用户为中心的方式演进。
评论
支持 Markdown