agileflow 2.93.0 → 2.94.1

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.
@@ -0,0 +1,517 @@
1
+ ---
2
+ description: Convene AI Council for strategic decisions with three perspectives (Optimist, Advocate, Analyst)
3
+ argument-hint: <question> [--mode parallel|debate] [--rounds N]
4
+ compact_context:
5
+ priority: high
6
+ preserve_rules:
7
+ - "ACTIVE COMMAND: /agileflow:council - AI Council for strategic decisions"
8
+ - "CRITICAL: Deploy ALL 3 council agents in SINGLE message with parallel Task calls"
9
+ - "MUST wait for all agents via TaskOutput with block=true before synthesis"
10
+ - "Council members: council-optimist, council-advocate, council-analyst"
11
+ - "Modes: parallel (default, single round) or debate (multi-round deliberation)"
12
+ - "Session folder: .agileflow/council/sessions/{timestamp}/"
13
+ state_fields:
14
+ - session_id
15
+ - question
16
+ - mode
17
+ - rounds
18
+ - council_results
19
+ ---
20
+
21
+ # /agileflow:council
22
+
23
+ Convene an AI Council for strategic decisions. Three perspectives (Optimist, Devil's Advocate, Neutral Analyst) deliberate in parallel to provide balanced, high-quality recommendations.
24
+
25
+ <!-- COMPACT_SUMMARY_START -->
26
+ ## Compact Summary
27
+
28
+ **Command**: `/agileflow:council` - Deploy 3-perspective AI Council for strategic decisions
29
+
30
+ **Magic Phrases**: "agents gather", "council assemble", "convene the council"
31
+
32
+ **Quick Usage**:
33
+ ```
34
+ /agileflow:council Should we adopt microservices architecture?
35
+ /agileflow:council --mode debate --rounds 2 Is GraphQL better than REST for our API?
36
+ ```
37
+
38
+ **Council Members**:
39
+ | Role | Agent | Focus |
40
+ |------|-------|-------|
41
+ | Optimist Strategist | council-optimist | Best-case scenarios, opportunities, success pathways |
42
+ | Devil's Advocate | council-advocate | Risks, blind spots, stress-testing assumptions |
43
+ | Neutral Analyst | council-analyst | Trade-offs, evidence synthesis, decision criteria |
44
+
45
+ **Modes**:
46
+ - **parallel** (default): All 3 agents deliberate once, then synthesize
47
+ - **debate**: Multiple rounds where agents respond to each other's perspectives
48
+
49
+ **Critical Rules**:
50
+ - Deploy ALL 3 agents in ONE message with multiple Task calls (not sequential)
51
+ - Wait for all results before synthesis (use TaskOutput with block=true)
52
+ - Create session folder in `.agileflow/council/sessions/{timestamp}/`
53
+ - Write perspectives to `shared_reasoning.md` in session folder
54
+
55
+ **Output Structure**:
56
+ ```markdown
57
+ ## AI Council Deliberation: [Question]
58
+
59
+ ### Perspectives
60
+ - Optimist: [summary]
61
+ - Advocate: [summary]
62
+ - Analyst: [summary]
63
+
64
+ ### Synthesis
65
+ - Common Ground: [what all agree on]
66
+ - Key Tensions: [where they differ]
67
+ - Recommendation: [decision with confidence]
68
+
69
+ ### Next Steps
70
+ 1. [action]
71
+ 2. [action]
72
+ ```
73
+
74
+ <!-- COMPACT_SUMMARY_END -->
75
+
76
+ ---
77
+
78
+ ## When to Use
79
+
80
+ The AI Council is designed for **strategic, non-technical decisions** where balanced perspectives matter:
81
+
82
+ - **Architecture decisions**: "Should we adopt microservices?"
83
+ - **Technology choices**: "GraphQL vs REST for our API?"
84
+ - **Process decisions**: "Should we implement feature flags?"
85
+ - **Business tradeoffs**: "Build vs buy for this feature?"
86
+ - **Strategy questions**: "Should we prioritize mobile or web?"
87
+
88
+ **NOT for**:
89
+ - Code implementation (use domain experts)
90
+ - Simple questions with clear answers
91
+ - Tasks requiring codebase changes
92
+ - Research tasks (use `/agileflow:research:ask`)
93
+
94
+ ---
95
+
96
+ ## How It Works
97
+
98
+ ```
99
+ ┌─────────────────────────────────────────────────────────────┐
100
+ │ USER QUESTION │
101
+ │ "Should we adopt microservices?" │
102
+ └─────────────────────────────────────────────────────────────┘
103
+
104
+
105
+ ┌─────────────────────────────────────────────────────────────┐
106
+ │ COUNCIL ORCHESTRATOR │
107
+ │ 1. Create session: .agileflow/council/sessions/{ts}/ │
108
+ │ 2. Initialize shared_reasoning.md from template │
109
+ │ 3. Log to bus: {"type":"council","event":"init"} │
110
+ │ 4. Deploy 3 agents IN PARALLEL │
111
+ └─────────────────────────────────────────────────────────────┘
112
+
113
+ ┌───────────────┼───────────────┐
114
+ ▼ ▼ ▼
115
+ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐
116
+ │ OPTIMIST │ │ ADVOCATE │ │ ANALYST │
117
+ │ STRATEGIST │ │ (Devil's Adv) │ │ (Neutral) │
118
+ ├───────────────┤ ├───────────────┤ ├───────────────┤
119
+ │ Opportunities │ │ Risks │ │ Trade-offs │
120
+ │ Success paths │ │ Blind spots │ │ Evidence │
121
+ │ Enablers │ │ Stress tests │ │ Criteria │
122
+ │ Best case │ │ Mitigations │ │ Synthesis │
123
+ └───────────────┘ └───────────────┘ └───────────────┘
124
+ │ │ │
125
+ └───────────────┼───────────────┘
126
+
127
+ ┌─────────────────────────────────────────────────────────────┐
128
+ │ SYNTHESIS │
129
+ │ • Common Ground (all 3 agree) = HIGH CONFIDENCE │
130
+ │ • Optimist Unique = OPPORTUNITIES │
131
+ │ • Advocate Unique = RISKS TO MONITOR │
132
+ │ • Analyst Assessment = RECOMMENDATION │
133
+ └─────────────────────────────────────────────────────────────┘
134
+
135
+
136
+ ┌─────────────────────────────────────────────────────────────┐
137
+ │ FINAL OUTPUT │
138
+ │ 📊 Confidence: High/Medium/Low │
139
+ │ ✅ Common Ground (all agree) │
140
+ │ 🚀 Opportunities (optimist) │
141
+ │ ⚠️ Risks (advocate) │
142
+ │ 📋 Recommendation (analyst) │
143
+ │ 📌 Next Steps │
144
+ └─────────────────────────────────────────────────────────────┘
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Usage
150
+
151
+ ### Basic (Parallel Mode)
152
+
153
+ ```
154
+ /agileflow:council Should we adopt microservices architecture?
155
+ ```
156
+
157
+ All 3 council members deliberate once in parallel, then results are synthesized.
158
+
159
+ ### Debate Mode
160
+
161
+ ```
162
+ /agileflow:council --mode debate --rounds 2 Should we use GraphQL?
163
+ ```
164
+
165
+ Multiple rounds where council members can respond to each other's perspectives:
166
+ 1. Round 1: Initial perspectives
167
+ 2. Round 2: Responses and rebuttals
168
+ 3. Final synthesis
169
+
170
+ ### Magic Phrases
171
+
172
+ You can also invoke the council with natural language:
173
+ - "agents gather" + question
174
+ - "council assemble" + question
175
+ - "convene the council" + question
176
+
177
+ Example: "Agents gather - should we implement feature flags?"
178
+
179
+ ---
180
+
181
+ ## Arguments
182
+
183
+ | Argument | Default | Description |
184
+ |----------|---------|-------------|
185
+ | `<question>` | (required) | The strategic question to deliberate |
186
+ | `--mode` | `parallel` | Deliberation mode: `parallel` or `debate` |
187
+ | `--rounds` | `1` | Number of rounds for debate mode (1-3) |
188
+
189
+ ---
190
+
191
+ ## Orchestration Instructions
192
+
193
+ When this command is invoked:
194
+
195
+ ### STEP 1: Create Session
196
+
197
+ ```bash
198
+ # Create session folder with timestamp
199
+ SESSION_ID=$(date +%Y%m%d-%H%M%S)
200
+ mkdir -p .agileflow/council/sessions/$SESSION_ID
201
+ ```
202
+
203
+ Initialize `shared_reasoning.md` from template:
204
+ - Replace `{{session_id}}` with timestamp
205
+ - Replace `{{question}}` with user question
206
+ - Replace `{{mode}}` with parallel or debate
207
+ - Replace `{{rounds}}` with number
208
+
209
+ ### STEP 2: Log to Bus
210
+
211
+ Append to `docs/09-agents/bus/log.jsonl`:
212
+ ```jsonl
213
+ {"ts":"<ISO>","type":"council","event":"init","session_id":"<SESSION_ID>","question":"<QUESTION>","mode":"<MODE>"}
214
+ ```
215
+
216
+ ### STEP 3: Deploy Council (CRITICAL - PARALLEL)
217
+
218
+ Deploy ALL 3 agents in a SINGLE message with multiple Task calls:
219
+
220
+ ```xml
221
+ <invoke name="Task">
222
+ <parameter name="description">Council Optimist perspective</parameter>
223
+ <parameter name="prompt">
224
+ You are the Optimist Strategist in an AI Council deliberation.
225
+
226
+ SESSION: .agileflow/council/sessions/{SESSION_ID}/
227
+ QUESTION: {QUESTION}
228
+
229
+ Read your agent definition first:
230
+ - .agileflow/agents/council-optimist.md
231
+
232
+ Then write your perspective to:
233
+ - .agileflow/council/sessions/{SESSION_ID}/shared_reasoning.md
234
+
235
+ Focus on:
236
+ 1. Key opportunities (at least 3)
237
+ 2. Success pathways
238
+ 3. Enablers in the codebase
239
+ 4. Addressing anticipated concerns
240
+
241
+ Ground all optimism in evidence.
242
+ </parameter>
243
+ <parameter name="subagent_type">agileflow-council-optimist</parameter>
244
+ <parameter name="run_in_background">true</parameter>
245
+ </invoke>
246
+
247
+ <invoke name="Task">
248
+ <parameter name="description">Council Advocate perspective</parameter>
249
+ <parameter name="prompt">
250
+ You are the Devil's Advocate in an AI Council deliberation.
251
+
252
+ SESSION: .agileflow/council/sessions/{SESSION_ID}/
253
+ QUESTION: {QUESTION}
254
+
255
+ Read your agent definition first:
256
+ - .agileflow/agents/council-advocate.md
257
+
258
+ Then write your perspective to:
259
+ - .agileflow/council/sessions/{SESSION_ID}/shared_reasoning.md
260
+
261
+ Focus on:
262
+ 1. Key risks (at least 3 with mitigations)
263
+ 2. Blind spots and assumptions
264
+ 3. Stress tests and edge cases
265
+ 4. Alternative approaches
266
+
267
+ Be constructive - offer solutions, not just criticism.
268
+ </parameter>
269
+ <parameter name="subagent_type">agileflow-council-advocate</parameter>
270
+ <parameter name="run_in_background">true</parameter>
271
+ </invoke>
272
+
273
+ <invoke name="Task">
274
+ <parameter name="description">Council Analyst perspective</parameter>
275
+ <parameter name="prompt">
276
+ You are the Neutral Analyst in an AI Council deliberation.
277
+
278
+ SESSION: .agileflow/council/sessions/{SESSION_ID}/
279
+ QUESTION: {QUESTION}
280
+
281
+ Read your agent definition first:
282
+ - .agileflow/agents/council-analyst.md
283
+
284
+ Then write your perspective to:
285
+ - .agileflow/council/sessions/{SESSION_ID}/shared_reasoning.md
286
+
287
+ Focus on:
288
+ 1. Evidence summary (for and against)
289
+ 2. Trade-off analysis with quantification
290
+ 3. Decision criteria
291
+ 4. Synthesis and recommendation
292
+
293
+ Be objective - follow the evidence.
294
+ </parameter>
295
+ <parameter name="subagent_type">agileflow-council-analyst</parameter>
296
+ <parameter name="run_in_background">true</parameter>
297
+ </invoke>
298
+ ```
299
+
300
+ ### STEP 4: Collect Results
301
+
302
+ Wait for all 3 agents to complete:
303
+
304
+ ```xml
305
+ <invoke name="TaskOutput">
306
+ <parameter name="task_id">{optimist_task_id}</parameter>
307
+ <parameter name="block">true</parameter>
308
+ </invoke>
309
+
310
+ <invoke name="TaskOutput">
311
+ <parameter name="task_id">{advocate_task_id}</parameter>
312
+ <parameter name="block">true</parameter>
313
+ </invoke>
314
+
315
+ <invoke name="TaskOutput">
316
+ <parameter name="task_id">{analyst_task_id}</parameter>
317
+ <parameter name="block">true</parameter>
318
+ </invoke>
319
+ ```
320
+
321
+ ### STEP 5: Debate Mode (If Applicable)
322
+
323
+ If mode is `debate` and rounds > 1, for each additional round:
324
+
325
+ 1. Log round start: `{"type":"council","event":"debate_round","round":N}`
326
+ 2. Have each agent read others' perspectives and respond
327
+ 3. Collect updated responses
328
+ 4. Repeat for specified rounds
329
+
330
+ ### STEP 6: Synthesize
331
+
332
+ Read the complete `shared_reasoning.md` and create final synthesis:
333
+
334
+ 1. **Common Ground**: Points where all 3 agree (HIGH CONFIDENCE)
335
+ 2. **Opportunities**: Unique insights from Optimist
336
+ 3. **Risks**: Unique insights from Advocate
337
+ 4. **Trade-offs**: Assessment from Analyst
338
+ 5. **Recommendation**: Final decision with confidence level
339
+ 6. **Next Steps**: Actionable items
340
+
341
+ ### STEP 7: Log Completion
342
+
343
+ ```jsonl
344
+ {"ts":"<ISO>","type":"council","event":"synthesis_complete","session_id":"<SESSION_ID>","confidence":"<HIGH|MEDIUM|LOW>"}
345
+ ```
346
+
347
+ ### STEP 8: Offer Next Steps
348
+
349
+ After presenting synthesis, offer:
350
+ - `/agileflow:adr` - Create an ADR documenting this decision
351
+ - `/agileflow:epic` - Create an epic to implement the decision
352
+ - `/agileflow:story` - Create stories for immediate actions
353
+
354
+ ---
355
+
356
+ ## Output Format
357
+
358
+ ```markdown
359
+ ## AI Council Deliberation
360
+
361
+ **Question**: [Original question]
362
+ **Session**: [Session ID]
363
+ **Mode**: [parallel/debate]
364
+
365
+ ---
366
+
367
+ ### Council Perspectives
368
+
369
+ #### Optimist Strategist
370
+ **Summary**: [1-2 sentence summary]
371
+
372
+ **Key Opportunities**:
373
+ 1. [Opportunity] - Evidence: [source]
374
+ 2. [Opportunity] - Evidence: [source]
375
+ 3. [Opportunity] - Evidence: [source]
376
+
377
+ **Success Pathway**: [Brief description]
378
+
379
+ ---
380
+
381
+ #### Devil's Advocate
382
+ **Summary**: [1-2 sentence summary]
383
+
384
+ **Key Risks**:
385
+ 1. [Risk] - Mitigation: [approach]
386
+ 2. [Risk] - Mitigation: [approach]
387
+ 3. [Risk] - Mitigation: [approach]
388
+
389
+ **Stress Tests**: [Key scenarios tested]
390
+
391
+ ---
392
+
393
+ #### Neutral Analyst
394
+ **Summary**: [1-2 sentence summary]
395
+
396
+ **Trade-offs**:
397
+ | Factor | For | Against | Weight |
398
+ |--------|-----|---------|--------|
399
+ | [Factor] | [Pro] | [Con] | [H/M/L] |
400
+
401
+ **Decision Criteria**: [Key factors]
402
+
403
+ ---
404
+
405
+ ### Synthesis
406
+
407
+ #### Common Ground (High Confidence)
408
+ *All 3 council members agree:*
409
+ - [Point 1]
410
+ - [Point 2]
411
+
412
+ #### Opportunities (Optimist Unique)
413
+ - [Opportunity not covered by others]
414
+
415
+ #### Risks to Monitor (Advocate Unique)
416
+ - [Risk that needs attention]
417
+
418
+ #### Key Trade-offs
419
+ - [Trade-off 1]: [Assessment]
420
+ - [Trade-off 2]: [Assessment]
421
+
422
+ ---
423
+
424
+ ### Recommendation
425
+
426
+ **Decision**: [Clear recommendation]
427
+ **Confidence**: [High/Medium/Low]
428
+
429
+ **Rationale**:
430
+ 1. [Key reason 1]
431
+ 2. [Key reason 2]
432
+ 3. [Key reason 3]
433
+
434
+ ---
435
+
436
+ ### Next Steps
437
+
438
+ 1. [Immediate action]
439
+ 2. [Follow-up action]
440
+ 3. [Validation action]
441
+
442
+ ---
443
+
444
+ ### Session Files
445
+
446
+ - Session: `.agileflow/council/sessions/[SESSION_ID]/`
447
+ - Full deliberation: `shared_reasoning.md`
448
+
449
+ ---
450
+
451
+ **Want to document this decision?** Run `/agileflow:adr` to create an Architecture Decision Record.
452
+ ```
453
+
454
+ ---
455
+
456
+ ## Why Three Perspectives?
457
+
458
+ | Perspective | Purpose | Counterbalances |
459
+ |-------------|---------|-----------------|
460
+ | **Optimist** | Ensures opportunities aren't missed | Claude's risk aversion |
461
+ | **Advocate** | Prevents groupthink and blind spots | Claude's "yes person" tendency |
462
+ | **Analyst** | Grounds decision in evidence | Emotional or biased reasoning |
463
+
464
+ Together, they produce balanced, high-quality recommendations.
465
+
466
+ ---
467
+
468
+ ## Benefits
469
+
470
+ 1. **Context Quality**: Each agent runs with fresh context (avoids 40-50% degradation)
471
+ 2. **Balanced Perspectives**: Forces consideration of multiple viewpoints
472
+ 3. **Transparency**: `shared_reasoning.md` provides audit trail
473
+ 4. **Non-Technical Decisions**: Fills gap - domain experts handle code, council handles strategy
474
+ 5. **Debate Mode**: Deeper analysis through multiple rounds
475
+
476
+ ---
477
+
478
+ ## Related Commands
479
+
480
+ - `/agileflow:choose` - Single-perspective decision making
481
+ - `/agileflow:multi-expert` - Domain expert analysis (technical)
482
+ - `/agileflow:adr` - Document architectural decisions
483
+ - `/agileflow:research:ask` - Research before deciding
484
+ - `/agileflow:rpi` - Research-Plan-Implement workflow
485
+
486
+ ---
487
+
488
+ ## Examples
489
+
490
+ ### Example 1: Architecture Decision
491
+
492
+ ```
493
+ /agileflow:council Should we migrate from monolith to microservices?
494
+ ```
495
+
496
+ The council will analyze:
497
+ - **Optimist**: Scalability benefits, team autonomy, deployment flexibility
498
+ - **Advocate**: Complexity increase, distributed systems challenges, team readiness
499
+ - **Analyst**: Current pain points, team capacity, incremental migration options
500
+
501
+ ### Example 2: Technology Choice
502
+
503
+ ```
504
+ /agileflow:council --mode debate --rounds 2 GraphQL vs REST for our public API?
505
+ ```
506
+
507
+ Round 1: Initial perspectives
508
+ Round 2: Respond to each other's arguments
509
+ Final: Synthesized recommendation with confidence
510
+
511
+ ### Example 3: Process Decision
512
+
513
+ ```
514
+ /agileflow:council Should we adopt trunk-based development?
515
+ ```
516
+
517
+ The council evaluates from three angles to provide balanced guidance.