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,227 +1,227 @@
1
- <product-vision>
2
- <purpose>Template for `.docs/product/product-vision.md` — organic document that aligns the team on what the product is, who it's for, and why it matters.</purpose>
3
-
4
- <template>
5
-
6
- ```markdown
7
- # [Product Name]
8
-
9
- ## Vision Statement
10
-
11
- [A concise, inspiring statement of what the product aims to achieve and why it exists.
12
- 1-2 sentences. This is the elevator pitch — if someone reads nothing else, they read this.]
13
-
14
- ## Target Audience
15
-
16
- [Who is this product for? Define key user personas or segments.
17
- Be specific — "everyone" is not a target audience.]
18
-
19
- - **[Persona 1]**: [Who they are — what defines them]
20
- - **[Persona 2]**: [Who they are — what defines them]
21
-
22
- ## Problem Statement
23
-
24
- [What specific pain points or unmet needs does this product address?
25
- Frame from the user's perspective. What's broken, missing, or frustrating today?]
26
-
27
- ## Value Proposition
28
-
29
- [What unique value does the product deliver? Why would users choose this over alternatives?
30
- Use Geoffrey Moore's format if helpful:
31
- "For [target user] who [need], [product] is a [category] that [key benefit].
32
- Unlike [alternative], our product [differentiator]."]
33
-
34
- ## Key Objectives
35
-
36
- <!-- Measurable business and user outcomes the product should achieve. -->
37
- <!-- Tie to OKRs where possible. -->
38
-
39
- - [ ] [Objective 1 — measurable outcome]
40
- - [ ] [Objective 2 — measurable outcome]
41
- - [ ] [Objective 3 — measurable outcome]
42
-
43
- ## High-Level Capabilities
44
-
45
- <!-- Broad capability areas, not detailed requirements. -->
46
- <!-- These define the product's shape, not its spec. -->
47
-
48
- - [Capability area 1]
49
- - [Capability area 2]
50
- - [Capability area 3]
51
-
52
- ## Success Metrics
53
-
54
- <!-- How will you know the product is achieving its vision? -->
55
-
56
- | Metric | Target | Measurement Method |
57
- |--------|--------|--------------------|
58
- | [KPI 1] | [Target] | [How measured] |
59
- | [KPI 2] | [Target] | [How measured] |
60
-
61
- ## Competitive Landscape
62
-
63
- [How does this product differentiate from existing solutions?
64
- What alternatives exist and why aren't they sufficient?]
65
-
66
- | Alternative | Strength | Gap We Fill |
67
- |-------------|----------|-------------|
68
- | [Competitor/Alternative 1] | [What they do well] | [What they miss] |
69
- | [Competitor/Alternative 2] | [What they do well] | [What they miss] |
70
-
71
- ## Constraints and Assumptions
72
-
73
- - **[Type]**: [What] — [Why]
74
- - **[Type]**: [What] — [Why]
75
-
76
- Common types: Tech stack, Timeline, Budget, Dependencies, Regulatory, Platform
77
-
78
- ## Risks
79
-
80
- <!-- Key uncertainties that could affect the vision. -->
81
-
82
- | Risk | Likelihood | Impact | Mitigation |
83
- |------|-----------|--------|------------|
84
- | [Risk 1] | [H/M/L] | [H/M/L] | [Strategy] |
85
-
86
- ---
87
- *Last updated: [date] after [trigger]*
88
- ```
89
-
90
- </template>
91
-
92
- <guidelines>
93
-
94
- **Vision Statement:**
95
- - The north star — concise, inspiring, stable
96
- - Should fit in one breath; if it takes a paragraph, it's too long
97
- - Answers "why does this product exist?"
98
- - Changes rarely; when it does, it's a pivot
99
-
100
- **Target Audience:**
101
- - Specific user personas or segments, not demographics
102
- - Define by behavior and need, not just job title
103
- - Primary vs secondary audiences if relevant
104
- - Update as you learn who actually uses the product
105
-
106
- **Problem Statement:**
107
- - Frame from the user's perspective, not the builder's
108
- - Describe the current pain, not your solution
109
- - Be specific — vague problems lead to vague products
110
- - Validated problems > assumed problems
111
-
112
- **Value Proposition:**
113
- - The bridge between problem and product
114
- - Must differentiate from alternatives
115
- - "Why this, why now, why us?"
116
- - Test: could a competitor say the same thing? If yes, it's not specific enough
117
-
118
- **Key Objectives:**
119
- - Measurable outcomes, not features
120
- - "Users can do X" not "Build feature Y"
121
- - Tie to business goals where possible
122
- - 3-5 objectives max — more means no focus
123
-
124
- **High-Level Capabilities:**
125
- - Broad strokes of what the product does
126
- - Think capability areas, not feature lists
127
- - These inform epic and feature planning downstream
128
- - Should map clearly to objectives
129
-
130
- **Success Metrics:**
131
- - Quantifiable indicators of vision achievement
132
- - Include target values and how you'll measure them
133
- - Leading indicators (adoption, engagement) and lagging (revenue, retention)
134
- - Revisit targets as you learn from real usage
135
-
136
- **Competitive Landscape:**
137
- - Honest assessment of alternatives (including "do nothing")
138
- - Focus on gaps you fill, not feature comparisons
139
- - Update as the market evolves
140
-
141
- **Constraints and Assumptions:**
142
- - Hard limits on what's possible
143
- - Include the "why" — constraints without rationale get challenged
144
- - Assumptions are constraints that haven't been validated yet
145
- - Revisit assumptions regularly
146
-
147
- **Risks:**
148
- - Uncertainties that could derail the vision
149
- - Include mitigation strategies, not just identification
150
- - High-impact risks need contingency plans
151
- - Update as risks materialize or are resolved
152
-
153
- **Last Updated:**
154
- - Always note when and why the document was updated
155
- - Format: `after Phase 2` or `after user research round 1`
156
- - Triggers review of whether content is still accurate
157
-
158
- </guidelines>
159
-
160
- <evolution>
161
-
162
- product-vision.md evolves throughout the product lifecycle, but slower than most artifacts.
163
-
164
- **After user research or discovery:**
165
- 1. Problem Statement still accurate? → Refine with evidence
166
- 2. Target Audience validated? → Update personas with real data
167
- 3. New risks or assumptions surfaced? → Add them
168
- 4. Value Proposition resonating? → Sharpen or pivot
169
-
170
- **After each major release:**
171
- 1. Key Objectives met? → Mark achieved, add new ones
172
- 2. Success Metrics hitting targets? → Adjust targets or strategy
173
- 3. Competitive Landscape shifted? → Update positioning
174
- 4. Vision Statement still inspiring and accurate? → Refine if drifted
175
-
176
- **After a pivot or strategic shift:**
177
- 1. Full review of all sections
178
- 2. Vision Statement rewrite
179
- 3. Problem Statement and Value Proposition realignment
180
- 4. Archive previous version for reference
181
-
182
- </evolution>
183
-
184
- <brownfield>
185
-
186
- For existing products:
187
-
188
- 1. **Map current product** — what does it actually do today?
189
-
190
- 2. **Infer Vision and Value Proposition** from existing product:
191
- - What problem is it currently solving?
192
- - Who is actually using it?
193
- - What do users say they value most?
194
-
195
- 3. **Gather forward-looking input** from stakeholders:
196
- - Where should the product go next?
197
- - What's missing from the current vision?
198
-
199
- 4. **Initialize:**
200
- - Vision Statement = articulation of current + aspirational direction
201
- - Target Audience = actual current users + desired future users
202
- - Problem Statement = validated from real usage patterns
203
- - Key Objectives = mix of "maintain what works" + "build what's next"
204
- - Constraints = includes existing technical debt and commitments
205
-
206
- </brownfield>
207
-
208
- <state-reference>
209
-
210
- STATE.md references product-vision.md:
211
-
212
- ```markdown
213
- ## Product Vision Reference
214
-
215
- See: .artifacts/product-overview/product-vision.md (updated [date])
216
-
217
- **Vision:** [One-liner from Vision Statement]
218
- **Core audience:** [Primary persona]
219
- **Current focus:** [Current phase or key objective]
220
- ```
221
-
222
- This ensures Claude reads the current product vision context.
223
-
224
- </state-reference>
225
-
226
-
227
- </product-vision>
1
+ <product-vision>
2
+ <purpose>Template for `.docs/product/product-vision.md` — organic document that aligns the team on what the product is, who it's for, and why it matters.</purpose>
3
+
4
+ <template>
5
+
6
+ ```markdown
7
+ # [Product Name]
8
+
9
+ ## Vision Statement
10
+
11
+ [A concise, inspiring statement of what the product aims to achieve and why it exists.
12
+ 1-2 sentences. This is the elevator pitch — if someone reads nothing else, they read this.]
13
+
14
+ ## Target Audience
15
+
16
+ [Who is this product for? Define key user personas or segments.
17
+ Be specific — "everyone" is not a target audience.]
18
+
19
+ - **[Persona 1]**: [Who they are — what defines them]
20
+ - **[Persona 2]**: [Who they are — what defines them]
21
+
22
+ ## Problem Statement
23
+
24
+ [What specific pain points or unmet needs does this product address?
25
+ Frame from the user's perspective. What's broken, missing, or frustrating today?]
26
+
27
+ ## Value Proposition
28
+
29
+ [What unique value does the product deliver? Why would users choose this over alternatives?
30
+ Use Geoffrey Moore's format if helpful:
31
+ "For [target user] who [need], [product] is a [category] that [key benefit].
32
+ Unlike [alternative], our product [differentiator]."]
33
+
34
+ ## Key Objectives
35
+
36
+ <!-- Measurable business and user outcomes the product should achieve. -->
37
+ <!-- Tie to OKRs where possible. -->
38
+
39
+ - [ ] [Objective 1 — measurable outcome]
40
+ - [ ] [Objective 2 — measurable outcome]
41
+ - [ ] [Objective 3 — measurable outcome]
42
+
43
+ ## High-Level Capabilities
44
+
45
+ <!-- Broad capability areas, not detailed requirements. -->
46
+ <!-- These define the product's shape, not its spec. -->
47
+
48
+ - [Capability area 1]
49
+ - [Capability area 2]
50
+ - [Capability area 3]
51
+
52
+ ## Success Metrics
53
+
54
+ <!-- How will you know the product is achieving its vision? -->
55
+
56
+ | Metric | Target | Measurement Method |
57
+ |--------|--------|--------------------|
58
+ | [KPI 1] | [Target] | [How measured] |
59
+ | [KPI 2] | [Target] | [How measured] |
60
+
61
+ ## Competitive Landscape
62
+
63
+ [How does this product differentiate from existing solutions?
64
+ What alternatives exist and why aren't they sufficient?]
65
+
66
+ | Alternative | Strength | Gap We Fill |
67
+ |-------------|----------|-------------|
68
+ | [Competitor/Alternative 1] | [What they do well] | [What they miss] |
69
+ | [Competitor/Alternative 2] | [What they do well] | [What they miss] |
70
+
71
+ ## Constraints and Assumptions
72
+
73
+ - **[Type]**: [What] — [Why]
74
+ - **[Type]**: [What] — [Why]
75
+
76
+ Common types: Tech stack, Timeline, Budget, Dependencies, Regulatory, Platform
77
+
78
+ ## Risks
79
+
80
+ <!-- Key uncertainties that could affect the vision. -->
81
+
82
+ | Risk | Likelihood | Impact | Mitigation |
83
+ |------|-----------|--------|------------|
84
+ | [Risk 1] | [H/M/L] | [H/M/L] | [Strategy] |
85
+
86
+ ---
87
+ *Last updated: [date] after [trigger]*
88
+ ```
89
+
90
+ </template>
91
+
92
+ <guidelines>
93
+
94
+ **Vision Statement:**
95
+ - The north star — concise, inspiring, stable
96
+ - Should fit in one breath; if it takes a paragraph, it's too long
97
+ - Answers "why does this product exist?"
98
+ - Changes rarely; when it does, it's a pivot
99
+
100
+ **Target Audience:**
101
+ - Specific user personas or segments, not demographics
102
+ - Define by behavior and need, not just job title
103
+ - Primary vs secondary audiences if relevant
104
+ - Update as you learn who actually uses the product
105
+
106
+ **Problem Statement:**
107
+ - Frame from the user's perspective, not the builder's
108
+ - Describe the current pain, not your solution
109
+ - Be specific — vague problems lead to vague products
110
+ - Validated problems > assumed problems
111
+
112
+ **Value Proposition:**
113
+ - The bridge between problem and product
114
+ - Must differentiate from alternatives
115
+ - "Why this, why now, why us?"
116
+ - Test: could a competitor say the same thing? If yes, it's not specific enough
117
+
118
+ **Key Objectives:**
119
+ - Measurable outcomes, not features
120
+ - "Users can do X" not "Build feature Y"
121
+ - Tie to business goals where possible
122
+ - 3-5 objectives max — more means no focus
123
+
124
+ **High-Level Capabilities:**
125
+ - Broad strokes of what the product does
126
+ - Think capability areas, not feature lists
127
+ - These inform epic and feature planning downstream
128
+ - Should map clearly to objectives
129
+
130
+ **Success Metrics:**
131
+ - Quantifiable indicators of vision achievement
132
+ - Include target values and how you'll measure them
133
+ - Leading indicators (adoption, engagement) and lagging (revenue, retention)
134
+ - Revisit targets as you learn from real usage
135
+
136
+ **Competitive Landscape:**
137
+ - Honest assessment of alternatives (including "do nothing")
138
+ - Focus on gaps you fill, not feature comparisons
139
+ - Update as the market evolves
140
+
141
+ **Constraints and Assumptions:**
142
+ - Hard limits on what's possible
143
+ - Include the "why" — constraints without rationale get challenged
144
+ - Assumptions are constraints that haven't been validated yet
145
+ - Revisit assumptions regularly
146
+
147
+ **Risks:**
148
+ - Uncertainties that could derail the vision
149
+ - Include mitigation strategies, not just identification
150
+ - High-impact risks need contingency plans
151
+ - Update as risks materialize or are resolved
152
+
153
+ **Last Updated:**
154
+ - Always note when and why the document was updated
155
+ - Format: `after Phase 2` or `after user research round 1`
156
+ - Triggers review of whether content is still accurate
157
+
158
+ </guidelines>
159
+
160
+ <evolution>
161
+
162
+ product-vision.md evolves throughout the product lifecycle, but slower than most artifacts.
163
+
164
+ **After user research or discovery:**
165
+ 1. Problem Statement still accurate? → Refine with evidence
166
+ 2. Target Audience validated? → Update personas with real data
167
+ 3. New risks or assumptions surfaced? → Add them
168
+ 4. Value Proposition resonating? → Sharpen or pivot
169
+
170
+ **After each major release:**
171
+ 1. Key Objectives met? → Mark achieved, add new ones
172
+ 2. Success Metrics hitting targets? → Adjust targets or strategy
173
+ 3. Competitive Landscape shifted? → Update positioning
174
+ 4. Vision Statement still inspiring and accurate? → Refine if drifted
175
+
176
+ **After a pivot or strategic shift:**
177
+ 1. Full review of all sections
178
+ 2. Vision Statement rewrite
179
+ 3. Problem Statement and Value Proposition realignment
180
+ 4. Archive previous version for reference
181
+
182
+ </evolution>
183
+
184
+ <brownfield>
185
+
186
+ For existing products:
187
+
188
+ 1. **Map current product** — what does it actually do today?
189
+
190
+ 2. **Infer Vision and Value Proposition** from existing product:
191
+ - What problem is it currently solving?
192
+ - Who is actually using it?
193
+ - What do users say they value most?
194
+
195
+ 3. **Gather forward-looking input** from stakeholders:
196
+ - Where should the product go next?
197
+ - What's missing from the current vision?
198
+
199
+ 4. **Initialize:**
200
+ - Vision Statement = articulation of current + aspirational direction
201
+ - Target Audience = actual current users + desired future users
202
+ - Problem Statement = validated from real usage patterns
203
+ - Key Objectives = mix of "maintain what works" + "build what's next"
204
+ - Constraints = includes existing technical debt and commitments
205
+
206
+ </brownfield>
207
+
208
+ <state-reference>
209
+
210
+ STATE.md references product-vision.md:
211
+
212
+ ```markdown
213
+ ## Product Vision Reference
214
+
215
+ See: .artifacts/product-overview/product-vision.md (updated [date])
216
+
217
+ **Vision:** [One-liner from Vision Statement]
218
+ **Core audience:** [Primary persona]
219
+ **Current focus:** [Current phase or key objective]
220
+ ```
221
+
222
+ This ensures Claude reads the current product vision context.
223
+
224
+ </state-reference>
225
+
226
+
227
+ </product-vision>
@@ -1,60 +1,51 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * plan-product-vision skill script — Entry point for ace-tools operations
5
- * needed by the plan-product-vision skill.
6
- *
7
- * Subcommands:
8
- * init [args] Environment detection for plan-product-vision workflow
9
- *
10
- * Usage: node script.js <subcommand> [args] [--raw]
11
- */
12
-
13
- const {
14
- loadConfig, pathExists, resolveModel,
15
- detectBrownfieldStatus, output, error,
16
- } = require('../../shared/lib/ace-core');
17
-
18
- // ─── CLI Dispatch ────────────────────────────────────────────────────────────
19
-
20
- const cwd = process.cwd();
21
- const args = process.argv.slice(2);
22
- const raw = args.includes('--raw');
23
- const cmd = args[0];
24
-
25
- switch (cmd) {
26
- case 'init':
27
- cmdInit(cwd, raw, args.slice(1).filter(a => a !== '--raw'));
28
- break;
29
- default:
30
- error(`Unknown command: ${cmd}\nAvailable: init`);
31
- }
32
-
33
- // ─── Init: Plan Product Vision ──────────────────────────────────────────────
34
-
35
- function cmdInit(cwd, raw) {
36
- const config = loadConfig(cwd);
37
- const brownfield = detectBrownfieldStatus(cwd);
38
-
39
- const result = {
40
- // Models
41
- product_owner_model: resolveModel(cwd, 'ace-product-owner'),
42
-
43
- // Config
44
- commit_docs: config.commit_docs,
45
-
46
- // Existing state
47
- has_product_vision: pathExists(cwd, '.docs/product/product-vision.md'),
48
-
49
- // Brownfield detection
50
- ...brownfield,
51
-
52
- // Architecture context
53
- has_system_architecture: pathExists(cwd, '.docs/wiki/system-wide/system-architecture.md'),
54
-
55
- // Git state
56
- has_git: pathExists(cwd, '.git'),
57
- };
58
-
59
- output(result, raw);
60
- }
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * plan-product-vision skill script — Entry point for ace-tools operations
5
+ * needed by the plan-product-vision skill.
6
+ *
7
+ * Subcommands:
8
+ * init [args] Environment detection for plan-product-vision workflow
9
+ *
10
+ * Usage: node script.js <subcommand> [args] [--raw]
11
+ */
12
+
13
+ const {
14
+ loadConfig, pathExists, resolveModel,
15
+ detectBrownfieldStatus, output, error, runSkillScript,
16
+ } = require('../../shared/lib/ace-core');
17
+
18
+ // ─── CLI Dispatch ────────────────────────────────────────────────────────────
19
+
20
+ runSkillScript({
21
+ init: cmdInit,
22
+ });
23
+
24
+ // ─── Init: Plan Product Vision ──────────────────────────────────────────────
25
+
26
+ function cmdInit(cwd, raw, args, parsed) {
27
+ const config = loadConfig(cwd);
28
+ const brownfield = detectBrownfieldStatus(cwd);
29
+
30
+ const result = {
31
+ // Models
32
+ product_owner_model: resolveModel(cwd, 'ace-product-owner'),
33
+
34
+ // Config
35
+ commit_docs: config.commit_docs,
36
+
37
+ // Existing state
38
+ has_product_vision: pathExists(cwd, '.docs/product/product-vision.md'),
39
+
40
+ // Brownfield detection
41
+ ...brownfield,
42
+
43
+ // Architecture context
44
+ has_system_architecture: pathExists(cwd, '.docs/wiki/system-wide/system-architecture.md'),
45
+
46
+ // Git state
47
+ has_git: pathExists(cwd, '.git'),
48
+ };
49
+
50
+ output(result, raw);
51
+ }