You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .opencode/skills/scope/SKILL.md
+20-20Lines changed: 20 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,7 +63,7 @@ Ask the stakeholder to describe the same situation from another actor's point of
63
63
Three levels of active listening apply throughout every interview session:
64
64
65
65
-**Level 1 — Per answer**: immediately paraphrase each answer before moving to the next question. "So if I understand correctly, you're saying that X happens when Y?" Catches misunderstanding in the moment.
66
-
-**Level 2 — Per cluster**: brief synthesis when transitioning between topic clusters. "We've covered [area A] and [area B]. Before I ask about [area C], here is what I understood so far: [summary]. Does that capture it?" Confirms completeness, gives stakeholder a recovery point.
66
+
-**Level 2 — Per group**: brief synthesis when transitioning between behavior groups. "We've covered [area A] and [area B]. Before I ask about [area C], here is what I understood so far: [summary]. Does that capture it?" Confirms completeness, gives stakeholder a recovery point.
67
67
-**Level 3 — End of session**: full synthesis of everything discussed. Present to stakeholder for approval. This is the accuracy gate, the baseline signal, and the input to domain modeling.
68
68
69
69
Do not introduce topic labels or categories during active listening. The summary must reflect what the stakeholder said, not new framing that prompts reactions to things they haven't considered.
@@ -98,20 +98,20 @@ Do not introduce topic labels or categories during active listening. The summary
98
98
4. Run a **silent pre-mortem** on the confirmed synthesis: "Imagine we build exactly what was described, ship it, and it fails. What was missing?" Add any discoveries as new questions to the Questions table.
99
99
5. Mark `Template §1: CONFIRMED` in `discovery.md`. This unlocks Session 2.
**Before the session**: Review the confirmed Session 1 synthesis. Identify behavior groups (cross-cutting concerns, system-wide constraints, integration points, lifecycle questions). Prepare group-level questions.
104
104
105
-
**During the session**: Apply Level 1 active listening per answer. Apply Level 2 active listening when transitioning between clusters. Apply CIT, Laddering, and CI Perspective Change per cluster. Add new questions in the moment.
105
+
**During the session**: Apply Level 1 active listening per answer. Apply Level 2 active listening when transitioning between groups. Apply CIT, Laddering, and CI Perspective Change per group. Add new questions in the moment.
106
106
107
107
**After the session**:
108
108
109
-
1. For each cluster, write a **Cluster Summary** in `discovery.md`.
109
+
1. For each group, write a **Group Summary** in `discovery.md`.
110
110
2. Mark `Template §2: CONFIRMED` in `discovery.md`. This unlocks Session 3.
**Before the session**: Produce a **Full Synthesis** across all clusters from Sessions 1 and 2. Write it to `discovery.md`.
114
+
**Before the session**: Produce a **Full Synthesis** across all behavior groups from Sessions 1 and 2. Write it to `discovery.md`.
115
115
116
116
**During the session**: Present the full synthesis to the stakeholder. "This is my understanding of the full scope. Please correct anything that is missing or wrong." Stakeholder approves or corrects. PO refines until the stakeholder explicitly approves.
3. Run a **silent pre-mortem** on the confirmed synthesis.
153
153
4. Mark `Template §1: CONFIRMED`. This unlocks Session 2.
154
154
155
-
### Session 2 — Cluster / Big Picture for This Feature
155
+
### Session 2 — Behavior Groups / Big Picture for This Feature
156
156
157
-
**Before the session**: Review the confirmed Session 1 synthesis. Identify clusters of behavior within this feature (happy paths, error paths, edge cases, lifecycle events, integration points).
157
+
**Before the session**: Review the confirmed Session 1 synthesis. Identify behavior groups within this feature (happy paths, error paths, edge cases, lifecycle events, integration points).
158
158
159
-
**During the session**: Apply Level 1 active listening per answer. Apply Level 2 active listening when transitioning between clusters. Apply CIT, Laddering, and CI Perspective Change per cluster.
159
+
**During the session**: Apply Level 1 active listening per answer. Apply Level 2 active listening when transitioning between groups. Apply CIT, Laddering, and CI Perspective Change per group.
160
160
161
161
**After the session**:
162
162
163
-
1. Write **Cluster Summaries** in the `.feature` file. Name each cluster — these names become candidate `Rule:` titles.
163
+
1. Write **Group Summaries** in the `.feature` file. Name each group — these names become candidate `Rule:` titles.
164
164
2. Mark `Template §2: CONFIRMED`. This unlocks Session 3.
165
165
166
166
### Session 3 — Feature Synthesis Approval + Story Derivation
167
167
168
-
**Before the session**: Produce a **Full Synthesis** of the feature scope, covering all clusters from Sessions 1 and 2.
168
+
**Before the session**: Produce a **Full Synthesis** of the feature scope, covering all behavior groups from Sessions 1 and 2.
169
169
170
170
**During the session**: Present the full synthesis to the stakeholder. Stakeholder approves or corrects. PO refines until explicitly approved.
171
171
172
172
**After the session** (PO alone):
173
173
174
-
1. Map each named cluster from Session 2 to a candidate user story (Rule).
174
+
1. Map each named group from Session 2 to a candidate user story (Rule).
175
175
2. Write `Status: BASELINED (YYYY-MM-DD)` to the `.feature` file's discovery section.
176
176
3. Mark `Template §3: CONFIRMED`.
177
177
@@ -355,16 +355,16 @@ Feature: <Feature title>
355
355
Template §1: CONFIRMED
356
356
Synthesis: <PO synthesis — confirmed by stakeholder>
357
357
358
-
Session 2 — Cluster / Big Picture:
358
+
Session 2 — Behavior Groups / Big Picture:
359
359
| ID | Question | Answer | Status |
360
360
|----|----------|--------|--------|
361
361
| Q2 | ... | ... | OPEN / ANSWERED |
362
362
Template §2: CONFIRMED
363
-
Clusters:
364
-
- <Cluster name>: <one-sentence summary>
363
+
Behavior Groups:
364
+
- <Behavior group name>: <one-sentence summary>
365
365
366
366
Session 3 — Feature Synthesis:
367
-
Synthesis: <full synthesis across all clusters>
367
+
Synthesis: <full synthesis across all behavior groups>
PO creates `docs/features/discovery.md` using the 3-session template. **Skip Phase 1 entirely if `discovery.md` Status is BASELINED.** To add features to an existing project: append new questions to Session 1 and re-fill from there.
59
59
60
60
-**Session 1** — Individual scope elicitation: 5Ws + Success + Failure + Out-of-scope. Gap-finding per answer using CIT, Laddering, and CI Perspective Change. PO writes synthesis; stakeholder confirms or corrects. PO runs silent pre-mortem on confirmed synthesis. Template §1 must be confirmed before Session 2.
61
-
-**Session 2** — Cluster / big picture: questions target clusters and cross-cutting concerns. Gap-finding per cluster. Level 2 synthesis when transitioning between clusters. Template §2 must be complete before Session 3.
62
-
-**Session 3** — Synthesis approval + feature derivation: PO produces full synthesis of all clusters; stakeholder approves or corrects (PO refines until approved). Domain analysis: nouns/verbs → subject areas → FDD "Action object" feature names. Create `backlog/<name>.feature` stubs. Write `Status: BASELINED` to `discovery.md`.
61
+
-**Session 2** — Behavior groups / big picture: questions target behavior groups and cross-cutting concerns. Gap-finding per group. Level 2 synthesis when transitioning between groups. Template §2 must be complete before Session 3.
62
+
-**Session 3** — Synthesis approval + feature derivation: PO produces full synthesis of all behavior groups; stakeholder approves or corrects (PO refines until approved). Domain analysis: nouns/verbs → subject areas → FDD "Action object" feature names. Create `backlog/<name>.feature` stubs. Write `Status: BASELINED` to `discovery.md`.
63
63
64
64
### Phase 2 — Feature Discovery (per feature)
65
65
Each `.feature` file has its own 3-session discovery template in its description. **Sessions are enforced by the template: each section must be filled before proceeding to the next.**
66
66
67
67
-**Session 1** — Individual entity elicitation: populate Entities table from project discovery; generate questions from entity gaps using CIT, Laddering, CI Perspective Change. PO writes synthesis; stakeholder confirms. Silent pre-mortem on confirmed synthesis.
68
-
-**Session 2** — Cluster / big picture: questions target clusters of behavior within this feature. Gap-finding per cluster. Level 2 cluster transition summaries.
69
-
-**Session 3** — Feature synthesis approval + story derivation: PO produces synthesis of feature scope and clusters; stakeholder approves or corrects (PO refines until approved). Clusters become candidate user stories (Rules). Write `Status: BASELINED` to `.feature` discovery section.
68
+
-**Session 2** — Behavior groups / big picture: questions target behavior groups within this feature. Gap-finding per group. Level 2 group transition summaries.
69
+
-**Session 3** — Feature synthesis approval + story derivation: PO produces synthesis of feature scope and behavior groups; stakeholder approves or corrects (PO refines until approved). Story candidates become candidate user stories (Rules). Write `Status: BASELINED` to `.feature` discovery section.
70
70
71
71
**Decomposition check**: after Session 3, does this feature span >2 distinct concerns OR have >8 candidate Examples? YES → split into separate `.feature` files, re-run Phase 2. NO → proceed.
72
72
73
73
### Phase 3 — Stories (PO alone)
74
-
Clusters from Phase 2 Session 2 → one `Rule:` block per user story. Each `Rule:` has the user story header (`As a / I want / So that`) as its description — no `Example:` blocks yet. INVEST gate: all 6 letters must pass. Commit: `feat(stories): write user stories for <name>`
74
+
Story candidates from Phase 2 Session 2 → one `Rule:` block per user story. Each `Rule:` has the user story header (`As a / I want / So that`) as its description — no `Example:` blocks yet. INVEST gate: all 6 letters must pass. Commit: `feat(stories): write user stories for <name>`
75
75
76
76
### Phase 4 — Criteria (PO alone)
77
77
Pre-mortem per Rule (all Rules must be checked before writing Examples). Write `Example:` blocks — declarative Given/When/Then, MoSCoW triage (Must/Should/Could) per Example. Review checklist (4.3). Commit: `feat(criteria): write acceptance criteria for <name>`
0 commit comments