agile-context-engineering 0.5.0 → 0.5.1

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 (102) hide show
  1. package/.claude-plugin/marketplace.json +18 -0
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +7 -1
  4. package/README.md +16 -12
  5. package/agents/ace-code-discovery-analyst.md +245 -245
  6. package/agents/ace-code-integration-analyst.md +248 -248
  7. package/agents/ace-code-reviewer.md +375 -375
  8. package/agents/ace-product-owner.md +365 -361
  9. package/agents/ace-project-researcher.md +606 -606
  10. package/agents/ace-technical-application-architect.md +315 -315
  11. package/bin/install.js +587 -173
  12. package/hooks/ace-check-update.js +15 -14
  13. package/hooks/ace-statusline.js +30 -12
  14. package/hooks/hooks.json +14 -0
  15. package/package.json +3 -2
  16. package/shared/lib/ace-core.js +53 -0
  17. package/shared/lib/ace-core.test.js +308 -308
  18. package/shared/lib/ace-story.test.js +250 -250
  19. package/skills/execute-story/SKILL.md +116 -110
  20. package/skills/execute-story/script.js +13 -27
  21. package/skills/execute-story/script.test.js +261 -261
  22. package/skills/execute-story/story-template.xml +451 -451
  23. package/skills/execute-story/workflow.xml +3 -1
  24. package/skills/help/SKILL.md +71 -69
  25. package/skills/help/script.js +32 -35
  26. package/skills/help/script.test.js +183 -183
  27. package/skills/help/workflow.xml +14 -3
  28. package/skills/init-coding-standards/SKILL.md +91 -72
  29. package/skills/init-coding-standards/coding-standards-template.xml +531 -531
  30. package/skills/init-coding-standards/script.js +50 -59
  31. package/skills/init-coding-standards/script.test.js +70 -70
  32. package/skills/init-coding-standards/workflow.xml +1 -1
  33. package/skills/map-cross-cutting/SKILL.md +126 -89
  34. package/skills/map-cross-cutting/workflow.xml +1 -1
  35. package/skills/map-guide/SKILL.md +126 -89
  36. package/skills/map-guide/workflow.xml +1 -1
  37. package/skills/map-pattern/SKILL.md +125 -89
  38. package/skills/map-pattern/workflow.xml +1 -1
  39. package/skills/map-story/SKILL.md +180 -127
  40. package/skills/map-story/templates/tech-debt-index.xml +125 -125
  41. package/skills/map-story/workflow.xml +2 -2
  42. package/skills/map-subsystem/SKILL.md +155 -111
  43. package/skills/map-subsystem/script.js +51 -60
  44. package/skills/map-subsystem/script.test.js +68 -68
  45. package/skills/map-subsystem/templates/subsystem-architecture.xml +343 -343
  46. package/skills/map-subsystem/templates/subsystem-structure.xml +234 -234
  47. package/skills/map-subsystem/workflow.xml +1173 -1173
  48. package/skills/map-sys-doc/SKILL.md +125 -90
  49. package/skills/map-sys-doc/workflow.xml +1 -1
  50. package/skills/map-system/SKILL.md +103 -85
  51. package/skills/map-system/script.js +75 -84
  52. package/skills/map-system/script.test.js +73 -73
  53. package/skills/map-system/templates/system-structure.xml +177 -177
  54. package/skills/map-system/templates/testing-framework.xml +283 -283
  55. package/skills/map-system/workflow.xml +667 -667
  56. package/skills/map-walkthrough/SKILL.md +140 -92
  57. package/skills/map-walkthrough/workflow.xml +457 -457
  58. package/skills/plan-backlog/SKILL.md +93 -75
  59. package/skills/plan-backlog/script.js +121 -136
  60. package/skills/plan-backlog/script.test.js +83 -83
  61. package/skills/plan-backlog/workflow.xml +1348 -1348
  62. package/skills/plan-feature/SKILL.md +99 -76
  63. package/skills/plan-feature/feature-template.xml +361 -361
  64. package/skills/plan-feature/script.js +131 -148
  65. package/skills/plan-feature/script.test.js +80 -80
  66. package/skills/plan-feature/workflow.xml +1 -1
  67. package/skills/plan-product-vision/SKILL.md +91 -75
  68. package/skills/plan-product-vision/product-vision-template.xml +227 -227
  69. package/skills/plan-product-vision/script.js +51 -60
  70. package/skills/plan-product-vision/script.test.js +69 -69
  71. package/skills/plan-product-vision/workflow.xml +337 -337
  72. package/skills/plan-story/SKILL.md +125 -102
  73. package/skills/plan-story/script.js +18 -49
  74. package/skills/plan-story/story-template.xml +8 -1
  75. package/skills/plan-story/workflow.xml +17 -1
  76. package/skills/research-external-solution/SKILL.md +120 -107
  77. package/skills/research-external-solution/external-solution-template.xml +832 -832
  78. package/skills/research-external-solution/script.js +229 -238
  79. package/skills/research-external-solution/script.test.js +134 -134
  80. package/skills/research-external-solution/workflow.xml +657 -657
  81. package/skills/research-integration-solution/SKILL.md +121 -98
  82. package/skills/research-integration-solution/integration-solution-template.xml +1015 -1015
  83. package/skills/research-integration-solution/script.js +223 -231
  84. package/skills/research-integration-solution/script.test.js +134 -134
  85. package/skills/research-integration-solution/workflow.xml +711 -711
  86. package/skills/research-story-wiki/SKILL.md +101 -92
  87. package/skills/research-story-wiki/script.js +223 -231
  88. package/skills/research-story-wiki/script.test.js +138 -138
  89. package/skills/research-story-wiki/story-wiki-template.xml +194 -194
  90. package/skills/research-story-wiki/workflow.xml +473 -473
  91. package/skills/research-technical-solution/SKILL.md +131 -103
  92. package/skills/research-technical-solution/script.js +223 -231
  93. package/skills/research-technical-solution/script.test.js +134 -134
  94. package/skills/research-technical-solution/technical-solution-template.xml +1025 -1025
  95. package/skills/research-technical-solution/workflow.xml +761 -761
  96. package/skills/review-story/SKILL.md +99 -100
  97. package/skills/review-story/script.js +8 -16
  98. package/skills/review-story/script.test.js +169 -169
  99. package/skills/review-story/story-template.xml +451 -451
  100. package/skills/review-story/workflow.xml +1 -1
  101. package/skills/update/SKILL.md +65 -53
  102. package/skills/update/workflow.xml +21 -5
@@ -1,194 +1,194 @@
1
- <story-wiki>
2
-
3
- <purpose>
4
- Template for the `## Relevant Wiki` section that gets APPENDED to the story file
5
- (`.ace/artifacts/product/&lt;id-epic_name&gt;/&lt;id-feature_name&gt;/&lt;id-story_name&gt;/&lt;id-story_name&gt;.md`)
6
- and optionally updated in the GitHub issue body.
7
-
8
- This is pass 2 of the story specification pipeline (see story.xml composition).
9
- It runs AFTER sections 1-8 (business requirements) are complete.
10
-
11
- A research agent reads the User Story, Description, and Acceptance Criteria from pass 1,
12
- then scans the `.docs/wiki/` directory to select documents that are relevant for
13
- designing a good technical solution for this story.
14
-
15
- The output is written directly INTO the story file — replacing or populating the
16
- `## Relevant Wiki` section placeholder left by pass 1.
17
-
18
- This section is consumed by pass 5 (technical solution) as the primary reference
19
- for which wiki documents to load when designing the implementation approach.
20
- </purpose>
21
-
22
- <output-format>
23
-
24
- <section name="relevant-wiki">
25
- ## Relevant Wiki
26
-
27
- &lt;!-- Pass 2. Populated by research-story-wiki workflow.
28
- A research agent reads the User Story, Description, and AC,
29
- then scans `.docs/wiki/` to select documents relevant to
30
- designing a good technical solution for this story.
31
-
32
- Group references by wiki document type. Only include documents that
33
- directly inform implementation — do not list tangentially related docs.
34
- Each entry: relative path + one-line reason why it's relevant. --&gt;
35
-
36
- ### System-Wide
37
-
38
- &lt;!-- MANDATORY — all four system-wide docs are always included.
39
- These are mandatory context for every story — no reason needed. --&gt;
40
-
41
- - `.docs/wiki/system-wide/system-structure.md` — Mandatory system-wide context
42
- - `.docs/wiki/system-wide/system-architecture.md` — Mandatory system-wide context
43
- - `.docs/wiki/system-wide/coding-standards.md` — Mandatory system-wide context
44
- - `.docs/wiki/system-wide/testing-framework.md` — Mandatory system-wide context
45
-
46
- ### Systems
47
- - [`.docs/wiki/subsystems/[name]/systems/[system].md`] — [Why this system is relevant to this story]
48
-
49
- ### Patterns
50
- - [`.docs/wiki/subsystems/[name]/patterns/[pattern].md`] — [Why this pattern applies to this story]
51
-
52
- ### Cross-Cutting Concerns
53
- - [`.docs/wiki/subsystems/[name]/cross-cutting/[concern].md`] — [Why this concern matters for this story]
54
-
55
- ### Guides
56
- - [`.docs/wiki/subsystems/[name]/guides/[guide].md`] — [Why this guide is useful for this story]
57
-
58
- ### Walkthroughs
59
- - [`.docs/wiki/subsystems/[name]/walkthroughs/[flow].md`] — [Why this flow walkthrough helps understand the implementation context]
60
-
61
- ### Decisions
62
- - [`.docs/wiki/subsystems/[name]/decisions/[decision].md`] — [Why this ADR constrains or informs this story]
63
-
64
- ### Architecture
65
- - [`.docs/wiki/subsystems/[name]/architecture.md`] — [Why this subsystem's architecture doc is relevant]
66
-
67
- &lt;!-- Omit any subsystem category header that has no relevant documents.
68
- The System-Wide section is NEVER omitted — it is always present.
69
-
70
- Example:
71
-
72
- ### System-Wide
73
- - `.docs/wiki/system-wide/system-structure.md` — Locates auth subsystem boundaries and shared middleware
74
- - `.docs/wiki/system-wide/system-architecture.md` — Documents API gateway routing to auth service
75
- - `.docs/wiki/system-wide/coding-standards.md` — Error handling conventions for API responses
76
- - `.docs/wiki/system-wide/testing-framework.md` — Integration test setup for auth endpoints
77
-
78
- ### Systems
79
- - `.docs/wiki/subsystems/auth/systems/oauth-provider.md` — Implements the provider abstraction this story extends
80
- - `.docs/wiki/subsystems/auth/systems/session-manager.md` — Manages tokens created by the OAuth flow
81
-
82
- ### Patterns
83
- - `.docs/wiki/subsystems/auth/patterns/strategy-pattern.md` — Each OAuth provider is a strategy; new provider must follow this
84
-
85
- ### Decisions
86
- - `.docs/wiki/subsystems/auth/decisions/adr-003-jwt-over-sessions.md` — Constrains token format to JWT
87
- --&gt;
88
- </section>
89
-
90
- </output-format>
91
-
92
- <selection-criteria>
93
-
94
- <include-when>
95
- A wiki document should be INCLUDED if it:
96
- - Describes a system this story will modify or extend
97
- - Documents a pattern this story must follow
98
- - Covers a cross-cutting concern this story must respect (auth, logging, error handling, etc.)
99
- - Contains a guide for a task this story requires (e.g., "how to add an API endpoint")
100
- - Walks through a complex flow this story extends or modifies
101
- - Records an ADR that constrains design choices for this story
102
- - Describes the structure or architecture of a subsystem this story touches
103
- </include-when>
104
-
105
- <exclude-when>
106
- A wiki document should be EXCLUDED if it:
107
- - Is only tangentially related (same subsystem but different concern)
108
- - Describes something the story reads from but does not modify
109
- - Would be "nice to know" but does not change the implementation approach
110
- - Duplicates information already in a system-wide doc
111
- </exclude-when>
112
-
113
- <reason-quality>
114
- Each entry MUST have a one-line reason explaining WHY that document is relevant
115
- to THIS specific story. Generic reasons like "related to auth" are NOT acceptable.
116
- The reason must explain what the implementing agent should look for or learn from
117
- that document.
118
-
119
- Good: "Defines the provider strategy interface this story must implement"
120
- Bad: "Related to OAuth"
121
- </reason-quality>
122
-
123
- </selection-criteria>
124
-
125
- <guidelines>
126
-
127
- <guideline name="system-wide-mandatory">
128
- The four system-wide documents are ALWAYS included in the output:
129
- - system-structure.md
130
- - system-architecture.md
131
- - coding-standards.md
132
- - testing-framework.md
133
-
134
- These are mandatory context for every story. Do NOT read them during wiki research —
135
- the implementing agent (pass 5) will read them directly. Just list them in the output.
136
- </guideline>
137
-
138
- <guideline name="subsystem-depth">
139
- For each affected subsystem, the research agent must READ the subsystem's wiki
140
- documents to assess relevance — not just list them based on directory names.
141
- Only include documents that directly inform the implementation of THIS story.
142
- </guideline>
143
-
144
- <guideline name="feature-relevant-wiki-hint">
145
- If a `relevant-wiki.md` file exists at the feature level
146
- (`.ace/artifacts/product/&lt;id-epic_name&gt;/&lt;id-feature_name&gt;/relevant-wiki.md`),
147
- use it as a STARTING POINT to identify which subsystems to investigate.
148
- This file may not exist — proceed without it if missing.
149
- </guideline>
150
-
151
- <guideline name="parallel-subsystem-research">
152
- When multiple subsystems need investigation, spawn parallel ace-wiki-mapper
153
- agents to read and assess each subsystem's docs concurrently. Each agent returns
154
- a list of relevant files with reasons — the orchestrator compiles the final section.
155
- </guideline>
156
-
157
- <guideline name="conciseness">
158
- The Relevant Wiki section should be scannable. No prose paragraphs.
159
- Just categorized file references with one-line reasons.
160
- Omit empty category headers — if no patterns are relevant, don't show ### Patterns.
161
- The System-Wide section is the only exception — it is always present.
162
- </guideline>
163
-
164
- <guideline name="github-compatibility">
165
- The output must render cleanly in both markdown files and GitHub issue bodies.
166
- Use standard markdown — no HTML, no custom formatting.
167
- Backtick-formatted file paths for readability.
168
- </guideline>
169
-
170
- </guidelines>
171
-
172
- <evolution>
173
-
174
- **Creation (research-story-wiki — pass 2):**
175
- This pass runs after sections 1-8 are complete. It reads the story requirements
176
- and scans the wiki to populate the Relevant Wiki section. A single run produces
177
- the complete section.
178
-
179
- **Consumption (story-technical-solution — pass 5):**
180
- The technical solution pass reads this section to know which wiki documents to load
181
- as context when designing the implementation approach. Every file listed here
182
- will be read by the implementing agent.
183
-
184
- **Re-research (exception, not norm):**
185
- Only when story scope changes significantly (AC rewritten, new subsystems involved).
186
- Re-running overwrites the existing Relevant Wiki section.
187
-
188
- **This section IS part of the story file.**
189
- It replaces the placeholder left by pass 1 in the story.xml template.
190
- It is also synced to the GitHub issue body when GitHub integration is enabled.
191
-
192
- </evolution>
193
-
194
- </story-wiki>
1
+ <story-wiki>
2
+
3
+ <purpose>
4
+ Template for the `## Relevant Wiki` section that gets APPENDED to the story file
5
+ (`.ace/artifacts/product/&lt;id-epic_name&gt;/&lt;id-feature_name&gt;/&lt;id-story_name&gt;/&lt;id-story_name&gt;.md`)
6
+ and optionally updated in the GitHub issue body.
7
+
8
+ This is pass 2 of the story specification pipeline (see story.xml composition).
9
+ It runs AFTER sections 1-8 (business requirements) are complete.
10
+
11
+ A research agent reads the User Story, Description, and Acceptance Criteria from pass 1,
12
+ then scans the `.docs/wiki/` directory to select documents that are relevant for
13
+ designing a good technical solution for this story.
14
+
15
+ The output is written directly INTO the story file — replacing or populating the
16
+ `## Relevant Wiki` section placeholder left by pass 1.
17
+
18
+ This section is consumed by pass 5 (technical solution) as the primary reference
19
+ for which wiki documents to load when designing the implementation approach.
20
+ </purpose>
21
+
22
+ <output-format>
23
+
24
+ <section name="relevant-wiki">
25
+ ## Relevant Wiki
26
+
27
+ &lt;!-- Pass 2. Populated by research-story-wiki workflow.
28
+ A research agent reads the User Story, Description, and AC,
29
+ then scans `.docs/wiki/` to select documents relevant to
30
+ designing a good technical solution for this story.
31
+
32
+ Group references by wiki document type. Only include documents that
33
+ directly inform implementation — do not list tangentially related docs.
34
+ Each entry: relative path + one-line reason why it's relevant. --&gt;
35
+
36
+ ### System-Wide
37
+
38
+ &lt;!-- MANDATORY — all four system-wide docs are always included.
39
+ These are mandatory context for every story — no reason needed. --&gt;
40
+
41
+ - `.docs/wiki/system-wide/system-structure.md` — Mandatory system-wide context
42
+ - `.docs/wiki/system-wide/system-architecture.md` — Mandatory system-wide context
43
+ - `.docs/wiki/system-wide/coding-standards.md` — Mandatory system-wide context
44
+ - `.docs/wiki/system-wide/testing-framework.md` — Mandatory system-wide context
45
+
46
+ ### Systems
47
+ - [`.docs/wiki/subsystems/[name]/systems/[system].md`] — [Why this system is relevant to this story]
48
+
49
+ ### Patterns
50
+ - [`.docs/wiki/subsystems/[name]/patterns/[pattern].md`] — [Why this pattern applies to this story]
51
+
52
+ ### Cross-Cutting Concerns
53
+ - [`.docs/wiki/subsystems/[name]/cross-cutting/[concern].md`] — [Why this concern matters for this story]
54
+
55
+ ### Guides
56
+ - [`.docs/wiki/subsystems/[name]/guides/[guide].md`] — [Why this guide is useful for this story]
57
+
58
+ ### Walkthroughs
59
+ - [`.docs/wiki/subsystems/[name]/walkthroughs/[flow].md`] — [Why this flow walkthrough helps understand the implementation context]
60
+
61
+ ### Decisions
62
+ - [`.docs/wiki/subsystems/[name]/decisions/[decision].md`] — [Why this ADR constrains or informs this story]
63
+
64
+ ### Architecture
65
+ - [`.docs/wiki/subsystems/[name]/architecture.md`] — [Why this subsystem's architecture doc is relevant]
66
+
67
+ &lt;!-- Omit any subsystem category header that has no relevant documents.
68
+ The System-Wide section is NEVER omitted — it is always present.
69
+
70
+ Example:
71
+
72
+ ### System-Wide
73
+ - `.docs/wiki/system-wide/system-structure.md` — Locates auth subsystem boundaries and shared middleware
74
+ - `.docs/wiki/system-wide/system-architecture.md` — Documents API gateway routing to auth service
75
+ - `.docs/wiki/system-wide/coding-standards.md` — Error handling conventions for API responses
76
+ - `.docs/wiki/system-wide/testing-framework.md` — Integration test setup for auth endpoints
77
+
78
+ ### Systems
79
+ - `.docs/wiki/subsystems/auth/systems/oauth-provider.md` — Implements the provider abstraction this story extends
80
+ - `.docs/wiki/subsystems/auth/systems/session-manager.md` — Manages tokens created by the OAuth flow
81
+
82
+ ### Patterns
83
+ - `.docs/wiki/subsystems/auth/patterns/strategy-pattern.md` — Each OAuth provider is a strategy; new provider must follow this
84
+
85
+ ### Decisions
86
+ - `.docs/wiki/subsystems/auth/decisions/adr-003-jwt-over-sessions.md` — Constrains token format to JWT
87
+ --&gt;
88
+ </section>
89
+
90
+ </output-format>
91
+
92
+ <selection-criteria>
93
+
94
+ <include-when>
95
+ A wiki document should be INCLUDED if it:
96
+ - Describes a system this story will modify or extend
97
+ - Documents a pattern this story must follow
98
+ - Covers a cross-cutting concern this story must respect (auth, logging, error handling, etc.)
99
+ - Contains a guide for a task this story requires (e.g., "how to add an API endpoint")
100
+ - Walks through a complex flow this story extends or modifies
101
+ - Records an ADR that constrains design choices for this story
102
+ - Describes the structure or architecture of a subsystem this story touches
103
+ </include-when>
104
+
105
+ <exclude-when>
106
+ A wiki document should be EXCLUDED if it:
107
+ - Is only tangentially related (same subsystem but different concern)
108
+ - Describes something the story reads from but does not modify
109
+ - Would be "nice to know" but does not change the implementation approach
110
+ - Duplicates information already in a system-wide doc
111
+ </exclude-when>
112
+
113
+ <reason-quality>
114
+ Each entry MUST have a one-line reason explaining WHY that document is relevant
115
+ to THIS specific story. Generic reasons like "related to auth" are NOT acceptable.
116
+ The reason must explain what the implementing agent should look for or learn from
117
+ that document.
118
+
119
+ Good: "Defines the provider strategy interface this story must implement"
120
+ Bad: "Related to OAuth"
121
+ </reason-quality>
122
+
123
+ </selection-criteria>
124
+
125
+ <guidelines>
126
+
127
+ <guideline name="system-wide-mandatory">
128
+ The four system-wide documents are ALWAYS included in the output:
129
+ - system-structure.md
130
+ - system-architecture.md
131
+ - coding-standards.md
132
+ - testing-framework.md
133
+
134
+ These are mandatory context for every story. Do NOT read them during wiki research —
135
+ the implementing agent (pass 5) will read them directly. Just list them in the output.
136
+ </guideline>
137
+
138
+ <guideline name="subsystem-depth">
139
+ For each affected subsystem, the research agent must READ the subsystem's wiki
140
+ documents to assess relevance — not just list them based on directory names.
141
+ Only include documents that directly inform the implementation of THIS story.
142
+ </guideline>
143
+
144
+ <guideline name="feature-relevant-wiki-hint">
145
+ If a `relevant-wiki.md` file exists at the feature level
146
+ (`.ace/artifacts/product/&lt;id-epic_name&gt;/&lt;id-feature_name&gt;/relevant-wiki.md`),
147
+ use it as a STARTING POINT to identify which subsystems to investigate.
148
+ This file may not exist — proceed without it if missing.
149
+ </guideline>
150
+
151
+ <guideline name="parallel-subsystem-research">
152
+ When multiple subsystems need investigation, spawn parallel ace-wiki-mapper
153
+ agents to read and assess each subsystem's docs concurrently. Each agent returns
154
+ a list of relevant files with reasons — the orchestrator compiles the final section.
155
+ </guideline>
156
+
157
+ <guideline name="conciseness">
158
+ The Relevant Wiki section should be scannable. No prose paragraphs.
159
+ Just categorized file references with one-line reasons.
160
+ Omit empty category headers — if no patterns are relevant, don't show ### Patterns.
161
+ The System-Wide section is the only exception — it is always present.
162
+ </guideline>
163
+
164
+ <guideline name="github-compatibility">
165
+ The output must render cleanly in both markdown files and GitHub issue bodies.
166
+ Use standard markdown — no HTML, no custom formatting.
167
+ Backtick-formatted file paths for readability.
168
+ </guideline>
169
+
170
+ </guidelines>
171
+
172
+ <evolution>
173
+
174
+ **Creation (research-story-wiki — pass 2):**
175
+ This pass runs after sections 1-8 are complete. It reads the story requirements
176
+ and scans the wiki to populate the Relevant Wiki section. A single run produces
177
+ the complete section.
178
+
179
+ **Consumption (story-technical-solution — pass 5):**
180
+ The technical solution pass reads this section to know which wiki documents to load
181
+ as context when designing the implementation approach. Every file listed here
182
+ will be read by the implementing agent.
183
+
184
+ **Re-research (exception, not norm):**
185
+ Only when story scope changes significantly (AC rewritten, new subsystems involved).
186
+ Re-running overwrites the existing Relevant Wiki section.
187
+
188
+ **This section IS part of the story file.**
189
+ It replaces the placeholder left by pass 1 in the story.xml template.
190
+ It is also synced to the GitHub issue body when GitHub integration is enabled.
191
+
192
+ </evolution>
193
+
194
+ </story-wiki>