关于 feature-vision
feature-vision 是一项引导功能愿景文档编写的技能,面向按既定功能开发流程工作的团队。它通过五个阶段逐步收集信息,并生成愿景、未来规划和讨论摘要文档。
主要功能
- 01五阶段逐步需求探索
- 02按既定结构编写愿景文档
- 03明确 v1 范围与未来内容
- 04生成三份功能文档
- 05记录技术讨论与关键决策
适用场景
- 01从头梳理新功能的问题与方案
- 02明确首版交付内容及排除项
- 03为后续需求和规格阶段保留讨论记录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ steveclarke/ dotfiles --skill feature-vision安装后在 Claude Code 中输入/feature-vision确认已加载。
详细介绍
愿景文档
概述
通过引导用户完成重点明确的发现阶段,并按照既定的功能开发流程逐步构建各个章节,创建愿景文档。
按照既定的功能开发流程创建愿景文档。首先,阅读功能开发指南 @~/.local/share/dotfiles/ai/guides/feature-development-process.md,了解愿景文档的结构和方法。
注意:如果项目在 @project/guides/feature-development-process.md 中有本地版指南,也可以参考该版本,以了解针对项目的修改。
重要:首先创建 TODO 列表,用于跟踪愿景文档创建的 5 个阶段。将第一个阶段标记为 "in_progress",其余阶段标记为 "pending"。
愿景文档结构
我们的愿景文档简洁聚焦,通常为 100–150 行,绝不超过 200 行。内容由概括逐步展开到具体细节:
必需章节:
- 清晰的愿景陈述(一句话)
- 目录(包含指向所有主要章节的链接)
- 问题(什么出了问题、影响哪些人、为何重要)
- 解决方案(如何解决、核心理念、关键能力)
- 用户需求(按角色用简明的项目符号列出他们需要完成的事项)
- 未来展望(简要概述,并引用单独的 future.md)
- 范围(明确列出 v1 要交付的内容和不包含的内容)
愿景文档中不应包含:
- 详细的业务论证或 ROI 计算
- 部署细节(在哪里或如何运行——这些属于规格说明)
- 技术实现细节(API、架构模式、架构——这些属于规格说明)
- 详细的用户故事或验收标准(这些属于需求文档)
- 分步骤的工作流或流程(这些属于需求文档)
- 重复陈述相同信息的章节
流程:按顺序完成以下 5 个阶段
阶段 1:问题发现
提出重点明确的问题,以了解:
- 我们要解决什么具体问题?
- 谁会遇到这个问题?他们会受到怎样的影响?
- 当前痛苦或繁琐的流程是什么?
- 不解决这个问题会有什么后果?
一次只问一个问题——等对方回答后再继续。 不要使用官话——语言要自然、直接。
阶段 2:探索解决方案
询问:
- 我们设想如何从高层次解决这个问题?
- 我们的核心理念或方法是什么?
- 我们需要哪些 3–5 项关键能力?
- 这个解决方案有何不同或优势?
阶段 3:用户需求分析
在愿景层面使用合并后的用户角色:
- 最终用户(所有用户类型)
- 管理人员(合并所有员工类型——员工、管理员、组织管理员)
- 产品团队(如相关)
避免细分角色——详细的角色划分应放在需求文档中。
对于每个合并后的角色,只询问:
- 他们需要使用此功能完成什么?
**到此为止。**不要询问“当前的痛点”或“成功后有何不同”——这会与“问题”章节重复,且应放在需求文档中。
阶段 4:未来展望与范围探索
询问:
- 后续阶段可以考虑哪些锦上添花的功能?
- 我们明确要在 v1 中纳入哪些范围?(获取具体细节)
- 我们明确不在 v1 中纳入哪些范围?
关键:详细、具体地了解 v1 实际要交付的内容——这将成为衔接需求文档的桥梁。
阶段 5:文档生成
生成前,务必彻底删去冗余内容:
- 本节是否重复了其他章节的信息?
- 本节是否只是在论证问题本身已经显而易见的内容?
- 这是否属于规格层面的细节(部署、技术架构)?
- 这是否属于需求层面的细节(详细工作流、验收标准)?
然后生成三份文档:
1. vision.md - 精简、聚焦的愿景文档:
- 创建一句清晰的愿景陈述
- 生成包含所有主要章节链接的目录
- 编写愿景文档,并包含具体的范围章节
- 从一般内容(问题、解决方案)逐步深入到具体内容(详细范围)
- 全文遵循“拒绝企业套话”的原则
- 在简短的未来可能性章节中引用 future.md
- 总长度控制在 150 行以内——务必精简
2. future.md - 详细的未来增强计划:
- 创建单独的详细 future.md 文档,列出所有未来功能
- 按阶段组织(阶段 2、阶段 3 等)
- 包含战略性未来愿景(如适用)
3. discussion-summary.md - 持续更新的讨论摘要文档:
- 创建一份统一的讨论摘要,汇总所有阶段的内容
- 包含「愿景阶段」章节,记录所有与愿景相关的讨论
- 为需求、规格和计划阶段设置占位章节
- 在关键决策日志中记录架构决策及其原因
- 记录技术可行性讨论和实现思路
- 记下已发现的技术限制或挑战
- 列出应在需求/规格阶段解决的待解决问题
- 添加「技术背景」章节,记录引用的文件和相关功能
- 设置清晰的章节和目录
- 本文档用于在整个功能生命周期中保存项目知识
关键原则
从一般到具体: 从高层次的问题和解决方案入手,最后以具体的范围细节收尾,自然衔接到需求阶段。
范围章节至关重要: 这里应以具体的列表说明 v1 将交付的内容。可以列出功能、工具或特性。此部分将愿景与需求衔接起来。
但不要包含:
- 部署方式(预发布环境还是生产环境)——这属于规格范畴
- 技术架构细节——这属于规格范畴
- 排除某些内容的理由——只需列出不包含的内容,无须解释
单独整理未来内容: 为所有未来功能创建详细的 future.md 文档。愿景文档中只需简要概述未来规划。
拒绝企业套话: 优先使用人们易懂的表达。语言清晰、简单,避免术语和不必要的复杂措辞。
合并用户角色: 在愿景层面合并用户角色。详细的角色划分应放在需求文档中。
消除冗余(至关重要): 我们是一个重视文档精简易读的小团队。每个章节都必须提供新信息。添加章节前,先问自己:“这是否重复了已有内容?”如果是,就删除。
需要避免的常见冗余模式:
- 只是用企业套话重述问题的“商业论证”
- 重复问题章节中痛点的“后果”章节
- 问题已明确说明影响对象时,另设“受影响人群”章节
- 用多个章节以不同方式罗列收益或价值
- 在用户需求中同时详细列出“当前痛点”和“成功后的变化”(问题章节已涵盖)
保持简短: 愿景文档最多应为 100–150 行。如果超过 200 行,说明内容重复,或包含了规格/需求层面的细节。
指南
- 一次只问一个问题,并等待回复
- 完成每个阶段后更新 TODO 列表
- 提问时保持自然随和,避免官腔
- 聚焦当下有用的信息,避免空话
- 参考提供的任何现有笔记或上下文
- 务实一些——我们是一个重视文档易读、可执行的小团队
- 在需求探索过程中,讨论技术可行性和架构很正常——请记录所有这些内容
- 最后始终创建三份文档:vision.md、future.md 和 discussion-summary.md
入门流程
- 立即创建 5 阶段 TODO 列表
- 询问用户:“你正在处理哪个功能目录?请提供完整路径(例如 project/features/FT033-feature-name)”
- 询问用户:“如果你有现有笔记,请使用 @notes.md 或 @[filename].md 标记,以便我查看”
- 验证目录是否存在,并确认将在此处创建 vision.md、future.md 和 discussion-summary.md
- 查看所有标记的笔记文件
- 使用第一个问题开始第 1 阶段的问题探索
- 提问时聚焦明确的问题,并等待用户回答后再继续下一个问题
- 在对话过程中,记录技术和架构讨论,即使它们不直接写入 vision.md
discussion-summary.md 中需要记录的内容
本文档应采用以下结构,逐步积累各个功能开发阶段的上下文。对于愿景阶段,请创建完整的文档结构:
文档结构:
# Feature Name: Discussion Summary
Living document capturing technical discussions, research, decisions, and
context from all phases of feature development.
## Table of Contents
- [Vision Phase](#vision-phase)
- [Requirements Phase](#requirements-phase)
- [Spec Phase](#spec-phase)
- [Plan Phase](#plan-phase)
- [Key Decisions Log](#key-decisions-log)
- [Technical Context](#technical-context)
## Vision Phase
[Vision phase content goes here]
## Requirements Phase
*To be added during requirements phase.*
## Spec Phase
*To be added during spec phase.*
## Plan Phase
*To be added during plan phase.*
## Key Decisions Log
| # | Decision | Rationale | Phase |
|---|----------|-----------|-------|
[Decisions from vision phase]
## Technical Context
### Files Referenced
[Backend and frontend files referenced]
### Related Features
[Related feature references]
愿景阶段需包含的内容:
- 确认的核心问题及讨论过的所有细节
- 解决方案及其在讨论过程中的演变
- 技术可行性讨论
- 已作出的架构决策及其依据
- 探讨过的实现思路(包括未采用的方案)
- 技术选型及其原因(SDK、框架、协议)
- 确认的技术约束
- 与现有系统的集成点
- 需求或规格阶段的待解决问题
关键决策日志:
- 决策从 1 开始编号
- 包含决策内容、依据以及“Vision”阶段标记
- 后续阶段继续编号
技术上下文:
- 列出讨论中提到的文件(后端和前端路径)
- 记录可能受到影响的相关功能
**目的:**本文档用于在整个功能生命周期中保留项目经验。每个阶段都会添加相应章节,关键决策日志和技术上下文则会在所有阶段持续积累。