agile-context-engineering 0.3.0 → 0.5.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 (147) hide show
  1. package/.claude-plugin/plugin.json +10 -0
  2. package/LICENSE +51 -51
  3. package/README.md +332 -324
  4. package/agents/ace-product-owner.md +1 -1
  5. package/agents/ace-research-synthesizer.md +228 -228
  6. package/agents/ace-wiki-mapper.md +449 -445
  7. package/bin/install.js +60 -64
  8. package/hooks/ace-check-update.js +70 -62
  9. package/hooks/ace-statusline.js +89 -89
  10. package/package.json +5 -4
  11. package/shared/lib/ace-core.js +308 -0
  12. package/shared/lib/ace-core.test.js +308 -0
  13. package/shared/lib/ace-github.js +753 -0
  14. package/shared/lib/ace-story.js +400 -0
  15. package/shared/lib/ace-story.test.js +250 -0
  16. package/{agile-context-engineering → shared}/utils/questioning.xml +110 -110
  17. package/{agile-context-engineering → shared}/utils/ui-formatting.md +299 -299
  18. package/skills/execute-story/SKILL.md +110 -0
  19. package/skills/execute-story/script.js +305 -0
  20. package/skills/execute-story/script.test.js +261 -0
  21. package/skills/execute-story/walkthrough-template.xml +255 -0
  22. package/{agile-context-engineering/workflows/execute-story.xml → skills/execute-story/workflow.xml} +1219 -1219
  23. package/skills/help/SKILL.md +69 -0
  24. package/skills/help/script.js +318 -0
  25. package/skills/help/script.test.js +183 -0
  26. package/{agile-context-engineering/workflows/help.xml → skills/help/workflow.xml} +540 -540
  27. package/skills/init-coding-standards/SKILL.md +72 -0
  28. package/skills/init-coding-standards/script.js +59 -0
  29. package/skills/init-coding-standards/script.test.js +70 -0
  30. package/{agile-context-engineering/workflows/init-coding-standards.xml → skills/init-coding-standards/workflow.xml} +381 -386
  31. package/skills/map-cross-cutting/SKILL.md +89 -0
  32. package/{agile-context-engineering/templates/wiki → skills/map-cross-cutting}/system-cross-cutting.xml +197 -197
  33. package/skills/map-cross-cutting/workflow.xml +330 -0
  34. package/skills/map-guide/SKILL.md +89 -0
  35. package/{agile-context-engineering/templates/wiki → skills/map-guide}/guide.xml +137 -137
  36. package/skills/map-guide/workflow.xml +320 -0
  37. package/skills/map-pattern/SKILL.md +89 -0
  38. package/{agile-context-engineering/templates/wiki → skills/map-pattern}/pattern.xml +159 -159
  39. package/skills/map-pattern/workflow.xml +331 -0
  40. package/skills/map-story/SKILL.md +127 -0
  41. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/decizions.xml +115 -115
  42. package/skills/map-story/templates/guide.xml +137 -0
  43. package/skills/map-story/templates/pattern.xml +159 -0
  44. package/skills/map-story/templates/system-cross-cutting.xml +197 -0
  45. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/system.xml +381 -381
  46. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/walkthrough.xml +255 -255
  47. package/{agile-context-engineering/workflows/map-story.xml → skills/map-story/workflow.xml} +1046 -1046
  48. package/skills/map-subsystem/SKILL.md +111 -0
  49. package/skills/map-subsystem/script.js +60 -0
  50. package/skills/map-subsystem/script.test.js +68 -0
  51. package/skills/map-subsystem/templates/decizions.xml +115 -0
  52. package/skills/map-subsystem/templates/guide.xml +137 -0
  53. package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/module-discovery.xml +174 -174
  54. package/skills/map-subsystem/templates/pattern.xml +159 -0
  55. package/skills/map-subsystem/templates/system-cross-cutting.xml +197 -0
  56. package/skills/map-subsystem/templates/system.xml +381 -0
  57. package/skills/map-subsystem/templates/walkthrough.xml +255 -0
  58. package/{agile-context-engineering/workflows/map-subsystem.xml → skills/map-subsystem/workflow.xml} +15 -20
  59. package/skills/map-sys-doc/SKILL.md +90 -0
  60. package/skills/map-sys-doc/system.xml +381 -0
  61. package/skills/map-sys-doc/workflow.xml +336 -0
  62. package/skills/map-system/SKILL.md +85 -0
  63. package/skills/map-system/script.js +84 -0
  64. package/skills/map-system/script.test.js +73 -0
  65. package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-architecture.xml +254 -254
  66. package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/wiki-readme.xml +296 -296
  67. package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml} +11 -16
  68. package/skills/map-walkthrough/SKILL.md +92 -0
  69. package/skills/map-walkthrough/walkthrough.xml +255 -0
  70. package/skills/plan-backlog/SKILL.md +75 -0
  71. package/{agile-context-engineering/templates/product/product-backlog.xml → skills/plan-backlog/product-backlog-template.xml} +231 -231
  72. package/skills/plan-backlog/script.js +136 -0
  73. package/skills/plan-backlog/script.test.js +83 -0
  74. package/{agile-context-engineering/workflows/plan-backlog.xml → skills/plan-backlog/workflow.xml} +13 -21
  75. package/skills/plan-feature/SKILL.md +76 -0
  76. package/skills/plan-feature/script.js +148 -0
  77. package/skills/plan-feature/script.test.js +80 -0
  78. package/{agile-context-engineering/workflows/plan-feature.xml → skills/plan-feature/workflow.xml} +1487 -1495
  79. package/skills/plan-product-vision/SKILL.md +75 -0
  80. package/skills/plan-product-vision/script.js +60 -0
  81. package/skills/plan-product-vision/script.test.js +69 -0
  82. package/{agile-context-engineering/workflows/plan-product-vision.xml → skills/plan-product-vision/workflow.xml} +4 -9
  83. package/skills/plan-story/SKILL.md +116 -0
  84. package/skills/plan-story/script.js +326 -0
  85. package/skills/plan-story/script.test.js +240 -0
  86. package/skills/plan-story/story-template.xml +451 -0
  87. package/{agile-context-engineering/workflows/plan-story.xml → skills/plan-story/workflow.xml} +1285 -944
  88. package/skills/research-external-solution/SKILL.md +107 -0
  89. package/skills/research-external-solution/script.js +238 -0
  90. package/skills/research-external-solution/script.test.js +134 -0
  91. package/{agile-context-engineering/workflows/research-external-solution.xml → skills/research-external-solution/workflow.xml} +4 -6
  92. package/skills/research-integration-solution/SKILL.md +98 -0
  93. package/skills/research-integration-solution/script.js +231 -0
  94. package/skills/research-integration-solution/script.test.js +134 -0
  95. package/{agile-context-engineering/workflows/research-integration-solution.xml → skills/research-integration-solution/workflow.xml} +3 -5
  96. package/skills/research-story-wiki/SKILL.md +92 -0
  97. package/skills/research-story-wiki/script.js +231 -0
  98. package/skills/research-story-wiki/script.test.js +138 -0
  99. package/{agile-context-engineering/workflows/research-story-wiki.xml → skills/research-story-wiki/workflow.xml} +3 -5
  100. package/skills/research-technical-solution/SKILL.md +103 -0
  101. package/skills/research-technical-solution/script.js +231 -0
  102. package/skills/research-technical-solution/script.test.js +134 -0
  103. package/{agile-context-engineering/workflows/research-technical-solution.xml → skills/research-technical-solution/workflow.xml} +3 -5
  104. package/skills/review-story/SKILL.md +100 -0
  105. package/skills/review-story/script.js +257 -0
  106. package/skills/review-story/script.test.js +169 -0
  107. package/skills/review-story/story-template.xml +451 -0
  108. package/{agile-context-engineering/workflows/review-story.xml → skills/review-story/workflow.xml} +279 -281
  109. package/skills/update/SKILL.md +53 -0
  110. package/{agile-context-engineering/workflows/update.xml → skills/update/workflow.xml} +12 -13
  111. package/agile-context-engineering/src/ace-tools.js +0 -2881
  112. package/agile-context-engineering/src/ace-tools.test.js +0 -1089
  113. package/agile-context-engineering/templates/_command.md +0 -54
  114. package/agile-context-engineering/templates/_workflow.xml +0 -17
  115. package/agile-context-engineering/templates/config.json +0 -0
  116. package/agile-context-engineering/templates/product/integration-solution.xml +0 -0
  117. package/commands/ace/execute-story.md +0 -138
  118. package/commands/ace/help.md +0 -93
  119. package/commands/ace/init-coding-standards.md +0 -83
  120. package/commands/ace/map-story.md +0 -165
  121. package/commands/ace/map-subsystem.md +0 -140
  122. package/commands/ace/map-system.md +0 -92
  123. package/commands/ace/map-walkthrough.md +0 -127
  124. package/commands/ace/plan-backlog.md +0 -83
  125. package/commands/ace/plan-feature.md +0 -89
  126. package/commands/ace/plan-product-vision.md +0 -81
  127. package/commands/ace/plan-story.md +0 -159
  128. package/commands/ace/research-external-solution.md +0 -138
  129. package/commands/ace/research-integration-solution.md +0 -135
  130. package/commands/ace/research-story-wiki.md +0 -116
  131. package/commands/ace/research-technical-solution.md +0 -147
  132. package/commands/ace/review-story.md +0 -109
  133. package/commands/ace/update.md +0 -56
  134. /package/{agile-context-engineering/templates/product/story.xml → skills/execute-story/story-template.xml} +0 -0
  135. /package/{agile-context-engineering/templates/wiki/coding-standards.xml → skills/init-coding-standards/coding-standards-template.xml} +0 -0
  136. /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/tech-debt-index.xml +0 -0
  137. /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-architecture.xml +0 -0
  138. /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-structure.xml +0 -0
  139. /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-structure.xml +0 -0
  140. /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/testing-framework.xml +0 -0
  141. /package/{agile-context-engineering/workflows/map-walkthrough.xml → skills/map-walkthrough/workflow.xml} +0 -0
  142. /package/{agile-context-engineering/templates/product/feature.xml → skills/plan-feature/feature-template.xml} +0 -0
  143. /package/{agile-context-engineering/templates/product/product-vision.xml → skills/plan-product-vision/product-vision-template.xml} +0 -0
  144. /package/{agile-context-engineering/templates/product/external-solution.xml → skills/research-external-solution/external-solution-template.xml} +0 -0
  145. /package/{agile-context-engineering/templates/product/story-integration-solution.xml → skills/research-integration-solution/integration-solution-template.xml} +0 -0
  146. /package/{agile-context-engineering/templates/product/story-wiki.xml → skills/research-story-wiki/story-wiki-template.xml} +0 -0
  147. /package/{agile-context-engineering/templates/product/story-technical-solution.xml → skills/research-technical-solution/technical-solution-template.xml} +0 -0
@@ -29,19 +29,14 @@
29
29
  <step name="setup" order="1">
30
30
  **MANDATORY FIRST STEP — Execute environment detection before any user interaction:**
31
31
 
32
- ```bash
33
- INIT=$(node ~/.claude/agile-context-engineering/src/ace-tools.js init map-system)
34
- ```
32
+ INIT is available from the preprocessed Environment Context above — do NOT re-run init.
35
33
 
36
- Parse JSON for: `mapper_model`, `commit_docs`, `is_brownfield`, `is_greenfield`,
34
+ Parse INIT JSON for: `mapper_model`, `commit_docs`, `is_brownfield`, `is_greenfield`,
37
35
  `has_existing_code`, `has_package_file`, `wiki_dir_exists`, `existing_wiki_files`,
38
36
  `has_system_structure`, `has_system_architecture`, `has_testing_framework`,
39
37
  `has_coding_standards`, `has_git`.
40
38
 
41
- Also resolve the mapper model for spawning agents:
42
- ```bash
43
- MAPPER_MODEL=$(node ~/.claude/agile-context-engineering/src/ace-tools.js resolve-model ace-wiki-mapper --raw)
44
- ```
39
+ MAPPER_MODEL is available from INIT.mapper_model do NOT re-run resolve-model.
45
40
 
46
41
  Display stage banner:
47
42
 
@@ -178,7 +173,7 @@
178
173
  **Generate wiki-readme.md if it does not already exist:**
179
174
 
180
175
  Check if `.docs/wiki/wiki-readme.md` exists. If it does NOT exist, generate it
181
- from the wiki-readme template (`~/.claude/agile-context-engineering/templates/wiki/wiki-readme.xml`).
176
+ from the wiki-readme template (`${CLAUDE_SKILL_DIR}/templates/wiki-readme.xml`).
182
177
 
183
178
  Read the template's `<template>` section and write the markdown content to
184
179
  `.docs/wiki/wiki-readme.md`. This is a mostly-static meta-document — fill it
@@ -223,7 +218,7 @@
223
218
 
224
219
  Analyze this codebase and produce the system-wide structure document.
225
220
 
226
- **Template:** Read ~/.claude/agile-context-engineering/templates/wiki/system-structure.xml
221
+ **Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-structure.xml
227
222
  **Output:** Write to .docs/wiki/system-wide/system-structure.md
228
223
 
229
224
  Follow the template structure. Fill every section with real data from the codebase.
@@ -247,7 +242,7 @@
247
242
  UPDATE the existing system structure document.
248
243
 
249
244
  **Current document:** Read .docs/wiki/system-wide/system-structure.md
250
- **Template:** Read ~/.claude/agile-context-engineering/templates/wiki/system-structure.xml
245
+ **Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-structure.xml
251
246
 
252
247
  Compare the current document against the actual codebase state.
253
248
  Update sections that are stale. Add new subsystems or shared directories
@@ -298,7 +293,7 @@
298
293
 
299
294
  Analyze this codebase and produce the testing framework document.
300
295
 
301
- **Template:** Read ~/.claude/agile-context-engineering/templates/wiki/testing-framework.xml
296
+ **Template:** Read ${CLAUDE_SKILL_DIR}/templates/testing-framework.xml
302
297
  **Output:** Write to .docs/wiki/system-wide/testing-framework.md
303
298
 
304
299
  Check package.json/config files for test runner and scripts.
@@ -325,7 +320,7 @@
325
320
  UPDATE the existing testing framework document.
326
321
 
327
322
  **Current document:** Read .docs/wiki/system-wide/testing-framework.md
328
- **Template:** Read ~/.claude/agile-context-engineering/templates/wiki/testing-framework.xml
323
+ **Template:** Read ${CLAUDE_SKILL_DIR}/templates/testing-framework.xml
329
324
 
330
325
  Compare against current codebase state. Update stale sections only.
331
326
  Check for new test runner config, new test patterns, changed coverage settings.
@@ -374,7 +369,7 @@
374
369
 
375
370
  Analyze this codebase and produce the system-wide architecture document.
376
371
 
377
- **Template:** Read ~/.claude/agile-context-engineering/templates/wiki/system-architecture.xml
372
+ **Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-architecture.xml
378
373
  **Output:** Write to .docs/wiki/system-wide/system-architecture.md
379
374
 
380
375
  **Also read (if it exists):** .docs/wiki/system-wide/system-structure.md
@@ -406,7 +401,7 @@
406
401
  UPDATE the existing system architecture document.
407
402
 
408
403
  **Current document:** Read .docs/wiki/system-wide/system-architecture.md
409
- **Template:** Read ~/.claude/agile-context-engineering/templates/wiki/system-architecture.xml
404
+ **Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-architecture.xml
410
405
  **Also read (if it exists):** .docs/wiki/system-wide/system-structure.md
411
406
 
412
407
  Compare against current codebase state. Check:
@@ -512,7 +507,7 @@
512
507
  **Architecture brief from user interview:**
513
508
  {paste the context brief here}
514
509
 
515
- **Template:** Read ~/.claude/agile-context-engineering/templates/wiki/system-architecture.xml
510
+ **Template:** Read ${CLAUDE_SKILL_DIR}/templates/system-architecture.xml
516
511
  **Output:** Write to .docs/wiki/system-wide/system-architecture.md
517
512
 
518
513
  **Also read (if it exists):** .docs/wiki/system-wide/system-structure.md
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: map-walkthrough
3
+ description: Create deep tutorial-style flow walkthroughs in .docs/wiki/subsystems/[name]/walkthroughs/
4
+ argument-hint: "flow='tick data from bybit websocket to timescaledb' subsystem='data-ingestion' emphasis-frameworks='SignalR,Redis Streams'"
5
+ disable-model-invocation: true
6
+ allowed-tools:
7
+ - Read
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - Write
12
+ - Edit
13
+ - LSP
14
+ - AskUserQuestion
15
+ - WebSearch
16
+ - WebFetch
17
+ - mcp__context7__resolve-library-id
18
+ - mcp__context7__query-docs
19
+ model: opus
20
+ effort: max
21
+ context: fork
22
+ agent: ace-wiki-mapper
23
+ ---
24
+
25
+ # Map Walkthrough
26
+
27
+ Create deep tutorial-style flow walkthroughs that trace a flow end-to-end through the codebase.
28
+
29
+ ## When to Use
30
+
31
+ - After `/ace:map-subsystem` — to create deep walkthroughs for complex flows
32
+ - Anytime a complex multi-class flow needs human-readable documentation
33
+ - When onboarding new developers who need to understand specific flows
34
+ - A flow spans 3+ classes across multiple architectural layers
35
+ - External frameworks/libraries are involved that need explanation
36
+ - An intern reading the code alone would not understand what's happening
37
+ - A system doc would need paragraphs of explanation with code snippets
38
+
39
+ ## Input
40
+
41
+ ### Required
42
+
43
+ - **`flow`** (text) — Natural language description of the end-to-end flow — WHERE it starts and WHERE it ends. The agent finds the entry point, follows every call through the entire code, and traces it to the exit point. E.g.: "tick data from bybit websocket to timescaledb", "user message from SignalR hub until LLM response is sent back", "order placement from API endpoint to payment confirmation". If not provided, pause and ask the user.
44
+
45
+ - **`subsystem`** (path | text) — Subsystem where the walkthrough wiki file is placed. The flow itself may span MULTIPLE subsystems — the agent follows the code wherever it goes. This parameter only determines the wiki location: `.docs/wiki/subsystems/[subsystem]/walkthroughs/`. If not provided, pause and ask the user.
46
+
47
+ ### Optional
48
+
49
+ - **`emphasis-frameworks`** (csv) — Comma-separated frameworks/libraries/APIs/SDKs that should receive deep explanation throughout the walkthrough. When specified: EVERY step touching the framework gets a framework info box, ALL code interacting with the framework is shown and explained, the Framework Concepts Reference table becomes MANDATORY. Each entry is EITHER: a name (agent researches via WebSearch/context7) like "SignalR" or "SignalR,EF Core"; a file path or URL to documentation; or a mix of both.
50
+
51
+ ## Supporting Resources
52
+
53
+ Read ALL of these before starting the workflow:
54
+
55
+ - **Workflow**: Read [workflow.xml](workflow.xml) — complete orchestration process with all steps
56
+ - **Walkthrough template**: Read [walkthrough.xml](walkthrough.xml) — output format for the walkthrough
57
+ - **Questioning guide**: Read `${CLAUDE_SKILL_DIR}/../../shared/utils/questioning.xml` — deep questioning techniques
58
+ - **UI formatting**: Read `${CLAUDE_SKILL_DIR}/../../shared/utils/ui-formatting.md` — ACE output formatting rules
59
+
60
+ ## Process
61
+
62
+ Use the `ace-wiki-mapper` agent that's specialized in wiki exploration and documentation writing.
63
+
64
+ Read all supporting resources listed above, then execute the workflow defined in [workflow.xml](workflow.xml) end-to-end. Preserve all workflow gates (validation, user questions, commits).
65
+
66
+ **Objective:** Create or update a deep tutorial-style walkthrough that traces a flow end-to-end. The agent reads the flow description, finds the entry point in the codebase, then follows EVERY SINGLE CALL through the entire code — handler to service to repository to database (or whatever the flow touches) — using LSP and code reading. It discovers all files automatically, extracts emphasis framework usages from the actual code, researches those specific concepts, and writes the walkthrough with real code snippets and framework info boxes.
67
+
68
+ ## Artifacts
69
+
70
+ ```
71
+ .docs/wiki/subsystems/[subsystem-name]/walkthroughs/[flow-name].md
72
+ ```
73
+
74
+ ## Example Usage
75
+
76
+ ```
77
+ # Basic walkthrough
78
+ /ace:map-walkthrough flow='tick data from bybit websocket to timescaledb' subsystem='data-ingestion'
79
+
80
+ # With emphasis frameworks
81
+ /ace:map-walkthrough flow='user message from SignalR hub until LLM response is sent back' subsystem='chat' emphasis-frameworks='SignalR,Redis Streams'
82
+
83
+ # With documentation link as emphasis
84
+ /ace:map-walkthrough flow='order placement from API endpoint to payment confirmation' subsystem='orders' emphasis-frameworks='https://learn.microsoft.com/aspnet/signalr/overview,EF Core'
85
+ ```
86
+
87
+ ## Next Steps
88
+
89
+ - `/clear` first for a fresh context window
90
+ - `/ace:map-walkthrough` — create another walkthrough
91
+ - `/ace:map-subsystem [subsystem]` — map or refresh an entire subsystem
92
+ - Review and edit files in `.docs/wiki/subsystems/[subsystem-name]/walkthroughs/`
@@ -0,0 +1,255 @@
1
+ <walkthrough>
2
+ <purpose>
3
+ Template for `.docs/wiki/subsystems/[subsystem-name]/walkthroughs/<flow-name>.md` — a deep,
4
+ tutorial-style explanation of a complex end-to-end flow. Answers "Walk me through EXACTLY
5
+ what happens when X."
6
+
7
+ Each walkthrough traces a single flow from entry point to exit point, showing ACTUAL code
8
+ from the codebase at every step, explaining what each piece does and WHY, and calling out
9
+ framework/library concepts with info boxes when external tools are involved.
10
+
11
+ Written for humans (especially new developers and interns) who need to UNDERSTAND a flow
12
+ before they can work with it. Unlike system docs (terse references for AI agents),
13
+ walkthroughs prioritize completeness of information — but deliver it in minimal words.
14
+
15
+ A "walkthrough" is a traced execution flow through multiple classes and layers:
16
+ e.g., "Message arrives via SignalR until it reaches the LLM", "LLM calls a tool until
17
+ the drawing appears on the chart", "User places an order until it's confirmed".
18
+
19
+ Create a walkthrough when:
20
+ - A flow spans 3+ classes across multiple architectural layers
21
+ - External frameworks/libraries are involved that need explanation (MAF, SignalR, EF Core)
22
+ - A system doc would need paragraphs of explanation with code snippets (that's a walkthrough, not a system doc)
23
+ - An intern reading the code alone would not understand what's happening without guidance
24
+
25
+ **Emphasis Frameworks:**
26
+ Walkthroughs can specify one or more "emphasis frameworks" — external frameworks,
27
+ libraries, APIs, or SDKs that deserve deep explanation throughout the walkthrough.
28
+ When an emphasis framework is specified:
29
+ - EVERY step where the flow touches that framework MUST have a framework info box
30
+ - The info box explains the specific framework concept used in that step
31
+ - ALL code from ALL steps that interact with the emphasis framework is shown and explained
32
+ - The agent researches the framework (via WebSearch/context7 or provided docs) if needed
33
+ - The Framework Concepts Reference table at the end is MANDATORY
34
+
35
+ Examples of emphasis frameworks: SignalR, EF Core, MAF (Microsoft Agent Framework),
36
+ React Query, gRPC, MediatR, AutoMapper. Can be specified by name (agent researches)
37
+ or with documentation paths/URLs (agent reads provided docs).
38
+
39
+ Complements:
40
+ - systems/ docs (terse WHAT reference — walkthroughs explain the HOW in depth)
41
+ - patterns/ docs (reusable structural patterns — walkthroughs trace specific flows through them)
42
+ - guides/ docs (procedural recipes for DOING — walkthroughs explain for UNDERSTANDING)
43
+ - cross-cutting/ docs (shared infrastructure — walkthroughs show how flows pass through them)
44
+ </purpose>
45
+
46
+ <template>
47
+ <title>
48
+ # [Flow Name]
49
+
50
+ One line: what this flow does and when it triggers.
51
+ </title>
52
+
53
+ <file-map>
54
+ ## Files Involved
55
+
56
+ Every file this flow touches, in execution order.
57
+
58
+ ```
59
+ src/[layer]/[area]/
60
+ |-- FileA.cs # Entry point
61
+ |-- FileB.cs # Orchestrates flow
62
+ |-- FileC.cs # Core logic
63
+ `-- FileD.cs # Sends result
64
+ ```
65
+ </file-map>
66
+
67
+ <flow-diagram>
68
+ ## Flow Overview
69
+
70
+ ```mermaid
71
+ sequenceDiagram
72
+ participant A as ComponentA
73
+ participant B as ComponentB
74
+ participant C as ComponentC
75
+ participant D as ExternalSystem
76
+
77
+ A->>B: step description
78
+ B->>C: step description
79
+ C->>D: step description
80
+ D-->>C: response
81
+ C-->>B: result
82
+ B-->>A: result
83
+ ```
84
+
85
+ Participants = real classes/components. Arrows = real method calls.
86
+ Steps below explain each arrow.
87
+ </flow-diagram>
88
+
89
+ <steps>
90
+ ## Step-by-Step
91
+
92
+ ### Step 1: [What happens]
93
+
94
+ **File:** `path/to/File.cs:ClassName.MethodName`
95
+
96
+ [1-2 sentences: what this step does and WHY. No filler.]
97
+
98
+ ```csharp
99
+ // Actual code from the codebase
100
+ public async Task MethodName(string param1, string param2)
101
+ {
102
+ var result = await _dependency.DoSomething(param1);
103
+ }
104
+ ```
105
+
106
+ `_dependency` — injected via constructor, does X.
107
+ `param1` — the Y received from Z.
108
+ [Only explain what's non-obvious. Skip what the code already says clearly.]
109
+
110
+ ---
111
+
112
+ ### Step 2: [What happens]
113
+
114
+ **File:** `path/to/AnotherFile.cs:ClassName.MethodName`
115
+
116
+ [What and why — terse.]
117
+
118
+ ```csharp
119
+ // Actual code...
120
+ ```
121
+
122
+ > **[Framework]: [Concept]**
123
+ >
124
+ > [Succinct explanation of the framework concept. What it is, what it does for us.
125
+ > No history, no alternatives, no "in general" — just what the reader needs to
126
+ > understand THIS code.]
127
+ >
128
+ > *Source: [link to official docs]*
129
+
130
+ ---
131
+
132
+ ### Step 3: [What happens]
133
+
134
+ ...continue for every step in the flow...
135
+ </steps>
136
+
137
+ <framework-concepts>
138
+ ## Framework Concepts Reference
139
+
140
+ Consolidated lookup for framework concepts explained inline above.
141
+
142
+ | Concept | Framework | What It Does | First Appearance |
143
+ |---------|-----------|-------------|------------------|
144
+ | `AIFunctionFactory.Create()` | MS Agent Framework | C# method -> LLM tool | [Step N](#step-n) |
145
+ | `ChatClientAgent` | MS Agent Framework | Wraps IChatClient with auto tool loop | [Step M](#step-m) |
146
+
147
+ Include ONLY if external frameworks/libraries are involved.
148
+ </framework-concepts>
149
+
150
+ <related-docs>
151
+ ## Related Documentation
152
+
153
+ - [System Doc](../systems/relevant-system.md) — terse reference
154
+ - [Guide](../guides/relevant-guide.md) — recipe for adding to this flow
155
+ - [Official Docs](../framework-docs/relevant-page.md) — framework docs
156
+ </related-docs>
157
+ </template>
158
+
159
+ <guidelines>
160
+
161
+ ### Density Over Prose
162
+ - **EXTREMELY SUCCINCT** — every word must add value. If a word does not add value, remove it.
163
+ - **NO FLUFF** — no introductions, no summaries of what the section will contain, no transitions
164
+ - Bullet points over paragraphs. Tables over bullet points when comparing.
165
+ - If you can say it in 3 words, don't use 10. Then try to say it in 2.
166
+ - **BUT: ALL needed information MUST be present.** Succinctness means cutting WORDS, not cutting INFORMATION. Every concept, every parameter, every non-obvious behavior must be explained — just in fewer words.
167
+
168
+ ### Complete but Dense Explanations
169
+ - Explain the WHY, not just the WHAT — "X because Y" not "X happens"
170
+ - After each code snippet: explain ONLY what's non-obvious. If the code says `price > 0`, don't write "checks that price is positive" — the code already says that. DO explain hidden behaviors, framework magic, non-obvious field origins.
171
+ - Use inline code references for fields/params: `` `_connectionId` — captured from `Context.ConnectionId` in AgentHub ``
172
+ - One-line explanations preferred. Multi-line only when genuinely complex.
173
+
174
+ ### Code Snippets (MANDATORY per step)
175
+ - ALWAYS from the actual codebase — verified by reading the file
176
+ - NEVER pseudocode, NEVER summaries, NEVER fabricated
177
+ - Use correct language tag: ```csharp, ```typescript, ```json
178
+ - **FOCUSED**: show ONLY the lines relevant to what the step is explaining. If a method has 50 lines but this step is about lines 10-15, show lines 10-15 with a `// ... (validation above)` or `// ... (setup omitted)` comment for context. The snippet serves the step's explanation, not the other way around.
179
+ - Short methods (under 20 lines) where the ENTIRE method is relevant: show entirely
180
+ - Long methods: show the relevant portion only. Use `// ...` comments to indicate omitted sections above/below.
181
+
182
+ ### Flow Diagram (MANDATORY)
183
+ - Every walkthrough MUST start with a mermaid sequenceDiagram
184
+ - Participants = real classes/components, not abstract concepts
185
+ - Arrows = real method calls, labeled with method name
186
+ - The diagram is the map; the steps are the guided tour
187
+
188
+ ### Framework Info Boxes (when applicable)
189
+ - Use markdown blockquotes (`>`) with `> **[Framework]: [Concept]**` header
190
+ - Explain as if the reader has NEVER used this framework — but in minimal words
191
+ - Place IMMEDIATELY after the first code snippet that uses the concept
192
+ - Each concept explained ONCE — do not repeat
193
+ - Link to official docs with `*Source: [link]*`
194
+ - Keep it dense: what it is, what it does for us, done. No history, no alternatives.
195
+
196
+ ### Emphasis Frameworks (when specified)
197
+ - When emphasis-frameworks are specified, framework info boxes become MANDATORY
198
+ for EVERY step that touches the emphasis framework — not just the first occurrence
199
+ - ALL code that interacts with the emphasis framework must be shown in full
200
+ - The Framework Concepts Reference table is MANDATORY (not optional)
201
+ - If the agent does not know the framework: use WebSearch or context7 MCP to research it
202
+ - If framework docs are provided (file paths or URLs): read them BEFORE writing any steps
203
+
204
+ ### Minimum Length
205
+ - At least 300 lines — length comes from code snippets and completeness, not from prose
206
+ - Complex flows (3+ frameworks, 10+ classes): 500-1000 lines
207
+ - Under 200 lines = not enough information, add more steps/explanations
208
+
209
+ ### Section Inclusion
210
+ - Title, File Map, Flow Diagram, Step-by-Step: ALWAYS required
211
+ - Framework Concepts Reference: MANDATORY if emphasis-frameworks specified; otherwise ONLY if external frameworks involved
212
+ - Related Documentation: ALWAYS required
213
+
214
+ ### What Does NOT Belong Here
215
+ - Terse bullet-point references (that's systems/)
216
+ - Structural pattern descriptions (that's patterns/)
217
+ - Procedural "how to add X" recipes (that's guides/)
218
+ - Architecture decision rationale (that's decisions/)
219
+ - Story numbers, sprint context, revision history
220
+ - Testing instructions or test code
221
+ - Frontend code in a backend walkthrough (or vice versa) — scope to ONE side
222
+ - Speculation about future changes — document what IS, not what might be
223
+ - Filler phrases: "Let's look at", "Now we'll examine", "As mentioned above", "It's worth noting"
224
+
225
+ </guidelines>
226
+
227
+ <evolution>
228
+
229
+ This is a LIVING document — updated when the flow it describes changes.
230
+
231
+ **Update triggers:**
232
+ - New step added to the flow
233
+ - Step removed from the flow
234
+ - Step logic changed significantly
235
+ - Framework/library upgraded, APIs changed
236
+ - Code snippets no longer match codebase
237
+ - New framework concept introduced
238
+
239
+ **NOT an update trigger:**
240
+ - Bug fixes that don't change flow structure
241
+ - Internal refactoring within a single step
242
+ - New feature using a DIFFERENT flow (create a new walkthrough)
243
+ - Style/formatting changes to the code
244
+
245
+ **Update rules:**
246
+ - UPDATE code snippets to match current codebase — stale snippets are worse than no docs
247
+ - ADD new steps when the flow gains a stage
248
+ - REMOVE steps that no longer exist
249
+ - UPDATE framework info boxes when APIs change
250
+ - UPDATE mermaid diagram to reflect current flow
251
+ - Document must always reflect CURRENT code state, not history
252
+
253
+ </evolution>
254
+
255
+ </walkthrough>
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: plan-backlog
3
+ description: Create or refine the product backlog through vision-aware questioning, wiki analysis, and guided epic/feature planning
4
+ argument-hint: "[optional: context='text, file, or URL with product description and suggested epics/features']"
5
+ disable-model-invocation: true
6
+ allowed-tools: Read, Bash, Write, Task, AskUserQuestion
7
+ model: opus
8
+ effort: high
9
+ ---
10
+
11
+ # Plan Backlog
12
+
13
+ Create or refine the product backlog through vision-aware questioning, wiki analysis, and guided epic/feature planning.
14
+
15
+ ## When to Use
16
+
17
+ - After `/ace:plan-product-vision` — once the vision exists, plan what to build
18
+ - After `/ace:map-system` — once architecture is mapped, leverage wiki context for richer backlog
19
+ - Anytime — to create or refresh the product backlog
20
+ - Product vision exists and you want to break it into epics and features
21
+ - Starting implementation planning and need a structured backlog
22
+ - Brownfield project where features need to be inventoried from existing code
23
+ - Updating the backlog after scope changes or new discoveries
24
+
25
+ ## Input
26
+
27
+ ### Optional
28
+
29
+ - **`context`** — Product description, suggested epics/features, PRD excerpts, or any context to seed the backlog planning process. Will be absorbed and refined through questioning, not used as-is.
30
+
31
+ ## Environment Context (preprocessed)
32
+
33
+ !`node "${CLAUDE_SKILL_DIR}/script.js" init "$ARGUMENTS" 2>/dev/null`
34
+
35
+ ## Supporting Resources
36
+
37
+ Read ALL of these before starting the workflow:
38
+
39
+ - **Workflow**: Read [workflow.xml](workflow.xml) — complete orchestration process with all steps
40
+ - **Product backlog template**: Read [product-backlog-template.xml](product-backlog-template.xml) — output format for the product backlog
41
+ - **Questioning guide**: Read `${CLAUDE_SKILL_DIR}/../../shared/utils/questioning.xml` — deep questioning techniques
42
+ - **UI formatting**: Read `${CLAUDE_SKILL_DIR}/../../shared/utils/ui-formatting.md` — ACE output formatting rules
43
+
44
+ ## Process
45
+
46
+ Use the `ace-product-owner` agent for requirements gathering, deep questioning, and backlog specification.
47
+
48
+ The Environment Context above contains the preprocessed INIT JSON — use it directly instead of running the init script manually. The workflow's step 1 setup can skip the init bash call since that data is already available.
49
+
50
+ Read all supporting resources listed above, then execute the workflow defined in [workflow.xml](workflow.xml) end-to-end. Preserve all workflow gates (validation, approvals, commits).
51
+
52
+ ## Artifacts
53
+
54
+ ```
55
+ .ace/artifacts/product/product-backlog.md
56
+ ```
57
+
58
+ ## Example Usage
59
+
60
+ ```
61
+ # Create a new product backlog
62
+ /ace:plan-backlog
63
+
64
+ # Create backlog with seed context
65
+ /ace:plan-backlog context="E-commerce platform with user accounts, product catalog, and checkout"
66
+
67
+ # Refine existing backlog after scope changes
68
+ /ace:plan-backlog
69
+ ```
70
+
71
+ ## Next Steps
72
+
73
+ - `/ace:plan-feature E1` — Break a feature into detailed stories
74
+ - `/ace:help` — Check project initialization status
75
+ - `/ace:plan-product-vision` — Update the product vision if priorities shifted