关于 lcs-explore
LCS Explore 是用于需求探索的交互式技能,帮助团队在创建 PRD 前澄清用户意图、比较方案并记录决策。它将问题、预期结果与解决方向区分开,并把确认后的探索结果保存为工作项文档。
主要功能
- 01通过结构化访谈澄清用户意图
- 02按复杂度探索方案与权衡
- 03记录决策、假设、风险和需求来源
- 04生成 explore.md 与 intent.md
- 05更新工作项阶段并交接至 lcs-toprd
适用场景
- 01在编写 PRD 前梳理模糊需求
- 02比较存在明显权衡的产品方案
- 03记录约束、非目标和待解决问题
- 04将确认的意图交接给 PRD 阶段
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mdhb2/ lean-coding-skills --skill lcs-explore安装后在 Claude Code 中输入/lcs-explore确认已加载。
附带文件references/interview-protocol.md
详细介绍
LCS Explore
共享约定
遵循 ../lcs-shared/contract.md 中的以下规范:
- 文件夹约定,
- OKF 前置元数据,
- 工件写入安全规范,
- Source of Truth 规则,
- 稳定 ID,
- Handoff 格式。
Chain of Truth 级别:轻量。
目的
- 在创建 PRD 前明确用户意图。
- 探索有意义的备选方案及权衡。
- 通过结构化的互动式头脑风暴消除重大不确定性。
- 区分用户的初始请求、实际问题、细化后的意图以及最终的解决方案方向——不要将建议的解决方案视为问题定义。
- 通过访谈发现并细化用户意图,而不是预先假定意图。
- 按复杂性、模糊性和风险的程度探索解决方案备选方案;优先选择能够在已知约束内充分解决经验证问题的最简单方案。
- 记录决策、假设、风险和稳定的源需求。
- 将结果保存为:
.lcs/work-items/{timestamp}-{slug-work-item}/explore.md.lcs/work-items/{timestamp}-{slug-work-item}/intent.md - 不要创建 PRD、任务、生产代码或补丁。
必需的参考资料
开始互动式探索会话前,请阅读:
references/interview-protocol.md
生成 explore.md 时,请阅读:
../lcs-shared/templates/explore.template.md
生成 intent.md 时,请阅读:
../lcs-shared/templates/intent.template.md
在常规访谈轮次中不要加载工件模板,除非即将生成相应工件。
工作流
- 根据用户意图确定一个简洁的工作名称。
- 如果
.lcs/state.md存在,继续之前先阅读。 - 空白工作项复用:如果已选定工作项(已设置
current_work),且其phase: new、目录中没有主要产物,并且用户显然是在继续同一个命名工作,则复用现有 ID/路径。不要生成第二个带时间戳的目录。将explore.md写入现有路径,并按照同步规则将阶段设为explore。 - 如果未选定工作项,或用户确实要开始一项全新的工作,则在进行状态转换之前或同时创建并登记新的工作项。
- 评估主题的复杂度。
- 推荐一个探索级别:
- 简单
- 中等
- 困难
- 自动
- 让用户选择级别。
- 如果用户手动选择的级别明显低于或高于推荐级别:
- 简要说明不匹配之处,
- 提醒可能造成的后果,
- 询问用户是保留当前选择还是切换。
- 未经确认,绝不要覆盖用户手动选择的级别。
- 使用
references/interview-protocol.md进行访谈。 - 每轮提出 3 个相关且有较高价值的问题。前几轮应优先厘清实际问题和预期结果,再确定解决方案——如果用户的初始请求已明确提出某个解决方案(例如“添加 Excel 导出”),应先询问为什么需要它、它要解决什么问题,再将其视为需求。
- 每轮之后:
- 解读回答,
- 区分已确定的决策和尚未解决的问题,
- 分别更新对问题、意图和解决方案方向的理解,
- 提供 1-3 行回顾,
- 更新剩余的不确定事项,
- 更新大致进度。
- 持续推进,直至:
- 工作内容已达到编写 PRD 的条件,
- 达到所选的问题数量上限,
- 或出现阻碍,无法负责任地继续推进。
- 问题数量不能决定是否已达到编写 PRD 的条件。
- 相关情况下(存在非简单的歧义、复杂性或风险),应在提出新方案前调查现有系统的能力,并记录相关替代方案及其权衡。对于简单、低风险的更改(例如更改标签),则跳过此步骤——不要在解决方案显而易见时强行探索方案。
- 最终确定前,向用户重述已理解的问题、拟议结果、约束条件和范围之外的事项,并让用户有机会纠正重大误解。不要将用户的沉默视为对重大决策的认可。
- 主要探索结束时,让用户选择:
- 完成探索并移交以编写 PRD,
- 再增加一轮,
- 深入探讨特定领域,
- 提高探索级别。
- 用户结束探索后:
- 阅读
../lcs-shared/templates/explore.template.md, - 综合整理完整的
explore.md产物, - 持久化保存
explore.md, - 阅读
../lcs-shared/templates/intent.template.md, - 根据已确认的问题、拟议结果、受影响的用户/系统、约束条件、范围之外的事项和未解决问题,综合整理
intent.md, - 如果符合下方的就绪规则,将 Intent Status 设为
confirmed;否则设为refining(若重大歧义阻碍后续工作,则设为blocked), - 持久化保存
intent.md, - 更新
.lcs/state.md, - 移交给
lcs-toprd。
- 阅读
探索优先级
优先提出能最大程度消除重大不确定性的问题。
通常应考虑以下方面:
- 问题和预期结果,
- 用户和参与者,
- 必须具备的行为,
- 现有系统的约束,
- 架构和数据流,
- 集成,
- 用户体验预期,
- 安全和隐私,
- 部署/运行时,
- 规模/性能,
- 替代方案和权衡,
- 明确的非目标。
不要机械地询问每个类别。
不要询问以下来源中已知答案的问题:
- 用户当前的输入,
- 之前几轮的内容,
- 现有的事实依据(Source of Truth)产物。
自适应行为
每轮结束后,重新评估哪些内容仍然重要。
如果某个答案使后续问题变得无关紧要:
- 删除无关的问题,
- 不要重复提问,
- 调整下一轮。
如果用户只回答了某一轮中的部分问题:
- 保留已确定的答案,
- 仅将尚未回答且重要的内容标记为未解决,
- 不要重复整轮问题。
如果用户没有选择 A-D,而是给出自定义答案:
- 接受该答案,
- 忠实地进行理解,
- 不要强行将其归入现有选项。
决策规范
将已达成一致的决策与以下内容分开:
- 假设,
- 建议,
- 未解决的问题。
每项已达成一致且意味着产品、行为、界面、数据、安全或运营要求的决策,都必须作为一条原子化、稳定的 SRC-### 条目纳入 Decision Ledger。
规则:
- 一个问题可以产生多条
SRC-###条目, - 一轮可以产生零条、一条或多条
SRC-###条目, - 不要凭空认定已达成一致,
- 保留现有 ID,
- 将未解决的假设标记为
[verified]或[unverified]。
PRD 就绪度
只有满足以下条件时,才将探索视为已达到 PRD 就绪状态:
- 预期成果明确,
- 主要约束已知,
- 已考虑有意义的选项及其权衡,
- 重要风险和假设清晰可见,
- 未解决的问题不会阻碍后续工作,或已明确记录并留待后续处理,
- 已达成一致的需求已记录为稳定的
SRC-###条目。
问题预算已用完,并不意味着自动达到 PRD 就绪状态。
如果主要预算结束时仍存在重要的不确定性:
- 说明剩余的不确定性,
- 报告当前 PRD 就绪度,
- 建议再进行一轮或开展有针对性的深入探讨。
意图就绪度
只有满足以下条件时,才将 intent.md 标记为 confirmed:
- 能够清楚陈述 Problem,且它有别于任何拟议解决方案,
- Proposed Outcome 明确,
- Affected Users/Systems 已充分明确,
- 重要的 Constraints 已知,
- 已识别重要的 Out of Scope 项目,
- 不存在会实质阻碍 PRD 工作的未解决歧义,
- 用户有机会纠正 Agent 对其意图的理解,
- 没有将关键假设伪装成已确认的意图。
无需解决所有 Open Questions——不会阻碍工作的非关键问题可以留待后续处理。
上述条件尚未满足时,使用 refining;存在会阻碍下游工作的重大歧义时,使用 blocked;只有后续 Intent 取代当前 Intent 时,才使用 superseded。
完成
探索结束时:
- 使用规范的共享模板生成
explore.md。 - 使用规范的共享模板生成
intent.md,并复用访谈中已确认的 Problem、Proposed Outcome、Constraints 和 Out of Scope——如果 Explore 已得出更准确的表述,不要将用户最初的原始请求重新表述为 Problem。 - 遵循
../lcs-shared/contract.md中的 Artifact Writing Safety。 - 更新
.lcs/state.md,包括:current_phase: explorecurrent_work: {timestamp}-{slug-work-item}work_items[state.current_work].phase = explorework_items[state.current_work].updated_at = <current-ISO-timestamp>last_session_note: <brief summary>timestamp: <current-ISO-timestamp>
- 最后提供交接建议,推荐使用
lcs-toprd,并将intent.md纳入 Source of Truth Bundle。
如果无法访问文件系统或代码仓库:
- 在聊天中提供完整的产物,
- 标记文件和状态操作未执行,
- 绝不要声称读取或写入了实际上并未读取或写入的文件。
事实链
级别:Light
公开以下内容:
- 已检查的来源,
- 假设,
- 执行的操作,
- 验证状态,
- 风险。
不要公开隐藏的思维链。
事实链级别
级别:Light