用途:openspec-explore 是 OpenSpec 的探索模式技能,面向“想清楚再动手”的场景。它作为思考伙伴,帮助用户探索问题空间、挑战假设、重新界定问题、调研代码库、梳理现有架构与集成点,并可视化系统、状态机、数据流、依赖关系与方案对比。
能力与边界:它可读取文件、搜索代码、调研代码库,但绝不写代码或实现功能。用户若要求实现,应提醒退出探索模式并先创建变更提案。它可在用户要求下创建 OpenSpec 产物(提案、设计、规格),这属于记录思考而非实现。探索没有固定步骤、必需顺序或强制产出。
存储选择:若用户指定 store(本机注册的独立 OpenSpec 仓库)或工作位于其中,先运行 openspec store list --json 获取已注册 store id,再在读写规格与变更的命令上附加 --store <id>(如 new change、status、instructions、list、show、validate、archive、doctor、context、view),并在后续保持该参数;未指定时命令作用于最近的本地 openspec/ 根目录。其他命令不接收该参数。
上下文:开始时可用 openspec list --json 查看是否存在活跃变更及其名称、schema 与状态;随后读取解析根目录下的 openspec/config.yaml 或 config.yml,其 context 为项目背景、rules 按产物 id 区分,仅在写入对应产物时适用,这些是约束而非可复制内容。
捕获流程:用户要求把探索记录为新变更时,先运行 openspec new change "<name>"(适用时带 --store <id>)生成脚手架,不要手工创建 openspec/changes/ 下的变更目录;再运行 openspec status --change "<name>" --json,按依赖顺序对就绪产物运行 openspec instructions "<artifact-id>" --change "<name>" --json,并依模板与说明写入 resolvedOutputPath,完成后复查状态。若请求产物仅因刻意跳过的条件性前置而被阻塞,可按规则继续创建;若被未请求且不可条件跳过的前置阻塞,应先说明并询问。
已有的变更:通过 openspec status --change "<name>" --json 获取 changeRoot、artifactPaths 与 actionContext,读取 artifactPaths.<artifact>.existingOutputPaths 中的现有文件并在对话中自然引用;当形成新需求、设计决策、范围变化或新任务时,可询问是否分别写入 specs/<capability-path>/spec.md、design.md、proposal.md 或 tasks.md,由用户决定,不自动捕获。
限制:不实现、不臆造理解、不急于下结论、不强制结构、不自动记录,手工脚手架被明确禁止;是否产出结论、是否保持聚焦均由探索过程决定。具体收费与平台信息资料未提供。