关于 discovery
discovery 是将目标整理为规划与验证执行包的工作流技能。它分别委派研究、规划和风险审查,并为 MVP 切片与高风险决策设置不同流程。
主要功能
- 01澄清目标并编写验收示例
- 02委派研究与规划
- 03范围界定前检查现有能力
- 04按风险类别选择流程
- 05生成精简的规划上下文包
适用场景
- 01将模糊目标转为验收示例
- 02探索项目整体改进方向
- 03提出新工作前检查现有机制
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ boshu2/ agentops --skill discovery安装后在 Claude Code 中输入/discovery确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/bead-operationalization.mdbest-practices.mdbrainstorm.featurecomplexity-auto-detect.mddag.mddiscovery.featuregoal-clarification-brainstorm.mdgoal-design-packet-input.mdidea-rubric.mdideation-mode.mdidempotency-and-resume.mdisolation-contract.mdoutput-templates.mdphase-budgets.mdphase-data-contracts.mdred-team-checklist.mdtroubleshooting.mdscripts/mvp-helper-state.shvalidate-contract-fixtures.shvalidate.sh详细介绍
/discovery - 密集探索阶段适配器
吸收的技能(ag-s43tg)
brainstorm(目标与实现的澄清)+ design(产品契合度压力测试)——触发细节见下方“整合的触发范围”部分。
你必须执行此工作流。不要只是描述它。
约束
- 分别委派研究和计划;仅在 MVP 切片模式下委派事前检讨,因为扇出对决已经给出了事前检讨结论。
- 在将新建工作纳入范围之前,先证明某项能力尚不存在,以防重复建设和错误估算全新工作。
- 仅将扇出式/单向门决策交由对决处理;常规 MVP 切片应走有界快速路径。
- 在 MVP 事前检讨失败三次后,恰好运行一轮有界 plan-pawl 辅助流程;遇到
UNSTUCK时继续,只有遇到ESCALATE时才询问人工。
循环位置:第 1 步(将意图塑造成 BDD),以及第 3 步(切片候选项)的种子,见操作循环。 Discovery 会将目标与委派生成的子任务产物,转化为一份密集的执行包,供
/crank和/validate使用。它也是/rpi的敏捷重新规划循环所用的重新规划引擎:初始计划完成后,它仅在收到明确的编排器重新规划请求(其中包含注明来源的 Learn 计划影响包)时运行。**切片候选项应保持精简:**每项只包含一个 Given/When/Then 行为;重构候选项与功能候选项分开——小批次 + 通过后重构,才是承载质量的关键做法,而非测试先行的顺序(Finster 2026,skills/standards/references/agentic-workflow-evidence.md);具约束力的分解规范见/plan(PR-010/PR-011)。
整合的触发范围(brainstorm、design)
Discovery 是退役的独立 brainstorm 和 design 技能(skill-prune 第 2 阶段)的整合目标。遇到以下使用场景时,运行 /discovery:
- Brainstorm — 将目标与实现分开。 在规划前澄清目标:区分 WHAT 与 HOW,在确定解决方案前探索问题空间,并记录 Given/When/Then 验收示例。完整的“意图 → Gherkin → 执行失败 → bead-DAG”契约由
behavior-first-planning负责——当 beads 必须包含可运行的完成标准时,请引用它。开放式构思(生成并筛选、--ideate)见下文开放式路径。 - Design — 在探索前验证产品契合度。 在问题构建、产品/市场契合度检查,或编写探索包及任何代码前检验用户价值时使用。产品验证关卡(PRODUCT.md 对齐、council
--preset=product)作为 Discovery 的条件式设计委派步骤运行。
严格委派契约(默认)
Discovery 将 brainstorm 和 design 作为内部模式(absorbed,ag-s43tg)运行,并通过单独的技能调用委派给 /research、/plan 和 /premortem。严格委派是默认方式。
应拒绝的反模式:将 /research 工作内联(grep + read + synthesize)、将 /plan 合并为内联分解、跳过 /premortem。完整契约、支持的压缩例外(--quick、--skip-brainstorm、--interactive/--auto、--no-scaffold),以及Premortem 反合理化条款(哪些情况不算 premortem:你撰写的内联风险章节、针对输入/前提而非当前计划进行的先前对抗性审查,或“相关 council 已经运行过”),请参阅 ../shared/references/strict-delegation-contract.md。
确定范围之前先重新基线(对于“改进 X”/“构建缺失的 Y”是强制要求):在确定新建范围之前,/research 必须确认该能力确实不存在。--auto 陷阱是作者凭记忆以研究者身份确定“尚未构建的内容”范围,却没有 grep——现有机制就会被重新估算为全新工作。每个“缺少 X”的说法都必须附上证明该说法的搜索;没有搜索 → /premortem 的重新基线检查(2.4–2.8)会 WARN/FAIL。先运行存在性搜索 ms search "<capability phrase>"(ms 可用时的快速路径——command -v ms,或已附加 mcp__ms__search 工具;否则 grep skills/**/SKILL.md + docs/SKILLS.md),并在数据包的重叠/先前成果章节中引用搜索结果。
机械式四杠杆模型以及 scripts/check-skill-isolation.sh 标记的压缩模式,请参阅 references/isolation-contract.md。生命周期原则和反模式引用表,请参阅 references/best-practices.md。
窄腰
Discovery 不会传递子技能的原始输出。它会记录产物路径、裁定、来自 docs/architecture/intent-to-loop-hexagon.md 的 hexagon: 边界块,以及 Context Density Rule 的六个字段:
| 字段 | 含义 |
|---|---|
intent | 要实现的行为或能力 |
boundary | 有界上下文、非目标、写入范围 |
evidence | 验收示例、测试、门禁、裁定 |
decision | 选择此计划形式的原因 |
constraint | 安全、运行时、令牌和流程限制 |
next_action | 准确的 /crank 或后续命令 |
其他所有内容都保留在子产物中,并通过路径链接。
Discovery 到 Plan 的端口
Discovery 与 Plan 之间的边界请使用 Skill Ports and Adapters 术语,以及 Intent-to-Loop Hexagon:
| 边界部分 | Discovery 契约 |
|---|---|
| 入站端口 | 来自操作员目标或 BDD 意图的 shape_intent |
| 出站端口 | 进入 /plan 的 plan_slices |
| 驱动适配器 | /discovery 技能调用 |
| 被驱动适配器 | /plan 技能调用及 br/file 持久化 |
| 上下文数据包 | 密度块、产物链接、验收示例、非目标、约束 |
| 守护适配器 | 数据包交接前的 plan-pawl duel 裁定(fanout)或 /premortem 裁定(MVP-slice) |
可执行验收:references/discovery.feature — Discovery 通过 plan_slices 端口传递密集意图(从内联内容提升;soc-qk4b.2)。
目标设计数据包输入(intent.md + driver.md)使用 references/goal-design-packet-input.md:在研究之前运行检查器;检查失败即阻断;通过检查的数据包用于填充密度字段和候选切片种子,而非替代 /plan。
Plan-Pawl 对决门禁
风险等级路由:MVP 垂直切片与扇出(先做决定)
辩论只针对不可逆决策,而非每个切片。先进行路由:
- 扇出类(架构分支、不可逆决策、跨 Agent 协调契约、产品决策):运行下方的计划棘轮辩论——对 PLAN 工件使用
multi-model棘轮(docs/contracts/pawls.md)。 它将旧版单裁判 Codex 扇出审批与/premortem评审会合并为一个跨模型系列的门禁(--duel,扇出工作/--complexity=full时自动启用)。 - MVP 垂直切片(常规运行时/CLI 工作的默认选项):跳过辩论(
--no-duel)。在严格限时内运行发现 DAG——约 15 分钟发现,约 90 分钟切片——然后停止;切片只进行内联--quick事前验尸。切片过程中发现的工作应成为后续 beads,绝不能并入当前 bead。
计划棘轮只把关计划结构,绝不把关行为:2026-06-12 的运行时审查发现,一套连贯的扇出+审批仍漏掉了一个授权绕过问题,而一次对抗性测试本可发现此问题(经验总结)。
门禁(仅适用于扇出类工作)
在 /plan 创建 beads 之前插入辩论。双裁判 ApprovalEdge 结构见
docs/contracts/codex-fanout-approval-packet.md;
DAG 步骤是 references/dag.md 中的 STEP 3.5。
- 至少编写三个独立的
PerspectivePlan工件,采用不同视角(产品/用户价值、架构/门禁完整性、运维/迁移)。 - 将其筛选整合为一个
SynthesisPacket(选定的计划、否决的替代方案、理由、待解决问题、风险)。 - 运行跨模型系列的 DUEL:两个来自不同模型系列的裁判窗格(例如通过
agent-native和ntm使用 Claude + Codex,采用--no-user,并通过构造确保使用全新上下文)分别在.agents/duel/<run-id>/中写入一份裁判结论。 - 以确定性方式做出决定——绝不亲自查看窗格:
ao plan-pawl decide --dir .agents/duel/<run-id> --round <N> --max-rounds <duel-rounds>。 退出码 0PASS(法定人数:没有 FAIL,且至少有两个不同的模型系列)→/plan;退出码 3REDO→ 自动重做(FAIL 会重新综合;机械性 WARN 会自动应用并重新裁判;判断性 WARN 会被呈现出来,但不阻塞);退出码 4BLOCKED→ 断路器触发(轮次 > max/判断标记/结果振荡),停止(安灯)。 - 持久化辩论
ApprovalEdge(两个裁判窗格、duel_verdict_dir、决定)。对于扇出工作,这份结论就是事前验尸结论——不要再进行第二次评审会。
审批证据必须在工作树之外留存:在受门禁约束的 bead/epic 关闭之前,将评审会/辩论工件(或精简的证明包)镜像到受版本控制的持久存储位置(见 codex-exec)——临时工作树中的 .agents/ 会被忽略。
开放式路径(generate-winnow → operationalize → refine)
这是对默认流程的补充,不会取代严格委派约定或工件优先 DAG。 对开放式的“改进项目”类目标(
"improve the project"、"what should we build next"、"make X more robust")或传入--ideate时,将启用此路径。对于具体目标,默认流程(brainstorm-clarify → research → plan → premortem)保持不变。
在开放式路径中,Discovery 会在研究/规划之前加入 generate-winnow 方法,并在规划之后增加两个步骤。完整详情见 references/bead-operationalization.md 和 references/ideation-mode.md。
- 构思(委派给
brainstorm --ideate)。 以构思模式调用brainstorm(必须实际调用技能——严格委派仍然适用;切勿内联生成 30 个创意)。它会返回按优先级排列的 15 个创意组合(前 5 个 + 后续 10 个),并附带 how/perceive/implement 说明、评分标准得分和红队调查结果。 - 研究 + 计划-pawl 对决 + 规划。 围绕选定的创意组合开展研究。开放式/高风险工作属于扇出类别:生成
PerspectivePlan工件和SynthesisPacket,然后在/plan创建跟踪器行之前运行 STEP 3.5 plan-pawl 对决(两个不同的家族,ao plan-pawl decide)——对决结论取代 premortem。然后针对已批准的数据包运行常规的工件优先 DAG,而不是围绕单一目标运行。 - 落地。 将按优先级排列的创意组合转化为全面、细粒度的自说明 beads——任务、子任务、依赖关系结构(
ao beads exec dep add),以及明确的测试任务(单元测试 + e2e,附详细日志)。每个 bead 都包含内容/原因/方式/风险/成功标准,无需再查阅原始规划 Markdown。创建前应与现有 beads 核对重叠项(ao beads exec list --json)——合并,不要重复创建。 - 在规划空间中迭代完善(4-5 轮)。 将数据包交给
/crank之前,针对 bead 集合运行 4-5 轮完善流程。每轮都要:重新阅读 AGENTS.md(尤其是在上下文压缩之后),检查每个 bead 的合理性和最优性,并且切勿过度简化/切勿丢失功能或特性。轮次之间进行验证(不得存在依赖循环;每个叶节点都可通过ao beads exec ready执行)。
跟踪使用
br,并通过bv进行分流——这是 AgentOps。落地和完善步骤会使用brainstorm的构思输出;参见references/bead-operationalization.md。
此路径的可执行验收标准:references/discovery.feature(构思/落地/完善场景,ag-yw0)。
执行
运行 references/dag.md 中的工件优先 DAG。该 文件定义可执行工作流、状态结构、关卡详情、各步骤详情, 以及验收标准 YAML 约定。
标志
| 标志 | 默认值 | 描述 |
|---|---|---|
--auto | on | 完全自主运行(无需人工把关)。与 --interactive 互为反向设置。传递给 /research 和 /plan。 |
--interactive | off | 在研究和计划阶段设置人工把关(STEP 3、STEP 4)。不影响事前验尸把关。 |
--skip-brainstorm | auto | 当目标已经明确时,跳过 STEP 1 头脑风暴 |
--ideate | auto | 强制采用开放式生成筛选路径:委派给 brainstorm --ideate(30→5→15),然后将其转化为自我文档化的 br beads,并在计划空间中迭代优化 4-5 次。开放式目标会自动启用。参见开放式路径。 |
--complexity=<level> | auto | 强制设定复杂度级别(fast / standard / full) |
--no-budget | off | 禁用阶段时间预算 |
--no-scaffold | off | 跳过 STEP 4.5 中的脚手架自动调用 |
--duel | auto | 在 STEP 3.5 运行 plan-pawl 跨系列对决。对于 fanout 类和 --complexity=full,会自动启用;其他情况需选择启用。取代单评审员的 fanout 审批和事前验尸评审组。 |
--no-duel | off | 跳过对决(MVP-slice 类):如需审批,则使用单个 Fable ApprovalEdge,并在 STEP 5 执行内联的 --quick 事前验尸。 |
--duel-rounds=<N> | 3 | 达到最大尝试次数后触发熔断器之前的对决最大轮数(ao plan-pawl decide --max-rounds)。 |
快速开始
/discovery "add user authentication" # full discovery
/discovery --interactive "refactor payment module" # human gates in research + plan
/discovery --skip-brainstorm "fix login bug" # skip brainstorm for specific goals
/discovery --complexity=full "migrate to v2 API" # force full council ceremony
输出规范
- 路径: 子产物位于
.agents/research/、.agents/plans/和.agents/council/下;密集数据包和摘要位于.agents/rpi/下;承载关键内容的切片位于解析后的跟踪器中。 - 文件名: 最新版/每次运行的数据包使用
execution-packet.json,简明摘要使用phase-1-summary-YYYY-MM-DD-<goal-slug>.md;保留各技能返回的子产物名称。 - 格式: 向 stdout 输出简明 Markdown 摘要,并附带符合架构规范的 JSON 数据包,其中包含密度字段、产物链接、验收示例、约束、可选史诗 ID、跟踪器模式和下一步操作。
- 退出代码: 运行
bash skills/discovery/scripts/validate.sh并要求其返回零;对于 beads,要求ao beads exec show <epic_id>能解析 Gherkin 切片;对于 tasklist 模式,则要求.agents/rpi/tasklist.md包含 epic、slice 和 Given/When/Then 标记。 - 下游交接: 将密集数据包和符合模式的跟踪器证据传递给
/crank和/validate;原始子输出仍链接在各自的产物中。
质量检查清单
- 每项能力缺口声明都引用能够区分待开发工作与现有机制的搜索结果。
- 数据包保留可测试的 Given/When/Then 行为、非目标、证据、约束和一项确切的下一步操作,不嵌入原始子流程记录。
- 风险分类与所用把关方式相符;在计划切片存在于当前跟踪器之前,不可能标记为
DONE。
完成标记
<promise>DONE</promise> # Discovery complete AND persisted: beads mode requires a resolvable epic_id plus Gherkin-bearing child slices; tasklist mode requires .agents/rpi/tasklist.md with epic, slice, and Given/When/Then markers.
<promise>BLOCKED</promise> # Report the actual class: fanout/hard gates may block directly; an ordinary MVP breaker blocks only after its bounded helper returns ESCALATE.
故障排查
阅读 references/troubleshooting.md,了解常见问题及解决方案。
参考文档
- references/goal-clarification-brainstorm.md — 已吸收的头脑风暴内容(四阶段澄清 + 创意漏斗)
- references/idea-rubric.md — 已吸收的头脑风暴创意评估标准
- references/brainstorm.feature — 已吸收的头脑风暴可执行规范
- references/red-team-checklist.md — 已吸收的头脑风暴红队检查清单
- references/dag.md — 可执行工作流、状态结构、关卡详情、各步骤详情、验收标准 YAML 契约
- references/complexity-auto-detect.md — 关键词与问题数量分类的优先级契约
- references/idempotency-and-resume.md — 重运行安全性与恢复行为
- references/phase-budgets.md — 各复杂度级别的时间预算
- references/troubleshooting.md — 常见问题与解决方案
- references/output-templates.md — 执行数据包与阶段摘要格式
- references/phase-data-contracts.md — 阶段产物数据契约(引自 references/isolation-contract.md) 另请参阅: research、plan、premortem、crank、rpi、scaffold