关于 spec-writer
spec-writer 可将已梳理清楚的产品想法整理为结构化 PRD,并结合对话与代码库背景。它涵盖需求收集、范围界定、架构说明,也可按项目习惯整理为文件或议题。
主要功能
- 01结构化 PRD 编写
- 02结合代码库背景审查
- 03需求与范围访谈
- 04比较备选方案
- 05可选议题或文件格式
适用场景
- 01为实现前记录已明确的功能
- 02准备供利益相关者审阅的需求
- 03为 `/slice-the-spec` 编写规格说明
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ kambleakash0/ agent-skills --skill spec-writer安装后在 Claude Code 中输入/spec-writer确认已加载。
详细介绍
编写产品需求文档
这项技能会结合对话和代码仓库上下文,将已明确的想法转化为一份结构化的产品需求文档(PRD)。它假定主要歧义已充分梳理(例如使用 /grill-me),但也可以在需要时自行进行轻量澄清。
适用场景
当用户有以下需求时,使用这项技能:
- 要求“编写 PRD”“产品规格说明”“需求文档”“功能规格说明”等,或提出类似要求。
- 希望在实施之前,以结构化的方式记录新功能、变更或系统。
- 已经明确了想法,现在需要一份完整连贯的文档,可将其作为 issue 提交、分享给利益相关者,或提供给
/slice-the-spec。
如果想法仍然模糊或信息不足,建议先使用 /grill-me,然后再使用这项技能。
整体工作流程
如果某些步骤显然已完成,可以跳过或简化(例如,用户提供了详细的问题说明或用户故事列表)。
-
收集详尽的问题描述
- 请用户详细描述以下内容:
- 想要解决的问题
- 面向的用户
- 现在解决这一问题的意义
- 已有的初步解决方案构想或约束
- 鼓励用户粘贴现有上下文(文档、工单、研究资料),而不是重新输入所有内容。
- 请用户详细描述以下内容:
-
探索代码仓库并验证假设
- 检查代码库,了解当前行为、相关模块、数据模型和现有 API。
- 交叉核对用户的陈述:记录代码仓库在哪些方面与之相符、相悖或未提及,并据此调整理解。
- 记录与范围、边缘情况或实施约束相关的代码仓库事实。
-
考虑替代方案
- 询问用户是否考虑过其他解决方案或设计方向。
- 简要列出 2–3 种可行方案及其权衡(复杂度、交付时间、风险、用户体验影响)。
- 确认 PRD 应以哪种方案为主要方案。
-
深入访谈实施细节(如有需要)
- 如果需求仍较为宽泛,就功能的详细行为采访用户:流程、状态、输入/输出、失败模式、权限和性能预期。
- 如果答案取决于现有行为,优先检查代码仓库,而不是猜测。
- 明确列出假设并请求确认。
-
敲定确切范围
- 明确本 PRD 的范围内内容,并明确列出范围外内容(例如,延期处理的边缘情况、锦上添花的功能、后续事项)。
- 明确目标发布范围(MVP 或完整功能),以及任何排序或第一阶段/第二阶段的区分。
-
梳理模块和架构(轻量级)
- 确定需要创建或修改的主要模块、服务或组件。
- 指出可提取为深度、可测试模块的部分,以便单独验证(适用于后续 TDD 或使用
/tdd)。
-
使用结构化模板编写 PRD
- 按照清晰标注的章节起草完整 PRD(见下方模板)。
- 使用适合工程师、产品经理和设计师阅读的朴实、准确的语言。
-
将文档归档到合适的位置(可选)
- 如有需要,按照代码仓库的惯例,将 PRD 整理为 GitHub issue 或 Markdown 文件。
- 如果上下文中提供了相关信息,请添加标签、负责人以及相关 issue 或文档的链接。
PRD 模板
使用并按需调整此结构。对于明显不相关的章节可以省略,但建议尽量保留。
1. 摘要
- 用 2–3 句话说明我们要构建什么以及为什么。
- 说明目标用户群体和预期的主要成果。
2. 问题陈述
- 产品当前存在的痛点或缺口。
- 谁在什么情境下遇到了这个问题。
- 相关证据(指标、轶事、用户研究、支持工单),如有。
3. 目标与非目标
- 目标: 用简短的编号列表说明成功的标准。
- 非目标: 明确列出本 PRD 不会尝试实现的内容。
4. 用户故事
用较长的编号列表列出用户故事,涵盖所有重要行为。
每个用户故事应遵循以下格式:
- 作为 <actor>,我希望 <feature>,以便 <benefit>
- 如有帮助,可在行内补充验收说明或澄清。
尽量全面覆盖:核心流程、边缘情况、权限差异和失败场景。
5. 功能需求
- 详细描述各主要领域或流程的预期行为。
- 系统状态、状态转换,以及不同角色如何与该功能交互。
- 与正确性相关的验证规则、错误处理、重试、速率限制和约束。
6. 非功能需求
- 相关的性能、可扩展性和延迟预期。
- 可靠性、可用性和降级行为。
- 适用时的安全、隐私和合规考量。
7. 实现说明与架构
- 用文字形式描述高层架构或组件图。
- 列出需要修改或创建的模块/服务,以及它们如何交互。
- 关联当前代码库的说明(关键类、端点、表)。
8. 范围之外
- 明确列出本 PRD 不会涵盖的功能、流程、用户类型或边缘情况。
- 如已知,请提及可能的后续工作或未来迭代。
9. 风险与待解决问题
- 已知风险:技术、产品、用户体验或组织方面的风险。
- 实施或发布前必须解决的待定问题。
- 特别脆弱的假设。
10. 成功指标
- 说明如何判断这项工作是否成功(输入和输出指标)。
- 如果尚无精确数字,请描述预期趋势(例如,“显著减少关于 X 的支持工单”)。
行为与规则
- 结构优先于大段文字:将内容拆分为清晰的章节和编号列表。
- 尽可能使用代码库中的事实;能检查代码时,不要臆造 API 或数据模型。
- 如果用户更看重速度而非全面性,请确认他们希望优先处理哪些章节,并尽量精简其余内容。
- 如果需求过于模糊,请提出 1–3 个有针对性的澄清问题,而不是自行猜测。
- 目标是编写一份工程师无需多次沟通即可据以实施的文档,而不是营销宣传单。
评论
支持 Markdown