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,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Validate story completeness before development
|
|
3
3
|
argument-hint: STORY=<US-ID>
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: high
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "STORY ID is REQUIRED - always ask if missing"
|
|
8
|
+
- "Read story file FIRST from docs/06-stories/"
|
|
9
|
+
- "Run 7 validation checks: sections, AC, architecture context, completeness, dev record, insights, cross-story"
|
|
10
|
+
- "Architecture Context CRITICAL - must have real citations [Source: architecture/file.md#section]"
|
|
11
|
+
- "AC format CRITICAL - strict Given/When/Then required (not bullet points)"
|
|
12
|
+
- "Dev Agent Record: structure only (content placeholders OK at draft/ready stage)"
|
|
13
|
+
- "Generate report with passed/failed/warnings sections"
|
|
14
|
+
- "Determine if story 'ready for development' (YES/NO)"
|
|
15
|
+
state_fields:
|
|
16
|
+
- story_id
|
|
17
|
+
- validation_passed
|
|
18
|
+
- validation_warnings
|
|
19
|
+
- validation_failures
|
|
4
20
|
---
|
|
5
21
|
|
|
6
22
|
# story-validate
|
|
@@ -319,4 +335,88 @@ When invoked:
|
|
|
319
335
|
3. Load story file
|
|
320
336
|
4. Run all validation checks
|
|
321
337
|
5. Generate comprehensive report
|
|
322
|
-
6. Provide next steps
|
|
338
|
+
6. Provide next steps with connected actions
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## POST-VALIDATION ACTIONS
|
|
343
|
+
|
|
344
|
+
After validation completes, offer context-aware next steps:
|
|
345
|
+
|
|
346
|
+
### If Story PASSES (Ready for Development)
|
|
347
|
+
|
|
348
|
+
```xml
|
|
349
|
+
<invoke name="AskUserQuestion">
|
|
350
|
+
<parameter name="questions">[{
|
|
351
|
+
"question": "Story <STORY> passed validation! What would you like to do?",
|
|
352
|
+
"header": "Next Steps",
|
|
353
|
+
"multiSelect": false,
|
|
354
|
+
"options": [
|
|
355
|
+
{"label": "Start working on it (Recommended)", "description": "Mark as in_progress and begin implementation"},
|
|
356
|
+
{"label": "View story details", "description": "See full story with /agileflow:story:view"},
|
|
357
|
+
{"label": "Validate another story", "description": "Check another story in this epic"},
|
|
358
|
+
{"label": "Done", "description": "Exit"}
|
|
359
|
+
]
|
|
360
|
+
}]</parameter>
|
|
361
|
+
</invoke>
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
**If "Start working on it"**:
|
|
365
|
+
1. Run `/agileflow:status <STORY> STATUS=in_progress`
|
|
366
|
+
2. Ask: "Enter plan mode to explore implementation?"
|
|
367
|
+
|
|
368
|
+
### If Story HAS WARNINGS
|
|
369
|
+
|
|
370
|
+
```xml
|
|
371
|
+
<invoke name="AskUserQuestion">
|
|
372
|
+
<parameter name="questions">[{
|
|
373
|
+
"question": "Story <STORY> has <N> warnings. What would you like to do?",
|
|
374
|
+
"header": "Next Steps",
|
|
375
|
+
"multiSelect": false,
|
|
376
|
+
"options": [
|
|
377
|
+
{"label": "Fix warnings now", "description": "I'll help you address each warning"},
|
|
378
|
+
{"label": "Start anyway", "description": "Warnings are acceptable, begin work"},
|
|
379
|
+
{"label": "View story file", "description": "See the story content to edit manually"},
|
|
380
|
+
{"label": "Done", "description": "Exit and fix later"}
|
|
381
|
+
]
|
|
382
|
+
}]</parameter>
|
|
383
|
+
</invoke>
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
**If "Fix warnings now"**:
|
|
387
|
+
- Walk through each warning
|
|
388
|
+
- Suggest specific edits
|
|
389
|
+
- Re-validate after fixes
|
|
390
|
+
|
|
391
|
+
### If Story FAILS (Critical Issues)
|
|
392
|
+
|
|
393
|
+
```xml
|
|
394
|
+
<invoke name="AskUserQuestion">
|
|
395
|
+
<parameter name="questions">[{
|
|
396
|
+
"question": "Story <STORY> has <N> critical issues that must be fixed. What would you like to do?",
|
|
397
|
+
"header": "Fix Issues",
|
|
398
|
+
"multiSelect": false,
|
|
399
|
+
"options": [
|
|
400
|
+
{"label": "Fix issues now (Recommended)", "description": "I'll help address each critical issue"},
|
|
401
|
+
{"label": "View story file", "description": "See the story content to edit manually"},
|
|
402
|
+
{"label": "Delete and recreate", "description": "Start fresh with /agileflow:story"},
|
|
403
|
+
{"label": "Done", "description": "Exit and fix later"}
|
|
404
|
+
]
|
|
405
|
+
}]</parameter>
|
|
406
|
+
</invoke>
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
**If "Fix issues now"**:
|
|
410
|
+
- Present each issue with suggested fix
|
|
411
|
+
- Apply fixes with user confirmation
|
|
412
|
+
- Re-validate after all fixes applied
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
## Related Commands
|
|
417
|
+
|
|
418
|
+
- `/agileflow:story:view` - View story details with contextual actions
|
|
419
|
+
- `/agileflow:story:list` - View all stories
|
|
420
|
+
- `/agileflow:story` - Create new story
|
|
421
|
+
- `/agileflow:status` - Update story status
|
|
422
|
+
- `/agileflow:assign` - Assign story to owner
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Create a user story with acceptance criteria
|
|
3
3
|
argument-hint: EPIC=<EP-ID> STORY=<US-ID> TITLE=<text> OWNER=<id> [ESTIMATE=<pts>] [AC=<list>]
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: high
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:story-new - Story creator with acceptance criteria"
|
|
8
|
+
- "MUST create TodoWrite task list immediately (6 steps: parse, create story, create test stub, 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
|
+
- "MUST create test stub in docs/07-testing/test-cases/<STORY>.md referencing AC"
|
|
14
|
+
- "AC format: Given/When/Then bullets (user story format)"
|
|
15
|
+
state_fields:
|
|
16
|
+
- story_id
|
|
17
|
+
- epic_id
|
|
18
|
+
- owner
|
|
19
|
+
- estimate
|
|
20
|
+
- ac_count
|
|
4
21
|
---
|
|
5
22
|
|
|
6
23
|
# story-new
|
|
@@ -18,50 +35,16 @@ node .agileflow/scripts/obtain-context.js story
|
|
|
18
35
|
---
|
|
19
36
|
|
|
20
37
|
<!-- COMPACT_SUMMARY_START -->
|
|
21
|
-
## Compact Summary
|
|
22
|
-
|
|
23
|
-
**Purpose**: Story Creator - Creates structured user stories with acceptance criteria, test stubs, and status tracking
|
|
24
|
-
|
|
25
|
-
**Role**: Story Creator agent responsible for creating well-structured user stories following AgileFlow conventions
|
|
26
|
-
|
|
27
|
-
**Critical Rules**:
|
|
28
|
-
- MUST use TodoWrite to track all 6 steps (parse, create story, create test stub, update status.json, append to bus/log.jsonl, confirm)
|
|
29
|
-
- MUST show preview before creating files (use AskUserQuestion with proper XML invoke format)
|
|
30
|
-
- NEVER ask users to "type" - always use proper options format
|
|
31
|
-
- MUST use story-template.md as the base structure
|
|
32
|
-
- MUST create test stub referencing acceptance criteria
|
|
33
|
-
- MUST update both status.json and bus/log.jsonl
|
|
34
|
-
- Story files go in: docs/06-stories/<EPIC>/<STORY>-<slug>.md
|
|
35
|
-
- Test stubs go in: docs/07-testing/test-cases/<STORY>.md
|
|
36
|
-
|
|
37
|
-
**Required Inputs**:
|
|
38
|
-
- EPIC=<EP-ID> - Epic identifier (e.g., EP-0001)
|
|
39
|
-
- STORY=<US-ID> - Story identifier (e.g., US-0007)
|
|
40
|
-
- TITLE=<text> - Story title
|
|
41
|
-
- OWNER=<id> - Owner name or agent ID
|
|
42
|
-
- ESTIMATE=<pts> - Time estimate (e.g., 0.5d, 2h)
|
|
43
|
-
- AC=<list> - Acceptance criteria (Given/When/Then format)
|
|
44
|
-
- DEPENDENCIES=[...] - Optional array of dependent story IDs
|
|
45
|
-
|
|
46
|
-
**Workflow Steps**:
|
|
47
|
-
1. Parse all inputs and validate format
|
|
48
|
-
2. Create story file from template with frontmatter
|
|
49
|
-
3. Create test case stub referencing AC
|
|
50
|
-
4. Merge story into status.json
|
|
51
|
-
5. Append assign event to bus/log.jsonl
|
|
52
|
-
6. Show preview and get user confirmation
|
|
53
38
|
|
|
54
|
-
|
|
39
|
+
## ⚠️ COMPACT SUMMARY - /agileflow:story-new IS ACTIVE
|
|
40
|
+
|
|
41
|
+
**CRITICAL**: You are the Story Creator. This command creates user stories with acceptance criteria. Follow every rule.
|
|
55
42
|
|
|
56
|
-
|
|
57
|
-
- Story: docs/06-stories/<EPIC>/<STORY>-<slug>.md
|
|
58
|
-
- Test: docs/07-testing/test-cases/<STORY>.md
|
|
59
|
-
- Status: docs/09-agents/status.json (merged)
|
|
60
|
-
- Log: docs/09-agents/bus/log.jsonl (appended)
|
|
43
|
+
---
|
|
61
44
|
|
|
62
|
-
|
|
45
|
+
### 🚨 RULE #1: ALWAYS Create TodoWrite Task List FIRST
|
|
63
46
|
|
|
64
|
-
|
|
47
|
+
Create a 6-step task list IMMEDIATELY:
|
|
65
48
|
```xml
|
|
66
49
|
<invoke name="TodoWrite">
|
|
67
50
|
<parameter name="content">1. Parse inputs (EPIC, STORY, TITLE, OWNER, ESTIMATE, AC)
|
|
@@ -73,30 +56,154 @@ TodoWrite:
|
|
|
73
56
|
<parameter name="status">in-progress</parameter>
|
|
74
57
|
</invoke>
|
|
75
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 (EPIC, STORY, TITLE, OWNER, ESTIMATE, AC, DEPENDENCIES)
|
|
65
|
+
2. Create story file from template with frontmatter
|
|
66
|
+
3. Create test stub file linking to acceptance criteria
|
|
67
|
+
4. Prepare status.json merge (story entry with epic, estimate, deps)
|
|
68
|
+
5. Prepare bus/log.jsonl append
|
|
69
|
+
6. Show unified DIFF preview (story + test + status.json + bus log)
|
|
70
|
+
7. Ask user YES/NO/CANCEL confirmation
|
|
71
|
+
8. Only on YES: Execute all writes
|
|
72
|
+
|
|
73
|
+
### 🚨 RULE #3: ACCEPTANCE CRITERIA Format
|
|
74
|
+
|
|
75
|
+
AC must be Given/When/Then bullets:
|
|
76
|
+
```
|
|
77
|
+
Given: [initial context]
|
|
78
|
+
When: [user action]
|
|
79
|
+
Then: [expected result]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Example:
|
|
83
|
+
```
|
|
84
|
+
Given user is on login page
|
|
85
|
+
When user enters valid credentials
|
|
86
|
+
Then user sees dashboard
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 🚨 RULE #4: TEST STUB REFERENCING
|
|
90
|
+
|
|
91
|
+
Test stub MUST reference AC:
|
|
92
|
+
- Create docs/07-testing/test-cases/<STORY>.md
|
|
93
|
+
- Include link to story file
|
|
94
|
+
- Map each test to an AC bullet
|
|
95
|
+
- Use BDD format (describe, test cases for each AC)
|
|
96
|
+
|
|
97
|
+
### 🚨 RULE #5: NEVER Use echo/cat > For JSON Operations
|
|
98
|
+
|
|
99
|
+
**ALWAYS use**:
|
|
100
|
+
- Edit tool for small changes
|
|
101
|
+
- jq for complex merges
|
|
102
|
+
- Validate after every write
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Key Files & Formats
|
|
107
|
+
|
|
108
|
+
**Input Parameters**:
|
|
109
|
+
```
|
|
110
|
+
EPIC=<EP-ID> # e.g., EP-0001 (required)
|
|
111
|
+
STORY=<US-ID> # e.g., US-0007 (required)
|
|
112
|
+
TITLE=<text> # Story title (required)
|
|
113
|
+
OWNER=<id> # Agent or person name (required)
|
|
114
|
+
ESTIMATE=<time> # e.g., 0.5d, 2h (optional, default: 1d)
|
|
115
|
+
AC=<bullets> # Given/When/Then format (optional)
|
|
116
|
+
DEPENDENCIES=[<list>] # Dependent story IDs (optional)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Output Files Created**:
|
|
120
|
+
| File | Purpose | Template |
|
|
121
|
+
|------|---------|----------|
|
|
122
|
+
| docs/06-stories/EP-<ID>/US-<ID>-<slug>.md | Story with AC | story-template.md |
|
|
123
|
+
| docs/07-testing/test-cases/US-<ID>.md | Test stub | BDD format |
|
|
124
|
+
| docs/09-agents/status.json | Story entry | jq merge |
|
|
125
|
+
| docs/09-agents/bus/log.jsonl | Assign event | JSONL line |
|
|
126
|
+
|
|
127
|
+
**Story Entry in status.json**:
|
|
128
|
+
```json
|
|
129
|
+
"US-0042": {
|
|
130
|
+
"id": "US-0042",
|
|
131
|
+
"epic": "EP-0010",
|
|
132
|
+
"owner": "AG-UI",
|
|
133
|
+
"status": "ready",
|
|
134
|
+
"estimate": "1d",
|
|
135
|
+
"deps": ["US-0041"],
|
|
136
|
+
"summary": "Login form with validation",
|
|
137
|
+
"created": "ISO-date",
|
|
138
|
+
"updated": "ISO-date"
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Append to bus/log.jsonl**:
|
|
143
|
+
```json
|
|
144
|
+
{"ts":"ISO","type":"assign","from":"SYSTEM","to":"<owner>","story":"<US-ID>","text":"Story created"}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Anti-Patterns & Correct Usage
|
|
150
|
+
|
|
151
|
+
❌ **DON'T**:
|
|
152
|
+
- Ask user to "type" AC (use structured Given/When/Then)
|
|
153
|
+
- Create files without showing preview
|
|
154
|
+
- Create story without test stub
|
|
155
|
+
- Overwrite status.json (always merge)
|
|
156
|
+
- Skip JSON validation after edits
|
|
157
|
+
- Forget to link story to epic in status.json
|
|
76
158
|
|
|
77
|
-
|
|
159
|
+
✅ **DO**:
|
|
160
|
+
- Use Given/When/Then format for AC
|
|
161
|
+
- Show file previews before confirming
|
|
162
|
+
- Create test stub with BDD structure
|
|
163
|
+
- Merge entries into status.json (preserve data)
|
|
164
|
+
- Validate JSON after every modification
|
|
165
|
+
- Link story to epic in status.json entry
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Confirmation Flow
|
|
170
|
+
|
|
171
|
+
1. **Show preview box** with all files being created
|
|
172
|
+
- Story file path and content
|
|
173
|
+
- Test stub file path and structure
|
|
174
|
+
- status.json changes (diff format)
|
|
175
|
+
- bus/log.jsonl append line
|
|
176
|
+
|
|
177
|
+
2. **Ask confirmation**:
|
|
78
178
|
```xml
|
|
79
179
|
<invoke name="AskUserQuestion">
|
|
80
180
|
<parameter name="questions">[{
|
|
81
|
-
"question": "Create story US-0042: Login Form
|
|
181
|
+
"question": "Create story US-0042: Login Form?",
|
|
82
182
|
"header": "Confirm Story Creation",
|
|
83
183
|
"multiSelect": false,
|
|
84
184
|
"options": [
|
|
85
|
-
{"label": "Yes, create
|
|
86
|
-
{"label": "No,
|
|
185
|
+
{"label": "Yes, create", "description": "Write all files"},
|
|
186
|
+
{"label": "No, edit", "description": "Modify details"},
|
|
87
187
|
{"label": "Cancel", "description": "Don't create"}
|
|
88
188
|
]
|
|
89
189
|
}]</parameter>
|
|
90
190
|
</invoke>
|
|
91
191
|
```
|
|
92
192
|
|
|
93
|
-
**
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
193
|
+
3. **On YES**: Execute all writes
|
|
194
|
+
4. **On NO/CANCEL**: Abort without changes
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## REMEMBER AFTER COMPACTION
|
|
199
|
+
|
|
200
|
+
- Creates story file + test stub + status.json entry + bus log event
|
|
201
|
+
- ALWAYS validate AC format (Given/When/Then)
|
|
202
|
+
- ALWAYS create test stub referencing AC
|
|
203
|
+
- ALWAYS preview before confirming (prevents mistakes)
|
|
204
|
+
- ALWAYS validate JSON after merge (prevents corruption)
|
|
205
|
+
- Use TodoWrite for step tracking (6 steps)
|
|
206
|
+
- Files: story file, test file, status.json, bus/log.jsonl
|
|
100
207
|
|
|
101
208
|
<!-- COMPACT_SUMMARY_END -->
|
|
102
209
|
|
|
@@ -171,3 +278,49 @@ ACTIONS
|
|
|
171
278
|
}]</parameter>
|
|
172
279
|
</invoke>
|
|
173
280
|
```
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## POST-CREATION ACTIONS
|
|
285
|
+
|
|
286
|
+
After successfully creating the story, offer next steps:
|
|
287
|
+
|
|
288
|
+
```xml
|
|
289
|
+
<invoke name="AskUserQuestion">
|
|
290
|
+
<parameter name="questions">[{
|
|
291
|
+
"question": "Story <STORY> created! What would you like to do next?",
|
|
292
|
+
"header": "Next Steps",
|
|
293
|
+
"multiSelect": false,
|
|
294
|
+
"options": [
|
|
295
|
+
{"label": "Start working on it now (Recommended)", "description": "Mark as in_progress and begin implementation"},
|
|
296
|
+
{"label": "Validate story completeness", "description": "Check AC and dependencies before starting"},
|
|
297
|
+
{"label": "Create another story", "description": "Add more stories to this epic"},
|
|
298
|
+
{"label": "View all stories", "description": "See story list with /agileflow:story:list"}
|
|
299
|
+
]
|
|
300
|
+
}]</parameter>
|
|
301
|
+
</invoke>
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
**If "Start working on it now"**:
|
|
305
|
+
1. Run `/agileflow:status <STORY> STATUS=in_progress`
|
|
306
|
+
2. Then ask: "Enter plan mode to explore implementation approach?"
|
|
307
|
+
- If yes: `EnterPlanMode` and run `obtain-context.js`
|
|
308
|
+
|
|
309
|
+
**If "Validate story completeness"**:
|
|
310
|
+
- Run `/agileflow:story-validate STORY=<STORY>`
|
|
311
|
+
|
|
312
|
+
**If "Create another story"**:
|
|
313
|
+
- Re-run `/agileflow:story EPIC=<same epic>`
|
|
314
|
+
|
|
315
|
+
**If "View all stories"**:
|
|
316
|
+
- Run `/agileflow:story:list EPIC=<epic>`
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## Related Commands
|
|
321
|
+
|
|
322
|
+
- `/agileflow:story:list` - View all stories with filters
|
|
323
|
+
- `/agileflow:story:view` - View story details with contextual actions
|
|
324
|
+
- `/agileflow:story-validate` - Validate story completeness
|
|
325
|
+
- `/agileflow:status` - Update story status
|
|
326
|
+
- `/agileflow:epic` - Create parent epic
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Create and manage custom document templates
|
|
3
|
-
argument-hint:
|
|
3
|
+
argument-hint: ACTION=create|edit|list|use [TYPE=story|epic|adr|custom] [NAME=<name>]
|
|
4
|
+
compact_context:
|
|
5
|
+
priority: high
|
|
6
|
+
preserve_rules:
|
|
7
|
+
- "ACTIVE COMMAND: /agileflow:custom-template - Template manager"
|
|
8
|
+
- "CRITICAL: All custom templates saved to docs/00-meta/templates/custom/"
|
|
9
|
+
- "CRITICAL: Update registry.json whenever creating/editing templates"
|
|
10
|
+
- "CRITICAL: Use diff-first approach (preview BEFORE writing)"
|
|
11
|
+
- "MUST validate template syntax (double curly braces {{VARIABLE}})"
|
|
12
|
+
- "Built-in templates cannot be deleted (only overridden)"
|
|
13
|
+
- "MUST fill all {{VARIABLES}} - validate before saving"
|
|
14
|
+
state_fields:
|
|
15
|
+
- action
|
|
16
|
+
- template_type
|
|
17
|
+
- template_name
|
|
18
|
+
- template_path
|
|
4
19
|
---
|
|
5
20
|
|
|
6
21
|
# custom-template
|