agile-context-engineering 0.2.2 → 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 (146) hide show
  1. package/.claude-plugin/plugin.json +10 -0
  2. package/CHANGELOG.md +82 -0
  3. package/README.md +27 -18
  4. package/agents/ace-product-owner.md +1 -1
  5. package/agents/ace-technical-application-architect.md +28 -0
  6. package/agents/ace-wiki-mapper.md +144 -29
  7. package/bin/install.js +67 -63
  8. package/hooks/ace-check-update.js +17 -9
  9. package/package.json +7 -5
  10. package/shared/lib/ace-core.js +308 -0
  11. package/shared/lib/ace-core.test.js +308 -0
  12. package/shared/lib/ace-github.js +753 -0
  13. package/shared/lib/ace-story.js +400 -0
  14. package/shared/lib/ace-story.test.js +250 -0
  15. package/{agile-context-engineering → shared}/utils/ui-formatting.md +299 -299
  16. package/skills/execute-story/SKILL.md +110 -0
  17. package/skills/execute-story/script.js +305 -0
  18. package/skills/execute-story/script.test.js +261 -0
  19. package/skills/execute-story/walkthrough-template.xml +255 -0
  20. package/{agile-context-engineering/workflows/execute-story.xml → skills/execute-story/workflow.xml} +83 -9
  21. package/skills/help/SKILL.md +69 -0
  22. package/skills/help/script.js +318 -0
  23. package/skills/help/script.test.js +183 -0
  24. package/{agile-context-engineering/workflows/help.xml → skills/help/workflow.xml} +8 -8
  25. package/skills/init-coding-standards/SKILL.md +72 -0
  26. package/{agile-context-engineering/templates/wiki/coding-standards.xml → skills/init-coding-standards/coding-standards-template.xml} +38 -0
  27. package/skills/init-coding-standards/script.js +59 -0
  28. package/skills/init-coding-standards/script.test.js +70 -0
  29. package/{agile-context-engineering/workflows/init-coding-standards.xml → skills/init-coding-standards/workflow.xml} +4 -9
  30. package/skills/map-cross-cutting/SKILL.md +89 -0
  31. package/skills/map-cross-cutting/workflow.xml +330 -0
  32. package/skills/map-guide/SKILL.md +89 -0
  33. package/skills/map-guide/workflow.xml +320 -0
  34. package/skills/map-pattern/SKILL.md +89 -0
  35. package/skills/map-pattern/workflow.xml +331 -0
  36. package/skills/map-story/SKILL.md +127 -0
  37. package/skills/map-story/templates/guide.xml +137 -0
  38. package/skills/map-story/templates/pattern.xml +159 -0
  39. package/skills/map-story/templates/system-cross-cutting.xml +197 -0
  40. package/skills/map-story/templates/walkthrough.xml +255 -0
  41. package/{agile-context-engineering/workflows/map-story.xml → skills/map-story/workflow.xml} +258 -9
  42. package/skills/map-subsystem/SKILL.md +111 -0
  43. package/skills/map-subsystem/script.js +60 -0
  44. package/skills/map-subsystem/script.test.js +68 -0
  45. package/skills/map-subsystem/templates/decizions.xml +115 -0
  46. package/skills/map-subsystem/templates/guide.xml +137 -0
  47. package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/module-discovery.xml +3 -3
  48. package/skills/map-subsystem/templates/pattern.xml +159 -0
  49. package/skills/map-subsystem/templates/system-cross-cutting.xml +197 -0
  50. package/skills/map-subsystem/templates/system.xml +381 -0
  51. package/skills/map-subsystem/templates/walkthrough.xml +255 -0
  52. package/{agile-context-engineering/workflows/map-subsystem.xml → skills/map-subsystem/workflow.xml} +17 -21
  53. package/skills/map-sys-doc/SKILL.md +90 -0
  54. package/skills/map-sys-doc/system.xml +381 -0
  55. package/skills/map-sys-doc/workflow.xml +336 -0
  56. package/skills/map-system/SKILL.md +85 -0
  57. package/skills/map-system/script.js +84 -0
  58. package/skills/map-system/script.test.js +73 -0
  59. package/skills/map-system/templates/wiki-readme.xml +297 -0
  60. package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml} +11 -16
  61. package/skills/map-walkthrough/SKILL.md +92 -0
  62. package/skills/map-walkthrough/walkthrough.xml +255 -0
  63. package/skills/map-walkthrough/workflow.xml +457 -0
  64. package/skills/plan-backlog/SKILL.md +75 -0
  65. package/skills/plan-backlog/script.js +136 -0
  66. package/skills/plan-backlog/script.test.js +83 -0
  67. package/{agile-context-engineering/workflows/plan-backlog.xml → skills/plan-backlog/workflow.xml} +13 -21
  68. package/skills/plan-feature/SKILL.md +76 -0
  69. package/skills/plan-feature/script.js +148 -0
  70. package/skills/plan-feature/script.test.js +80 -0
  71. package/{agile-context-engineering/workflows/plan-feature.xml → skills/plan-feature/workflow.xml} +21 -29
  72. package/skills/plan-product-vision/SKILL.md +75 -0
  73. package/skills/plan-product-vision/script.js +60 -0
  74. package/skills/plan-product-vision/script.test.js +69 -0
  75. package/{agile-context-engineering/workflows/plan-product-vision.xml → skills/plan-product-vision/workflow.xml} +4 -9
  76. package/skills/plan-story/SKILL.md +116 -0
  77. package/skills/plan-story/script.js +326 -0
  78. package/skills/plan-story/script.test.js +240 -0
  79. package/skills/plan-story/story-template.xml +451 -0
  80. package/{agile-context-engineering/workflows/plan-story.xml → skills/plan-story/workflow.xml} +1285 -909
  81. package/skills/research-external-solution/SKILL.md +107 -0
  82. package/skills/research-external-solution/script.js +238 -0
  83. package/skills/research-external-solution/script.test.js +134 -0
  84. package/{agile-context-engineering/workflows/research-external-solution.xml → skills/research-external-solution/workflow.xml} +4 -6
  85. package/skills/research-integration-solution/SKILL.md +98 -0
  86. package/{agile-context-engineering/templates/product/story-integration-solution.xml → skills/research-integration-solution/integration-solution-template.xml} +1 -0
  87. package/skills/research-integration-solution/script.js +231 -0
  88. package/skills/research-integration-solution/script.test.js +134 -0
  89. package/{agile-context-engineering/workflows/research-integration-solution.xml → skills/research-integration-solution/workflow.xml} +4 -5
  90. package/skills/research-story-wiki/SKILL.md +92 -0
  91. package/skills/research-story-wiki/script.js +231 -0
  92. package/skills/research-story-wiki/script.test.js +138 -0
  93. package/{agile-context-engineering/templates/product/story-wiki.xml → skills/research-story-wiki/story-wiki-template.xml} +4 -0
  94. package/{agile-context-engineering/workflows/research-story-wiki.xml → skills/research-story-wiki/workflow.xml} +5 -6
  95. package/skills/research-technical-solution/SKILL.md +103 -0
  96. package/skills/research-technical-solution/script.js +231 -0
  97. package/skills/research-technical-solution/script.test.js +134 -0
  98. package/{agile-context-engineering/workflows/research-technical-solution.xml → skills/research-technical-solution/workflow.xml} +4 -5
  99. package/skills/review-story/SKILL.md +100 -0
  100. package/skills/review-story/script.js +257 -0
  101. package/skills/review-story/script.test.js +169 -0
  102. package/skills/review-story/story-template.xml +451 -0
  103. package/{agile-context-engineering/workflows/review-story.xml → skills/review-story/workflow.xml} +1 -3
  104. package/skills/update/SKILL.md +53 -0
  105. package/{agile-context-engineering/workflows/update.xml → skills/update/workflow.xml} +237 -207
  106. package/agile-context-engineering/src/ace-tools.js +0 -2881
  107. package/agile-context-engineering/src/ace-tools.test.js +0 -1089
  108. package/agile-context-engineering/templates/_command.md +0 -54
  109. package/agile-context-engineering/templates/_workflow.xml +0 -17
  110. package/agile-context-engineering/templates/config.json +0 -0
  111. package/agile-context-engineering/templates/product/integration-solution.xml +0 -0
  112. package/agile-context-engineering/templates/wiki/wiki-readme.xml +0 -276
  113. package/commands/ace/execute-story.md +0 -137
  114. package/commands/ace/help.md +0 -93
  115. package/commands/ace/init-coding-standards.md +0 -83
  116. package/commands/ace/map-story.md +0 -156
  117. package/commands/ace/map-subsystem.md +0 -138
  118. package/commands/ace/map-system.md +0 -92
  119. package/commands/ace/plan-backlog.md +0 -83
  120. package/commands/ace/plan-feature.md +0 -89
  121. package/commands/ace/plan-product-vision.md +0 -81
  122. package/commands/ace/plan-story.md +0 -145
  123. package/commands/ace/research-external-solution.md +0 -138
  124. package/commands/ace/research-integration-solution.md +0 -135
  125. package/commands/ace/research-story-wiki.md +0 -116
  126. package/commands/ace/research-technical-solution.md +0 -147
  127. package/commands/ace/review-story.md +0 -109
  128. package/commands/ace/update.md +0 -54
  129. /package/{agile-context-engineering → shared}/utils/questioning.xml +0 -0
  130. /package/{agile-context-engineering/templates/product/story.xml → skills/execute-story/story-template.xml} +0 -0
  131. /package/{agile-context-engineering/templates/wiki → skills/map-cross-cutting}/system-cross-cutting.xml +0 -0
  132. /package/{agile-context-engineering/templates/wiki → skills/map-guide}/guide.xml +0 -0
  133. /package/{agile-context-engineering/templates/wiki → skills/map-pattern}/pattern.xml +0 -0
  134. /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/decizions.xml +0 -0
  135. /package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/system.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-architecture.xml +0 -0
  140. /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-structure.xml +0 -0
  141. /package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/testing-framework.xml +0 -0
  142. /package/{agile-context-engineering/templates/product/product-backlog.xml → skills/plan-backlog/product-backlog-template.xml} +0 -0
  143. /package/{agile-context-engineering/templates/product/feature.xml → skills/plan-feature/feature-template.xml} +0 -0
  144. /package/{agile-context-engineering/templates/product/product-vision.xml → skills/plan-product-vision/product-vision-template.xml} +0 -0
  145. /package/{agile-context-engineering/templates/product/external-solution.xml → skills/research-external-solution/external-solution-template.xml} +0 -0
  146. /package/{agile-context-engineering/templates/product/story-technical-solution.xml → skills/research-technical-solution/technical-solution-template.xml} +0 -0
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "ace",
3
+ "description": "Agile Context Engineering -- spec-driven development for AI coding assistants",
4
+ "version": "0.3.0",
5
+ "author": {
6
+ "name": "Piticas Razvan"
7
+ },
8
+ "repository": "https://github.com/Quantarcane/ACE",
9
+ "license": "MIT"
10
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,82 @@
1
+ # Changelog
2
+
3
+ All notable changes to ACE will be documented in this file.
4
+
5
+ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## [0.3.0] - 2026-03-20
10
+
11
+ ### Added
12
+ - CHANGELOG.md with full release history
13
+ - GitHub Actions workflow for automated releases and npm publishing on version tags
14
+ - Changelog display during `/ace:update` — fetches and shows what changed before updating
15
+ - CICD.md documenting the complete release pipeline
16
+
17
+ ## [0.2.2] - 2026-03-14
18
+
19
+ ### Added
20
+ - `/ace:update` command with automatic update detection and installation
21
+ - Statusline hooks (`ace-check-update.js`, `ace-statusline.js`) for background update checking and context window display
22
+ - Wiki README template for subsystem documentation
23
+ - Plan mode exit warning for solo execution
24
+
25
+ ### Fixed
26
+ - VERSION file now written correctly during installation
27
+
28
+ ### Changed
29
+ - Renamed OpenCode to Crush across all commands, agents, and installer
30
+
31
+ ## [0.2.1] - 2026-03-10
32
+
33
+ ### Added
34
+ - Agent team tear down guards to prevent orphaned subagents
35
+ - `lib-docs` parameter to `/ace:plan-story` for external library documentation
36
+ - New subsystem detection in `/ace:map-story`
37
+ - Defensive programming instructions in coding standards
38
+
39
+ ### Fixed
40
+ - Execute-story now enforces all steps in sequence
41
+ - GitHub issue status updates during story execution
42
+
43
+ ### Changed
44
+ - Feature planning adjusted to break down into vertical stories
45
+
46
+ ## [0.2.0] - 2026-03-07
47
+
48
+ ### Added
49
+ - `/ace:plan-story` — deep questioning to create crystal-clear acceptance criteria with zero assumptions, then dispatches wiki research, external analysis, integration analysis, and technical solution design
50
+ - `/ace:execute-story` — loads AC + technical solution, creates execution plan, implements with solo or agent teams, runs code review, updates state, and triggers wiki mapping
51
+ - Agent teams support for parallel execution of independent tasks
52
+
53
+ ## [0.1.0] - 2026-03-05
54
+
55
+ ### Added
56
+ - `/ace:plan-backlog` — create or refine product backlog through vision-aware questioning, wiki analysis, and guided epic/feature planning
57
+ - `/ace:plan-feature` — plan features through backlog-aware questioning, story decomposition, and guided feature specification
58
+
59
+ ## [0.0.2] - 2026-03-02
60
+
61
+ ### Added
62
+ - `/ace:map-story` — update living knowledge docs after story implementation (git-based) or for existing undocumented code (file-based)
63
+ - `/ace:map-subsystem` — map a subsystem's structure, architecture, and knowledge docs
64
+ - `/ace:map-system` — map system-wide codebase structure, architecture, and testing framework
65
+
66
+ ## [0.0.1] - 2026-02-23
67
+
68
+ ### Added
69
+ - Initial ACE framework setup
70
+ - `/ace:init-coding-standards` — generate tailored coding standards through codebase detection and user interview
71
+ - `/ace:plan-product-vision` — create or update product vision through architecture-aware questioning
72
+ - Installer (`bin/install.js`) with support for Claude Code and Crush runtimes
73
+ - Local and global installation modes
74
+
75
+ [Unreleased]: https://github.com/Quantarcane/ACE/compare/v0.3.0...HEAD
76
+ [0.3.0]: https://github.com/Quantarcane/ACE/releases/tag/v0.3.0
77
+ [0.2.2]: https://github.com/Quantarcane/ACE/releases/tag/v0.2.2
78
+ [0.2.1]: https://github.com/Quantarcane/ACE/releases/tag/v0.2.1
79
+ [0.2.0]: https://github.com/Quantarcane/ACE/releases/tag/v0.2.0
80
+ [0.1.0]: https://github.com/Quantarcane/ACE/releases/tag/v0.1.0
81
+ [0.0.2]: https://github.com/Quantarcane/ACE/releases/tag/v0.0.2
82
+ [0.0.1]: https://github.com/Quantarcane/ACE/releases/tag/v0.0.1
package/README.md CHANGED
@@ -30,7 +30,7 @@ You start with a vision, break it into a backlog of epics and features, decompos
30
30
  - **Multi-agent** — 8 specialized agents (Product Owner, Architect, Code Reviewer, Wiki Mapper, etc.) work in parallel. For larger stories, ACE leverages Claude Code's [Agent Teams](https://code.claude.com/docs/en/agent-teams) — unlike regular subagents that silently do work and report back, Agent Teams are fully independent Claude Code sessions that share a task list, message each other directly, coordinate on shared interfaces, and self-organize. ACE decomposes the technical solution into independent work streams, assigns each to a teammate with owned files, and adds a dedicated reviewer teammate that monitors code quality in real-time. The lead coordinates, approves each teammate's plan before they start implementing, and integrates the results
31
31
  - **GitHub Project management** — On top of generating local artifacts, ACE can optionally sync with GitHub — creating issues for epics, features, and stories, tracking status on project boards, and updating labels as work progresses through the pipeline
32
32
  - **Living wiki** — ACE maps all your code into a project wiki and updates it after every story, so the AI always has architectural overview context when planning new work
33
- - **Purpose-built CLI tooling** — A dedicated CLI (`ace-tools`) offloads infrastructure work outside the AI's context window — environment detection, markdown parsing, path computation, model resolution, state updates, and GitHub GraphQL operations all return structured JSON in a single call, saving tokens and avoiding shell escaping issues
33
+ - **Purpose-built CLI tooling** — Each skill has a dedicated `script.js` that offloads infrastructure work outside the AI's context window — environment detection, markdown parsing, path computation, state updates, and GitHub GraphQL operations all return structured JSON in a single call, saving tokens and avoiding shell escaping issues
34
34
 
35
35
  ---
36
36
 
@@ -38,7 +38,7 @@ You start with a vision, break it into a backlog of epics and features, decompos
38
38
 
39
39
  ### Getting Started — `/ace:help`
40
40
 
41
- Run `/ace:help` at any point to see what's set up and what to do next. It checks for six foundation documents: **product vision**, **system architecture**, **system structure**, **coding standards**, **testing framework**, and **settings**. These documents are generated by the foundation commands (`plan-product-vision`, `map-system`, `init-coding-standards`) and are used by all subsequent planning and execution commands to stay aligned with your project's architecture, conventions, and goals.
41
+ Run `/ace:help` at any point to see what's set up and what to do next. It checks for six foundation documents: **product vision**, **system architecture**, **system structure**, **coding standards**, **testing framework**, and **settings**. These documents are generated by the foundation skills (`plan-product-vision`, `map-system`, `init-coding-standards`) and are used by all subsequent planning and execution skills to stay aligned with your project's architecture, conventions, and goals.
42
42
 
43
43
  ```mermaid
44
44
  flowchart LR
@@ -126,7 +126,7 @@ npx agile-context-engineering --all --global # All runtimes, global install
126
126
 
127
127
  ### Updating
128
128
 
129
- When a new version is available, your status bar will show a yellow `/ace:update` indicator. Run the `/ace:update` command inside Claude Code to update — it detects your install type (global/local, Claude/Crush) automatically and runs the correct installer.
129
+ When a new version is available, your status bar will show a yellow `/ace:update` indicator. Run `/ace:update` inside Claude Code to update — it detects your install type (global/local, Claude/Crush) automatically and runs the correct installer.
130
130
 
131
131
  ### Prerequisites
132
132
 
@@ -140,7 +140,7 @@ When a new version is available, your status bar will show a yellow `/ace:update
140
140
 
141
141
  ## Quick Start
142
142
 
143
- Run `/ace:help` first. It will show you which foundation documents are missing and suggest the exact command to generate each one. Follow its suggestions until the dashboard shows everything complete.
143
+ Run `/ace:help` first. It will show you which foundation documents are missing and suggest what to run next. Follow its suggestions until the dashboard shows everything complete.
144
144
 
145
145
  Once the dashboard is fully green, you're ready to build:
146
146
 
@@ -181,16 +181,16 @@ ACE orchestrates this by decomposing the technical solution into independent wor
181
181
  | **Project Researcher** | Researches domain ecosystem to inform planning phases |
182
182
  | **Research Synthesizer** | Synthesizes outputs from parallel research agents into coherent summaries |
183
183
 
184
- ### ACE CLI Tooling (`ace-tools`)
184
+ ### Per-Skill CLI Tooling
185
185
 
186
- The AI doesn't do everything itself. ACE offloads infrastructure-heavy operations to a purpose-built Node.js CLI, keeping workflows fast and token-efficient:
186
+ The AI doesn't do everything itself. Each skill has a dedicated `script.js` that offloads infrastructure-heavy operations to Node.js, keeping workflows fast and token-efficient. Shared logic lives in three libraries (`ace-core`, `ace-story`, `ace-github`):
187
187
 
188
- - **Compound init commands** — Each workflow starts with a single `init` call that gathers 15-20 environment facts: brownfield detection, model resolution, story parsing, metadata extraction, path computation, and file existence checks all returned as structured JSON
189
- - **Atomic state updates** — One command updates the story file, feature file, and product backlog together, with cascading logic that auto-promotes feature status when all stories complete
188
+ - **Preprocessed init** — Each skill automatically runs its init before Claude sees the prompt, embedding 15-20 environment facts (brownfield detection, model resolution, story parsing, metadata extraction, path computation, file existence checks) as structured JSON directly into the context
189
+ - **Atomic state updates** — One call updates the story file, feature file, and product backlog together, with cascading logic that auto-promotes feature status when all stories complete
190
190
  - **GitHub operations** — Issue creation, type assignment, project board placement, field updates, and parent linking happen in one call. Markdown bodies use `--body-file` to avoid shell escaping issues with code blocks and backticks
191
- - **Bulk sync** — Pushes local story/feature content to GitHub issues and syncs project board status in a single command
191
+ - **Bulk sync** — Pushes local story/feature content to GitHub issues and syncs project board status in a single call
192
192
  - **Markdown parsing** — Story headers, metadata fields, acceptance criteria, requirements sections, and wiki references are extracted and categorized outside the context window
193
- - **Environment detection** — Brownfield detection walks the directory tree checking 10+ code file extensions and package files, reused across every workflow
193
+ - **Environment detection** — Brownfield detection walks the directory tree checking 10+ code file extensions and package files, reused across every skill
194
194
 
195
195
  ### GitHub Integration
196
196
 
@@ -248,21 +248,24 @@ Every completed story triggers a wiki update. The wiki is the AI's institutional
248
248
  | **patterns/** | Reusable structural templates — structure diagrams, current implementations, how to apply | Follows existing patterns instead of inventing new ones |
249
249
  | **cross-cutting/** | Shared infrastructure — DI containers, event systems, factories, registrations | Knows exactly where to register new components |
250
250
  | **guides/** | Step-by-step recipes for common tasks (e.g., "add a new API endpoint") | Follows proven procedures instead of guessing |
251
+ | **walkthroughs/** | Deep tutorial-style flow explanations with actual code snippets | Understands complex multi-class flows before modifying them |
251
252
  | **decisions/** | Architecture Decision Records — why choices were made, alternatives rejected | Respects past decisions, doesn't re-litigate them |
252
253
 
253
254
  When planning a new story, the wiki research pass scans all relevant docs and attaches them to the story. When executing, the agent loads those references as context. After implementation, `map-story` updates the wiki with what changed — so the next story benefits from everything learned.
254
255
 
255
- ## Commands
256
+ ## Skills
257
+
258
+ ACE is built as a Claude Code plugin with 21 specialized skills, each with its own workflow, templates, and CLI tooling.
256
259
 
257
260
  ### Getting Started
258
261
 
259
- | Command | Description |
262
+ | Skill | Description |
260
263
  |---|---|
261
264
  | `/ace:help` | Check project initialization status and suggest next steps |
262
265
 
263
266
  ### Foundation (one-time setup)
264
267
 
265
- | Command | Description |
268
+ | Skill | Description |
266
269
  |---|---|
267
270
  | `/ace:plan-product-vision` | Create or update the product vision through architecture-aware questioning |
268
271
  | `/ace:init-coding-standards` | Generate a tailored `coding-standards.md` through codebase detection and user interview |
@@ -271,14 +274,14 @@ When planning a new story, the wiki research pass scans all relevant docs and at
271
274
 
272
275
  ### Planning
273
276
 
274
- | Command | Description |
277
+ | Skill | Description |
275
278
  |---|---|
276
279
  | `/ace:plan-backlog` | Create or refine the product backlog through vision-aware questioning and guided epic/feature planning |
277
280
  | `/ace:plan-feature` | Plan a feature through backlog-aware questioning, story decomposition, and guided specification |
278
281
 
279
282
  ### Story Refinement
280
283
 
281
- | Command | Description |
284
+ | Skill | Description |
282
285
  |---|---|
283
286
  | `/ace:plan-story` | Plan a story with crystal-clear acceptance criteria, then auto-dispatch 5 research passes |
284
287
 
@@ -292,7 +295,7 @@ When planning a new story, the wiki research pass scans all relevant docs and at
292
295
 
293
296
  Each research pass can also be run standalone:
294
297
 
295
- | Command | Description |
298
+ | Skill | Description |
296
299
  |---|---|
297
300
  | `/ace:research-story-wiki` | Research and curate wiki references relevant to a story |
298
301
  | `/ace:research-external-solution` | Code-level analysis of similar implementations in external repositories |
@@ -301,16 +304,22 @@ Each research pass can also be run standalone:
301
304
 
302
305
  ### Execution & Review
303
306
 
304
- | Command | Description |
307
+ | Skill | Description |
305
308
  |---|---|
306
309
  | `/ace:execute-story` | Execute a fully-planned story — implements via solo or agent teams, runs code review, updates state, triggers wiki mapping |
307
310
  | `/ace:review-story` | Standalone code review — artifact verification, anti-pattern detection, coding standards enforcement, tech debt discovery |
308
311
 
309
312
  ### Documentation
310
313
 
311
- | Command | Description |
314
+ | Skill | Description |
312
315
  |---|---|
313
316
  | `/ace:map-story` | Update living knowledge docs after story implementation or for existing undocumented code |
317
+ | `/ace:map-walkthrough` | Create deep tutorial-style flow walkthroughs |
318
+ | `/ace:map-sys-doc` | Create or update a system document for a domain system |
319
+ | `/ace:map-pattern` | Create or update a pattern document for reusable implementation patterns |
320
+ | `/ace:map-cross-cutting` | Create or update a cross-cutting concern document |
321
+ | `/ace:map-guide` | Create or update a step-by-step guide for common tasks |
322
+ | `/ace:update` | Update ACE to the latest version with changelog display |
314
323
 
315
324
  ---
316
325
 
@@ -19,7 +19,7 @@ You are the bridge between user intent and actionable development work. You gath
19
19
  - Local markdown files in `.docs/` (always the source of truth)
20
20
  - GitHub issues when configured (`.ace/config.json` → `github.enabled: true`)
21
21
 
22
- **Templates live in:** `~/.claude/agile-context-engineering/templates/` reference them, don't reinvent them.
22
+ **Templates:** Each skill provides its templates in the Supporting Resources section of the task prompt. Read templates from there, don't hardcode paths.
23
23
  </role>
24
24
 
25
25
  <competencies>
@@ -79,6 +79,34 @@ Before ANY refactoring:
79
79
  - Clean up ALL unused code immediately
80
80
  - Dead code in a big complex application misleads Human Programmers and AI agents alike, into basing new implementations on unused obsolete code! It is extremely important you never leave dead code behind!
81
81
 
82
+ ### 6. [CRITICAL] DEFENSIVE PROGRAMMING — ZERO TOLERANCE FOR PERMISSIVE CODE
83
+
84
+ **WE USE DEFENSIVE PROGRAMMING + FAIL-FAST. PERMISSIVE PROGRAMMING IS BANNED.**
85
+
86
+ Permissive programming ("be liberal in what you accept") has caused catastrophic bugs in this codebase. It hides errors, delays failures, and makes debugging impossible. Every parameter must be validated. Every error must be surfaced. No exceptions.
87
+
88
+ #### MANDATORY — Do This:
89
+ - **Validate EVERY input at the boundary** — check types, ranges, formats, required fields BEFORE processing
90
+ - **Fail fast and loud** — if something is wrong, return an error immediately with a clear message explaining WHAT is wrong and WHY
91
+ - **Read the function you're calling** — check its constructor/signature to know EXACTLY what parameters it requires before writing the caller
92
+ - **Required means required** — if a function needs a value, the caller MUST provide it. No nullable wrappers. No default fallbacks that mask missing data
93
+ - **Return errors, not defaults** — if a value is missing or invalid, return an error string/throw, do NOT return `""`, `0`, `null`, `[]`, or any placeholder
94
+ - **Validate on BOTH client and server** — server validates before processing/pushing, client validates as a redundant safety net. Both layers reject garbage
95
+ - **Surface errors visibly** — errors must reach whoever can fix them (the LLM, the user, the developer). Log them, display them, return them. Never swallow them
96
+
97
+ #### ABSOLUTELY FORBIDDEN — Never Do This:
98
+ - `string? param = null` when the value is actually required — use `string param` and validate
99
+ - `return ""` or `return null` or `return []` when an operation fails — return an error with context
100
+ - `.optional()` or `.nullable()` on schema fields that the consuming function REQUIRES
101
+ - Fallback defaults that hide missing data (e.g., `value ?? defaultValue` to mask a null that should never be null)
102
+ - `try/catch` that swallows exceptions and returns empty objects
103
+ - Silently stripping, transforming, or cleaning invalid data to make it pass validation
104
+ - Writing a caller without reading the callee's actual parameter signature first
105
+ - Using Postel's Law ("be liberal in what you accept") as justification for accepting garbage
106
+
107
+ #### The Principle:
108
+ **Garbage in → ERROR out. Never garbage in → silence.**
109
+
82
110
  </coding_standards>
83
111
 
84
112
  <principles>
@@ -6,31 +6,49 @@ color: cyan
6
6
  ---
7
7
 
8
8
  <role>
9
- You are the ACE wiki mapper. You produce and maintain the engineering wiki — the reference layer that AI agents consume when implementing features, stories, and bug fixes.
9
+ You are the ACE wiki mapper. You produce and maintain the engineering wiki — the reference layer that AI agents and humans consume when implementing features, stories, and bug fixes.
10
10
  You also specialize in wiki curation for implementing new features and stories.
11
11
 
12
12
  You are spawned by:
13
13
  - `/ace:init-wiki` — initial wiki creation (system-wide + subsystem docs)
14
14
  - `/ace:map-system` — create/refresh system-wide documents
15
15
  - `/ace:map-subsystem` — create/refresh a single subsystem's documents
16
- - `/ace:map-implementation` — update wiki after a story is implemented
16
+ - `/ace:map-story` — update wiki after a story is implemented
17
+ - `/ace:map-walkthrough` — create deep tutorial-style flow walkthroughs
18
+ - `/ace:map-sys-doc` — create/update a system document (systems/)
19
+ - `/ace:map-guide` — create/update a step-by-step guide (guides/)
20
+ - `/ace:map-pattern` — create/update a pattern document (patterns/)
21
+ - `/ace:map-cross-cutting` — create/update a cross-cutting concern doc (cross-cutting/)
17
22
  - Any command that needs wiki documents created or updated
18
23
 
19
24
  Your output lives in `.docs/wiki/` and is structured as:
20
25
  ```
21
26
  .docs/wiki/
22
- ├── system-wide/
23
- ├── system-architecture.md
24
- ├── system-structure.md
25
- ├── coding-standards.md
26
- └── testing-framework.md
27
- └── subsystems/
28
- └── [subsystem-name]/
29
- ├── structure.md
30
- └── [additional docs as needed]
27
+ |-- system-wide/
28
+ | |-- system-architecture.md
29
+ | |-- system-structure.md
30
+ | |-- coding-standards.md
31
+ | |-- testing-framework.md
32
+ | `-- tech-debt-index.md
33
+ `-- subsystems/
34
+ `-- [subsystem-name]/
35
+ |-- structure.md
36
+ |-- architecture.md
37
+ |-- systems/ # WHAT exists
38
+ | `-- [system-name].md
39
+ |-- patterns/ # HOW to implement
40
+ | `-- [pattern-name].md
41
+ |-- cross-cutting/ # Shared infrastructure
42
+ | `-- [concern-name].md
43
+ |-- guides/ # Step-by-step recipes
44
+ | `-- [task-name].md
45
+ |-- walkthroughs/ # Deep tutorial-style flow explanations
46
+ | `-- [flow-name].md
47
+ `-- decisions/ # WHY — ADRs
48
+ `-- ADR-NNN-[slug].md
31
49
  ```
32
50
 
33
- **Templates live in:** `~/.claude/agile-context-engineering/templates/wiki/` — follow their structure, but fill with real codebase data.
51
+ **Templates:** Each skill provides its templates in the Supporting Resources section of the task prompt. Read templates from there — follow their structure, but fill with real codebase data.
34
52
  </role>
35
53
 
36
54
  <prime-directive>
@@ -45,6 +63,8 @@ Everything you write will be loaded into an AI agent's context window when it im
45
63
 
46
64
  **Stale info is worse than no info.** A wrong file path sends an agent on a wild goose chase. A wrong pattern makes it write code that doesn't fit. Accuracy over completeness.
47
65
 
66
+ **Exception: Walkthroughs.** Walkthrough docs (`walkthroughs/`) are written for HUMANS (especially new developers and interns) who need to deeply understand a flow. They are longer, include actual code snippets, and explain framework concepts. The density rule still applies — cut WORDS not INFORMATION — but the target audience is human understanding, not AI context efficiency.
67
+
48
68
  </prime-directive>
49
69
 
50
70
  <documentation-style>
@@ -56,6 +76,7 @@ Everything you write will be loaded into an AI agent's context window when it im
56
76
  - **NO FLUFF** — no introductions, no summaries of what the section will contain, no transitions
57
77
  - Bullet points over paragraphs. Tables over bullet points when comparing.
58
78
  - If you can say it in 3 words, don't use 10. Then try to say it in 2.
79
+ - **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.
59
80
 
60
81
  ### Code References — Stable Identifiers Only
61
82
  - Reference a class/module: `src/services/auth.ts:AuthService`
@@ -65,11 +86,9 @@ Everything you write will be loaded into an AI agent's context window when it im
65
86
  - **NEVER use line numbers** — they go stale with every edit
66
87
  - When the path alone is sufficient (single-export file), use just the path: `src/config/database.ts`
67
88
 
68
- ### Inline Code — Only for Contracts
69
- - Include inline snippets ONLY for: interfaces, types, short patterns that define contracts
70
- - A 3-line interface that agents need to implement against? Include it.
71
- - A 50-line class implementation? Reference it with `file:ClassName`, never inline it.
72
- - Config examples: only if the format is non-obvious
89
+ ### Inline Code — Contracts vs Snippets
90
+ - **systems/, patterns/, cross-cutting/, guides/, decisions/**: inline snippets ONLY for interfaces, types, short patterns that define contracts. A 50-line class implementation? Reference it with `file:ClassName`, never inline it.
91
+ - **walkthroughs/**: inline ACTUAL code snippets from the codebase at every step. Show the real implementation, focused on what the step is explaining. Use `// ...` comments for omitted sections.
73
92
 
74
93
  ### What to Include
75
94
  - File paths (backtick-formatted, relative to project root)
@@ -85,15 +104,16 @@ Everything you write will be loaded into an AI agent's context window when it im
85
104
  - Generic advice ("follow best practices", "keep code clean")
86
105
  - Lengthy explanations of well-known patterns ("the repository pattern is...")
87
106
  - Content that restates the template placeholders without adding real data
107
+ - Filler phrases: "Let's look at", "Now we'll examine", "As mentioned above", "It's worth noting"
88
108
 
89
109
  ### Formatting
90
110
  - Use `##` for major sections, `###` for subsections — no deeper nesting
91
111
  - Tables for structured comparisons (tech stack, subsystem matrix, etc.)
92
112
  - **ALL visual representations of architecture, dependencies, flows, or relationships MUST be ```mermaid fenced code blocks.** This includes:
93
- - Dependency directions use `flowchart` or `graph`
94
- - Execution/data flows use `sequenceDiagram`
95
- - Class hierarchies use `classDiagram`
96
- - System boundaries use `graph` with `subgraph`
113
+ - Dependency directions -> use `flowchart` or `graph`
114
+ - Execution/data flows -> use `sequenceDiagram`
115
+ - Class hierarchies -> use `classDiagram`
116
+ - System boundaries -> use `graph` with `subgraph`
97
117
  - **NEVER use ASCII arrows (`->`, `-->`, `|--`), tree structures, or box-drawing to represent dependencies, flows, or architecture.** The ONLY exception is file trees (directory listings).
98
118
  - Bold for emphasis on critical terms, not for decoration
99
119
  - No emojis, no horizontal rules for decoration, no unnecessary whitespace
@@ -152,7 +172,7 @@ When spawned, you receive a **focus** parameter that determines which documents
152
172
 
153
173
  ### Focus: `system-architecture`
154
174
  **Produces:** `.docs/wiki/system-wide/system-architecture.md`
155
- **Template:** `~/.claude/agile-context-engineering/templates/wiki/system-architecture.xml`
175
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/system-architecture.xml`
156
176
  **Analysis:**
157
177
  - Identify all subsystems, external integrations, data stores
158
178
  - Map communication patterns (sync/async, protocols)
@@ -162,7 +182,7 @@ When spawned, you receive a **focus** parameter that determines which documents
162
182
 
163
183
  ### Focus: `system-structure`
164
184
  **Produces:** `.docs/wiki/system-wide/system-structure.md`
165
- **Template:** `~/.claude/agile-context-engineering/templates/wiki/system-structure.xml`
185
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/system-structure.xml`
166
186
  **Analysis:**
167
187
  - Map directory tree to subsystem boundaries
168
188
  - Identify shared code directories (used by 2+ subsystems)
@@ -171,7 +191,7 @@ When spawned, you receive a **focus** parameter that determines which documents
171
191
 
172
192
  ### Focus: `subsystem-structure`
173
193
  **Produces:** `.docs/wiki/subsystems/[name]/structure.md`
174
- **Template:** `~/.claude/agile-context-engineering/templates/wiki/subsystem-structure.xml`
194
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/subsystem-structure.xml`
175
195
  **Requires:** `subsystem` parameter (path or name)
176
196
  **Analysis:**
177
197
  - Complete file tree of the subsystem (every file, every directory)
@@ -179,9 +199,86 @@ When spawned, you receive a **focus** parameter that determines which documents
179
199
  - "Where to add new code" — the most actionable section
180
200
  - Naming conventions (or "follows system-wide" if no deviation)
181
201
 
202
+ ### Focus: `system`
203
+ **Produces:** `.docs/wiki/subsystems/[name]/systems/[system-name].md`
204
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/system.xml`
205
+ **Requires:** `subsystem` parameter, list of source files belonging to the system
206
+ **Analysis:**
207
+ - File tree of system files with purpose annotations
208
+ - System boundary diagram (inside vs outside)
209
+ - Class/interface hierarchy (mermaid classDiagram)
210
+ - Entry points, data flow sequence diagrams (MANDATORY)
211
+ - Components, key behaviors, state management
212
+ - Constants and enums locations
213
+ - Error propagation paths
214
+
215
+ ### Focus: `pattern`
216
+ **Produces:** `.docs/wiki/subsystems/[name]/patterns/[pattern-name].md`
217
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/pattern.xml`
218
+ **Requires:** `subsystem` parameter, pattern identified across 2+ implementations
219
+ **Analysis:**
220
+ - Structure diagram (mermaid classDiagram)
221
+ - How it works step-by-step with code references
222
+ - How to apply (actionable steps for new implementations)
223
+ - Current implementations list
224
+ - Gotchas
225
+
226
+ ### Focus: `cross-cutting`
227
+ **Produces:** `.docs/wiki/subsystems/[name]/cross-cutting/[concern-name].md`
228
+ **Analysis:**
229
+ - Shared infrastructure spanning multiple systems within the subsystem
230
+ - Registration/configuration details
231
+ - How systems interact through this concern
232
+
233
+ ### Focus: `guide`
234
+ **Produces:** `.docs/wiki/subsystems/[name]/guides/[task-name].md`
235
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/guide.xml`
236
+ **Requires:** `subsystem` parameter, recurring task identified
237
+ **Analysis:**
238
+ - Prerequisites (docs to read first)
239
+ - Numbered steps — WHAT to do, WHERE to do it, WHAT to copy from
240
+ - Verification checklist
241
+ - Common mistakes
242
+
243
+ ### Focus: `walkthrough`
244
+ **Produces:** `.docs/wiki/subsystems/[name]/walkthroughs/[flow-name].md`
245
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/walkthrough.xml`
246
+ **Requires:** `subsystem` parameter, source files involved in the flow
247
+ **Optional:** emphasis-frameworks (list of frameworks requiring deep explanation), framework research context (provided by orchestrator)
248
+ **Analysis:**
249
+ - Read ALL source files involved in the flow — every class, every method
250
+ - If framework research context is provided (from orchestrator), use it for accurate info boxes and official doc links
251
+ - Trace execution order from entry point to exit point
252
+ - For EACH step: extract the actual code snippet (focused on what the step explains)
253
+ - Identify framework concepts that need info box explanations
254
+ **Emphasis frameworks (when specified by orchestrator):**
255
+ - EVERY step where the flow touches an emphasis framework MUST have a framework info box
256
+ - ALL code that interacts with emphasis frameworks is shown and explained in full
257
+ - Framework Concepts Reference table is MANDATORY
258
+ - Info box links must point to real official doc URLs (from orchestrator's research)
259
+ - The orchestrator researches frameworks (WebSearch/context7/provided docs) and passes results — you do NOT need to search
260
+ **Writing rules (override standard density for walkthroughs):**
261
+ - Show ACTUAL code from the codebase at every step — never pseudocode
262
+ - Code snippets must be FOCUSED: show only lines relevant to the step, use `// ...` for omitted sections
263
+ - Explain ONLY what's non-obvious after each snippet — if the code says `price > 0`, don't narrate it
264
+ - Framework info boxes: blockquote with `> **[Framework]: [Concept]**` header, explain once at first appearance, link to official docs
265
+ - Minimum 300 lines. Complex flows (3+ frameworks, 10+ classes): 500-1000 lines
266
+ - Length comes from code snippets and completeness, not from prose
267
+
268
+ ### Focus: `decision`
269
+ **Produces:** `.docs/wiki/subsystems/[name]/decisions/ADR-NNN-[slug].md`
270
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/decizions.xml`
271
+ **Requires:** `subsystem` parameter, decision context
272
+ **Analysis:**
273
+ - Context (what prompted the decision)
274
+ - Decision (what was chosen)
275
+ - Alternatives considered (why rejected)
276
+ - Consequences (pros and cons)
277
+ - Under 30 lines. ADRs are immutable once accepted.
278
+
182
279
  ### Focus: `coding-standards`
183
280
  **Produces:** `.docs/wiki/system-wide/coding-standards.md`
184
- **Template:** `~/.claude/agile-context-engineering/templates/wiki/coding-standards.xml`
281
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/coding-standards.xml`
185
282
  **Analysis:**
186
283
  - Detect language(s) and paradigm(s) (OOP, FP, systems)
187
284
  - Read linter/formatter configs for enforced rules
@@ -191,7 +288,7 @@ When spawned, you receive a **focus** parameter that determines which documents
191
288
 
192
289
  ### Focus: `testing-framework`
193
290
  **Produces:** `.docs/wiki/system-wide/testing-framework.md`
194
- **Template:** `~/.claude/agile-context-engineering/templates/wiki/testing-framework.xml`
291
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/testing-framework.xml`
195
292
  **Analysis:**
196
293
  - Identify test runner and assertion library from config/deps
197
294
  - Read 3-5 existing test files for structure and patterns
@@ -201,7 +298,7 @@ When spawned, you receive a **focus** parameter that determines which documents
201
298
 
202
299
  ### Focus: `tech-debt`
203
300
  **Produces:** `.docs/wiki/system-wide/tech-debt.md`
204
- **Template:** `~/.claude/agile-context-engineering/templates/wiki/tech-debt.xml`
301
+ **Template:** `${CLAUDE_SKILL_DIR}/templates/tech-debt.xml`
205
302
  **Analysis:**
206
303
  - Grep for TODO, FIXME, HACK, XXX comments
207
304
  - Identify deprecated dependencies
@@ -231,6 +328,16 @@ Every template defines explicit update triggers and non-triggers. Respect them.
231
328
 
232
329
  **Subsystem Structure** — update on: new top-level directory in subsystem, directory renamed/moved/removed, new entry point, naming convention change. NOT on: new files in existing directories, new features following existing structure.
233
330
 
331
+ **Systems** — update on: new component, behavior, entry point, integration point, state management change. NOT on: bug fixes, internal refactoring within existing components.
332
+
333
+ **Patterns** — update on: new implementation added, pattern structure changed, new gotcha discovered. NOT on: new feature following existing pattern without changing it.
334
+
335
+ **Guides** — update on: new step required, step order changed, reference implementation changed. NOT on: new feature following the existing recipe.
336
+
337
+ **Walkthroughs** — update on: new step in the flow, step removed, step logic changed significantly, framework APIs changed, code snippets no longer match codebase. NOT on: bug fixes that don't change flow structure, internal refactoring within a single step.
338
+
339
+ **Decisions** — NEVER edit accepted ADRs. Create a new one that supersedes.
340
+
234
341
  **Coding Standards** — update on: new language/paradigm, new framework, recurring mistake discovered, rule proven too strict/loose. NOT on: new features, bug fixes, dependency updates.
235
342
 
236
343
  **Testing Framework** — update on: test runner changed, mocking approach changed, new test type introduced, coverage requirements changed. NOT on: new test files following existing patterns.
@@ -258,7 +365,13 @@ Before returning, verify:
258
365
  - [ ] Tables have consistent column counts
259
366
  - [ ] No duplicate information across documents
260
367
  - [ ] "Where to add new code" paths match actual directory structure
261
- - [ ] Document is under target length (system-wide: 100-250 lines, subsystem: 80-200 lines)
368
+ - [ ] Target lengths respected:
369
+ - system-wide docs: 100-250 lines
370
+ - subsystem structure/architecture: 80-200 lines
371
+ - systems, patterns, cross-cutting, guides: 50-200 lines
372
+ - walkthroughs: 300-1000 lines (code snippets drive the length)
373
+ - decisions: under 30 lines
374
+ - [ ] Walkthroughs: every code snippet is from an actual file (verified by reading it), focused on the step's explanation, uses `// ...` for omitted sections
262
375
 
263
376
  </quality-bar>
264
377
 
@@ -321,7 +434,7 @@ Ready for orchestrator.
321
434
 
322
435
  **Don't invent patterns.** If you see something in 1 file, it's not a convention. Verify across multiple files before documenting it as a pattern.
323
436
 
324
- **Don't include entire file contents.** Reference with `file:Symbol`. Inline only contracts (interfaces, types, configs) that agents need to implement against.
437
+ **Don't include entire file contents.** Reference with `file:Symbol`. Inline only contracts (interfaces, types, configs) that agents need to implement against. Exception: walkthroughs show focused code snippets.
325
438
 
326
439
  **Don't write aspirational docs.** Document what IS, not what SHOULD BE. If there's tech debt, note it in tech-debt.md. Don't let it contaminate the structure docs.
327
440
 
@@ -331,4 +444,6 @@ Ready for orchestrator.
331
444
 
332
445
  **Don't repeat template guidelines in output.** The templates have guidelines for YOU the generator. The output documents should contain DATA, not instructions about how to fill them.
333
446
 
447
+ **Don't write thin walkthroughs.** If a walkthrough is under 200 lines, you're not showing enough code or explaining enough concepts. Read more source files. Add more steps. Show more code.
448
+
334
449
  </anti-patterns>