@comfanion/workflow 4.38.4-dev.1 → 4.39.0

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.
Files changed (40) hide show
  1. package/package.json +1 -1
  2. package/src/build-info.json +2 -2
  3. package/src/opencode/agents/architect.md +8 -3
  4. package/src/opencode/agents/pm.md +9 -3
  5. package/src/opencode/gitignore +1 -0
  6. package/src/opencode/skills/acceptance-criteria/SKILL.md +58 -176
  7. package/src/opencode/skills/architecture-design/SKILL.md +86 -576
  8. package/src/opencode/skills/archiving/SKILL.md +60 -140
  9. package/src/opencode/skills/coding-standards/SKILL.md +113 -434
  10. package/src/opencode/skills/coding-standards/what-to-document.md +512 -0
  11. package/src/opencode/skills/database-design/SKILL.md +94 -778
  12. package/src/opencode/skills/database-design/indexing.md +187 -0
  13. package/src/opencode/skills/database-design/migrations.md +239 -0
  14. package/src/opencode/skills/database-design/schema-design.md +319 -0
  15. package/src/opencode/skills/doc-todo/SKILL.md +35 -27
  16. package/src/opencode/skills/epic-writing/SKILL.md +156 -244
  17. package/src/opencode/skills/epic-writing/template.md +11 -1
  18. package/src/opencode/skills/methodologies/SKILL.md +91 -354
  19. package/src/opencode/skills/methodologies/define.md +336 -0
  20. package/src/opencode/skills/methodologies/diagnose.md +374 -0
  21. package/src/opencode/skills/methodologies/empathize.md +253 -0
  22. package/src/opencode/skills/methodologies/ideate.md +458 -0
  23. package/src/opencode/skills/prd-writing/SKILL.md +162 -366
  24. package/src/opencode/skills/prd-writing/template.md +178 -48
  25. package/src/opencode/skills/requirements-gathering/SKILL.md +102 -117
  26. package/src/opencode/skills/requirements-gathering/template.md +97 -17
  27. package/src/opencode/skills/sprint-planning/SKILL.md +76 -225
  28. package/src/opencode/skills/sprint-planning/template.yaml +8 -0
  29. package/src/opencode/skills/story-writing/SKILL.md +76 -210
  30. package/src/opencode/skills/story-writing/template.md +10 -1
  31. package/src/opencode/skills/test-design/SKILL.md +78 -84
  32. package/src/opencode/skills/test-design/test-strategy.md +279 -0
  33. package/src/opencode/skills/test-design/unit-tests-mocking.md +247 -0
  34. package/src/opencode/skills/test-design/unit-tests-patterns.md +181 -0
  35. package/src/opencode/skills/test-design/unit-tests.md +117 -0
  36. package/src/opencode/skills/unit-writing/SKILL.md +119 -377
  37. package/src/opencode/skills/module-documentation/SKILL.md +0 -224
  38. package/src/opencode/skills/module-documentation/template.md +0 -139
  39. /package/src/opencode/skills/test-design/{template-integration.md → templates/template-integration.md} +0 -0
  40. /package/src/opencode/skills/test-design/{template-module.md → templates/template-module.md} +0 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: methodologies
3
- description: Use when applying Five Whys, Empathy Mapping, Journey Mapping, or other analysis methods
3
+ description: Apply analysis methodologies - Five Whys (root cause), Empathy Mapping (user feelings), Journey Mapping (user flow), Fishbone (cause-effect). Use when analyzing problems, understanding users, mapping journeys, or when user mentions "Five Whys", "root cause", "empathy map", "journey map", "user analysis", or "problem analysis".
4
4
  license: MIT
5
5
  compatibility: opencode
6
6
  metadata:
@@ -10,377 +10,114 @@ metadata:
10
10
 
11
11
  # Methodologies Skill
12
12
 
13
- > **Purpose**: Structured methods for requirements, analysis, and problem-solving
14
- > **Used by**: Analyst, PM, Architect, Researcher
15
-
16
- ---
17
-
18
- ## By Agent Role
19
-
20
- | Agent | Primary Methods |
21
- |-------|-----------------|
22
- | **Analyst (Mary)** | User Interviews, Empathy Mapping, Journey Mapping, Affinity Clustering, Five Whys, Fishbone |
23
- | **PM (John)** | Problem Framing, HMW, POV Statement, JTBD, Brainstorming, SCAMPER |
24
- | **Architect (Winston)** | Systems Thinking, Fishbone, Is/Is Not Analysis, Decision Matrix |
25
- | **Researcher (Alex)** | Analogous Inspiration, Five Whys, Systems Thinking, Is/Is Not |
26
-
27
- ---
28
-
29
- ## EMPATHIZE Methods (Analyst)
30
-
31
- ### User Interviews
32
- **Purpose**: Deep conversations to understand user needs, experiences, and pain points
33
-
34
- **Prompts**:
35
- - What brings you here today?
36
- - Walk me through a recent experience
37
- - What frustrates you most?
38
- - What would make this easier?
39
- - Tell me more about that
40
-
41
- **Output**: Interview notes, verbatim quotes, key insights
42
-
43
- ---
44
-
45
- ### Empathy Mapping
46
- **Purpose**: Visual representation of what users Say, Think, Do, Feel
47
-
48
- ```
49
- ┌─────────────────────────────────────┐
50
- │ SAYS │
51
- │ "Actual quotes from user" │
52
- ├─────────────────────────────────────┤
53
- │ THINKS │
54
- │ What might they be thinking? │
55
- ├─────────────────────────────────────┤
56
- │ DOES │
57
- │ What actions did they take? │
58
- ├─────────────────────────────────────┤
59
- │ FEELS │
60
- │ What emotions surfaced? │
61
- └─────────────────────────────────────┘
13
+ ```xml
14
+ <methodologies>
15
+ <definition>Structured methods for requirements, analysis, problem-solving</definition>
16
+
17
+ <categories>
18
+ <empathize>Understand users See [empathize.md](empathize.md)</empathize>
19
+ <define>Frame problems → See [define.md](define.md)</define>
20
+ <ideate>Generate solutions See [ideate.md](ideate.md)</ideate>
21
+ <diagnose>Find root causes → See [diagnose.md](diagnose.md)</diagnose>
22
+ <evaluate>Make decisions (Decision Matrix)</evaluate>
23
+ </categories>
24
+
25
+ <by_agent>
26
+ <analyst>User Interviews, Empathy Mapping, Journey Mapping, Five Whys, Fishbone</analyst>
27
+ <pm>Problem Framing, HMW, POV Statement, JTBD, Brainstorming</pm>
28
+ <architect>Systems Thinking, Fishbone, Is/Is Not, Decision Matrix</architect>
29
+ <researcher>Five Whys, Systems Thinking, Is/Is Not</researcher>
30
+ </by_agent>
31
+
32
+ <quick_reference>
33
+ <empathize>
34
+ <user_interviews>Deep conversations → See [empathize.md](empathize.md)</user_interviews>
35
+ <empathy_mapping>Says | Thinks | Does | Feels → See [empathize.md](empathize.md)</empathy_mapping>
36
+ <journey_mapping>Awareness Action Use Support → See [empathize.md](empathize.md)</journey_mapping>
37
+ </empathize>
38
+
39
+ <diagnose>
40
+ <five_whys>Ask "Why?" 5 times → See [diagnose.md](diagnose.md)</five_whys>
41
+ <fishbone>People | Process | Tech | Data | Env → See [diagnose.md](diagnose.md)</fishbone>
42
+ <is_is_not>Define boundaries → See [diagnose.md](diagnose.md)</is_is_not>
43
+ <systems_thinking>Feedback loops, leverage points → See [diagnose.md](diagnose.md)</systems_thinking>
44
+ </diagnose>
45
+
46
+ <define>
47
+ <problem_framing>Transform observations into clear statements → See [define.md](define.md)</problem_framing>
48
+ <hmw>How might we [action] for [user] so that [outcome]? → See [define.md](define.md)</hmw>
49
+ <pov>[User] needs [what] because [insight] → See [define.md](define.md)</pov>
50
+ <jtbd>When [situation], I want [motivation], so I can [outcome] → See [define.md](define.md)</jtbd>
51
+ <affinity_clustering>Group observations to reveal patterns → See [define.md](define.md)</affinity_clustering>
52
+ </define>
53
+
54
+ <ideate>
55
+ <brainstorming>Generate 50+ ideas without judgment → See [ideate.md](ideate.md)</brainstorming>
56
+ <scamper>7 lenses: Substitute, Combine, Adapt, Modify, Purposes, Eliminate, Reverse → See [ideate.md](ideate.md)</scamper>
57
+ <crazy_8s>8 sketches in 8 minutes → See [ideate.md](ideate.md)</crazy_8s>
58
+ <provotypes>Extreme prototypes to challenge assumptions → See [ideate.md](ideate.md)</provotypes>
59
+ <analogous_inspiration>Learn from other domains → See [ideate.md](ideate.md)</analogous_inspiration>
60
+ </ideate>
61
+
62
+ <evaluate>
63
+ <decision_matrix>Criteria | Weight | Option A | Option B</decision_matrix>
64
+ </evaluate>
65
+ </quick_reference>
66
+
67
+ <workflows>
68
+ <requirements>User Interviews → Empathy Map → Journey Map → Requirements</requirements>
69
+ <problem_definition>Five Whys → Fishbone → HMW → POV</problem_definition>
70
+ <solution_generation>Brainstorming → SCAMPER → JTBD</solution_generation>
71
+ <architecture>Systems Thinking → Is/Is Not → Decision Matrix → ADR</architecture>
72
+ </workflows>
73
+ </methodologies>
62
74
  ```
63
75
 
64
76
  ---
65
77
 
66
- ### Journey Mapping
67
- **Purpose**: Document complete user experience across touchpoints
68
-
69
- ```
70
- Stage: │ Awareness │ Consideration │ Action │ Use │ Support │
71
- ────────────┼───────────┼───────────────┼────────┼─────┼─────────┤
72
- Actions │ │ │ │ │ │
73
- Thoughts │ │ │ │ │ │
74
- Emotions │ 😀 │ 😐 │ 😰 │ 😊 │ 😡 │
75
- Pain Points │ │ │ │ │ │
76
- Opportunities│ │ │ │ │ │
77
- ```
78
-
79
- **Prompts**:
80
- - What's their starting point?
81
- - What steps do they take?
82
- - Where do they struggle?
83
- - What delights them?
84
- - What's the emotional arc?
85
-
86
- ---
78
+ ## Detailed Guides
87
79
 
88
- ## DEFINE Methods (Analyst, PM)
80
+ **For understanding users:**
81
+ - [empathize.md](empathize.md) - User Interviews, Empathy Mapping, Journey Mapping
89
82
 
90
- ### Problem Framing
91
- **Purpose**: Transform observations into clear actionable problem statements
83
+ **For framing problems:**
84
+ - [define.md](define.md) - Problem Framing, HMW, POV, JTBD, Affinity Clustering
92
85
 
93
- **Prompts**:
94
- - What's the **real** problem? (not the symptom)
95
- - Who experiences this?
96
- - Why does it matter?
97
- - What would success look like?
86
+ **For generating solutions:**
87
+ - [ideate.md](ideate.md) - Brainstorming, SCAMPER, Crazy 8s, Provotypes, Analogous Inspiration
98
88
 
99
- **Output**: 1-2 sentence problem statement that inspires solutions
89
+ **For finding root causes:**
90
+ - [diagnose.md](diagnose.md) - Five Whys, Fishbone, Is/Is Not, Systems Thinking
100
91
 
101
92
  ---
102
93
 
103
- ### How Might We (HMW)
104
- **Purpose**: Reframe problems as opportunity questions
105
-
106
- **Format**: `How might we [action] for [user] so that [outcome]?`
107
-
108
- **Examples**:
109
- - How might we help merchants update inventory faster?
110
- - How might we make checkout easier for mobile users?
111
- - How might we reduce friction in onboarding?
112
-
113
- **Rules**:
114
- - Opens solution space (not prescriptive)
115
- - User-centered
116
- - Implies positive change
94
+ ## Quick Examples
117
95
 
118
- ---
119
-
120
- ### Point of View (POV) Statement
121
- **Purpose**: Specific user-centered problem statements
122
-
123
- **Template**:
96
+ ### Five Whys
124
97
  ```
125
- [User type] needs [what] because [insight]
98
+ Problem: Users abandon checkout
99
+ 1. Why? → Too long
100
+ 2. Why? → Too many fields
101
+ 3. Why? → Unnecessary data
102
+ 4. Why? → No review process
103
+ 5. Why? → No validation process
104
+ Root Cause: Missing validation process
126
105
  ```
127
106
 
128
- **Example**:
129
- > A busy merchant needs quick inventory updates because they lose sales when items show as available but are out of stock.
130
-
131
- **Prompts**:
132
- - What's driving this need?
133
- - Why does it matter to them?
134
-
135
- ---
136
-
137
- ### Affinity Clustering
138
- **Purpose**: Group observations to reveal patterns and themes
139
-
140
- **Process**:
141
- 1. Write each observation on a card/sticky
142
- 2. Group similar items together (silently)
143
- 3. Name each cluster
144
- 4. Identify meta-themes
145
-
146
- **Prompts**:
147
- - What connects these?
148
- - What themes emerge?
149
- - What story do they tell?
150
-
151
- ---
152
-
153
- ### Jobs to be Done (JTBD)
154
- **Purpose**: Identify what users are "hiring" solutions to accomplish
155
-
156
- **Template**:
107
+ ### Empathy Map
157
108
  ```
158
- When [situation], I want to [motivation], so I can [expected outcome]
109
+ User: Busy merchant
110
+ Says: "I don't have time"
111
+ Thinks: "Too complicated"
112
+ Does: Skips fields
113
+ Feels: Frustrated 😤
114
+ Insight: Values speed over completeness
159
115
  ```
160
116
 
161
- **Three Job Types**:
162
- | Type | Question |
163
- |------|----------|
164
- | **Functional** | What task are they completing? |
165
- | **Emotional** | How do they want to feel? |
166
- | **Social** | How do they want to be perceived? |
167
-
168
- **Prompts**:
169
- - What job are they trying to do?
170
- - What progress do they want?
171
- - What are they really hiring this for?
172
- - What alternatives exist?
173
-
174
- ---
175
-
176
- ## IDEATE Methods (PM, Analyst)
177
-
178
- ### Brainstorming Rules
179
- 1. **No bad ideas** - defer judgment
180
- 2. **Build on others** - "Yes, and..."
181
- 3. **Aim for quantity** - 50+ ideas
182
- 4. **Be visual** - sketch it
183
- 5. **Stay on topic** - one problem at a time
184
- 6. **Time-box** - 10-15 minutes max
185
-
186
- ---
187
-
188
- ### SCAMPER
189
- **Purpose**: Apply 7 lenses to existing solutions for innovation
190
-
191
- | Letter | Question | Example |
192
- |--------|----------|---------|
193
- | **S**ubstitute | What can we substitute? | Different payment provider? |
194
- | **C**ombine | What can we combine? | Checkout + registration? |
195
- | **A**dapt | What can we adapt from elsewhere? | How does Uber handle this? |
196
- | **M**odify | How can we modify/magnify? | What if 10x faster? |
197
- | **P**ut to other uses | Other purposes? | Could this data serve analytics? |
198
- | **E**liminate | What can we remove? | Do we need this step? |
199
- | **R**everse | What if we reversed it? | User pulls instead of push? |
200
-
201
- ---
202
-
203
- ## DIAGNOSIS Methods (Analyst, Architect, Researcher)
204
-
205
- ### Five Whys Root Cause
206
- **Purpose**: Drill through symptoms to find root cause
207
-
208
- **Example**:
209
- ```
210
- Problem: Users are abandoning checkout
211
- └─ Why? → Payment fails frequently
212
- └─ Why? → Timeout errors occur
213
- └─ Why? → Payment gateway is slow
214
- └─ Why? → No connection pooling
215
- └─ Why? → Legacy implementation
216
-
217
- ROOT CAUSE: Legacy payment integration needs refactoring
218
- ```
219
-
220
- **Tips**:
221
- - Don't stop at the comfortable answer
222
- - Look for systemic causes, not blame
223
- - May need 3-7 "whys" (5 is a guideline)
224
-
225
- ---
226
-
227
- ### Fishbone Diagram (Ishikawa)
228
- **Purpose**: Map all potential causes across categories
229
-
230
- ```
231
- ┌─────────────────────────────────────────┐
232
- People ─────────┤ │
233
- │ │
234
- Process ────────┤ │
235
- │ PROBLEM ├───▶ EFFECT
236
- Technology ─────┤ │
237
- │ │
238
- Data ───────────┤ │
239
- │ │
240
- Environment ────┤ │
241
- └─────────────────────────────────────────┘
242
- ```
243
-
244
- **Categories (adapt to context)**:
245
- | Category | Questions |
246
- |----------|-----------|
247
- | **People** | Skills? Training? Capacity? Communication? |
248
- | **Process** | Steps? Handoffs? Bottlenecks? Unclear? |
249
- | **Technology** | Systems? Tools? Integration? Performance? |
250
- | **Data** | Quality? Availability? Format? Timeliness? |
251
- | **Environment** | External factors? Dependencies? Constraints? |
252
-
253
- ---
254
-
255
- ### Is/Is Not Analysis
256
- **Purpose**: Define problem boundaries by contrast
257
-
258
- | Question | IS | IS NOT |
259
- |----------|-----|--------|
260
- | **WHAT** is the problem? | | |
261
- | **WHERE** does it occur? | | |
262
- | **WHEN** does it happen? | | |
263
- | **WHO** experiences it? | | |
264
- | **HOW MUCH** impact? | | |
265
-
266
- **Prompts**:
267
- - Where does problem occur? Where doesn't it?
268
- - When does it happen? When doesn't it?
269
- - Who experiences it? Who doesn't?
270
- - What pattern emerges from the contrast?
271
-
272
- ---
273
-
274
- ### Systems Thinking
275
- **Purpose**: Map interconnected elements, feedback loops, and leverage points
276
-
277
- **Components to Map**:
117
+ ### Journey Map
278
118
  ```
279
- ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
280
- │ ELEMENTS │────▶│ CONNECTIONS │────▶│ FEEDBACK │
281
- │ │ │ │ │ LOOPS │
282
- │ What are │ │ What │ │ Reinforcing │
283
- │ the parts? │ │ relationships?│ │ or balancing?│
284
- └─────────────┘ └─────────────┘ └─────────────┘
285
-
286
-
287
- ┌─────────────┐
288
- │ LEVERAGE │
289
- │ POINTS │
290
- │ │
291
- │ Where small │
292
- │ change = big│
293
- │ impact? │
294
- └─────────────┘
119
+ Awareness → Consideration → Action → Use → Support
120
+ 😊 😐 😤 😰 😌
295
121
  ```
296
122
 
297
- **Prompts**:
298
- - What are the system components?
299
- - What relationships exist between them?
300
- - What feedback loops exist? (reinforcing or balancing)
301
- - What delays occur in the system?
302
- - Where are the leverage points?
303
-
304
- ---
305
-
306
- ## EVALUATION Methods (Architect, PM)
307
-
308
- ### Decision Matrix
309
- **Purpose**: Systematically evaluate options against weighted criteria
310
-
311
- **Template**:
312
- | Criterion | Weight | Option A | Option B | Option C |
313
- |-----------|--------|----------|----------|----------|
314
- | Performance | 3 | 8 (24) | 6 (18) | 9 (27) |
315
- | Cost | 2 | 7 (14) | 9 (18) | 5 (10) |
316
- | Complexity | 2 | 6 (12) | 8 (16) | 4 (8) |
317
- | Team Skills | 1 | 9 (9) | 5 (5) | 7 (7) |
318
- | **Total** | | **59** | **57** | **52** |
319
-
320
- **Process**:
321
- 1. List options
322
- 2. Define criteria (from NFRs, constraints)
323
- 3. Assign weights (importance)
324
- 4. Score each option (1-10)
325
- 5. Calculate weighted scores
326
- 6. Discuss and decide
327
-
328
- ---
329
-
330
- ## RESEARCH Methods (Researcher)
331
-
332
- ### Analogous Inspiration
333
- **Purpose**: Find solutions from different domains
334
-
335
- **Prompts**:
336
- - What other field solves a similar problem?
337
- - How does nature handle this? (biomimicry)
338
- - What's an analogous problem in another industry?
339
- - What can we borrow and adapt?
340
-
341
- **Examples**:
342
- | Problem | Analogous Domain | Insight |
343
- |---------|------------------|---------|
344
- | Queue management | Theme parks | FastPass reservation system |
345
- | Fraud detection | Immune system | Pattern recognition, antibodies |
346
- | Load balancing | Ant colonies | Distributed decision-making |
347
-
348
- ---
349
-
350
- ## Quick Reference by Task
351
-
352
- ### Requirements Gathering
353
- 1. **User Interviews** → raw data
354
- 2. **Empathy Mapping** → organize insights
355
- 3. **Affinity Clustering** → find patterns
356
- 4. **JTBD** → frame needs
357
-
358
- ### Problem Definition
359
- 1. **Problem Framing** → clear statement
360
- 2. **Five Whys** → root cause
361
- 3. **Is/Is Not** → boundaries
362
- 4. **HMW** → opportunity questions
363
-
364
- ### Solution Generation
365
- 1. **Brainstorming** → quantity of ideas
366
- 2. **SCAMPER** → systematic exploration
367
- 3. **Analogous Inspiration** → cross-domain ideas
368
-
369
- ### Architecture Decisions
370
- 1. **Systems Thinking** → understand complexity
371
- 2. **Fishbone** → cause analysis
372
- 3. **Decision Matrix** → evaluate options
373
-
374
- ---
375
-
376
- ## Method Selection Guide
377
-
378
- | Situation | Use These Methods |
379
- |-----------|-------------------|
380
- | Don't understand users | User Interviews, Empathy Mapping, Journey Mapping |
381
- | Problem is vague | Problem Framing, Five Whys, Is/Is Not |
382
- | Need root cause | Five Whys, Fishbone, Systems Thinking |
383
- | Need fresh ideas | Brainstorming, SCAMPER, Analogous Inspiration |
384
- | Organizing insights | Affinity Clustering, JTBD |
385
- | Comparing options | Decision Matrix |
386
- | Complex system issues | Systems Thinking, Fishbone |
123
+ For full details and more examples, see the detailed guides above.