Skip to content

Commit 9a2f45f

Browse files
committed
refactor: rename cluster to behavior groups for clearer AI focus
1 parent 458df2f commit 9a2f45f

File tree

5 files changed

+53
-53
lines changed

5 files changed

+53
-53
lines changed

.opencode/skills/scope/SKILL.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Ask the stakeholder to describe the same situation from another actor's point of
6363
Three levels of active listening apply throughout every interview session:
6464

6565
- **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.
6767
- **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.
6868

6969
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
9898
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.
9999
5. Mark `Template §1: CONFIRMED` in `discovery.md`. This unlocks Session 2.
100100

101-
### Session 2 — Cluster / Big Picture
101+
### Session 2 — Behavior Groups / Big Picture
102102

103-
**Before the session**: Review the confirmed Session 1 synthesis. Identify topic clusters (cross-cutting concerns, system-wide constraints, integration points, lifecycle questions). Prepare cluster-level questions.
103+
**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.
104104

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.
106106

107107
**After the session**:
108108

109-
1. For each cluster, write a **Cluster Summary** in `discovery.md`.
109+
1. For each group, write a **Group Summary** in `discovery.md`.
110110
2. Mark `Template §2: CONFIRMED` in `discovery.md`. This unlocks Session 3.
111111

112112
### Session 3 — Synthesis Approval + Feature Derivation
113113

114-
**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`.
115115

116116
**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.
117117

@@ -152,26 +152,26 @@ Commit: `feat(discovery): baseline project discovery`
152152
3. Run a **silent pre-mortem** on the confirmed synthesis.
153153
4. Mark `Template §1: CONFIRMED`. This unlocks Session 2.
154154

155-
### Session 2 — Cluster / Big Picture for This Feature
155+
### Session 2 — Behavior Groups / Big Picture for This Feature
156156

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).
158158

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.
160160

161161
**After the session**:
162162

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.
164164
2. Mark `Template §2: CONFIRMED`. This unlocks Session 3.
165165

166166
### Session 3 — Feature Synthesis Approval + Story Derivation
167167

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.
169169

170170
**During the session**: Present the full synthesis to the stakeholder. Stakeholder approves or corrects. PO refines until explicitly approved.
171171

172172
**After the session** (PO alone):
173173

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).
175175
2. Write `Status: BASELINED (YYYY-MM-DD)` to the `.feature` file's discovery section.
176176
3. Mark `Template §3: CONFIRMED`.
177177

@@ -355,16 +355,16 @@ Feature: <Feature title>
355355
Template §1: CONFIRMED
356356
Synthesis: <PO synthesis — confirmed by stakeholder>
357357
358-
Session 2 — Cluster / Big Picture:
358+
Session 2 — Behavior Groups / Big Picture:
359359
| ID | Question | Answer | Status |
360360
|----|----------|--------|--------|
361361
| Q2 | ... | ... | OPEN / ANSWERED |
362362
Template §2: CONFIRMED
363-
Clusters:
364-
- <Cluster name>: <one-sentence summary>
363+
Behavior Groups:
364+
- <Behavior group name>: <one-sentence summary>
365365
366366
Session 3 — Feature Synthesis:
367-
Synthesis: <full synthesis across all clusters>
367+
Synthesis: <full synthesis across all behavior groups>
368368
Template §3: CONFIRMED — stakeholder approved YYYY-MM-DD
369369
370370
Rule: <User story title>
@@ -409,19 +409,19 @@ Template §1: CONFIRMED
409409
Synthesis: <PO synthesis — confirmed by stakeholder>
410410
Pre-mortem: <gaps identified; new questions added above>
411411

412-
## Session 2 — Cluster / Big Picture
412+
## Session 2 — Behavior Groups / Big Picture
413413

414414
| ID | Question | Answer | Status |
415415
|----|----------|--------|--------|
416416
| Q2 | ... | ... | OPEN / ANSWERED |
417417

418418
Template §2: CONFIRMED
419-
Clusters:
420-
- <Cluster name>: <one-sentence summary>
419+
Behavior Groups:
420+
- <Behavior group name>: <one-sentence summary>
421421

422422
## Session 3 — Full Synthesis
423423

424-
<3–6 paragraph synthesis of all scope, clusters, and boundaries>
424+
<3–6 paragraph synthesis of all scope, behavior groups, and boundaries>
425425

426426
Template §3: CONFIRMED — stakeholder approved YYYY-MM-DD
427427
```

.opencode/skills/scope/discovery-template.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ Feature: <feature-name>
2020
Synthesis: (fill after stakeholder confirms)
2121
Pre-mortem: (fill after synthesis is confirmed)
2222

23-
Session 2 — Cluster / Big Picture:
23+
Session 2 — Behavior Groups / Big Picture:
2424
| ID | Question | Answer | Status |
2525
|----|----------|--------|--------|
2626

2727
Template §2: PENDING
28-
Clusters:
29-
- (fill after all cluster questions are answered)
28+
Behavior Groups:
29+
- (fill after all group questions are answered)
3030

3131
Session 3 — Feature Synthesis:
3232
(fill after Sessions 1 and 2 are complete)

AGENTS.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,20 +58,20 @@ STEP 5: ACCEPT (product-owner) → demo, validate, move folder to compl
5858
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.
5959

6060
- **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`.
6363

6464
### Phase 2 — Feature Discovery (per feature)
6565
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.**
6666

6767
- **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.
7070

7171
**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.
7272

7373
### 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>`
7575

7676
### Phase 4 — Criteria (PO alone)
7777
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>`

docs/features/discovery.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ Pre-mortem: (fill after synthesis is confirmed)
2323

2424
---
2525

26-
## Session 2 — Cluster / Big Picture
26+
## Session 2 — Behavior Groups / Big Picture
2727

2828
| ID | Question | Answer | Status |
2929
|----|----------|--------|--------|
3030

3131
Template §2: PENDING
32-
Clusters:
33-
- (fill after all cluster questions are answered)
32+
Behavior Groups:
33+
- (fill after all group questions are answered)
3434

3535
---
3636

docs/workflow.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,20 @@ Each step has a designated agent and a specific deliverable. No step is skipped.
4646
│ → PO runs silent pre-mortem on confirmed synthesis │
4747
│ [template §1: synthesis confirmed → unlocks Session 2] │
4848
│ │
49-
│ Session 2 — Cluster / Big Picture
50-
│ Questions target clusters and cross-cutting concerns
51-
│ Gap-finding per cluster: CIT · Laddering · CI Perspective │
49+
│ Session 2 — Behavior Groups / Big Picture │
50+
│ Questions target behavior groups and cross-cutting concerns │
51+
│ Gap-finding per group: CIT · Laddering · CI Perspective
5252
│ [new questions from elucidation added in the moment] │
5353
│ Level 1: paraphrase each answer │
54-
│ Level 2: synthesis when transitioning between clusters
55-
│ [template §2: all clusters answered → unlocks Session 3] │
54+
│ Level 2: synthesis when transitioning between groups
55+
│ [template §2: all groups answered → unlocks Session 3]
5656
│ │
5757
│ Session 3 — Synthesis Approval + Feature Derivation │
58-
│ PO produces full synthesis across all clustered areas
58+
│ PO produces full synthesis across all behavior groups
5959
│ → stakeholder approves or corrects; PO refines until approved │
6060
│ [template §3: approval → unlocks domain analysis] │
6161
│ Domain analysis: nouns/verbs → subject areas │
62-
│ Name features (FDD "Action object" / Affinity clusters)
62+
│ Name features (FDD "Action object" / Affinity groups)
6363
│ Create backlog/<name>.feature stubs │
6464
│ Status: BASELINED written to discovery.md │
6565
│ │
@@ -75,18 +75,18 @@ Each step has a designated agent and a specific deliverable. No step is skipped.
7575
│ → PO runs silent pre-mortem on confirmed synthesis │
7676
│ [template §1: synthesis confirmed → unlocks Session 2] │
7777
│ │
78-
│ Session 2 — Cluster / Big Picture for this Feature
79-
│ Questions target clusters of behavior within this feature │
80-
│ Gap-finding per cluster: CIT · Laddering · CI Perspective │
78+
│ Session 2 — Behavior Groups / Big Picture for this Feature │
79+
│ Questions target behavior groups within this feature
80+
│ Gap-finding per group: CIT · Laddering · CI Perspective
8181
│ [new questions from elucidation added in the moment] │
82-
│ Level 1: paraphrase · Level 2: cluster transition summaries │
83-
│ [template §2: all clusters answered → unlocks Session 3] │
84-
│ │
85-
│ Session 3 — Feature Synthesis Approval + Story Derivation
86-
│ PO produces synthesis of feature scope and clusters
87-
│ → stakeholder approves or corrects; PO refines until approved
88-
Clusters → candidate user stories (Rules)
89-
│ Status: BASELINED written to .feature discovery section │
82+
│ Level 1: paraphrase · Level 2: group transition summaries
83+
│ [template §2: all groups answered → unlocks Session 3]
84+
│ │
85+
│ Session 3 — Feature Synthesis Approval + Story Derivation │
86+
│ PO produces synthesis of feature scope and behavior groups
87+
│ → stakeholder approves or corrects; PO refines until approved │
88+
Story candidates → candidate user stories (Rules) │
89+
│ Status: BASELINED written to .feature discovery section
9090
│ [template §3: approval + stories → unlocks decomp check] │
9191
│ │
9292
│ DECOMPOSITION CHECK │
@@ -95,7 +95,7 @@ Each step has a designated agent and a specific deliverable. No step is skipped.
9595
│ NO → proceed │
9696
│ │
9797
│ Phase 3 — Stories (PO alone) │
98-
Clusters from Phase 2 Session 2 → one Rule: block per story
98+
Story candidates from Phase 2 Session 2 → one Rule: block per story │
9999
│ INVEST gate: all 6 letters must pass before committing │
100100
│ commit: feat(stories): write user stories for <name> │
101101
│ │
@@ -370,12 +370,12 @@ Feature: <title>
370370
| ID | Question | Answer | Status | ← OPEN / ANSWERED
371371
Synthesis: <PO synthesis — confirmed by stakeholder>
372372
373-
Session 2 — Cluster / Big Picture:
373+
Session 2 — Behavior Groups / Big Picture:
374374
| ID | Question | Answer | Status |
375-
Clusters: <named topic clusters derived from answers>
375+
Behavior Groups: <named behavior groups derived from answers>
376376
377377
Session 3 — Feature Synthesis:
378-
Synthesis: <full synthesis across clusters>
378+
Synthesis: <full synthesis across behavior groups>
379379
Approved: YES / NO
380380
381381
Architecture: ← added at Step 2 by software-engineer

0 commit comments

Comments
 (0)