agileflow 2.51.0 → 2.55.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 (87) hide show
  1. package/README.md +82 -460
  2. package/package.json +18 -3
  3. package/scripts/agileflow-configure.js +134 -63
  4. package/scripts/agileflow-welcome.js +161 -31
  5. package/scripts/generators/agent-registry.js +2 -2
  6. package/scripts/generators/command-registry.js +6 -6
  7. package/scripts/generators/index.js +2 -6
  8. package/scripts/generators/inject-babysit.js +9 -2
  9. package/scripts/generators/inject-help.js +3 -1
  10. package/scripts/generators/inject-readme.js +7 -3
  11. package/scripts/generators/skill-registry.js +5 -5
  12. package/scripts/get-env.js +13 -12
  13. package/scripts/obtain-context.js +79 -26
  14. package/scripts/session-coordinator.sh +232 -0
  15. package/scripts/session-manager.js +512 -0
  16. package/src/core/agents/orchestrator.md +275 -0
  17. package/src/core/commands/adr.md +38 -16
  18. package/src/core/commands/agent.md +39 -22
  19. package/src/core/commands/assign.md +17 -0
  20. package/src/core/commands/auto.md +60 -46
  21. package/src/core/commands/babysit.md +302 -637
  22. package/src/core/commands/baseline.md +20 -0
  23. package/src/core/commands/blockers.md +33 -48
  24. package/src/core/commands/board.md +19 -0
  25. package/src/core/commands/changelog.md +20 -0
  26. package/src/core/commands/ci.md +17 -0
  27. package/src/core/commands/context.md +43 -40
  28. package/src/core/commands/debt.md +76 -45
  29. package/src/core/commands/deploy.md +20 -0
  30. package/src/core/commands/deps.md +40 -46
  31. package/src/core/commands/diagnose.md +24 -18
  32. package/src/core/commands/docs.md +18 -0
  33. package/src/core/commands/epic.md +31 -0
  34. package/src/core/commands/feedback.md +33 -21
  35. package/src/core/commands/handoff.md +29 -0
  36. package/src/core/commands/help.md +16 -7
  37. package/src/core/commands/impact.md +31 -61
  38. package/src/core/commands/metrics.md +17 -35
  39. package/src/core/commands/packages.md +21 -0
  40. package/src/core/commands/pr.md +15 -0
  41. package/src/core/commands/readme-sync.md +42 -9
  42. package/src/core/commands/research.md +58 -11
  43. package/src/core/commands/retro.md +42 -50
  44. package/src/core/commands/review.md +22 -27
  45. package/src/core/commands/session/end.md +53 -297
  46. package/src/core/commands/session/history.md +38 -257
  47. package/src/core/commands/session/init.md +44 -446
  48. package/src/core/commands/session/new.md +152 -0
  49. package/src/core/commands/session/resume.md +51 -447
  50. package/src/core/commands/session/status.md +32 -244
  51. package/src/core/commands/sprint.md +33 -0
  52. package/src/core/commands/status.md +18 -0
  53. package/src/core/commands/story-validate.md +32 -0
  54. package/src/core/commands/story.md +21 -6
  55. package/src/core/commands/template.md +18 -0
  56. package/src/core/commands/tests.md +22 -0
  57. package/src/core/commands/update.md +72 -58
  58. package/src/core/commands/validate-expertise.md +25 -37
  59. package/src/core/commands/velocity.md +33 -74
  60. package/src/core/commands/verify.md +16 -0
  61. package/src/core/experts/documentation/expertise.yaml +16 -2
  62. package/src/core/skills/agileflow-retro-facilitator/SKILL.md +57 -219
  63. package/src/core/skills/agileflow-retro-facilitator/cookbook/4ls.md +86 -0
  64. package/src/core/skills/agileflow-retro-facilitator/cookbook/glad-sad-mad.md +79 -0
  65. package/src/core/skills/agileflow-retro-facilitator/cookbook/start-stop-continue.md +142 -0
  66. package/src/core/skills/agileflow-retro-facilitator/prompts/action-items.md +83 -0
  67. package/src/core/skills/writing-skills/SKILL.md +352 -0
  68. package/src/core/skills/writing-skills/testing-skills-with-subagents.md +232 -0
  69. package/tools/cli/agileflow-cli.js +4 -2
  70. package/tools/cli/commands/config.js +20 -13
  71. package/tools/cli/commands/doctor.js +25 -9
  72. package/tools/cli/commands/list.js +10 -6
  73. package/tools/cli/commands/setup.js +54 -3
  74. package/tools/cli/commands/status.js +6 -8
  75. package/tools/cli/commands/uninstall.js +5 -5
  76. package/tools/cli/commands/update.js +51 -7
  77. package/tools/cli/installers/core/installer.js +8 -4
  78. package/tools/cli/installers/ide/_base-ide.js +3 -1
  79. package/tools/cli/installers/ide/claude-code.js +3 -7
  80. package/tools/cli/installers/ide/codex.js +440 -0
  81. package/tools/cli/installers/ide/manager.js +2 -6
  82. package/tools/cli/lib/content-injector.js +3 -3
  83. package/tools/cli/lib/docs-setup.js +3 -2
  84. package/tools/cli/lib/npm-utils.js +3 -3
  85. package/tools/cli/lib/ui.js +7 -7
  86. package/tools/cli/lib/version-checker.js +3 -3
  87. package/tools/postinstall.js +2 -3
@@ -3,275 +3,63 @@ description: View current session state and activity
3
3
  argument-hint: (no arguments)
4
4
  ---
5
5
 
6
- # Session Status
6
+ # /agileflow:session:status
7
7
 
8
- You are running the `/agileflow:session:status` command to view a quick snapshot of the current session.
8
+ Quick view of all sessions and their status.
9
9
 
10
- ## IMMEDIATE ACTIONS
11
-
12
- **Execute these steps NOW (read-only, fast):**
13
-
14
- ### Step 1: Read session-state.json
15
- ```bash
16
- cat docs/09-agents/session-state.json
17
- ```
18
- If `current_session` is null, display "No active session" and suggest `/agileflow:session:resume`.
19
-
20
- ### Step 2: Calculate current duration
21
- Get current time and calculate duration from `current_session.started_at`.
22
-
23
- ### Step 3: Get git status (quick)
24
- ```bash
25
- git status --short | wc -l
26
- git branch --show-current
27
- ```
28
-
29
- ### Step 4: Display compact summary
30
- Output a one-liner or short summary:
31
- ```
32
- Session: {id} | Duration: {duration} | Story: {current_story} | Branch: {branch} | Uncommitted: {count}
33
- ```
34
-
35
- **This command is READ-ONLY. It never modifies files or runs tests.**
36
-
37
- ## Command Purpose
10
+ ---
38
11
 
39
- Quick view of current session activity without running tests or loading full context. Use this when you want to see:
40
- - What story you're currently working on
41
- - How long this session has been running
42
- - Whether you have uncommitted changes
43
- - Recent activity in this session
12
+ ## Purpose
44
13
 
45
- ## Execution Flow
14
+ Display a compact overview of all registered sessions without prompting for action.
46
15
 
47
- ### 1. Load Session State
16
+ ## IMMEDIATE ACTIONS
48
17
 
49
- Read from `docs/09-agents/session-state.json`:
18
+ ### Step 1: Get Session Data
50
19
 
51
20
  ```bash
52
- if [ ! -f "docs/09-agents/session-state.json" ]; then
53
- echo "⚠️ No active session"
54
- echo ""
55
- echo "Run /agileflow:session:resume to start a session"
56
- exit 0
57
- fi
21
+ node .agileflow/scripts/session-manager.js list --json
58
22
  ```
59
23
 
60
- ### 2. Calculate Session Duration
61
-
62
- ```bash
63
- STARTED_AT=$(jq -r '.current_session.started_at' docs/09-agents/session-state.json)
64
- NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ)
24
+ ### Step 2: Display Formatted Table
65
25
 
66
- # Calculate duration
67
- DURATION=$(calculate_duration "$STARTED_AT" "$NOW")
68
26
  ```
27
+ 📊 Session Status
69
28
 
70
- ### 3. Get Current Work
29
+ Current: Session 1 (main)
30
+ Branch: main │ Story: US-0042 │ Active
71
31
 
72
- Read from `docs/09-agents/status.json`:
73
- - Current in-progress story
74
- - Story owner/assignee
75
- - Story progress/status
32
+ Other Sessions:
33
+ ┌─────┬──────────────────┬─────────────┬────────────┐
34
+ │ # │ Name/Branch │ Story Status │
35
+ ├─────┼──────────────────┼─────────────┼────────────┤
36
+ │ 2 │ "auth" │ US-0038 │ ● Active │
37
+ │ 3 │ feature/payments │ - │ ○ Inactive │
38
+ └─────┴──────────────────┴─────────────┴────────────┘
76
39
 
77
- ### 4. Check Git Status
78
-
79
- ```bash
80
- # Uncommitted changes
81
- UNCOMMITTED=$(git status --short | wc -l)
82
-
83
- # Commits this session
84
- SESSION_START_COMMIT=$(jq -r '.current_session.baseline_commit // "HEAD~10"' docs/09-agents/session-state.json)
85
- COMMITS_THIS_SESSION=$(git rev-list --count $SESSION_START_COMMIT..HEAD 2>/dev/null || echo "0")
40
+ Total: 3 sessions 2 active
86
41
  ```
87
42
 
88
- ### 5. Get Test Status
89
-
90
- Read last test status from session-state.json (without re-running tests):
91
- - Last test result
92
- - Time since last test run
93
- - Pass/fail count
94
-
95
- ### 6. Display Summary
43
+ ### Step 3: Show Quick Actions
96
44
 
97
45
  ```
98
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
99
- 📊 Current Session
100
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
101
-
102
- Session ID: sess-20251216-140000
103
- Started: 2 hours 15 minutes ago
104
- Duration: 2h 15m
105
-
106
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
107
- 🎯 Current Work
108
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
109
-
110
- Story: US-0043
111
- Title: Add user profile settings page
112
- Status: in_progress
113
- Owner: ui
114
- Epic: EP-0001 (User Management)
115
-
116
- Progress:
117
- ✅ 3/5 acceptance criteria met
118
- 📝 2 remaining
119
-
120
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
121
- 📁 Git Activity
122
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
123
-
124
- Branch: feature/user-profile
125
- Commits this session: 3
126
- Uncommitted changes: 2 files
127
-
128
- Modified:
129
- M src/components/ProfileForm.tsx
130
- M src/api/user.ts
131
-
132
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
133
- 🧪 Test Status
134
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
135
-
136
- Last run: 45 minutes ago
137
- Result: ✅ Passing (42/42)
138
- Command: npm test
139
-
140
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
141
- ⚡ Quick Actions
142
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
143
-
144
- • Run tests: /agileflow:verify
145
- • End session: /agileflow:session:end
146
- • View full context: /agileflow:session:resume
147
- • View story: docs/06-stories/EP-0001/US-0043.md
148
-
149
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
46
+ 💡 Quick actions:
47
+ /agileflow:session:new - Create parallel session
48
+ /agileflow:session:resume - Switch to another session
49
+ /agileflow:session:end - End current session
150
50
  ```
151
51
 
152
- ## Compact Mode
153
-
154
- For a shorter output, show minimal info:
52
+ ## No Sessions Case
155
53
 
156
54
  ```
157
- 📊 Session: 2h 15m | 🎯 US-0043 (in_progress) | 📁 3 commits, 2 uncommitted | 🧪 ✅ 42/42
158
- ```
159
-
160
- ## Output Variations
161
-
162
- ### No Active Session
163
- ```
164
- ⚠️ No Active Session
165
-
166
- No session is currently tracked.
167
-
168
- To start a session:
169
- /agileflow:session:resume
170
-
171
- This will:
172
- • Run environment initialization
173
- • Verify tests
174
- • Load context
175
- • Start session tracking
176
- ```
177
-
178
- ### Session With No Current Story
179
- ```
180
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
181
- 📊 Current Session
182
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
183
-
184
- Session ID: sess-20251216-140000
185
- Started: 30 minutes ago
186
- Duration: 30m
187
-
188
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
189
- 🎯 Current Work
190
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
191
-
192
- No story currently assigned.
193
-
194
- Ready stories (5):
195
- • US-0044: Implement password reset flow
196
- • US-0045: Add email verification
197
- • US-0046: Create admin dashboard
198
- • US-0047: Add user roles
199
- • US-0048: Implement audit logging
55
+ 📊 Session Status
200
56
 
201
- Assign a story: /agileflow:assign STORY=US-0044
202
-
203
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
204
- ```
205
-
206
- ### Session With Failing Tests
207
- ```
208
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
209
- 📊 Current Session
210
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
211
-
212
- Session ID: sess-20251216-140000
213
- Started: 1 hour ago
214
-
215
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
216
- 🧪 Test Status ⚠️
217
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
218
-
219
- Last run: 10 minutes ago
220
- Result: ❌ FAILING (40/42)
221
-
222
- Failed tests:
223
- ❌ auth.test.ts:42 - Session redirect
224
- ❌ auth.test.ts:67 - Token persistence
225
-
226
- Run /agileflow:verify to see full output
227
-
228
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
229
- ```
230
-
231
- ### Long Session Warning
232
- ```
233
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
234
- 📊 Current Session
235
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
236
-
237
- Session ID: sess-20251216-080000
238
- Started: 8 hours ago
239
- Duration: 8h 15m
240
-
241
- ⚠️ Long session detected!
242
- Consider:
243
- • Taking a break
244
- • Committing your work
245
- • Running /agileflow:session:end to save progress
246
-
247
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
57
+ No sessions registered yet. You're in the main project directory.
58
+ Run /agileflow:session:new to create a parallel workspace.
248
59
  ```
249
60
 
250
61
  ## Related Commands
251
62
 
252
- | Command | Purpose |
253
- |---------|---------|
254
- | `/agileflow:session:init` | One-time setup of session harness |
255
- | `/agileflow:session:resume` | Start session with full verification |
256
- | `/agileflow:session:end` | Cleanly end session and record summary |
257
- | `/agileflow:session:history` | View past session history and metrics |
258
-
259
- ## Integration Points
260
-
261
- ### Reads
262
- - `docs/09-agents/session-state.json` - Current session info
263
- - `docs/09-agents/status.json` - Story status
264
- - Git status - Uncommitted changes
265
-
266
- ### Does NOT
267
- - Run tests (use `/agileflow:verify` for that)
268
- - Modify any files
269
- - Start a new session
270
-
271
- ## Implementation Notes
272
-
273
- 1. **Fast**: No tests, no heavy operations - instant response
274
- 2. **Read-Only**: Never modifies files
275
- 3. **Non-Blocking**: No user input required
276
- 4. **Informative**: Shows actionable next steps
277
- 5. **Context-Aware**: Adapts output based on current state
63
+ - `/agileflow:session:new` - Create new session
64
+ - `/agileflow:session:resume` - Switch sessions
65
+ - `/agileflow:session:end` - End current session
@@ -62,6 +62,39 @@ Sprint Planner that creates data-driven sprint commitments based on historical v
62
62
  - Recommendations (sequencing, monitoring, next commands)
63
63
  - Next steps (different for MODE=suggest vs MODE=commit)
64
64
 
65
+ **Tool Usage Examples**:
66
+
67
+ TodoWrite:
68
+ ```xml
69
+ <invoke name="TodoWrite">
70
+ <parameter name="content">1. Load knowledge sources (status.json, bus log, backlog)
71
+ 2. Analyze agent capacity and WIP
72
+ 3. Calculate historical velocity (last 30 days)
73
+ 4. Select stories based on priority and capacity
74
+ 5. Assess risks (dependencies, cross-agent coordination)
75
+ 6. Generate sprint plan report
76
+ 7. If MODE=commit: Update status.json and milestones.md
77
+ 8. Create sprint milestone and bus message</parameter>
78
+ <parameter name="status">in-progress</parameter>
79
+ </invoke>
80
+ ```
81
+
82
+ AskUserQuestion:
83
+ ```xml
84
+ <invoke name="AskUserQuestion">
85
+ <parameter name="questions">[{
86
+ "question": "Commit this sprint plan: 5 stories, 8.5 days?",
87
+ "header": "Confirm Sprint Commitment",
88
+ "multiSelect": false,
89
+ "options": [
90
+ {"label": "Yes, commit plan", "description": "Update status.json and create milestone"},
91
+ {"label": "No, adjust", "description": "Modify story selection"},
92
+ {"label": "Cancel", "description": "Exit without changes"}
93
+ ]
94
+ }]</parameter>
95
+ </invoke>
96
+ ```
97
+
65
98
  <!-- COMPACT_SUMMARY_END -->
66
99
 
67
100
  # sprint-plan
@@ -49,6 +49,24 @@ This gathers git status, stories/epics, session state, and registers for PreComp
49
49
  - **Output**: Diff-first, then YES/NO confirmation
50
50
  - **Critical**: User text automatically escaped by jq
51
51
  - **Related**: docs/09-agents/status.json, bus/log.jsonl
52
+
53
+ **Tool Usage Examples**:
54
+
55
+ AskUserQuestion:
56
+ ```xml
57
+ <invoke name="AskUserQuestion">
58
+ <parameter name="questions">[{
59
+ "question": "Update US-0042 to in-review?",
60
+ "header": "Confirm Status Update",
61
+ "multiSelect": false,
62
+ "options": [
63
+ {"label": "Yes, update", "description": "Update status.json and bus log"},
64
+ {"label": "No, cancel", "description": "Don't update"}
65
+ ]
66
+ }]</parameter>
67
+ </invoke>
68
+ ```
69
+
52
70
  <!-- COMPACT_SUMMARY_END -->
53
71
 
54
72
  ---
@@ -51,6 +51,38 @@ node .agileflow/scripts/obtain-context.js story-validate
51
51
  - **Read-Only**: Never modifies story, only validates
52
52
  - **Exit Code**: 0 if ready, 1 if issues found
53
53
  - **Related**: Story template, Architecture docs, status.json
54
+
55
+ **Tool Usage Examples**:
56
+
57
+ TodoWrite:
58
+ ```xml
59
+ <invoke name="TodoWrite">
60
+ <parameter name="content">1. Parse story ID from input
61
+ 2. Load story file from docs/06-stories/
62
+ 3. Parse YAML frontmatter and extract sections
63
+ 4. Run validation checks (7 categories)
64
+ 5. Count passed/failed/warnings
65
+ 6. Generate comprehensive report
66
+ 7. Provide next steps recommendation</parameter>
67
+ <parameter name="status">in-progress</parameter>
68
+ </invoke>
69
+ ```
70
+
71
+ AskUserQuestion:
72
+ ```xml
73
+ <invoke name="AskUserQuestion">
74
+ <parameter name="questions">[{
75
+ "question": "Story has 3 warnings. Continue with validation?",
76
+ "header": "Story Validation",
77
+ "multiSelect": false,
78
+ "options": [
79
+ {"label": "Show full report", "description": "Display all validation results"},
80
+ {"label": "Cancel", "description": "Exit validation"}
81
+ ]
82
+ }]</parameter>
83
+ </invoke>
84
+ ```
85
+
54
86
  <!-- COMPACT_SUMMARY_END -->
55
87
 
56
88
  ---
@@ -59,17 +59,32 @@ node .agileflow/scripts/obtain-context.js story
59
59
  - Status: docs/09-agents/status.json (merged)
60
60
  - Log: docs/09-agents/bus/log.jsonl (appended)
61
61
 
62
- **AskUserQuestion Format** (XML invoke):
62
+ **Tool Usage Examples**:
63
+
64
+ TodoWrite:
65
+ ```xml
66
+ <invoke name="TodoWrite">
67
+ <parameter name="content">1. Parse inputs (EPIC, STORY, TITLE, OWNER, ESTIMATE, AC)
68
+ 2. Create story file from template
69
+ 3. Create test case stub
70
+ 4. Merge into status.json
71
+ 5. Append assign event to bus log
72
+ 6. Show preview and confirm</parameter>
73
+ <parameter name="status">in-progress</parameter>
74
+ </invoke>
75
+ ```
76
+
77
+ AskUserQuestion (XML invoke):
63
78
  ```xml
64
79
  <invoke name="AskUserQuestion">
65
80
  <parameter name="questions">[{
66
- "question": "Create story <STORY>: <TITLE> with these files?",
67
- "header": "Create story",
81
+ "question": "Create story US-0042: Login Form with these files?",
82
+ "header": "Confirm Story Creation",
68
83
  "multiSelect": false,
69
84
  "options": [
70
- {"label": "Yes, create story", "description": "Write story file, test stub, and update status.json (Recommended)"},
71
- {"label": "No, revise first", "description": "I want to modify the content before creating"},
72
- {"label": "Cancel", "description": "Don't create this story"}
85
+ {"label": "Yes, create story", "description": "Write files and update status.json"},
86
+ {"label": "No, revise first", "description": "Modify before creating"},
87
+ {"label": "Cancel", "description": "Don't create"}
73
88
  ]
74
89
  }]</parameter>
75
90
  </invoke>
@@ -70,6 +70,24 @@ node .agileflow/scripts/obtain-context.js template
70
70
  - registry.json updated with metadata
71
71
  - User confirmed via YES/NO prompt
72
72
 
73
+ **Tool Usage Example**:
74
+ When ACTION=create, user interaction:
75
+ ```xml
76
+ <invoke name="AskUserQuestion">
77
+ <parameter name="questions">[{
78
+ "question": "Select template type to create:",
79
+ "header": "Create Template",
80
+ "multiSelect": false,
81
+ "options": [
82
+ {"label": "Meeting notes", "description": "Weekly team meeting template"},
83
+ {"label": "Incident report", "description": "Post-incident documentation"},
84
+ {"label": "Sprint retrospective", "description": "Sprint review and retrospective"},
85
+ {"label": "Custom (blank)", "description": "Start with blank template"}
86
+ ]
87
+ }]</parameter>
88
+ </invoke>
89
+ ```
90
+
73
91
  <!-- COMPACT_SUMMARY_END -->
74
92
 
75
93
  ## Prompt
@@ -83,6 +83,28 @@ tests/
83
83
  - Documentation created
84
84
  - User confirmed via YES/NO prompt
85
85
 
86
+ **Tools Used**:
87
+ - TodoWrite: Track 10-step test infrastructure setup
88
+
89
+ **TodoWrite Example**:
90
+ ```xml
91
+ <invoke name="TodoWrite">
92
+ <parameter name="content">
93
+ 1. Detect language/runtime and framework
94
+ 2. Check existing test setup
95
+ 3. Install testing framework dependencies
96
+ 4. Create test configuration files
97
+ 5. Create example tests (unit, integration, E2E if requested)
98
+ 6. Create test directory structure
99
+ 7. Add test scripts to package.json/equivalent
100
+ 8. Integrate with CI workflow
101
+ 9. Create docs/02-practices/testing.md documentation
102
+ 10. Run tests to verify setup
103
+ </parameter>
104
+ <parameter name="status">in-progress</parameter>
105
+ </invoke>
106
+ ```
107
+
86
108
  <!-- COMPACT_SUMMARY_END -->
87
109
 
88
110
  ## Prompt
@@ -19,75 +19,89 @@ node .agileflow/scripts/obtain-context.js update
19
19
  <!-- COMPACT_SUMMARY_START -->
20
20
  ## Compact Summary
21
21
 
22
- **Purpose**: Stakeholder Communication Generator - Generate high-level project updates from status, epics, stories, and git history
22
+ **Command**: `stakeholder-update` - Generate high-level project updates from status, epics, stories, and git history
23
23
 
24
- **Role**: Stakeholder Communication Generator responsible for creating executive summaries, progress reports, and metrics
24
+ **Quick Usage**:
25
+ ```
26
+ /agileflow:stakeholder-update PERIOD=week AUDIENCE=exec FORMAT=markdown
27
+ ```
25
28
 
26
29
  **Critical Rules**:
27
- - MUST aggregate data from 10 sources (status.json, epics, stories, backlog, roadmap, milestones, risks, git history, bus log, ADRs)
28
- - MUST preview update before sending (diff-first, YES/NO/EDIT)
29
- - MUST save all updates to docs/08-project/updates/ for history
30
+ - MUST aggregate data from 10 sources (status, epics, stories, roadmap, risks, git history, bus log, ADRs)
31
+ - MUST preview before sending (diff-first, YES/NO/EDIT)
32
+ - MUST save to docs/08-project/updates/ for history
30
33
  - MUST be honest about blockers and risks
31
- - MUST focus on business value, not technical jargon (for exec/client)
32
- - MUST include specific numbers and metrics
33
- - MUST highlight trends (improving/declining)
34
- - NEVER expose sensitive data (credentials, internal conflicts)
34
+ - Focus on business value, not technical jargon
35
+
36
+ ### Tool Usage Examples
37
+
38
+ **Read** (to gather data from all 10 sources):
39
+ ```xml
40
+ <invoke name="Read">
41
+ <parameter name="file_path">/full/path/to/docs/09-agents/status.json</parameter>
42
+ </invoke>
43
+ ```
44
+
45
+ **Write** (to save update):
46
+ ```xml
47
+ <invoke name="Write">
48
+ <parameter name="file_path">/full/path/to/docs/08-project/updates/20251222-update.md</parameter>
49
+ <parameter name="content"># Weekly Update - Project XYZ (Dec 15-22, 2025)
50
+
51
+ ## Executive Summary
52
+ Status: On Track. Completed 12 stories, velocity up 20%. Payment integration on track for EOMonth.
53
+
54
+ ## Progress This Period
55
+ - Completed auth epic (5 stories, 7.5 days)
56
+ - Velocity: 18 points (↗ +20% from last week)
57
+ - Test coverage: 87% (↗ +2%)
58
+
59
+ ## Blockers & Risks
60
+ - Stripe API rate limits (Medium) - Mitigation in progress
61
+ - Third-party OAuth downtime (Low) - Fallback available
62
+
63
+ ## Upcoming Priorities
64
+ 1. Complete payment integration MVP
65
+ 2. Start notification system
66
+ 3. Address technical debt</parameter>
67
+ </invoke>
68
+ ```
69
+
70
+ **Bash** (to get git commit history):
71
+ ```xml
72
+ <invoke name="Bash">
73
+ <parameter name="command">git log --oneline --since="7 days ago" | head -20</parameter>
74
+ <parameter name="description">Get recent commits for this week</parameter>
75
+ </invoke>
76
+ ```
35
77
 
36
- **Inputs** (optional):
78
+ **Glob** (to find update files):
79
+ ```xml
80
+ <invoke name="Glob">
81
+ <parameter name="pattern">docs/08-project/updates/*.md</parameter>
82
+ </invoke>
83
+ ```
84
+
85
+ **AskUserQuestion** (for confirmation):
86
+ ```xml
87
+ <invoke name="AskUserQuestion">
88
+ <parameter name="questions">[{"question": "Send this update?", "header": "Preview", "multiSelect": false, "options": [{"label": "Yes, save and send", "description": "Save to docs/08-project/updates/ and email stakeholders"}, {"label": "Edit first", "description": "Let me review and edit"}, {"label": "Cancel", "description": "Don't send"}]}]</parameter>
89
+ </invoke>
90
+ ```
91
+
92
+ **Optional Inputs**:
37
93
  - PERIOD=week|sprint|month|quarter|custom (default: week)
38
- - START_DATE=<YYYY-MM-DD> (optional: for custom period)
39
- - END_DATE=<YYYY-MM-DD> (optional: for custom period)
94
+ - START_DATE=<YYYY-MM-DD> (for custom period)
95
+ - END_DATE=<YYYY-MM-DD> (for custom period)
40
96
  - AUDIENCE=exec|client|team|board (default: exec)
41
97
  - FORMAT=email|markdown|slides|pdf (default: markdown)
42
98
 
43
- **Data Sources**:
44
- 1. docs/09-agents/status.json - Current story status
45
- 2. docs/05-epics/*.md - Epic progress
46
- 3. docs/06-stories/**/US-*.md - Story details
47
- 4. docs/08-project/backlog.md - Backlog items
48
- 5. docs/08-project/roadmap.md - Roadmap milestones
49
- 6. docs/08-project/milestones.md - Milestone targets
50
- 7. docs/08-project/risks.md - Risk register
51
- 8. Git history - Commits, PRs merged
52
- 9. docs/09-agents/bus/log.jsonl - Activity context
53
- 10. docs/03-decisions/adr-*.md - Recent decisions
99
+ **Data Sources**: Status.json | Epics | Stories | Roadmap | Milestones | Risks | Git history | Bus log | ADRs
54
100
 
55
101
  **Update Structure**:
56
- - Executive Summary (2-3 sentences, overall status, key accomplishments, critical issues)
57
- - Progress This Period (stories completed, epics progress, milestones reached)
58
- - Upcoming Work (next priorities, upcoming milestones)
59
- - Metrics (velocity, completion rate, quality metrics)
60
- - Blockers & Risks (current blockers, risk mitigation)
61
- - Decisions Made (recent ADRs)
62
- - Budget/Resources (sprint capacity, team changes)
63
-
64
- **Audience Customization**:
65
- - Executive: High-level, business impact, metrics/ROI, risks early, 1-page max
66
- - Client: Feature-focused, user benefits, transparent, screenshots/demos, contract deliverables
67
- - Team: Technical detail, architecture decisions, celebrate wins, retrospective insights, action items
68
- - Board: Strategic overview, financial implications, competitive positioning, long-term roadmap, risk assessment
69
-
70
- **Workflow**:
71
- 1. Determine period (this week, last sprint, etc.)
72
- 2. Collect data from all 10 sources
73
- 3. Calculate metrics and trends
74
- 4. Identify completed work
75
- 5. Identify blockers and risks
76
- 6. Format for audience
77
- 7. Preview (show to user)
78
- 8. Ask: "Send update? (YES/NO/EDIT)"
79
- 9. If YES: Save to docs/08-project/updates/<YYYYMMDD>-update.md and optionally email stakeholders
80
-
81
- **Output Files**:
82
- - Update: docs/08-project/updates/<YYYYMMDD>-update.md
83
- - Log entry: docs/09-agents/bus/log.jsonl
84
-
85
- **Success Criteria**:
86
- - All data sources aggregated
87
- - Metrics calculated with trends
88
- - Formatted for target audience
89
- - Saved to updates directory
90
- - User confirmed via YES/NO/EDIT prompt
102
+ - Executive Summary | Progress This Period | Upcoming Work | Metrics | Blockers & Risks | Decisions Made | Budget/Resources
103
+
104
+ **Output Files**: `docs/08-project/updates/<YYYYMMDD>-update.md` | Log entry in bus/log.jsonl
91
105
 
92
106
  <!-- COMPACT_SUMMARY_END -->
93
107