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.
- package/.claude-plugin/plugin.json +10 -0
- package/LICENSE +51 -51
- package/README.md +332 -324
- package/agents/ace-product-owner.md +1 -1
- package/agents/ace-research-synthesizer.md +228 -228
- package/agents/ace-wiki-mapper.md +449 -445
- package/bin/install.js +60 -64
- package/hooks/ace-check-update.js +70 -62
- package/hooks/ace-statusline.js +89 -89
- package/package.json +5 -4
- package/shared/lib/ace-core.js +308 -0
- package/shared/lib/ace-core.test.js +308 -0
- package/shared/lib/ace-github.js +753 -0
- package/shared/lib/ace-story.js +400 -0
- package/shared/lib/ace-story.test.js +250 -0
- package/{agile-context-engineering → shared}/utils/questioning.xml +110 -110
- package/{agile-context-engineering → shared}/utils/ui-formatting.md +299 -299
- package/skills/execute-story/SKILL.md +110 -0
- package/skills/execute-story/script.js +305 -0
- package/skills/execute-story/script.test.js +261 -0
- package/skills/execute-story/walkthrough-template.xml +255 -0
- package/{agile-context-engineering/workflows/execute-story.xml → skills/execute-story/workflow.xml} +1219 -1219
- package/skills/help/SKILL.md +69 -0
- package/skills/help/script.js +318 -0
- package/skills/help/script.test.js +183 -0
- package/{agile-context-engineering/workflows/help.xml → skills/help/workflow.xml} +540 -540
- package/skills/init-coding-standards/SKILL.md +72 -0
- package/skills/init-coding-standards/script.js +59 -0
- package/skills/init-coding-standards/script.test.js +70 -0
- package/{agile-context-engineering/workflows/init-coding-standards.xml → skills/init-coding-standards/workflow.xml} +381 -386
- package/skills/map-cross-cutting/SKILL.md +89 -0
- package/{agile-context-engineering/templates/wiki → skills/map-cross-cutting}/system-cross-cutting.xml +197 -197
- package/skills/map-cross-cutting/workflow.xml +330 -0
- package/skills/map-guide/SKILL.md +89 -0
- package/{agile-context-engineering/templates/wiki → skills/map-guide}/guide.xml +137 -137
- package/skills/map-guide/workflow.xml +320 -0
- package/skills/map-pattern/SKILL.md +89 -0
- package/{agile-context-engineering/templates/wiki → skills/map-pattern}/pattern.xml +159 -159
- package/skills/map-pattern/workflow.xml +331 -0
- package/skills/map-story/SKILL.md +127 -0
- package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/decizions.xml +115 -115
- package/skills/map-story/templates/guide.xml +137 -0
- package/skills/map-story/templates/pattern.xml +159 -0
- package/skills/map-story/templates/system-cross-cutting.xml +197 -0
- package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/system.xml +381 -381
- package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/walkthrough.xml +255 -255
- package/{agile-context-engineering/workflows/map-story.xml → skills/map-story/workflow.xml} +1046 -1046
- package/skills/map-subsystem/SKILL.md +111 -0
- package/skills/map-subsystem/script.js +60 -0
- package/skills/map-subsystem/script.test.js +68 -0
- package/skills/map-subsystem/templates/decizions.xml +115 -0
- package/skills/map-subsystem/templates/guide.xml +137 -0
- package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/module-discovery.xml +174 -174
- package/skills/map-subsystem/templates/pattern.xml +159 -0
- package/skills/map-subsystem/templates/system-cross-cutting.xml +197 -0
- package/skills/map-subsystem/templates/system.xml +381 -0
- package/skills/map-subsystem/templates/walkthrough.xml +255 -0
- package/{agile-context-engineering/workflows/map-subsystem.xml → skills/map-subsystem/workflow.xml} +15 -20
- package/skills/map-sys-doc/SKILL.md +90 -0
- package/skills/map-sys-doc/system.xml +381 -0
- package/skills/map-sys-doc/workflow.xml +336 -0
- package/skills/map-system/SKILL.md +85 -0
- package/skills/map-system/script.js +84 -0
- package/skills/map-system/script.test.js +73 -0
- package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-architecture.xml +254 -254
- package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/wiki-readme.xml +296 -296
- package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml} +11 -16
- package/skills/map-walkthrough/SKILL.md +92 -0
- package/skills/map-walkthrough/walkthrough.xml +255 -0
- package/skills/plan-backlog/SKILL.md +75 -0
- package/{agile-context-engineering/templates/product/product-backlog.xml → skills/plan-backlog/product-backlog-template.xml} +231 -231
- package/skills/plan-backlog/script.js +136 -0
- package/skills/plan-backlog/script.test.js +83 -0
- package/{agile-context-engineering/workflows/plan-backlog.xml → skills/plan-backlog/workflow.xml} +13 -21
- package/skills/plan-feature/SKILL.md +76 -0
- package/skills/plan-feature/script.js +148 -0
- package/skills/plan-feature/script.test.js +80 -0
- package/{agile-context-engineering/workflows/plan-feature.xml → skills/plan-feature/workflow.xml} +1487 -1495
- package/skills/plan-product-vision/SKILL.md +75 -0
- package/skills/plan-product-vision/script.js +60 -0
- package/skills/plan-product-vision/script.test.js +69 -0
- package/{agile-context-engineering/workflows/plan-product-vision.xml → skills/plan-product-vision/workflow.xml} +4 -9
- package/skills/plan-story/SKILL.md +116 -0
- package/skills/plan-story/script.js +326 -0
- package/skills/plan-story/script.test.js +240 -0
- package/skills/plan-story/story-template.xml +451 -0
- package/{agile-context-engineering/workflows/plan-story.xml → skills/plan-story/workflow.xml} +1285 -944
- package/skills/research-external-solution/SKILL.md +107 -0
- package/skills/research-external-solution/script.js +238 -0
- package/skills/research-external-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-external-solution.xml → skills/research-external-solution/workflow.xml} +4 -6
- package/skills/research-integration-solution/SKILL.md +98 -0
- package/skills/research-integration-solution/script.js +231 -0
- package/skills/research-integration-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-integration-solution.xml → skills/research-integration-solution/workflow.xml} +3 -5
- package/skills/research-story-wiki/SKILL.md +92 -0
- package/skills/research-story-wiki/script.js +231 -0
- package/skills/research-story-wiki/script.test.js +138 -0
- package/{agile-context-engineering/workflows/research-story-wiki.xml → skills/research-story-wiki/workflow.xml} +3 -5
- package/skills/research-technical-solution/SKILL.md +103 -0
- package/skills/research-technical-solution/script.js +231 -0
- package/skills/research-technical-solution/script.test.js +134 -0
- package/{agile-context-engineering/workflows/research-technical-solution.xml → skills/research-technical-solution/workflow.xml} +3 -5
- package/skills/review-story/SKILL.md +100 -0
- package/skills/review-story/script.js +257 -0
- package/skills/review-story/script.test.js +169 -0
- package/skills/review-story/story-template.xml +451 -0
- package/{agile-context-engineering/workflows/review-story.xml → skills/review-story/workflow.xml} +279 -281
- package/skills/update/SKILL.md +53 -0
- package/{agile-context-engineering/workflows/update.xml → skills/update/workflow.xml} +12 -13
- package/agile-context-engineering/src/ace-tools.js +0 -2881
- package/agile-context-engineering/src/ace-tools.test.js +0 -1089
- package/agile-context-engineering/templates/_command.md +0 -54
- package/agile-context-engineering/templates/_workflow.xml +0 -17
- package/agile-context-engineering/templates/config.json +0 -0
- package/agile-context-engineering/templates/product/integration-solution.xml +0 -0
- package/commands/ace/execute-story.md +0 -138
- package/commands/ace/help.md +0 -93
- package/commands/ace/init-coding-standards.md +0 -83
- package/commands/ace/map-story.md +0 -165
- package/commands/ace/map-subsystem.md +0 -140
- package/commands/ace/map-system.md +0 -92
- package/commands/ace/map-walkthrough.md +0 -127
- package/commands/ace/plan-backlog.md +0 -83
- package/commands/ace/plan-feature.md +0 -89
- package/commands/ace/plan-product-vision.md +0 -81
- package/commands/ace/plan-story.md +0 -159
- package/commands/ace/research-external-solution.md +0 -138
- package/commands/ace/research-integration-solution.md +0 -135
- package/commands/ace/research-story-wiki.md +0 -116
- package/commands/ace/research-technical-solution.md +0 -147
- package/commands/ace/review-story.md +0 -109
- package/commands/ace/update.md +0 -56
- /package/{agile-context-engineering/templates/product/story.xml → skills/execute-story/story-template.xml} +0 -0
- /package/{agile-context-engineering/templates/wiki/coding-standards.xml → skills/init-coding-standards/coding-standards-template.xml} +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/tech-debt-index.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-architecture.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-structure.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-structure.xml +0 -0
- /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/testing-framework.xml +0 -0
- /package/{agile-context-engineering/workflows/map-walkthrough.xml → skills/map-walkthrough/workflow.xml} +0 -0
- /package/{agile-context-engineering/templates/product/feature.xml → skills/plan-feature/feature-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/product-vision.xml → skills/plan-product-vision/product-vision-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/external-solution.xml → skills/research-external-solution/external-solution-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/story-integration-solution.xml → skills/research-integration-solution/integration-solution-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/story-wiki.xml → skills/research-story-wiki/story-wiki-template.xml} +0 -0
- /package/{agile-context-engineering/templates/product/story-technical-solution.xml → skills/research-technical-solution/technical-solution-template.xml} +0 -0
package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml}
RENAMED
|
@@ -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
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|