Browse Source

Merge pull request #771 from alvinunreal/v2.5

feat: add verification planning skill
Alvin 3 weeks ago
parent
commit
eb87baf484

+ 8 - 1
README.ja-JP.md

@@ -198,6 +198,7 @@ V2 は oh-my-opencode-slim を、スケジューラー中心のマルチエー
 - **[バックグラウンドエージェント](#バックグラウンドエージェント)** - Orchestrator は専門家をバックグラウンドタスクとしてディスパッチし、タスク/セッション ID を追跡し、完了イベントを待ってから結果を整合します。
 - **[Companion](#companion)** - 任意のフローティングデスクトップウィンドウが、並列実行中のバックグラウンド専門家を含め、現在アクティブなエージェントを表示します。
 - **[Deepwork](#deepwork)** - 大規模、多ファイル、高リスク、または段階的なコーディング作業向けの構造化ワークフローです。永続的な計画ファイルと Oracle レビューゲートを使用します。
+- **[検証計画](#検証計画)** - 自明でない実装の前にプロジェクト固有の証拠経路を計画し、システムをエージェントにとってより判読可能にする検証機能も扱います。
 - **[Reflect](#reflect)** - 繰り返される作業パターンを振り返り、再利用可能な skill、エージェント、コマンド、設定ルール、プロンプトルール、プロジェクト playbook を提案します。
 - **[Worktrees](#worktrees)** - 複雑、高リスク、または並列タスク向けに、安全プロトコル付きの隔離されたコーディング lane として Git worktree を管理します。
 - **[oh-my-opencode-slim Skill](#oh-my-opencode-slim-skill)** - モデル、プロンプト、カスタムエージェント、MCP アクセス、プリセット、プラグイン動作を安全に調整するための同梱設定 skill です。
@@ -237,6 +238,12 @@ Deepwork は、大規模リファクタリング、多段階機能、高リス
 
 いつ使うべきか、ワークフローがどのように動くかは **[Skills](docs/skills.md#deepwork)** を参照してください。
 
+#### 検証計画
+
+検証計画は、自明でない変更を実装する前に、その変更をどう証明するかを Orchestrator が決めるための skill です。成立させる主張を定め、プロジェクト固有の証拠経路を設計し、システムが決定的な状態をエージェントへ直接示せない場合には、小さな検証機能を作れます。不慣れな機能を扱うときは、方針を選ぶ前に Librarian に焦点を絞った調査を依頼します。
+
+証拠経路のワークフローと安全境界は **[Skills](docs/skills.md#verification-planning)** を参照してください。
+
 #### Reflect
 
 Reflect は、Orchestrator が繰り返し発生するワークフロー上の摩擦から学ぶのを助けます。最近の作業と既存の資産を確認し、skill、カスタムエージェント、コマンド、設定ルール、プロンプトルール、MCP 権限変更、プロジェクト playbook の中から、最小で有用な改善を提案します。十分な証拠がない場合は、何も作成しないことを推奨します。
@@ -646,7 +653,7 @@ Worktrees は、Git worktree を `.slim/worktrees/<slug>/` 配下の安全で隔
 | **[Configuration](docs/configuration.md)** | 設定ファイルの配置場所、JSONC サポート、プロンプトの上書き、全オプションのリファレンス |
 | **[Background Orchestration](docs/background-orchestration.md)** | ネイティブのバックグラウンドサブエージェントを中心にした、スケジューラー優先の Orchestrator モデル |
 | **[Maintainer Guide](docs/maintainers.md)** | Issue のトリアージルール、ラベルの意味、サポートの振り分け、リポジトリ運用ワークフロー |
-| **[Skills](docs/skills.md)** | `simplify`、`codemap`、`clonedeps`、`deepwork`、`reflect`、`worktrees`、`oh-my-opencode-slim` などの同梱スキル |
+| **[Skills](docs/skills.md)** | `simplify`、`codemap`、`clonedeps`、`deepwork`、`verification-planning`、`reflect`、`worktrees`、`oh-my-opencode-slim` などの同梱スキル |
 | **[MCPs](docs/mcps.md)** | `websearch`、`context7`、`gh_grep`、およびエージェントごとの MCP 権限の仕組み |
 | **[Tools](docs/tools.md)** | `webfetch`、LSP ツール、コード検索、フォーマッターなどの組み込みツール機能 |
 

+ 8 - 1
README.ko-KR.md

@@ -196,6 +196,7 @@ V2는 oh-my-opencode-slim을 스케줄러 중심의 멀티 에이전트 워크
 - **[백그라운드 에이전트](#백그라운드-에이전트)** - Orchestrator가 전문가를 백그라운드 작업으로 디스패치하고, 작업/세션 ID를 추적하며, 완료 이벤트를 기다린 뒤 결과를 조정합니다.
 - **[Companion](#companion)** - 선택 사항인 플로팅 데스크톱 창이 병렬 백그라운드 전문가를 포함해 현재 활성 에이전트를 보여줍니다.
 - **[Deepwork](#deepwork)** - 대규모, 다중 파일, 위험도가 높거나 단계적인 코딩 작업을 위한 구조화된 워크플로입니다. 지속적인 계획 파일과 Oracle 리뷰 게이트를 사용합니다.
+- **[검증 계획](#검증-계획)** - 복잡한 구현 전에 프로젝트별 증거 경로를 계획하고, 시스템을 에이전트가 더 잘 이해할 수 있도록 검증 기능을 마련합니다.
 - **[Reflect](#reflect)** - 반복되는 작업 패턴을 돌아보고 재사용 가능한 skill, 에이전트, 명령, 설정 규칙, 프롬프트 규칙, 프로젝트 playbook을 제안합니다.
 - **[Worktrees](#worktrees)** - 복잡하거나 위험하거나 병렬로 진행되는 작업을 위해 Git worktree를 안전 프로토콜이 있는 격리된 코딩 lane으로 관리합니다.
 - **[oh-my-opencode-slim Skill](#oh-my-opencode-slim-skill)** - 모델, 프롬프트, 커스텀 에이전트, MCP 접근, 프리셋, 플러그인 동작을 안전하게 조정하는 번들 설정 skill입니다.
@@ -235,6 +236,12 @@ Deepwork는 대규모 리팩터링, 다단계 기능, 위험한 아키텍처 변
 
 사용 시점과 워크플로 동작 방식은 **[Skills](docs/skills.md#deepwork)** 를 참고하세요.
 
+#### 검증 계획
+
+검증 계획은 복잡한 변경을 구현하기 전에 그 변경이 어떻게 입증될지를 Orchestrator가 결정하도록 돕는 skill입니다. 성립해야 할 주장을 정하고 프로젝트별 증거 경로를 설계하며, 시스템이 결정적인 상태를 에이전트에게 직접 보여줄 수 없을 때는 작은 검증 기능을 만들 수 있습니다. 익숙하지 않은 기능을 다룰 때는 접근 방식을 고르기 전에 Librarian에게 집중적인 조사를 맡깁니다.
+
+증거 경로 워크플로와 안전 경계는 **[Skills](docs/skills.md#verification-planning)** 를 참고하세요.
+
 #### Reflect
 
 Reflect는 Orchestrator가 반복되는 워크플로 마찰에서 배우도록 돕습니다. 최근 작업과 기존 자산을 검토한 뒤 skill, 커스텀 에이전트, 명령, 설정 규칙, 프롬프트 규칙, MCP 권한 변경, 프로젝트 playbook 중 가장 작고 유용한 개선안을 제안합니다. 근거가 부족하면 아무것도 만들지 않는 것을 권장해야 합니다.
@@ -644,7 +651,7 @@ Worktrees는 Git worktree를 `.slim/worktrees/<slug>/` 아래의 안전하고 
 | **[Configuration](docs/configuration.md)** | 설정 파일 위치, JSONC 지원, 프롬프트 오버라이드, 전체 옵션 레퍼런스 |
 | **[Background Orchestration](docs/background-orchestration.md)** | 네이티브 백그라운드 서브에이전트를 기반으로 한 스케줄러 우선 Orchestrator 모델 |
 | **[Maintainer Guide](docs/maintainers.md)** | 이슈 트리아지 규칙, 라벨 의미, 지원 라우팅, 저장소 유지보수 워크플로우 |
-| **[Skills](docs/skills.md)** | `simplify`, `codemap`, `clonedeps`, `deepwork`, `reflect`, `worktrees`, `oh-my-opencode-slim` 등 번들된 스킬 |
+| **[Skills](docs/skills.md)** | `simplify`, `codemap`, `clonedeps`, `deepwork`, `verification-planning`, `reflect`, `worktrees`, `oh-my-opencode-slim` 등 번들된 스킬 |
 | **[MCPs](docs/mcps.md)** | `websearch`, `context7`, `gh_grep` 및 에이전트별 MCP 권한 동작 방식 |
 | **[Tools](docs/tools.md)** | `webfetch`, LSP 도구, 코드 검색, 포매터 등 내장 도구 기능 |
 

+ 16 - 1
README.md

@@ -209,6 +209,9 @@ verification while specialists do the work in their own lanes.
   agents are currently active, including parallel background specialists.
 - **[Deepwork](#deepwork)** - a structured workflow for large, multi-file, risky,
   or phased coding work using persistent plan files and Oracle review gates.
+- **[Verification Planning](#verification-planning)** - plans a project-specific
+  evidence path before non-trivial implementation, including verification
+  affordances when the system needs to become more legible to an agent.
 - **[Reflect](#reflect)** - reviews repeated work patterns and suggests reusable skills,
   agents, commands, config rules, prompt rules, or project playbooks.
 - **[Worktrees](#worktrees)** - manages Git worktrees as isolated coding lanes
@@ -263,6 +266,18 @@ Start it with:
 See **[Skills](docs/skills.md#deepwork)** for when to use it and how the workflow
 runs.
 
+#### Verification Planning
+
+Verification Planning gives the Orchestrator a way to decide how a non-trivial
+change will be proven before implementation begins. It frames the claim, designs
+project-specific evidence paths, and can create a small verification affordance
+when the system cannot directly reveal the decisive state to an agent. For
+unfamiliar capabilities, it asks the Librarian for focused research before
+choosing an approach.
+
+See **[Skills](docs/skills.md#verification-planning)** for the evidence-path
+workflow and its safety boundaries.
+
 #### Reflect
 
 Reflect helps the Orchestrator learn from repeated workflow friction. It reviews
@@ -681,7 +696,7 @@ Use this section as a map: start with installation, then jump to features, confi
 | **[Project Customization](docs/project-local-customization.md)** | Repository-specific custom agents, prompt overrides, per-agent skills, and precedence |
 | **[Background Orchestration](docs/background-orchestration.md)** | Scheduler-first orchestrator model built around native background subagents |
 | **[Maintainer Guide](docs/maintainers.md)** | Issue triage rules, label meanings, support routing, and repo maintenance workflow |
-| **[Skills](docs/skills.md)** | Bundled skills such as `simplify`, `codemap`, `clonedeps`, `deepwork`, `reflect`, `worktrees`, and `oh-my-opencode-slim` |
+| **[Skills](docs/skills.md)** | Bundled skills such as `simplify`, `codemap`, `clonedeps`, `deepwork`, `verification-planning`, `reflect`, `worktrees`, and `oh-my-opencode-slim` |
 | **[MCPs](docs/mcps.md)** | `websearch`, `context7`, `gh_grep`, and how MCP permissions work per agent |
 | **[Tools](docs/tools.md)** | Built-in tool capabilities like `webfetch`, LSP tools, code search, and formatters |
 

+ 8 - 1
README.zh-CN.md

@@ -191,6 +191,7 @@ V2 将 oh-my-opencode-slim 变成了以调度器为核心的多智能体工作
 - **[后台智能体](#后台智能体)** - Orchestrator 现在会把专家作为后台任务派发,跟踪任务/会话 ID,等待完成事件,并在继续之前整合结果。
 - **[Companion](#companion)** - 可选的浮动桌面窗口会显示当前活跃的智能体,包括并行运行的后台专家。
 - **[Deepwork](#deepwork)** - 面向大型、多文件、高风险或分阶段编码工作的结构化工作流,使用持久化计划文件和 Oracle 评审关卡。
+- **[验证规划](#验证规划)** - 在非平凡实现前规划项目特定的证据路径;当系统需要更易被智能体理解时,可加入验证能力。
 - **[Reflect](#reflect)** - 回顾重复出现的工作模式,并建议可复用的 skill、智能体、命令、配置规则、提示词规则或项目 playbook。
 - **[Worktrees](#worktrees)** - 将 Git worktree 作为隔离编码通道管理,并为复杂、高风险或并行任务提供安全协议。
 - **[oh-my-opencode-slim Skill](#oh-my-opencode-slim-skill)** - 随包提供的配置技能,可安全调优模型、提示词、自定义智能体、MCP 访问、预设和插件行为。
@@ -230,6 +231,12 @@ Deepwork 适用于重型编码会话:大范围重构、多阶段功能、高
 
 何时使用以及工作流如何运行,请参阅 **[Skills](docs/skills.md#deepwork)**。
 
+#### 验证规划
+
+验证规划让 Orchestrator 在开始非平凡实现前,先决定如何证明变更有效。它会界定要成立的主张、设计项目特定的证据路径;当系统无法直接向智能体揭示决定性状态时,还可创建小型验证能力。面对不熟悉的能力时,它会在选择方案前请 Librarian 做有针对性的研究。
+
+证据路径工作流及其安全边界见 **[Skills](docs/skills.md#verification-planning)**。
+
 #### Reflect
 
 Reflect 帮助 Orchestrator 从重复出现的工作流摩擦中学习。它会回顾近期工作和现有资产,然后建议最小且有用的改进:skill、自定义智能体、命令、配置规则、提示词规则、MCP 权限变更或项目 playbook。如果证据不足,它应建议什么都不创建。
@@ -639,7 +646,7 @@ Worktrees 将 Git worktree 作为安全、隔离的编码通道管理,默认
 | **[配置](docs/configuration.md)** | 配置文件位置、JSONC 支持、提示词覆盖和完整选项参考 |
 | **[后台编排](docs/background-orchestration.md)** | 围绕原生后台子智能体构建的调度器优先 Orchestrator 模型 |
 | **[维护者指南](docs/maintainers.md)** | issue 分流规则、标签含义、支持路由和仓库维护工作流 |
-| **[Skills](docs/skills.md)** | `simplify`、`codemap`、`clonedeps`、`deepwork`、`reflect`、`worktrees` 和 `oh-my-opencode-slim` 等捆绑技能 |
+| **[Skills](docs/skills.md)** | `simplify`、`codemap`、`clonedeps`、`deepwork`、`verification-planning`、`reflect`、`worktrees` 和 `oh-my-opencode-slim` 等捆绑技能 |
 | **[MCPs](docs/mcps.md)** | `websearch`、`context7`、`gh_grep` 以及每个智能体的 MCP 权限机制 |
 | **[Tools](docs/tools.md)** | `webfetch`、LSP 工具、代码搜索和格式化工具等内置工具能力 |
 

+ 38 - 1
docs/skills.md

@@ -1,6 +1,9 @@
 # Skills
 
-Skills are specialized capabilities you can assign to agents. Unlike MCPs (which are running servers), skills are **prompt-based tool configurations** - instructions injected into an agent's system prompt that describe how to use a particular tool.
+Skills are specialized capabilities and workflows you can assign to agents.
+Unlike MCPs (which are running servers), skills are **prompt-based instructions**
+injected into an agent's system prompt to guide decisions, workflows, and, when
+relevant, tool use.
 
 Bundled skills are installed by the `oh-my-opencode-slim` installer and safely
 reconciled on plugin startup/auto-update. Local customizations are preserved;
@@ -19,6 +22,7 @@ new bundled versions for customized skills are staged under
 | [`codemap`](#codemap) | Repository codemap generation | `orchestrator` |
 | [`clonedeps`](#clonedeps) | Local dependency source cloning | `orchestrator` |
 | [`deepwork`](#deepwork) | Heavy/complex coding sessions workflow | `orchestrator` |
+| [`verification-planning`](#verification-planning) | Design project-specific evidence before implementation | `orchestrator` |
 | [`reflect`](#reflect) | Review repeated work and suggest reusable workflow improvements | `orchestrator` |
 | [`worktrees`](#worktrees) | Safe Git worktree lane management | `orchestrator` |
 | [`release-smoke-test`](#release-smoke-test) | Packed release-candidate and bugfix smoke validation | `orchestrator` |
@@ -122,6 +126,39 @@ Start it directly with:
 
 ---
 
+## verification-planning
+
+**Design project-specific evidence before non-trivial implementation.**
+
+`verification-planning` is an orchestrator-only skill for planning how a
+non-trivial implementation, bug fix, refactor, multi-layer change, or externally
+visible behavior will be proven before work begins. It starts with the claim to
+establish, its uncertainty and failure modes, then generates evidence paths from
+the system's controllable inputs, state transitions, boundaries, artifacts,
+invariants, reversibility, and repeatability rather than defaulting to familiar
+methods.
+
+When the system cannot expose decisive truth clearly enough, the skill may add a
+verification affordance: the smallest temporary or durable capability that makes
+the relevant state controllable, observable, repeatable, and diagnosable for an
+agent. This lets the agent improve the system's legibility instead of accepting
+weak, indirect evidence.
+
+It selects the narrowest path by credibility, signal quality, cost, safety, and
+independent inspectability or repeatability. When relevant project facilities or
+constraints are unfamiliar or rapidly changing, it asks `@librarian` for focused
+official and project-specific research before deciding; it does not seek generic
+testing advice or research when current evidence is already decisive.
+
+**When NOT to use:** tiny mechanical edits or release-specific validation (use
+`release-smoke-test`). It complements ordinary verification and deepwork, does
+not prescribe a default mechanism, and requires approval for verification-only
+dependencies, persistent instrumentation, production debug surfaces, or
+structural changes. Temporary support is removed; durable support needs a clear
+justification. Completed work reports what was established and its limitations.
+
+---
+
 ## reflect
 
 **Learn from repeated work and suggest practical workflow improvements.**

+ 1 - 0
scripts/verify-release-artifact.ts

@@ -35,6 +35,7 @@ const packagedRequiredFiles = [
   'src/skills/codemap/SKILL.md',
   'src/skills/clonedeps/SKILL.md',
   'src/skills/deepwork/SKILL.md',
+  'src/skills/verification-planning/SKILL.md',
   'src/skills/reflect/SKILL.md',
   'src/skills/oh-my-opencode-slim/SKILL.md',
   'src/skills/release-smoke-test/SKILL.md',

+ 7 - 0
src/cli/custom-skills-registry.ts

@@ -42,6 +42,13 @@ export const CUSTOM_SKILLS: CustomSkill[] = [
     allowedAgents: ['orchestrator'],
     sourcePath: 'src/skills/deepwork',
   },
+  {
+    name: 'verification-planning',
+    description:
+      'Plan credible, proportionate evidence before non-trivial implementation',
+    allowedAgents: ['orchestrator'],
+    sourcePath: 'src/skills/verification-planning',
+  },
   {
     name: 'reflect',
     description:

+ 1 - 0
src/cli/skills.test.ts

@@ -24,6 +24,7 @@ describe('skills permissions', () => {
     const orchestratorPerms = getSkillPermissionsForAgent('orchestrator');
     expect(orchestratorPerms.clonedeps).toBe('allow');
     expect(orchestratorPerms.deepwork).toBe('allow');
+    expect(orchestratorPerms['verification-planning']).toBe('allow');
     expect(orchestratorPerms.reflect).toBe('allow');
     expect(orchestratorPerms['release-smoke-test']).toBe('allow');
     expect(orchestratorPerms.worktrees).toBe('allow');

+ 7 - 3
src/skills/codemap.md

@@ -11,7 +11,7 @@
 
 ### Skill Registry
 
-- `CUSTOM_SKILLS` in `src/cli/custom-skills.ts` is the authoritative skill manifest for bundled skills
+- `CUSTOM_SKILLS` in `src/cli/custom-skills-registry.ts` is the authoritative skill manifest for bundled skills
 - Each entry maps folder name + `sourcePath` to an install-time consumer
 - Skills are categorized by purpose and access scope:
 
@@ -21,7 +21,9 @@
 | `clonedeps/` | General-purpose | Workflow skill for dependency source mirroring and inspection |
 | `simplify/` | General-purpose | Readability and maintainability guidance skill |
 | `deepwork/` | Orchestrator-only | Heavy coding sessions, multi-phase implementation, and risky refactors |
+| `verification-planning/` | Orchestrator-only | Project-specific evidence planning and verification affordances before non-trivial implementation |
 | `reflect/` | Orchestrator-only | Learning from repeated work and suggesting reusable improvements |
+| `release-smoke-test/` | Orchestrator-only | Packed release-candidate and bugfix validation |
 | `worktrees/` | Orchestrator-only | Safe Git worktree lanes for parallel, risky, or isolated work |
 | `oh-my-opencode-slim/` | Orchestrator-only | Plugin configuration and self-improvement guidance |
 
@@ -39,7 +41,7 @@
 
 ## Flow
 
-1. **Skill Discovery**: `src/cli/custom-skills.ts` defines `CUSTOM_SKILLS` array with skill metadata
+1. **Skill Discovery**: `src/cli/custom-skills-registry.ts` defines `CUSTOM_SKILLS` array with skill metadata
 2. **Installation**: `bun run install` delegates to `src/cli/install.ts`, where `installCustomSkills()` gates copying of each `CUSTOM_SKILLS` entry
 3. **Validation**: `installCustomSkill()` computes `packageRoot`, validates `sourcePath`, then performs a recursive directory copy via `copyDirRecursive()`
 4. **Distribution**: During plugin release, `package.json` `files` whitelist ensures `src/skills/**` are included in the published tarball
@@ -49,14 +51,16 @@
 
 ### Build & Release Dependencies
 
-- `src/cli/custom-skills.ts`: Source-of-truth registry consumed by installer and permission helpers
+- `src/cli/custom-skills-registry.ts`: Source-of-truth registry consumed by installer and permission helpers
 - `src/cli/install.ts`: Contains `installCustomSkills()` and `installCustomSkill()` functions
 - `verify-release-artifact.ts`: Enforces artifact completeness by asserting key bundled skill payloads are present in the tarball:
   - `src/skills/simplify/SKILL.md`
   - `src/skills/codemap/SKILL.md`
   - `src/skills/clonedeps/SKILL.md`
   - `src/skills/deepwork/SKILL.md`
+  - `src/skills/verification-planning/SKILL.md`
   - `src/skills/reflect/SKILL.md`
+  - `src/skills/release-smoke-test/SKILL.md`
   - `src/skills/worktrees/SKILL.md`
   - `src/skills/oh-my-opencode-slim/SKILL.md`
 - `package.json` scripts (`verify:release`, `build`) rely on these assets to ensure install-time skill availability

+ 103 - 0
src/skills/verification-planning/SKILL.md

@@ -0,0 +1,103 @@
+---
+name: verification-planning
+description: Verification planning for non-trivial coding work. Use before implementing a feature, bug fix, refactor, cross-system change, or high-confidence behavior change that needs a credible project-specific evidence path.
+---
+
+# Verification Planning
+
+## Build an evidence path
+
+Before changing a non-trivial system, build an **evidence path**: a
+project-specific route from the claim being made to evidence that can establish,
+limit, or refute it.
+
+The purpose is not to select a familiar technique. The purpose is to decide how
+this system can reveal the truth of this particular change.
+
+## 1. Frame the claim
+
+State the behavior that needs to become true and the conditions that could make
+a confident conclusion wrong.
+
+Consider what must change, what must remain true, where the behavior crosses a
+boundary, and which failure would matter most.
+
+**Complete when:** the claim, its meaningful uncertainty, and its important
+failure modes are concrete enough to investigate.
+
+## 2. Design the evidence path
+
+Derive possible evidence paths from the system itself: its controllable inputs,
+observable effects, state transitions, invariants, boundaries, artifacts, and
+ability to repeat or reverse a scenario.
+
+Generate alternatives before choosing. Prefer the path that produces a
+trustworthy conclusion with proportionate cost, safety, and effort.
+
+**Complete when:** there is a preferred path, its limitations are understood,
+and a weaker or stronger alternative is available if circumstances change.
+
+## 3. Create a verification affordance when needed
+
+When the existing system leaves the decisive truth too indirect or ambiguous,
+extend the evidence path with a **verification affordance**: the smallest
+capability that makes the relevant state controllable, observable, repeatable,
+and diagnosable for an agent.
+
+Ask what capability would let an agent establish the claim directly, repeat the
+scenario from a known state, and explain a failure without inference. Prefer an
+affordance that strengthens directness, determinism, agent-legibility,
+isolation, resetability, or future reuse.
+
+Treat the affordance as part of the evidence path, not an automatic product
+feature. Decide deliberately whether it is temporary or durable before building
+it.
+
+**Complete when:** the chosen path can establish the claim directly enough for
+its stakes, and any needed affordance has a defined lifecycle.
+
+## 4. Research when the path is unknown
+
+When the right evidence path depends on an unfamiliar dependency, framework,
+external service, or rapidly changing capability, ask `@librarian` for focused
+research before committing to an approach.
+
+Ask for official or project-specific facilities, constraints, and trade-offs
+that affect this exact verification problem. Use existing project evidence
+directly when it already resolves the choice.
+
+**Complete when:** the chosen path rests on known capabilities and real
+constraints rather than assumption.
+
+## 5. Make the path runnable
+
+Prepare only the support needed to follow the evidence path reliably. Keep the
+support narrow, repeatable, and safe to inspect.
+
+Decide whether that support has recurring value or exists only to resolve the
+current uncertainty. Retain durable value deliberately; remove temporary
+support once it has served its purpose.
+
+Ask before introducing dependencies, persistent diagnostic surfaces, or
+structural changes whose sole purpose is evidence gathering.
+
+**Complete when:** the path can be followed without guessing about setup,
+state, or interpretation.
+
+## 6. Close the evidence path
+
+After implementation, follow the planned path and interpret the resulting
+evidence against the original claim.
+
+Report whether the claim was established, limited, or refuted; distinguish
+known facts from remaining uncertainty.
+
+**Complete when:** a future reader can see what supports the conclusion and
+what remains outside its reach.
+
+## Scope
+
+Use this skill proportionately. Small mechanical changes can follow ordinary
+project checks directly. For release-specific validation, use
+`release-smoke-test`; for larger multi-phase work, let this skill establish the
+evidence path that later work follows.