agileflow 2.76.0 → 2.78.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.
- package/README.md +3 -3
- package/package.json +6 -1
- package/scripts/agileflow-configure.js +185 -13
- package/scripts/agileflow-statusline.sh +266 -27
- package/scripts/agileflow-welcome.js +160 -52
- package/scripts/auto-self-improve.js +63 -20
- package/scripts/check-update.js +1 -4
- package/scripts/damage-control-bash.js +232 -0
- package/scripts/damage-control-edit.js +243 -0
- package/scripts/damage-control-write.js +243 -0
- package/scripts/get-env.js +15 -7
- package/scripts/lib/frontmatter-parser.js +4 -1
- package/scripts/obtain-context.js +59 -48
- package/scripts/ralph-loop.js +25 -13
- package/scripts/validate-expertise.sh +19 -15
- package/src/core/agents/accessibility.md +124 -53
- package/src/core/agents/adr-writer.md +192 -52
- package/src/core/agents/analytics.md +139 -60
- package/src/core/agents/api.md +173 -63
- package/src/core/agents/ci.md +139 -57
- package/src/core/agents/compliance.md +159 -68
- package/src/core/agents/configuration/damage-control.md +356 -0
- package/src/core/agents/database.md +162 -61
- package/src/core/agents/datamigration.md +179 -66
- package/src/core/agents/design.md +179 -57
- package/src/core/agents/devops.md +160 -3
- package/src/core/agents/documentation.md +204 -60
- package/src/core/agents/epic-planner.md +147 -55
- package/src/core/agents/integrations.md +197 -69
- package/src/core/agents/mentor.md +158 -57
- package/src/core/agents/mobile.md +159 -67
- package/src/core/agents/monitoring.md +154 -65
- package/src/core/agents/multi-expert.md +115 -43
- package/src/core/agents/orchestrator.md +77 -24
- package/src/core/agents/performance.md +130 -75
- package/src/core/agents/product.md +151 -55
- package/src/core/agents/qa.md +162 -74
- package/src/core/agents/readme-updater.md +178 -76
- package/src/core/agents/refactor.md +148 -95
- package/src/core/agents/research.md +143 -72
- package/src/core/agents/security.md +154 -65
- package/src/core/agents/testing.md +176 -97
- package/src/core/agents/ui.md +170 -79
- package/src/core/commands/adr/list.md +171 -0
- package/src/core/commands/adr/update.md +235 -0
- package/src/core/commands/adr/view.md +252 -0
- package/src/core/commands/adr.md +207 -50
- package/src/core/commands/agent.md +16 -0
- package/src/core/commands/assign.md +148 -44
- package/src/core/commands/auto.md +18 -1
- package/src/core/commands/babysit.md +361 -36
- package/src/core/commands/baseline.md +14 -0
- package/src/core/commands/blockers.md +170 -51
- package/src/core/commands/board.md +144 -66
- package/src/core/commands/changelog.md +15 -0
- package/src/core/commands/ci.md +179 -69
- package/src/core/commands/compress.md +18 -0
- package/src/core/commands/configure.md +16 -0
- package/src/core/commands/context/export.md +193 -4
- package/src/core/commands/context/full.md +191 -18
- package/src/core/commands/context/note.md +248 -4
- package/src/core/commands/debt.md +17 -0
- package/src/core/commands/deploy.md +208 -65
- package/src/core/commands/deps.md +15 -0
- package/src/core/commands/diagnose.md +16 -0
- package/src/core/commands/docs.md +196 -64
- package/src/core/commands/epic/list.md +170 -0
- package/src/core/commands/epic/view.md +242 -0
- package/src/core/commands/epic.md +192 -69
- package/src/core/commands/feedback.md +191 -71
- package/src/core/commands/handoff.md +162 -48
- package/src/core/commands/help.md +9 -0
- package/src/core/commands/ideate.md +446 -0
- package/src/core/commands/impact.md +16 -0
- package/src/core/commands/metrics.md +141 -37
- package/src/core/commands/multi-expert.md +77 -0
- package/src/core/commands/packages.md +16 -0
- package/src/core/commands/pr.md +161 -67
- package/src/core/commands/readme-sync.md +16 -0
- package/src/core/commands/research/analyze.md +568 -0
- package/src/core/commands/research/ask.md +345 -20
- package/src/core/commands/research/import.md +562 -19
- package/src/core/commands/research/list.md +173 -5
- package/src/core/commands/research/view.md +181 -8
- package/src/core/commands/retro.md +135 -48
- package/src/core/commands/review.md +219 -47
- package/src/core/commands/session/end.md +209 -0
- package/src/core/commands/session/history.md +210 -0
- package/src/core/commands/session/init.md +116 -0
- package/src/core/commands/session/new.md +296 -0
- package/src/core/commands/session/resume.md +166 -0
- package/src/core/commands/session/status.md +166 -0
- package/src/core/commands/skill/create.md +115 -17
- package/src/core/commands/skill/delete.md +117 -0
- package/src/core/commands/skill/edit.md +104 -0
- package/src/core/commands/skill/list.md +128 -0
- package/src/core/commands/skill/test.md +135 -0
- package/src/core/commands/skill/upgrade.md +542 -0
- package/src/core/commands/sprint.md +17 -1
- package/src/core/commands/status.md +133 -21
- package/src/core/commands/story/list.md +176 -0
- package/src/core/commands/story/view.md +265 -0
- package/src/core/commands/story-validate.md +101 -1
- package/src/core/commands/story.md +204 -51
- package/src/core/commands/template.md +16 -1
- package/src/core/commands/tests.md +226 -64
- package/src/core/commands/update.md +17 -1
- package/src/core/commands/validate-expertise.md +16 -0
- package/src/core/commands/velocity.md +140 -36
- package/src/core/commands/verify.md +14 -0
- package/src/core/commands/whats-new.md +30 -0
- package/src/core/skills/_learnings/README.md +91 -0
- package/src/core/skills/_learnings/_template.yaml +106 -0
- package/src/core/skills/_learnings/commit.yaml +69 -0
- package/src/core/templates/damage-control-patterns.yaml +234 -0
- package/src/core/templates/skill-template.md +53 -11
- package/tools/cli/commands/list.js +3 -1
- package/tools/cli/commands/start.js +180 -0
- package/tools/cli/commands/uninstall.js +4 -5
- package/tools/cli/commands/update.js +11 -3
- package/tools/cli/lib/content-injector.js +6 -1
- package/tools/cli/tui/Dashboard.js +66 -0
- package/tools/cli/tui/StoryList.js +69 -0
- package/tools/cli/tui/index.js +16 -0
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Create a new epic with stories
|
|
3
3
|
argument-hint: EPIC=<EP-ID> TITLE=<text> OWNER=<id> GOAL=<text> [STORIES=<list>]
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: high
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:epic-new - Epic creator for feature planning"
|
|
8
|
+
- "MUST create TodoWrite task list immediately (6 steps: parse, create epic, create stories, merge status, append bus, confirm)"
|
|
9
|
+
- "MUST show file previews before confirming writes"
|
|
10
|
+
- "MUST use Edit tool or jq for JSON operations (never echo/cat > status.json)"
|
|
11
|
+
- "MUST validate JSON after every modification"
|
|
12
|
+
- "MUST use AskUserQuestion for user confirmation (YES/NO/CANCEL format)"
|
|
13
|
+
- "STORIES format: 'US-ID|title|owner,US-ID2|title2|owner2' (comma-separated triplets)"
|
|
14
|
+
state_fields:
|
|
15
|
+
- epic_id
|
|
16
|
+
- owner
|
|
17
|
+
- story_count
|
|
18
|
+
- creation_timestamp
|
|
4
19
|
---
|
|
5
20
|
|
|
6
21
|
# epic-new
|
|
@@ -20,94 +35,154 @@ This gathers git status, stories/epics, session state, and registers for PreComp
|
|
|
20
35
|
Create a new epic with optional child stories.
|
|
21
36
|
|
|
22
37
|
<!-- COMPACT_SUMMARY_START -->
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- NEVER create files without explicit user confirmation
|
|
34
|
-
- ALWAYS merge entries into status.json (never overwrite)
|
|
35
|
-
- ALWAYS append to bus/log.jsonl (never overwrite)
|
|
36
|
-
- Parse all required inputs: EPIC, TITLE, OWNER, GOAL
|
|
37
|
-
- Parse optional STORIES input (comma-separated triplets)
|
|
38
|
-
|
|
39
|
-
**Key Workflow Steps**:
|
|
40
|
-
1. Create todo list with TodoWrite (6 steps: parse, create epic, create stories, merge status, append bus, confirm)
|
|
41
|
-
2. Parse inputs: EPIC=<ID>, TITLE=<text>, OWNER=<id>, GOAL=<text>, STORIES=<list>
|
|
42
|
-
3. Create docs/05-epics/<EPIC>.md from epic-template.md
|
|
43
|
-
- Status: active
|
|
44
|
-
- Created/updated: current timestamp
|
|
45
|
-
4. For each story in STORIES (format: "US_ID|title|owner"):
|
|
46
|
-
- Create docs/06-stories/<EPIC>/<US_ID>-<slug>.md from story-template.md
|
|
47
|
-
- Status: ready, estimate: 0.5d, deps: []
|
|
48
|
-
5. Merge into docs/09-agents/status.json:
|
|
49
|
-
- Add/update epic entry (id, owner, status, summary, last_update)
|
|
50
|
-
- Add/update story entries (id, owner, status, branch, summary, last_update)
|
|
51
|
-
6. Append assign lines to docs/09-agents/bus/log.jsonl:
|
|
52
|
-
- Format: {"timestamp":"ISO","type":"assign","epic":"EP-ID","owner":"name"}
|
|
53
|
-
- For each story: {"timestamp":"ISO","type":"assign","story":"US-ID","owner":"name"}
|
|
54
|
-
|
|
55
|
-
**Input Format**:
|
|
56
|
-
- EPIC=<ID> (e.g., EP-0001)
|
|
57
|
-
- TITLE=<Epic title>
|
|
58
|
-
- OWNER=<name or agent-id>
|
|
59
|
-
- GOAL=<outcome/metric>
|
|
60
|
-
- STORIES=<optional> (format: "US-0001|Story Title|owner,US-0002|Another Story|owner2")
|
|
61
|
-
|
|
62
|
-
**Output Format Requirements**:
|
|
63
|
-
- Epic file: docs/05-epics/<EPIC>.md (use epic-template.md structure)
|
|
64
|
-
- Story files: docs/06-stories/<EPIC>/<US_ID>-<slug>.md (use story-template.md structure)
|
|
65
|
-
- Status.json: Merge entries (preserve existing data)
|
|
66
|
-
- Bus log: Append JSONL entries (one per epic/story assignment)
|
|
67
|
-
|
|
68
|
-
**Templates Used**:
|
|
69
|
-
- packages/cli/src/core/templates/epic-template.md
|
|
70
|
-
- packages/cli/src/core/templates/story-template.md
|
|
71
|
-
|
|
72
|
-
**Confirmation Flow**:
|
|
73
|
-
1. Show epic preview (file path, title, owner, goal, status)
|
|
74
|
-
2. Show story previews (file paths, titles, owners, estimates)
|
|
75
|
-
3. Show status.json merge preview
|
|
76
|
-
4. Show bus/log.jsonl append preview
|
|
77
|
-
5. Ask: "Proceed with epic creation? (YES/NO)"
|
|
78
|
-
6. On YES: Execute all writes
|
|
79
|
-
7. On NO: Abort without changes
|
|
80
|
-
|
|
81
|
-
**Tool Usage Examples**:
|
|
82
|
-
|
|
83
|
-
TodoWrite:
|
|
38
|
+
|
|
39
|
+
## ⚠️ COMPACT SUMMARY - /agileflow:epic-new IS ACTIVE
|
|
40
|
+
|
|
41
|
+
**CRITICAL**: You are the Epic Creator. This command creates new epics with associated stories. Follow every rule.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
### 🚨 RULE #1: ALWAYS Create TodoWrite Task List FIRST
|
|
46
|
+
|
|
47
|
+
Create a 6-step task list IMMEDIATELY:
|
|
84
48
|
```xml
|
|
85
49
|
<invoke name="TodoWrite">
|
|
86
50
|
<parameter name="content">1. Parse inputs (EPIC, TITLE, OWNER, GOAL, STORIES)
|
|
87
51
|
2. Create epic file from template
|
|
88
|
-
3. For each story: create docs/06-stories
|
|
89
|
-
4. Merge into status.json
|
|
90
|
-
5. Append assign events to bus
|
|
91
|
-
6. Show preview and
|
|
52
|
+
3. For each story: create docs/06-stories/<EPIC>/<US_ID>-<slug>.md
|
|
53
|
+
4. Merge entries into status.json
|
|
54
|
+
5. Append assign events to bus/log.jsonl
|
|
55
|
+
6. Show preview and confirm with user</parameter>
|
|
92
56
|
<parameter name="status">in-progress</parameter>
|
|
93
57
|
</invoke>
|
|
94
58
|
```
|
|
59
|
+
Mark each step complete as you finish it.
|
|
60
|
+
|
|
61
|
+
### 🚨 RULE #2: NEVER Create Files Without Preview + Confirmation
|
|
62
|
+
|
|
63
|
+
**Workflow** (ALWAYS follow this order):
|
|
64
|
+
1. Parse and validate all inputs
|
|
65
|
+
2. Create epic file from template
|
|
66
|
+
3. Create story files from template
|
|
67
|
+
4. Prepare status.json merge
|
|
68
|
+
5. Prepare bus/log.jsonl append
|
|
69
|
+
6. Show unified DIFF preview (all files + status.json + bus log)
|
|
70
|
+
7. Ask user YES/NO/CANCEL confirmation
|
|
71
|
+
8. Only on YES: Execute writes and update status
|
|
72
|
+
|
|
73
|
+
### 🚨 RULE #3: NEVER Use echo/cat > For JSON Operations
|
|
74
|
+
|
|
75
|
+
**ALWAYS use one of**:
|
|
76
|
+
- Edit tool for small changes
|
|
77
|
+
- jq for complex merges
|
|
78
|
+
- JSON validation after every write:
|
|
79
|
+
```bash
|
|
80
|
+
if ! jq empty docs/09-agents/status.json 2>/dev/null; then
|
|
81
|
+
echo "❌ ERROR: status.json is now invalid JSON!"
|
|
82
|
+
exit 1
|
|
83
|
+
fi
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 🚨 RULE #4: ALWAYS Validate JSON After Modifications
|
|
87
|
+
|
|
88
|
+
After ANY change to status.json:
|
|
89
|
+
```bash
|
|
90
|
+
jq empty docs/09-agents/status.json 2>/dev/null || {
|
|
91
|
+
echo "❌ VALIDATION FAILED: status.json is corrupt"
|
|
92
|
+
exit 1
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Key Files & Formats
|
|
99
|
+
|
|
100
|
+
**Input Parameters**:
|
|
101
|
+
```
|
|
102
|
+
EPIC=<EP-ID> # e.g., EP-0001 (required)
|
|
103
|
+
TITLE=<text> # Epic title (required)
|
|
104
|
+
OWNER=<id> # Agent or person name (required)
|
|
105
|
+
GOAL=<outcome> # Epic goal/metric (required)
|
|
106
|
+
STORIES=<list> # Comma-separated triplets (optional)
|
|
107
|
+
Format: "US-0001|Story One|owner,US-0002|Story Two|owner2"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Output Files Created**:
|
|
111
|
+
| File | Purpose | Template |
|
|
112
|
+
|------|---------|----------|
|
|
113
|
+
| docs/05-epics/EP-<ID>.md | Epic definition | epic-template.md |
|
|
114
|
+
| docs/06-stories/EP-<ID>/US-<ID>-<slug>.md | Child stories | story-template.md |
|
|
115
|
+
| docs/09-agents/status.json | Merged entries | jq merge |
|
|
116
|
+
| docs/09-agents/bus/log.jsonl | Appended events | JSONL lines |
|
|
117
|
+
|
|
118
|
+
**Merge into status.json**:
|
|
119
|
+
- Epic entry: {id, owner, status: "active", summary, created, updated}
|
|
120
|
+
- Story entries: {id, owner, status: "ready", epic, estimate: "0.5d", deps: [], created, updated}
|
|
121
|
+
|
|
122
|
+
**Append to bus/log.jsonl**:
|
|
123
|
+
```json
|
|
124
|
+
{"ts":"ISO","type":"assign","from":"SYSTEM","to":"<owner>","epic":"<EPIC>","text":"Epic created"}
|
|
125
|
+
{"ts":"ISO","type":"assign","from":"SYSTEM","to":"<owner>","story":"<US-ID>","text":"Story created"}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Anti-Patterns & Correct Usage
|
|
131
|
+
|
|
132
|
+
❌ **DON'T**:
|
|
133
|
+
- Ask user to "type" story list (use structured format)
|
|
134
|
+
- Create files without showing preview
|
|
135
|
+
- Overwrite status.json (always merge)
|
|
136
|
+
- Skip JSON validation after edits
|
|
137
|
+
- Create stories without linking to epic
|
|
138
|
+
|
|
139
|
+
✅ **DO**:
|
|
140
|
+
- Show file previews for all 3-5 files being created
|
|
141
|
+
- Use proper STORIES format with pipes and commas
|
|
142
|
+
- Merge entries into existing JSON (preserve data)
|
|
143
|
+
- Validate JSON after every modification
|
|
144
|
+
- Link all stories to epic in status.json
|
|
95
145
|
|
|
96
|
-
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Confirmation Flow
|
|
149
|
+
|
|
150
|
+
1. **Show preview box** with all files being created
|
|
151
|
+
- Epic file path and frontmatter
|
|
152
|
+
- Story file paths and frontmatter
|
|
153
|
+
- status.json changes (diff format)
|
|
154
|
+
- bus/log.jsonl lines to append
|
|
155
|
+
|
|
156
|
+
2. **Ask confirmation**:
|
|
97
157
|
```xml
|
|
98
158
|
<invoke name="AskUserQuestion">
|
|
99
159
|
<parameter name="questions">[{
|
|
100
|
-
"question": "Create epic EP-0010
|
|
160
|
+
"question": "Create epic EP-0010 with 3 stories?",
|
|
101
161
|
"header": "Confirm Epic Creation",
|
|
102
162
|
"multiSelect": false,
|
|
103
163
|
"options": [
|
|
104
|
-
{"label": "Yes, create
|
|
105
|
-
{"label": "No,
|
|
164
|
+
{"label": "Yes, create", "description": "Write all files"},
|
|
165
|
+
{"label": "No, edit", "description": "Modify details"},
|
|
106
166
|
{"label": "Cancel", "description": "Don't create"}
|
|
107
167
|
]
|
|
108
168
|
}]</parameter>
|
|
109
169
|
</invoke>
|
|
110
170
|
```
|
|
171
|
+
|
|
172
|
+
3. **On YES**: Execute all writes (files, merge, append)
|
|
173
|
+
4. **On NO/CANCEL**: Abort without changes
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## REMEMBER AFTER COMPACTION
|
|
178
|
+
|
|
179
|
+
- Command creates epics + child stories in one operation
|
|
180
|
+
- ALWAYS parse and validate STORIES input (triplet format)
|
|
181
|
+
- ALWAYS preview before confirming (prevents mistakes)
|
|
182
|
+
- ALWAYS validate JSON after merge (prevents corruption)
|
|
183
|
+
- Use TodoWrite for step tracking (6 steps)
|
|
184
|
+
- Files: epic file, N story files, status.json, bus/log.jsonl
|
|
185
|
+
|
|
111
186
|
<!-- COMPACT_SUMMARY_END -->
|
|
112
187
|
|
|
113
188
|
## Prompt
|
|
@@ -148,3 +223,51 @@ ACTIONS
|
|
|
148
223
|
4) Append "assign" lines to docs/09-agents/bus/log.jsonl.
|
|
149
224
|
|
|
150
225
|
Always show previews; YES/NO before writing.
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## POST-CREATION ACTIONS
|
|
230
|
+
|
|
231
|
+
After successfully creating the epic, offer next steps:
|
|
232
|
+
|
|
233
|
+
```xml
|
|
234
|
+
<invoke name="AskUserQuestion">
|
|
235
|
+
<parameter name="questions">[{
|
|
236
|
+
"question": "Epic <EPIC> created with <N> stories! What would you like to do next?",
|
|
237
|
+
"header": "Next Steps",
|
|
238
|
+
"multiSelect": false,
|
|
239
|
+
"options": [
|
|
240
|
+
{"label": "Add more stories (Recommended)", "description": "Epic may need additional work items"},
|
|
241
|
+
{"label": "Start working on first story", "description": "Begin implementation immediately"},
|
|
242
|
+
{"label": "Plan sprint for this epic", "description": "Schedule stories with /agileflow:sprint"},
|
|
243
|
+
{"label": "View epic details", "description": "See full epic with /agileflow:epic:view"}
|
|
244
|
+
]
|
|
245
|
+
}]</parameter>
|
|
246
|
+
</invoke>
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**If "Add more stories"**:
|
|
250
|
+
- Re-run `/agileflow:story EPIC=<EPIC>` with next story ID
|
|
251
|
+
|
|
252
|
+
**If "Start working on first story"**:
|
|
253
|
+
1. Show ready stories in this epic
|
|
254
|
+
2. Let user pick one
|
|
255
|
+
3. Run `/agileflow:status <STORY> STATUS=in_progress`
|
|
256
|
+
4. Ask: "Enter plan mode to explore implementation?"
|
|
257
|
+
|
|
258
|
+
**If "Plan sprint"**:
|
|
259
|
+
- Run `/agileflow:sprint` with this epic's stories
|
|
260
|
+
|
|
261
|
+
**If "View epic details"**:
|
|
262
|
+
- Run `/agileflow:epic:view EPIC=<EPIC>`
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Related Commands
|
|
267
|
+
|
|
268
|
+
- `/agileflow:epic:list` - View all epics with progress
|
|
269
|
+
- `/agileflow:epic:view` - View epic details with all stories
|
|
270
|
+
- `/agileflow:story` - Create story in epic
|
|
271
|
+
- `/agileflow:story:list` - View all stories
|
|
272
|
+
- `/agileflow:sprint` - Plan sprint with epic stories
|
|
273
|
+
- `/agileflow:board` - Visual kanban board
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Collect and process agent feedback
|
|
3
|
+
compact_context:
|
|
4
|
+
priority: medium
|
|
5
|
+
preserve_rules:
|
|
6
|
+
- "SCOPE (story|epic|sprint) optional - default is story"
|
|
7
|
+
- "STORY or EPIC may be REQUIRED depending on SCOPE"
|
|
8
|
+
- "Feedback is OPTIONAL - never block workflow"
|
|
9
|
+
- "Collect ratings (1-5 scale) and free-form comments"
|
|
10
|
+
- "Save to docs/08-project/feedback/<YYYYMMDD>-<ID>.md"
|
|
11
|
+
- "Analyze patterns across feedback for recurring issues"
|
|
12
|
+
- "Generate improvement stories for recurring problems"
|
|
13
|
+
- "Track metrics: clarity score, estimate accuracy, blocker frequency"
|
|
14
|
+
state_fields:
|
|
15
|
+
- scope
|
|
16
|
+
- story_id
|
|
17
|
+
- epic_id
|
|
18
|
+
- anonymous_flag
|
|
3
19
|
---
|
|
4
20
|
|
|
5
21
|
# agent-feedback
|
|
@@ -14,73 +30,75 @@ If the user confirms they want the full details, continue. Otherwise, stop here.
|
|
|
14
30
|
Collect feedback from agents and humans for continuous process improvement.
|
|
15
31
|
|
|
16
32
|
<!-- COMPACT_SUMMARY_START -->
|
|
17
|
-
## Compact Summary
|
|
18
33
|
|
|
19
|
-
|
|
34
|
+
## ⚠️ COMPACT SUMMARY - /agileflow:agent-feedback IS ACTIVE
|
|
20
35
|
|
|
21
|
-
**
|
|
22
|
-
```bash
|
|
23
|
-
/agileflow:agent-feedback SCOPE=story STORY=US-0042
|
|
24
|
-
/agileflow:agent-feedback SCOPE=epic EPIC=EP-0010
|
|
25
|
-
/agileflow:agent-feedback SCOPE=sprint
|
|
26
|
-
```
|
|
36
|
+
**CRITICAL**: You are collecting feedback for continuous improvement. Feedback is OPTIONAL - never force it.
|
|
27
37
|
|
|
28
|
-
**
|
|
29
|
-
1. Prompts for feedback at trigger points (story done, epic complete, sprint end)
|
|
30
|
-
2. Collects structured feedback (ratings 1-5, comments, blockers)
|
|
31
|
-
3. Saves feedback to `docs/08-project/feedback/` (markdown format)
|
|
32
|
-
4. Analyzes patterns and generates insights
|
|
33
|
-
5. Suggests improvement stories for recurring issues
|
|
34
|
-
6. Tracks metrics over time (clarity, estimates, blockers)
|
|
35
|
-
|
|
36
|
-
**Required Inputs**:
|
|
37
|
-
- `SCOPE`: story|epic|sprint (default: story)
|
|
38
|
-
|
|
39
|
-
**Optional Inputs**:
|
|
40
|
-
- `STORY`: <US-ID> (required if SCOPE=story)
|
|
41
|
-
- `EPIC`: <EP-ID> (required if SCOPE=epic)
|
|
42
|
-
- `ANONYMOUS`: yes|no (default: no)
|
|
43
|
-
|
|
44
|
-
**Data Sources** (parsing required):
|
|
45
|
-
1. Story frontmatter files (US-*.md) - YAML extraction for dates, estimates
|
|
46
|
-
2. status.json - Story metadata (JSON parsing)
|
|
47
|
-
3. bus/log.jsonl - Activity logs for pattern detection (JSON line parsing)
|
|
48
|
-
4. Feedback files (markdown parsing for metrics extraction)
|
|
49
|
-
|
|
50
|
-
**Feedback Collection**:
|
|
51
|
-
- **Story Completion**: AC clarity, dependencies resolved, estimate accuracy, smoothness (1-5 scale)
|
|
52
|
-
- **Agent Performance**: Completion rate, test coverage, reliability metrics
|
|
53
|
-
- **Epic Retrospective**: Success metrics, wins, challenges, learnings
|
|
54
|
-
- **Sprint Retrospective**: Continue/Stop/Start, experiments, blockers
|
|
55
|
-
|
|
56
|
-
**Metrics Tracked**:
|
|
57
|
-
- Avg story clarity score (target: >4.0)
|
|
58
|
-
- Estimate accuracy (target: within 50%)
|
|
59
|
-
- Blocker frequency (target: <20% of stories)
|
|
60
|
-
- Test coverage avg
|
|
61
|
-
- Completion velocity
|
|
38
|
+
**ROLE**: Feedback Collector & Retrospective Facilitator
|
|
62
39
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### 🚨 RULE #1: FEEDBACK IS ALWAYS OPTIONAL
|
|
43
|
+
|
|
44
|
+
**NEVER require or force feedback collection.** Always ask: "Provide feedback now? (YES/NO/LATER)"
|
|
45
|
+
|
|
46
|
+
- YES: Collect feedback interactively
|
|
47
|
+
- NO: Skip, don't ask again for this story
|
|
48
|
+
- LATER: Add reminder to bus log, ask again at next trigger
|
|
49
|
+
|
|
50
|
+
Feedback should feel helpful, not burdensome.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### 🚨 RULE #2: SCOPE DETERMINES INPUTS
|
|
55
|
+
|
|
56
|
+
| SCOPE | Required Inputs | Example |
|
|
57
|
+
|-------|-----------------|---------|
|
|
58
|
+
| `story` | STORY=<US-ID> | Feedback on story completion |
|
|
59
|
+
| `epic` | EPIC=<EP-ID> | Retrospective on epic |
|
|
60
|
+
| `sprint` | None | Sprint retrospective |
|
|
61
|
+
|
|
62
|
+
Ask user if SCOPE not provided or required inputs missing.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
### 🚨 RULE #3: FEEDBACK FORM SECTIONS
|
|
67
|
+
|
|
68
|
+
For each feedback type, use appropriate form:
|
|
69
|
+
|
|
70
|
+
**Story Feedback** (after story marked "done"):
|
|
71
|
+
- AC clarity (1-5)
|
|
72
|
+
- Dependencies resolved (1-5)
|
|
73
|
+
- Estimate accuracy (1-5)
|
|
74
|
+
- Implementation smoothness (1-5)
|
|
75
|
+
- What went well? (free-form)
|
|
76
|
+
- What could improve? (free-form)
|
|
77
|
+
- Blockers? (list)
|
|
78
|
+
- Learnings? (optional)
|
|
79
|
+
|
|
80
|
+
**Epic Retrospective** (after epic 100% complete):
|
|
81
|
+
- Success metrics (from epic definition)
|
|
82
|
+
- What went well? (bullets)
|
|
83
|
+
- What didn't go well? (bullets)
|
|
84
|
+
- Surprises/learnings? (bullets)
|
|
85
|
+
- Actions for next epic? (checklist)
|
|
86
|
+
|
|
87
|
+
**Sprint Retrospective** (sprint end):
|
|
88
|
+
- Continue (what to keep doing)
|
|
89
|
+
- Stop (what to stop doing)
|
|
90
|
+
- Start (new practices to try)
|
|
91
|
+
- Experiments (things to test next sprint)
|
|
92
|
+
- Blockers removed (what was unblocked)
|
|
93
|
+
- Recurring issues (what needs addressing)
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### 🚨 RULE #4: SAVE FEEDBACK TO FILE
|
|
98
|
+
|
|
99
|
+
Always save to: `docs/08-project/feedback/<YYYYMMDD>-<ID>.md`
|
|
100
|
+
|
|
101
|
+
Example:
|
|
84
102
|
```markdown
|
|
85
103
|
## Story Feedback: US-0042
|
|
86
104
|
|
|
@@ -88,19 +106,121 @@ Collect feedback from agents and humans for continuous process improvement.
|
|
|
88
106
|
**Date**: 2025-12-22
|
|
89
107
|
|
|
90
108
|
### Ratings (1-5)
|
|
91
|
-
- AC clarity: 5
|
|
92
|
-
- Dependencies
|
|
93
|
-
- Estimate accuracy: 5
|
|
94
|
-
-
|
|
109
|
+
- AC clarity: 5
|
|
110
|
+
- Dependencies: 4
|
|
111
|
+
- Estimate accuracy: 5
|
|
112
|
+
- Smoothness: 4
|
|
95
113
|
|
|
96
114
|
### What Went Well
|
|
97
|
-
- Clear
|
|
98
|
-
- All tests passed
|
|
115
|
+
- Clear AC with examples
|
|
116
|
+
- All tests passed
|
|
99
117
|
- Good documentation
|
|
100
118
|
|
|
101
|
-
###
|
|
102
|
-
- Database
|
|
119
|
+
### Improvements
|
|
120
|
+
- Database migration took longer
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
### 🚨 RULE #5: ANALYZE PATTERNS & GENERATE INSIGHTS
|
|
126
|
+
|
|
127
|
+
After collecting feedback, scan for patterns:
|
|
128
|
+
|
|
129
|
+
**Pattern Detection:**
|
|
130
|
+
- 5+ stories with "unclear AC" → Improve story template
|
|
131
|
+
- 3+ stories blocked by missing tests → Enforce test stubs early
|
|
132
|
+
- Estimates off by 2x → Revise estimation guidelines
|
|
133
|
+
|
|
134
|
+
**Generate Improvement Stories:**
|
|
135
|
+
```
|
|
136
|
+
Issue: 5 stories had "unclear AC" (score <3)
|
|
137
|
+
Suggested Story: "US-XXXX: Improve story template with AC examples"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Track Metrics:**
|
|
141
|
+
- Avg AC clarity (target: >4.0)
|
|
142
|
+
- Avg estimate accuracy (target: within 50%)
|
|
143
|
+
- Blocker frequency (target: <20%)
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
### ANTI-PATTERNS (DON'T DO THESE)
|
|
148
|
+
|
|
149
|
+
❌ Force feedback - make it optional
|
|
150
|
+
❌ Collect feedback but don't analyze it
|
|
151
|
+
❌ Ignore patterns - let issues repeat
|
|
152
|
+
❌ Use vague forms - make it specific
|
|
153
|
+
❌ Save feedback but don't show insights
|
|
154
|
+
❌ Create improvement stories without pattern data
|
|
155
|
+
|
|
156
|
+
### DO THESE INSTEAD
|
|
157
|
+
|
|
158
|
+
✅ Ask "Provide feedback? (YES/NO/LATER)"
|
|
159
|
+
✅ Use structured forms with 1-5 ratings
|
|
160
|
+
✅ Analyze patterns across feedback
|
|
161
|
+
✅ Suggest improvement stories for recurring issues
|
|
162
|
+
✅ Track metrics over time
|
|
163
|
+
✅ Show insights to user
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
### WORKFLOW
|
|
168
|
+
|
|
169
|
+
1. **Trigger Check**: Story done? Epic complete? Sprint end?
|
|
170
|
+
2. **Ask Permission**: "Provide feedback now? (YES/NO/LATER)"
|
|
171
|
+
3. **If YES**: Show feedback form with pre-filled context
|
|
172
|
+
4. **Collect**: Get ratings, comments, blockers
|
|
173
|
+
5. **Save**: To `docs/08-project/feedback/<YYYYMMDD>-<ID>.md`
|
|
174
|
+
6. **Analyze**: Scan for patterns and metrics
|
|
175
|
+
7. **Suggest**: Show insights and improvement stories
|
|
176
|
+
8. **Optional**: Create stories if user approves
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### TOOL USAGE EXAMPLES
|
|
181
|
+
|
|
182
|
+
**TodoWrite** (to track feedback process):
|
|
183
|
+
```xml
|
|
184
|
+
<invoke name="TodoWrite">
|
|
185
|
+
<parameter name="content">1. Determine scope and required inputs
|
|
186
|
+
2. Ask for feedback (optional)
|
|
187
|
+
3. If YES: Show form with pre-filled context
|
|
188
|
+
4. Collect ratings and comments
|
|
189
|
+
5. Save to docs/08-project/feedback/
|
|
190
|
+
6. Analyze patterns
|
|
191
|
+
7. Suggest improvements</parameter>
|
|
192
|
+
<parameter name="status">in-progress</parameter>
|
|
193
|
+
</invoke>
|
|
103
194
|
```
|
|
195
|
+
|
|
196
|
+
**AskUserQuestion** (for feedback permission):
|
|
197
|
+
```xml
|
|
198
|
+
<invoke name="AskUserQuestion">
|
|
199
|
+
<parameter name="questions">[{
|
|
200
|
+
"question": "Provide feedback on US-0042 completion?",
|
|
201
|
+
"header": "Optional Feedback",
|
|
202
|
+
"multiSelect": false,
|
|
203
|
+
"options": [
|
|
204
|
+
{"label": "Yes, provide feedback", "description": "Take 2-3 min to share insights"},
|
|
205
|
+
{"label": "Not now", "description": "Skip feedback"},
|
|
206
|
+
{"label": "Remind me later", "description": "Ask again next time"}
|
|
207
|
+
]
|
|
208
|
+
}]</parameter>
|
|
209
|
+
</invoke>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
### REMEMBER AFTER COMPACTION
|
|
215
|
+
|
|
216
|
+
- `/agileflow:agent-feedback` IS ACTIVE
|
|
217
|
+
- Feedback is OPTIONAL - never force it
|
|
218
|
+
- SCOPE determines inputs (story/epic/sprint)
|
|
219
|
+
- Use 1-5 rating scales for consistency
|
|
220
|
+
- Save to docs/08-project/feedback/
|
|
221
|
+
- Analyze patterns and suggest improvements
|
|
222
|
+
- Track metrics: clarity, estimates, blockers
|
|
223
|
+
|
|
104
224
|
<!-- COMPACT_SUMMARY_END -->
|
|
105
225
|
|
|
106
226
|
## Prompt
|