@webpresso/plugin-opencode 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +104 -0
- package/index.js +250 -0
- package/package.json +41 -0
- package/plugin-skill-ownership.json +99 -0
- package/skills/ai-deslop/SKILL.md +91 -0
- package/skills/autopilot/SKILL.md +77 -0
- package/skills/autoresearch/SKILL.md +49 -0
- package/skills/best-practice-research/SKILL.md +89 -0
- package/skills/browse/SKILL.md +25 -0
- package/skills/claude/SKILL.md +186 -0
- package/skills/codex/SKILL.md +142 -0
- package/skills/deep-interview/LICENSE.txt +28 -0
- package/skills/deep-interview/SKILL.md +269 -0
- package/skills/deep-research/SKILL.md +258 -0
- package/skills/delivery-program/SKILL.md +57 -0
- package/skills/design-review/SKILL.md +26 -0
- package/skills/devex-review/SKILL.md +28 -0
- package/skills/fix/SKILL.md +174 -0
- package/skills/grok/SKILL.md +32 -0
- package/skills/hooks-doctor/SKILL.md +78 -0
- package/skills/investigate/SKILL.md +72 -0
- package/skills/lore-protocol/SKILL.md +84 -0
- package/skills/opencode-go/SKILL.md +97 -0
- package/skills/plan-ceo-review/SKILL.md +27 -0
- package/skills/plan-design-review/SKILL.md +27 -0
- package/skills/plan-devex-review/SKILL.md +19 -0
- package/skills/plan-eng-review/SKILL.md +24 -0
- package/skills/plan-refine/SKILL.md +50 -0
- package/skills/plan-refine/references/full-methodology.md +645 -0
- package/skills/ralplan/SKILL.md +50 -0
- package/skills/team/SKILL.md +77 -0
- package/skills/tech-debt/SKILL.md +79 -0
- package/skills/testing-philosophy/SKILL.md +53 -0
- package/skills/testing-philosophy/references/full-testing-philosophy.md +523 -0
- package/skills/tph/SKILL.md +35 -0
- package/skills/ultragoal/SKILL.md +179 -0
- package/skills/verify/SKILL.md +283 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: skill
|
|
3
|
+
slug: deep-interview
|
|
4
|
+
title: Deep Interview
|
|
5
|
+
status: active
|
|
6
|
+
scope: repo
|
|
7
|
+
applies_to: [agents]
|
|
8
|
+
related: [ralplan, autopilot, deep-research]
|
|
9
|
+
created: "2026-07-17"
|
|
10
|
+
last_reviewed: "2026-07-17"
|
|
11
|
+
name: deep-interview
|
|
12
|
+
description: "Socratic requirements interview with ambiguity gating before planning or execution handoff."
|
|
13
|
+
license: MIT
|
|
14
|
+
upstream:
|
|
15
|
+
source: https://github.com/Yeachan-Heo/oh-my-codex/tree/0e00a6ebdd12a6674f5a4735942940b9bdcdb8c0/skills/deep-interview
|
|
16
|
+
last_synced: "2026-07-17"
|
|
17
|
+
argument-hint: "[--quick|--standard|--deep] <idea or vague description>"
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
<Purpose>
|
|
21
|
+
Deep Interview is an intent-first Socratic clarification loop that runs before planning or implementation. It turns vague ideas into execution-ready requirements by asking targeted questions about why the user wants a change, how far it should go, what should stay out of scope, and what the agent may decide without confirmation. It is a requirements mode: it produces a spec and hands off — it does NOT implement.
|
|
22
|
+
</Purpose>
|
|
23
|
+
|
|
24
|
+
<Use_When>
|
|
25
|
+
|
|
26
|
+
- The request is broad, ambiguous, or missing concrete acceptance criteria
|
|
27
|
+
- The user says "deep interview", "interview me", "ask me everything", or "don't assume"
|
|
28
|
+
- You want to avoid misaligned implementation from underspecified requirements
|
|
29
|
+
- You need a requirements artifact before handing off to `ralplan`, `autopilot`, `ultragoal`, `team`, or a new blueprint
|
|
30
|
+
</Use_When>
|
|
31
|
+
|
|
32
|
+
<Do_Not_Use_When>
|
|
33
|
+
|
|
34
|
+
- The request already has concrete file/symbol targets and clear acceptance criteria
|
|
35
|
+
- The user explicitly asks to skip planning/interview and execute immediately
|
|
36
|
+
- The user wants a technology/tradeoff investigation (use `deep-research`)
|
|
37
|
+
- A complete blueprint/plan already exists and execution should start
|
|
38
|
+
</Do_Not_Use_When>
|
|
39
|
+
|
|
40
|
+
<Why_This_Exists>
|
|
41
|
+
Execution quality is usually bottlenecked by intent clarity, not just missing implementation detail. A single expansion pass often misses why the user wants a change, where scope should stop, which tradeoffs are unacceptable, and which decisions still require user approval. This workflow applies Socratic pressure plus quantitative ambiguity scoring so downstream planning begins with an explicit, testable, intent-aligned spec.
|
|
42
|
+
</Why_This_Exists>
|
|
43
|
+
|
|
44
|
+
<Depth_Profiles>
|
|
45
|
+
|
|
46
|
+
- **Quick (`--quick`)**: fast pre-plan pass; target ambiguity `<= 0.30`; max 5 rounds
|
|
47
|
+
- **Standard (`--standard`, default)**: full requirement interview; target `<= 0.20`; max 12 rounds
|
|
48
|
+
- **Deep (`--deep`)**: high-rigor exploration; target `<= 0.15`; max 20 rounds
|
|
49
|
+
|
|
50
|
+
Max rounds is a hard cap, not a target. Do not continue only to reach a round count. Extra rigor does not override the active threshold. If no flag is provided, use **Standard**.
|
|
51
|
+
</Depth_Profiles>
|
|
52
|
+
|
|
53
|
+
<Execution_Policy>
|
|
54
|
+
|
|
55
|
+
- Ask ONE question per round. Never batch multiple interview rounds into one prompt.
|
|
56
|
+
- Ask about intent and boundaries before implementation detail.
|
|
57
|
+
- Target the weakest clarity dimension each round, after applying the stage-priority rules below.
|
|
58
|
+
- Treat every answer as a claim to pressure-test: the next question should usually demand evidence or an example, expose a hidden assumption, force a tradeoff or boundary, or reframe root cause vs symptom.
|
|
59
|
+
- Do not rotate to a new dimension just for coverage when the current answer is still vague. Stay on the thread until it is one layer deeper, one assumption clearer, or one boundary tighter.
|
|
60
|
+
- Before crystallizing, complete at least one explicit pressure pass that revisits an earlier answer with a deeper, assumption- or tradeoff-focused follow-up.
|
|
61
|
+
- Gather codebase facts via local search tools, `wp_session_*` retrieval, and read-only repo inspection before asking the user about internals.
|
|
62
|
+
- Always run a preflight context intake before the first question.
|
|
63
|
+
- For brownfield work, preflight must ground in docs before user-facing questions: inspect applicable `AGENTS.md`/`CLAUDE.md`, README/getting-started docs, relevant `docs/` contracts/plans/ADRs, existing blueprints under `blueprints/`, and any project glossary such as `UBIQUITOUS_LANGUAGE.md` when present.
|
|
64
|
+
- Treat repo language as evidence, not authority: if the user uses a fuzzy, overloaded, or conflicting term, surface the specific doc/code wording and ask which meaning should govern.
|
|
65
|
+
- Cross-check user claims about current behavior against code or documented contracts. If docs and code disagree, ask a confirmation question that names both sources instead of silently choosing one.
|
|
66
|
+
- Use scenario-based edge-case grilling when relationships, boundaries, or handoff behavior are unclear: invent one concrete scenario that stresses the ambiguous boundary, then ask one focused question about the expected outcome.
|
|
67
|
+
- Reduce user effort: ask only the highest-leverage unresolved question, and never ask the user for codebase facts you can discover directly.
|
|
68
|
+
- For brownfield work, prefer evidence-backed confirmation questions such as "I found X in Y. Should this change follow that pattern?"
|
|
69
|
+
- Route facts before judgment: before each user-facing round, classify whether the needed information is a discoverable fact, a fact needing confirmation, or a human decision. The interview is with the human for judgment, not for facts the agent can inspect.
|
|
70
|
+
- When unresolved ambiguity depends on current external best practices, upstream guidance, standards, or version-aware behavior, use `best-practice-research` as the bounded evidence wrapper before crystallizing.
|
|
71
|
+
- Auto-confirm only descriptive facts. If a finding implies what the feature should do, which pattern to follow, which tradeoff to accept, or what stays in/out of scope, route that decision to the user.
|
|
72
|
+
- Re-score ambiguity after each answer and show progress transparently.
|
|
73
|
+
- Once ambiguity is at or below the active threshold, stop ordinary questioning. Run the closure audit: crystallize/hand off when the readiness gates pass; otherwise ask only the final closure question needed to satisfy a named gate.
|
|
74
|
+
- Do not crystallize or hand off while `Non-goals` or `Decision Boundaries` remain unresolved, even if the weighted threshold is met.
|
|
75
|
+
- Do not hand off to execution while ambiguity remains above threshold unless the user explicitly opts to proceed with a warning.
|
|
76
|
+
- Treat early exit as a safety valve, not the default success path.
|
|
77
|
+
</Execution_Policy>
|
|
78
|
+
|
|
79
|
+
<Steps>
|
|
80
|
+
|
|
81
|
+
## Phase 0: Preflight Context Intake
|
|
82
|
+
|
|
83
|
+
1. Parse `{{ARGUMENTS}}` and derive a short kebab-case task slug.
|
|
84
|
+
2. Attempt to load the latest relevant context for the slug from session memory via the `wp_session_search`/`wp_session_retrieve` MCP tools.
|
|
85
|
+
3. If the provided initial context (or loaded snapshot) is too large for safe prompt use, the first round must ask for a concise prompt-safe summary before scoring ambiguity or any downstream handoff. This gate is blocking: preserve goals, constraints, success criteria, non-goals, decision boundaries, and references to the full source documents.
|
|
86
|
+
4. If no snapshot exists, create a minimum snapshot with: task statement, desired outcome, stated solution, probable intent hypothesis, known facts/evidence, constraints, unknowns/open questions, decision-boundary unknowns, likely codebase touchpoints, repo docs/rules inspected, terminology/doc-code conflicts found.
|
|
87
|
+
5. For brownfield tasks, inspect the applicable documentation/rule surface before the first user-facing round. Prefer exact, nearby sources: governing `AGENTS.md`/`CLAUDE.md`, README/getting-started docs, relevant `docs/` contracts/plans/ADRs, existing blueprints, and project glossary/context files when present.
|
|
88
|
+
6. Capture the snapshot into session memory via `wp_session_capture` (tagged with the slug) and reference it in the interview state.
|
|
89
|
+
|
|
90
|
+
## Phase 1: Initialize
|
|
91
|
+
|
|
92
|
+
1. Parse `{{ARGUMENTS}}` and the depth profile (`--quick|--standard|--deep`).
|
|
93
|
+
2. Detect project context: use local search tools and read-only repo inspection to classify **brownfield** (existing codebase target) vs **greenfield**; for brownfield, collect relevant context before questioning.
|
|
94
|
+
3. Persist a lightweight resumable interview state to session memory via `wp_session_capture` (interview id, profile, type, initial idea, rounds, current ambiguity, threshold, max rounds, challenge modes used, current stage/focus, context snapshot reference), so a later session can resume via `wp_session_search`/`wp_session_restore`.
|
|
95
|
+
4. Announce kickoff with the profile, threshold, and current ambiguity.
|
|
96
|
+
|
|
97
|
+
## Phase 2: Socratic Interview Loop
|
|
98
|
+
|
|
99
|
+
Repeat until ambiguity `<= threshold`, the pressure pass is complete, and the readiness gates are explicit — or the user exits with warning or max rounds are reached. This is a stop condition: below threshold, do not open a new ordinary interview branch.
|
|
100
|
+
|
|
101
|
+
### 2a) Generate next question
|
|
102
|
+
|
|
103
|
+
If the initial context is oversized and no prompt-safe summary has been recorded, the next question must be only a summary request. Do not score ambiguity or hand off until that summary is captured.
|
|
104
|
+
|
|
105
|
+
Use the original idea, prior Q&A rounds, current dimension scores, brownfield context, doc/terminology grounding notes, and any activated challenge mode (Phase 3).
|
|
106
|
+
|
|
107
|
+
Target the lowest-scoring dimension, but respect stage priority:
|
|
108
|
+
|
|
109
|
+
- **Stage 1 — Intent-first:** Intent, Outcome, Scope, Non-goals, Decision Boundaries
|
|
110
|
+
- **Stage 2 — Feasibility:** Constraints, Success Criteria
|
|
111
|
+
- **Stage 3 — Brownfield grounding:** Context Clarity (brownfield only)
|
|
112
|
+
|
|
113
|
+
Follow-up pressure ladder after each answer:
|
|
114
|
+
|
|
115
|
+
1. Ask for a concrete example, counterexample, or evidence signal behind the latest claim.
|
|
116
|
+
2. Probe the hidden assumption, dependency, or belief that makes the claim true.
|
|
117
|
+
3. Force a boundary or tradeoff: what would you explicitly not do, defer, or reject?
|
|
118
|
+
4. Challenge fuzzy or conflicting terms against the repo's documented language and current behavior.
|
|
119
|
+
5. Stress-test the boundary with one concrete scenario when a relationship or handoff remains ambiguous.
|
|
120
|
+
6. If the answer still describes symptoms, reframe toward root cause before moving on.
|
|
121
|
+
|
|
122
|
+
Prefer staying on the highest-leverage thread across multiple rounds. Breadth without pressure is not progress.
|
|
123
|
+
|
|
124
|
+
Maintain a **Breadth Ledger** across independent tracks (scope, constraints, outputs, verification, brownfield integration, plus any user-mentioned deliverable). The ledger is a guard, not a rotation rule: stay deep on the current thread until it is pressure-tested, then zoom out only when another material track remains unresolved and would change execution.
|
|
125
|
+
|
|
126
|
+
Maintain a **Docs/Terminology Ledger** for brownfield interviews: repo docs/rules inspected (with paths), canonical terms already in use, user terms that conflict with docs or code, and doc/code mismatches that require a human decision before implementation.
|
|
127
|
+
|
|
128
|
+
Detailed dimensions:
|
|
129
|
+
|
|
130
|
+
- Intent Clarity — why the user wants this
|
|
131
|
+
- Outcome Clarity — what end state they want
|
|
132
|
+
- Scope Clarity — how far the change should go
|
|
133
|
+
- Constraint Clarity — technical or business limits that must hold
|
|
134
|
+
- Success Criteria Clarity — how completion will be judged
|
|
135
|
+
- Context Clarity — existing codebase understanding (brownfield only)
|
|
136
|
+
|
|
137
|
+
`Non-goals` and `Decision Boundaries` are mandatory readiness gates. Ask about them early and keep revisiting them until they are explicit.
|
|
138
|
+
|
|
139
|
+
### 2b) Ask the question
|
|
140
|
+
|
|
141
|
+
Ask exactly one question per round using the host's native structured-question tool (e.g. `AskUserQuestion`) when available; otherwise ask one concise plain-text question and wait for the answer. Present:
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
Round {n} | Target: {weakest_dimension} | Ambiguity: {score}%
|
|
145
|
+
|
|
146
|
+
{question}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Question-shape guidance:
|
|
150
|
+
|
|
151
|
+
- Deep Interview is Socratic — one focused round at a time. Never combine multiple rounds into one prompt.
|
|
152
|
+
- Use a **single-answerable** round when exactly one answer should drive the next branch, the options are mutually exclusive, or selecting more than one would blur the decision (e.g. handoff lane selection, choosing the primary failure mode, confirming which competing interpretation is correct).
|
|
153
|
+
- Use a **multi-answerable** round when multiple options may all be true at once and you need a bounded set of coexisting constraints, non-goals, risks, or acceptance checks in one round (e.g. all out-of-scope items, all success metrics that must hold, all deployment constraints that apply).
|
|
154
|
+
- If one selected option would immediately require a follow-up to disambiguate the others, prefer a single-answerable round now and ask the follow-up next. Do not hide a branching tree inside one overloaded multi-select.
|
|
155
|
+
- Keep options bounded and concrete. Only leave an "other" escape hatch when the interview genuinely needs one user-supplied option that cannot be enumerated in advance.
|
|
156
|
+
|
|
157
|
+
### 2c) Score ambiguity
|
|
158
|
+
|
|
159
|
+
Score each weighted dimension in `[0.0, 1.0]` with justification and gap.
|
|
160
|
+
|
|
161
|
+
Greenfield: `ambiguity = 1 - (intent × 0.30 + outcome × 0.25 + scope × 0.20 + constraints × 0.15 + success × 0.10)`
|
|
162
|
+
|
|
163
|
+
Brownfield: `ambiguity = 1 - (intent × 0.25 + outcome × 0.20 + scope × 0.20 + constraints × 0.15 + success × 0.10 + context × 0.10)`
|
|
164
|
+
|
|
165
|
+
Readiness gate:
|
|
166
|
+
|
|
167
|
+
- `Non-goals` must be explicit.
|
|
168
|
+
- `Decision Boundaries` must be explicit.
|
|
169
|
+
- A pressure pass must be complete: at least one earlier answer revisited with an evidence, assumption, or tradeoff follow-up.
|
|
170
|
+
- A closure audit must pass: another question would change execution materially, not merely polish wording or chase a narrow edge case.
|
|
171
|
+
- If a gate is unresolved or the pressure pass is incomplete, continue below threshold only with a final closure question that names the unresolved gate.
|
|
172
|
+
- Treat a low score as permission to audit closure, not to keep drilling. If remaining uncertainty would not change implementation, crystallize instead of opening a new branch.
|
|
173
|
+
|
|
174
|
+
### 2d) Report progress
|
|
175
|
+
|
|
176
|
+
Show the weighted breakdown table, readiness-gate status (`Non-goals`, `Decision Boundaries`), and the next focus dimension.
|
|
177
|
+
|
|
178
|
+
### 2e) Persist state
|
|
179
|
+
|
|
180
|
+
Append the round result and updated scores to the slug-tagged interview state in session memory (`wp_session_capture`).
|
|
181
|
+
|
|
182
|
+
### 2f) Round controls
|
|
183
|
+
|
|
184
|
+
- Do not offer early exit before the first explicit assumption probe and one persistent follow-up have happened.
|
|
185
|
+
- Apply a **Dialectic Rhythm Guard**: after 3 consecutive fact/confirmation answers, the next material round must solicit direct human judgment — unless the closure audit says the interview is ready to crystallize.
|
|
186
|
+
- Round 4+: allow explicit early exit with a risk warning.
|
|
187
|
+
- Soft warning at the profile midpoint.
|
|
188
|
+
- Hard cap at the profile max rounds; never treat this cap as a desired interview length.
|
|
189
|
+
|
|
190
|
+
## Phase 3: Challenge Modes (assumption stress tests)
|
|
191
|
+
|
|
192
|
+
Use each mode once when applicable — normal escalation tools, not rare rescue moves:
|
|
193
|
+
|
|
194
|
+
- **Contrarian** (round 2+ or immediately when an answer rests on an untested assumption): challenge core assumptions.
|
|
195
|
+
- **Terminologist** (brownfield, when a key term is fuzzy, overloaded, or conflicts with repo docs/code): force a canonical meaning against existing project language before implementation.
|
|
196
|
+
- **Simplifier** (round 4+ or when scope expands faster than outcome clarity): probe minimal viable scope.
|
|
197
|
+
- **Ontologist** (round 5+ and ambiguity > 0.25, or when the user keeps describing symptoms): ask for essence-level reframing.
|
|
198
|
+
|
|
199
|
+
Track used modes in state to prevent repetition.
|
|
200
|
+
|
|
201
|
+
## Phase 4: Crystallize Artifacts
|
|
202
|
+
|
|
203
|
+
When the threshold is met (or the user exits with warning / hard cap):
|
|
204
|
+
|
|
205
|
+
1. Create or update the versioned draft that owns this task with `wp_blueprint_put`, yielding `blueprints/draft/{slug}/`. In this repo, deep interviews exist to produce better blueprints before implementation; carry the returned `bpv1:` version through every replacement.
|
|
206
|
+
2. Write the interview transcript summary to `blueprints/draft/{slug}/interview.md`.
|
|
207
|
+
3. Fold the execution-ready spec into `blueprints/draft/{slug}/_overview.md` (intent, scope, non-goals, decision boundaries, constraints, acceptance criteria), and capture a copy of the final spec + scores into session memory via `wp_session_capture`.
|
|
208
|
+
|
|
209
|
+
The spec should include: metadata (profile, rounds, final ambiguity, threshold, context type); context snapshot reference; prompt-safe initial-context summary when oversized context was provided, plus references to the full sources; the clarity breakdown table; Intent (why); Desired Outcome; In-Scope; Out-of-Scope / Non-goals; Decision Boundaries (what the agent may decide without confirmation); Constraints; testable acceptance criteria (prefer repo verification surfaces — `wp test`, `wp typecheck`, `wp audit` — over manual checks); assumptions exposed and their resolutions; pressure-pass findings (which answer was revisited and what changed); brownfield evidence-vs-inference notes; the Docs/Terminology Ledger; scenario/edge-case findings that shaped scope or acceptance; and the full or condensed transcript.
|
|
210
|
+
|
|
211
|
+
Durable docs, glossary, or ADR updates are opt-in and public-safe only: recommend them in the handoff summary, but do not auto-create or dump public docs from interview transcripts unless the user explicitly chooses that as in-scope.
|
|
212
|
+
|
|
213
|
+
## Phase 5: Execution Bridge
|
|
214
|
+
|
|
215
|
+
Present execution options after artifact generation using explicit handoff contracts. Treat the deep-interview spec as the current requirements source of truth and preserve intent, non-goals, decision boundaries, acceptance criteria, docs/terminology grounding, and any residual-risk warnings across the handoff.
|
|
216
|
+
|
|
217
|
+
- **`ralplan`** — when architecture/test-shape review is still needed. Consumer treats the spec as the requirements source of truth and refines architecture/feasibility around the clarified intent instead of re-interviewing.
|
|
218
|
+
- **`autopilot`** — when the spec is already strong enough for direct planning plus execution. Consumer uses the spec as the clarified execution brief with the non-goals and acceptance criteria as binding context.
|
|
219
|
+
- **`ultragoal`** — when the clarified work should become durable, sequentially tracked goal-mode work.
|
|
220
|
+
- **`team`** — when the task is large, multi-lane, or blocker-sensitive enough to justify coordinated parallel execution.
|
|
221
|
+
- **Blueprint lifecycle** — refine with `wp_blueprint_put`, review the exact version with `wp_review_gate`, and inspect the auto-promoted result with `wp_blueprint_get` when work should enter planned execution directly.
|
|
222
|
+
- **Refine further** — re-enter the loop to resolve the highest-leverage remaining uncertainty when residual ambiguity is still too high or an early-exit/above-threshold warning indicates too much risk to proceed cleanly.
|
|
223
|
+
|
|
224
|
+
For research-shaped requests (a research question, evaluator-backed analysis, or reference gathering), hand off to `autoresearch` after the interview converges on a validator-ready mission; keep the explicit `refine further` vs `launch` boundary and do not launch until the user confirms.
|
|
225
|
+
|
|
226
|
+
**Residual-Risk Rule:** if the interview ended via early exit, hard cap, or above-threshold proceed-with-warning, explicitly preserve that residual-risk state in the handoff so the downstream skill knows it inherited a partially clarified brief.
|
|
227
|
+
|
|
228
|
+
**IMPORTANT:** Deep Interview is a requirements mode. On handoff, invoke the selected skill using the contract above. **Do NOT implement directly** inside deep-interview.
|
|
229
|
+
|
|
230
|
+
</Steps>
|
|
231
|
+
|
|
232
|
+
<Tool_Usage>
|
|
233
|
+
|
|
234
|
+
- Use local search tools, `wp_session_*` retrieval, and read-only repo inspection for codebase fact gathering.
|
|
235
|
+
- Use the host's native structured-question tool (e.g. `AskUserQuestion`) for each round when available; otherwise ask one concise plain-text question and wait.
|
|
236
|
+
- Keep context snapshots and resumable interview state in session memory via the `wp_session_*` MCP tools, tagged with the task slug.
|
|
237
|
+
- Read applicable repo docs/rules/context during preflight; write durable docs/glossary/ADR updates only when the user explicitly opts in and the content is public-safe.
|
|
238
|
+
- Land transcript artifacts in the active task's blueprint folder; create/update `_overview.md` only through `wp_blueprint_put`.
|
|
239
|
+
- Use `best-practice-research` when unresolved ambiguity depends on current external/upstream guidance.
|
|
240
|
+
</Tool_Usage>
|
|
241
|
+
|
|
242
|
+
<Escalation_And_Stop_Conditions>
|
|
243
|
+
|
|
244
|
+
- User says stop/cancel/abort — persist state and stop.
|
|
245
|
+
- Ambiguity stalls for 3 rounds (± 0.05) — force Ontologist mode once.
|
|
246
|
+
- Max rounds reached — proceed with an explicit residual-risk warning.
|
|
247
|
+
- All dimensions `>= 0.9` — allow early crystallization even before max rounds.
|
|
248
|
+
</Escalation_And_Stop_Conditions>
|
|
249
|
+
|
|
250
|
+
<Final_Checklist>
|
|
251
|
+
|
|
252
|
+
- [ ] Preflight context snapshot captured to session memory (`wp_session_capture`, slug-tagged)
|
|
253
|
+
- [ ] Oversized initial context, if present, has a prompt-safe summary before scoring or handoff
|
|
254
|
+
- [ ] Ambiguity score shown each round
|
|
255
|
+
- [ ] Intent-first stage priority used before implementation detail
|
|
256
|
+
- [ ] Weakest-dimension targeting used within the active stage
|
|
257
|
+
- [ ] At least one explicit assumption probe before crystallization
|
|
258
|
+
- [ ] At least one persistent follow-up / pressure pass deepened a prior answer
|
|
259
|
+
- [ ] Challenge modes triggered at thresholds (when applicable)
|
|
260
|
+
- [ ] `Non-goals` and `Decision Boundaries` explicit before handoff
|
|
261
|
+
- [ ] Transcript written to `blueprints/draft/{slug}/interview.md`
|
|
262
|
+
- [ ] Spec folded into `blueprints/draft/{slug}/_overview.md` through `wp_blueprint_put`
|
|
263
|
+
- [ ] Brownfield questions use evidence-backed confirmation and doc grounding when applicable
|
|
264
|
+
- [ ] Fuzzy/conflicting terminology challenged against repo language when applicable
|
|
265
|
+
- [ ] Handoff options provided (`ralplan`, `autopilot`, `ultragoal`, `team`, blueprint lifecycle)
|
|
266
|
+
- [ ] No direct implementation performed in this mode
|
|
267
|
+
</Final_Checklist>
|
|
268
|
+
|
|
269
|
+
Task: {{ARGUMENTS}}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: skill
|
|
3
|
+
slug: deep-research
|
|
4
|
+
title: Deep Research
|
|
5
|
+
status: active
|
|
6
|
+
scope: repo
|
|
7
|
+
applies_to: [agents]
|
|
8
|
+
related: []
|
|
9
|
+
created: "2026-05-07"
|
|
10
|
+
last_reviewed: "2026-05-07"
|
|
11
|
+
name: deep-research
|
|
12
|
+
description: "Deep web research with dated credible sources, pro/con synthesis, and project-alignment notes."
|
|
13
|
+
argument-hint: "<subject or question to research>"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<Purpose>
|
|
17
|
+
Deep Research is a multi-phase web research workflow that produces a balanced, citation-backed analysis of a subject. It collects both positive and negative sentiments from credible sources, evaluates alignment with the project's vision and tech stack, identifies 2026 state-of-the-art best practices, and logs the result to `docs/research/` with a date-prefixed filename.
|
|
18
|
+
</Purpose>
|
|
19
|
+
|
|
20
|
+
<Use_When>
|
|
21
|
+
|
|
22
|
+
- Evaluating a technology, library, pattern, or product direction
|
|
23
|
+
- Comparing alternatives before making an architectural or product decision
|
|
24
|
+
- The user says "research", "deep research", "investigate", or "what does the community think about"
|
|
25
|
+
- You need a balanced view of trade-offs before recommending something
|
|
26
|
+
</Use_When>
|
|
27
|
+
|
|
28
|
+
<Do_Not_Use_When>
|
|
29
|
+
|
|
30
|
+
- The user wants a quick factual lookup (use WebSearch directly)
|
|
31
|
+
- The user wants codebase exploration (use explore)
|
|
32
|
+
- The user wants a requirements interview (use deep-interview)
|
|
33
|
+
- The answer is already well-established and non-controversial
|
|
34
|
+
</Do_Not_Use_When>
|
|
35
|
+
|
|
36
|
+
<Output_Contract>
|
|
37
|
+
A single markdown file written to:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
docs/research/{YYYY-MM-DD}-{slug}.md
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Where `{YYYY-MM-DD}` is today's date and `{slug}` is a kebab-case summary of the subject.
|
|
44
|
+
|
|
45
|
+
The file MUST have this frontmatter and structure (see Phase 5 for full template).
|
|
46
|
+
</Output_Contract>
|
|
47
|
+
|
|
48
|
+
<Steps>
|
|
49
|
+
|
|
50
|
+
## Phase 0: Scope and Context Load
|
|
51
|
+
|
|
52
|
+
1. Parse `{{ARGUMENTS}}` into a research subject and any qualifiers (e.g., "for our use case", "vs X").
|
|
53
|
+
2. Derive a short kebab-case slug for the filename.
|
|
54
|
+
3. Read `docs/research/product/VISION.md` (or the project's equivalent — check `docs/` for a vision doc) to load the current vision context. Skip if not present.
|
|
55
|
+
4. Identify the relevant tech stack context by reading project config files (e.g., `package.json` workspaces, `tsconfig.json`, key dependencies) — keep this lightweight, just enough to judge alignment.
|
|
56
|
+
5. Announce the research plan to the user:
|
|
57
|
+
- Subject
|
|
58
|
+
- Key questions to investigate
|
|
59
|
+
- Output path
|
|
60
|
+
|
|
61
|
+
## Phase 1: Broad Discovery (parallel)
|
|
62
|
+
|
|
63
|
+
Run **5-8 parallel WebSearch queries** covering different angles:
|
|
64
|
+
|
|
65
|
+
1. **Overview**: `"{subject} 2026 overview best practices"`
|
|
66
|
+
2. **Positive sentiment**: `"{subject} benefits advantages why use 2026"`
|
|
67
|
+
3. **Negative sentiment / criticism**: `"{subject} problems criticism drawbacks 2026"`
|
|
68
|
+
4. **Community opinion**: `"{subject} reddit hacker news experience production 2026"`
|
|
69
|
+
5. **Comparison / alternatives**: `"{subject} vs alternatives comparison 2026"`
|
|
70
|
+
6. **State of the art**: `"{subject} state of the art latest 2026"`
|
|
71
|
+
7. **(If applicable)** Stack-specific: `"{subject} TypeScript Cloudflare Workers React 2026"`
|
|
72
|
+
8. **(If applicable)** Domain-specific query based on the project's problem space
|
|
73
|
+
|
|
74
|
+
For each search, record:
|
|
75
|
+
|
|
76
|
+
- Source URL
|
|
77
|
+
- Source type (docs, blog, forum, official, academic)
|
|
78
|
+
- Key claims or data points
|
|
79
|
+
- Sentiment direction (positive / negative / neutral)
|
|
80
|
+
|
|
81
|
+
## Phase 2: Deep Dive (sequential, selective)
|
|
82
|
+
|
|
83
|
+
From Phase 1 results, identify the **5-10 most credible and information-dense sources**.
|
|
84
|
+
|
|
85
|
+
Use `WebFetch` on each to extract deeper detail. Prioritize:
|
|
86
|
+
|
|
87
|
+
- Official documentation or announcements
|
|
88
|
+
- Production experience reports (postmortems, migration stories)
|
|
89
|
+
- Benchmark data or technical comparisons
|
|
90
|
+
- Strong critical takes with specific evidence
|
|
91
|
+
|
|
92
|
+
For each fetched source, extract:
|
|
93
|
+
|
|
94
|
+
- Specific claims with evidence
|
|
95
|
+
- Sentiment and strength (strong positive, mild positive, neutral, mild negative, strong negative)
|
|
96
|
+
- Credibility assessment (official docs > production experience > blog opinion > forum anecdote)
|
|
97
|
+
|
|
98
|
+
## Phase 3: Triangulate and Score
|
|
99
|
+
|
|
100
|
+
1. **Cluster findings** into themes (e.g., "developer experience", "performance", "ecosystem maturity", "production readiness").
|
|
101
|
+
2. **Cross-reference claims**: if only one source makes a claim, flag it as unverified. Claims supported by 2+ independent sources get higher weight.
|
|
102
|
+
3. **Score source credibility** using:
|
|
103
|
+
- Official docs / specs: high
|
|
104
|
+
- Production postmortems with data: high
|
|
105
|
+
- Respected engineering blogs: medium-high
|
|
106
|
+
- Community forums (HN, Reddit) with detail: medium
|
|
107
|
+
- Marketing material / vendor blogs: low (note bias)
|
|
108
|
+
- Undated or anonymous content: very low
|
|
109
|
+
4. **Identify gaps**: what questions remain unanswered? If critical gaps exist, run 1-2 additional targeted searches.
|
|
110
|
+
|
|
111
|
+
## Phase 4: Vision and Stack Alignment Analysis
|
|
112
|
+
|
|
113
|
+
Using the project's vision from Phase 0 and the research findings:
|
|
114
|
+
|
|
115
|
+
1. **Vision alignment**: How does this subject relate to the project's stated mission? Does it help or hinder current priorities?
|
|
116
|
+
2. **Tech stack fit**: How well does this integrate with the existing stack (read `package.json`, key deps, framework choices)? What's the integration cost?
|
|
117
|
+
3. **Trade-off assessment**: Given the project's current stage, what are the most relevant trade-offs?
|
|
118
|
+
4. **Recommendation**: Based on the evidence, what's the suggested path? Be explicit about confidence level.
|
|
119
|
+
|
|
120
|
+
## Phase 5: Write Report
|
|
121
|
+
|
|
122
|
+
Write the report to `docs/research/{YYYY-MM-DD}-{slug}.md` using this template:
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
|
+
---
|
|
126
|
+
type: research
|
|
127
|
+
title: "{Title}"
|
|
128
|
+
subject: "{subject}"
|
|
129
|
+
date: { YYYY-MM-DD }
|
|
130
|
+
confidence: { high|medium|low }
|
|
131
|
+
verdict: { adopt|trial|assess|hold|reject }
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
# {Title}
|
|
135
|
+
|
|
136
|
+
> One-line summary of the finding.
|
|
137
|
+
|
|
138
|
+
## TL;DR
|
|
139
|
+
|
|
140
|
+
3-5 bullet executive summary covering: what it is, key finding, recommendation.
|
|
141
|
+
|
|
142
|
+
## What This Is
|
|
143
|
+
|
|
144
|
+
Brief neutral description of the subject being researched.
|
|
145
|
+
|
|
146
|
+
## State of the Art (2026)
|
|
147
|
+
|
|
148
|
+
Current best practices, latest developments, where the ecosystem stands today.
|
|
149
|
+
Cite sources inline as [Source Name](url).
|
|
150
|
+
|
|
151
|
+
## Positive Signals
|
|
152
|
+
|
|
153
|
+
Evidence-backed reasons in favor. Group by theme.
|
|
154
|
+
Each point should cite its source and note credibility level.
|
|
155
|
+
|
|
156
|
+
### {Theme 1}
|
|
157
|
+
|
|
158
|
+
- ...
|
|
159
|
+
|
|
160
|
+
### {Theme 2}
|
|
161
|
+
|
|
162
|
+
- ...
|
|
163
|
+
|
|
164
|
+
## Negative Signals
|
|
165
|
+
|
|
166
|
+
Evidence-backed criticism and risks. Group by theme.
|
|
167
|
+
Each point should cite its source and note credibility level.
|
|
168
|
+
|
|
169
|
+
### {Theme 1}
|
|
170
|
+
|
|
171
|
+
- ...
|
|
172
|
+
|
|
173
|
+
### {Theme 2}
|
|
174
|
+
|
|
175
|
+
- ...
|
|
176
|
+
|
|
177
|
+
## Community Sentiment
|
|
178
|
+
|
|
179
|
+
What practitioners actually say. Include direct quotes where available.
|
|
180
|
+
Note the balance: if sentiment skews one way, say so explicitly.
|
|
181
|
+
|
|
182
|
+
## Project Alignment
|
|
183
|
+
|
|
184
|
+
### Vision Fit
|
|
185
|
+
|
|
186
|
+
How this relates to the project's current goals.
|
|
187
|
+
|
|
188
|
+
### Tech Stack Fit
|
|
189
|
+
|
|
190
|
+
Integration with the project's stack (from `package.json`, framework configs).
|
|
191
|
+
|
|
192
|
+
### Trade-offs for Current Stage
|
|
193
|
+
|
|
194
|
+
What matters most given where the project is now.
|
|
195
|
+
|
|
196
|
+
## Recommendation
|
|
197
|
+
|
|
198
|
+
Clear recommendation with confidence level and reasoning.
|
|
199
|
+
Include conditions under which the recommendation would change.
|
|
200
|
+
|
|
201
|
+
## Sources
|
|
202
|
+
|
|
203
|
+
Numbered list of all sources used, with:
|
|
204
|
+
|
|
205
|
+
- [N] [Title](url) — type, credibility, sentiment direction
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Phase 6: Present Summary
|
|
209
|
+
|
|
210
|
+
After writing the file, present to the user:
|
|
211
|
+
|
|
212
|
+
1. The output file path
|
|
213
|
+
2. The verdict and confidence
|
|
214
|
+
3. A 3-line summary of the key finding
|
|
215
|
+
4. Any critical gaps or caveats
|
|
216
|
+
|
|
217
|
+
</Steps>
|
|
218
|
+
|
|
219
|
+
<Quality_Gates>
|
|
220
|
+
|
|
221
|
+
- Minimum 8 distinct sources cited
|
|
222
|
+
- At least 2 sources per major claim
|
|
223
|
+
- Both positive AND negative signals sections must be substantive (not token)
|
|
224
|
+
- Sources section must include credibility and sentiment annotations
|
|
225
|
+
- Vision alignment section must reference specific project goals (not generic)
|
|
226
|
+
- All inline citations must be clickable links
|
|
227
|
+
- Frontmatter must include confidence and verdict fields
|
|
228
|
+
</Quality_Gates>
|
|
229
|
+
|
|
230
|
+
<Verdict_Scale>
|
|
231
|
+
|
|
232
|
+
- **adopt**: Strong evidence, clear fit, community consensus positive. Use it.
|
|
233
|
+
- **trial**: Promising evidence, worth a bounded experiment. Try it in a limited scope.
|
|
234
|
+
- **assess**: Mixed signals or insufficient evidence. Research more before committing.
|
|
235
|
+
- **hold**: Significant concerns or poor fit. Don't invest now, revisit later.
|
|
236
|
+
- **reject**: Clear evidence against. Don't use this.
|
|
237
|
+
</Verdict_Scale>
|
|
238
|
+
|
|
239
|
+
<Tool_Usage>
|
|
240
|
+
|
|
241
|
+
- `WebSearch` for broad discovery (Phase 1) and gap-filling (Phase 3)
|
|
242
|
+
- `WebFetch` for deep source extraction (Phase 2)
|
|
243
|
+
- `Read` for loading vision and tech stack context (Phase 0)
|
|
244
|
+
- `Write` for the final report (Phase 5)
|
|
245
|
+
- `Agent` with `subagent_type=Explore` if codebase context is needed for alignment analysis
|
|
246
|
+
- Use parallel tool calls wherever searches are independent
|
|
247
|
+
</Tool_Usage>
|
|
248
|
+
|
|
249
|
+
<Common_Mistakes>
|
|
250
|
+
|
|
251
|
+
- Writing a report that's all positive or all negative — always find both sides
|
|
252
|
+
- Citing marketing material as if it were neutral evidence — flag vendor bias
|
|
253
|
+
- Making alignment claims without reading the actual vision doc
|
|
254
|
+
- Using stale search results — always include "2026" in queries
|
|
255
|
+
- Writing the report before triangulating — don't just concatenate search results
|
|
256
|
+
</Common_Mistakes>
|
|
257
|
+
|
|
258
|
+
Task: {{ARGUMENTS}}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: skill
|
|
3
|
+
slug: delivery-program
|
|
4
|
+
title: Delivery Program
|
|
5
|
+
status: active
|
|
6
|
+
scope: repo
|
|
7
|
+
applies_to: [agents]
|
|
8
|
+
related: [ultragoal, team, verify]
|
|
9
|
+
created: "2026-07-29"
|
|
10
|
+
last_reviewed: "2026-07-29"
|
|
11
|
+
name: delivery-program
|
|
12
|
+
description: "Run merge-last multi-blueprint programs through a typed delivery branch."
|
|
13
|
+
argument-hint: "<parent-roadmap-slug>"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Delivery Program
|
|
17
|
+
|
|
18
|
+
Use this workflow when a typed `parent-roadmap` owns multiple child blueprints:
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
delivery_branch: delivery/<program>
|
|
22
|
+
delivery_base: main
|
|
23
|
+
child_review_quorum: 1
|
|
24
|
+
final_review_quorum: 1
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Child membership comes only from `parent_roadmap`; do not maintain a second list.
|
|
28
|
+
|
|
29
|
+
## Loop
|
|
30
|
+
|
|
31
|
+
1. Call `wp_delivery_status({ slug })`.
|
|
32
|
+
2. Treat its `version`, blockers, and exact returned action as the current derived
|
|
33
|
+
truth. Do not reconstruct state from transcripts.
|
|
34
|
+
3. Dispatch only returned `wp_worktree` actions. Child work starts from the
|
|
35
|
+
delivery branch and child PRs target that branch.
|
|
36
|
+
4. Integrate at most one child at a time. Recheck status immediately before
|
|
37
|
+
calling `wp_pr_merge` with the exact returned head SHA.
|
|
38
|
+
5. An `enqueued` merge is not integrated. Call `wp_delivery_status` again and
|
|
39
|
+
wait for the merged postcondition.
|
|
40
|
+
6. After every child PR is merged, verify the delivery branch and land its final
|
|
41
|
+
PR to `delivery_base` through the same exact-SHA merge tool.
|
|
42
|
+
|
|
43
|
+
## Invariants
|
|
44
|
+
|
|
45
|
+
- Executors do not merge their own PRs or act as their own outside reviewer.
|
|
46
|
+
- Never push directly to the delivery branch or `main`.
|
|
47
|
+
- Never use admin override, auto-merge, branch deletion, or a caller-invented SHA.
|
|
48
|
+
- GitHub head matching is atomic; base matching is not. Preserve the reported
|
|
49
|
+
pre/post base evidence and rerun status after every mutation.
|
|
50
|
+
- Use `queue_policy: merge_queue` only when policy explicitly requires it and
|
|
51
|
+
CI has a valid `merge_group` workflow. Queued state remains serialized.
|
|
52
|
+
- Unknown dependencies, unverified completed children, stale heads, wrong bases,
|
|
53
|
+
path overlaps, missing review evidence, and partial provider state block landing.
|
|
54
|
+
- Provider timeouts and discovery limits return blockers/warnings; do not increase
|
|
55
|
+
timeouts or bypass guards.
|
|
56
|
+
|
|
57
|
+
Fallback when MCP is unavailable: `wp pr merge` uses the same exact-SHA service.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-review
|
|
3
|
+
description: "Report-first visual/browser design audit for hierarchy, spacing, consistency, responsive, a11y, and interactions."
|
|
4
|
+
license: MIT
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
- Bash
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Design review
|
|
13
|
+
|
|
14
|
+
Use for live visual QA or design polish requests. For pre-implementation plan critique, use `/plan-design-review`.
|
|
15
|
+
|
|
16
|
+
## Default behavior
|
|
17
|
+
|
|
18
|
+
- The `allowed-tools` frontmatter is an audited disclosure for supported hosts;
|
|
19
|
+
pretool-guard remains the enforced mutation backstop when a host does not prove
|
|
20
|
+
skill-frontmatter enforcement.
|
|
21
|
+
- Report first; do not edit source unless the user explicitly asks for fixes.
|
|
22
|
+
- Inspect key viewports and states.
|
|
23
|
+
- Capture evidence with browser screenshots or precise observations.
|
|
24
|
+
- Rank findings by user impact and implementation effort.
|
|
25
|
+
|
|
26
|
+
If fixes are authorized, make small visual changes and verify before/after.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devex-review
|
|
3
|
+
description: "Report-first developer-experience audit for onboarding, docs, examples, CLI help, and time-to-hello-world."
|
|
4
|
+
license: MIT
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
- Bash
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Live DX review
|
|
13
|
+
|
|
14
|
+
Use after or during developer-facing work to test the real user journey.
|
|
15
|
+
|
|
16
|
+
This is report-only by default. The `allowed-tools` frontmatter is an audited
|
|
17
|
+
disclosure for supported hosts; pretool-guard remains the enforced mutation
|
|
18
|
+
backstop when a host does not prove skill-frontmatter enforcement.
|
|
19
|
+
|
|
20
|
+
## Evidence to gather
|
|
21
|
+
|
|
22
|
+
- Docs route or README entrypoint.
|
|
23
|
+
- Install/setup command path.
|
|
24
|
+
- CLI help and error messages.
|
|
25
|
+
- Time-to-hello-world estimate.
|
|
26
|
+
- Browser evidence for docs or local app flows when relevant.
|
|
27
|
+
|
|
28
|
+
Return a scorecard with blockers, papercuts, screenshots/artifacts when available, and concrete next fixes.
|