speccrew 0.6.48 → 0.6.49

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.
@@ -39,9 +39,11 @@ Worker Agent (speccrew-task-worker)
39
39
  ---
40
40
 
41
41
  ## XML Workflow Definition
42
-
42
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
43
+ ```xml
44
+ <?xml version="1.0" encoding="UTF-8"?>
43
45
  <workflow id="techs-ui-style-generate" status="pending" version="1.0" desc="Generate UI style documents for frontend platform">
44
- > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
46
+
45
47
 
46
48
  <!-- ============================================================
47
49
  Input Parameters Definition
@@ -95,7 +97,7 @@ Worker Agent (speccrew-task-worker)
95
97
  <block type="gateway" id="G0" mode="exclusive" desc="Check platform type eligibility">
96
98
  <branch test="${platform_type} NOT IN ['web', 'mobile', 'desktop']" name="Skip non-frontend platform">
97
99
  <block type="event" id="E0-Skip" action="log" level="warn" desc="Log skip reason">
98
- <field name="message">Skipping UI style generation: {platform_type} is not a frontend platform</field>
100
+ <field name="message">Skipping UI style generation: ${platform_type} is not a frontend platform</field>
99
101
  </block>
100
102
  <block type="output" id="O-Skip" desc="Skip result">
101
103
  <field name="status" value="skipped"/>
@@ -108,15 +110,13 @@ Worker Agent (speccrew-task-worker)
108
110
  Step 0: Read UI Style Templates
109
111
  ============================================================ -->
110
112
  <block type="task" id="S0-B1" action="run-skill" status="pending" desc="Read UI style template files">
111
- <description>Read all UI style template files to understand the required content structure</description>
112
- <template-files>
113
- <file>../speccrew-knowledge-techs-generate-ui-style/templates/COMPONENT-LIBRARY-TEMPLATE.md</file>
114
- <file>../speccrew-knowledge-techs-generate-ui-style/templates/PAGE-LAYOUTS-TEMPLATE.md</file>
115
- <file>../speccrew-knowledge-techs-generate-ui-style/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md</file>
116
- <file>../speccrew-knowledge-techs-generate-ui-style/templates/COLOR-SYSTEM-TEMPLATE.md</file>
117
- </template-files>
118
- <purpose>Understand template structure for fallback path copy+fill workflow</purpose>
119
- <output var="templates_loaded"/>
113
+ <field name="description">Read all UI style template files to understand the required content structure</field>
114
+ <field name="template_file" value="../speccrew-knowledge-techs-generate-ui-style/templates/COMPONENT-LIBRARY-TEMPLATE.md"/>
115
+ <field name="template_file" value="../speccrew-knowledge-techs-generate-ui-style/templates/PAGE-LAYOUTS-TEMPLATE.md"/>
116
+ <field name="template_file" value="../speccrew-knowledge-techs-generate-ui-style/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md"/>
117
+ <field name="template_file" value="../speccrew-knowledge-techs-generate-ui-style/templates/COLOR-SYSTEM-TEMPLATE.md"/>
118
+ <field name="purpose">Understand template structure for fallback path copy+fill workflow</field>
119
+ <field name="output" var="templates_loaded"/>
120
120
  </block>
121
121
 
122
122
  <block type="checkpoint" id="CP0" name="templates_read" desc="Templates read successfully">
@@ -137,30 +137,26 @@ Worker Agent (speccrew-task-worker)
137
137
 
138
138
  <!-- Step 1.1: Invoke UI Analyzer Skill -->
139
139
  <block type="task" id="S1-B1a" action="run-skill" status="pending" desc="Invoke UI analyzer skill">
140
- <description>CRITICAL: Use Skill tool to invoke speccrew-knowledge-techs-ui-analyze</description>
141
- <skill>speccrew-knowledge-techs-ui-analyze</skill>
142
- <parameters>
143
- source_path={source_path}
144
- platform_id={platform_id}
145
- platform_type={platform_type}
146
- framework={framework}
147
- output_path={output_path}/ui-style/
148
- language={language}
149
- </parameters>
150
- <output var="ui_analyze_result"/>
140
+ <field name="description">CRITICAL: Use Skill tool to invoke speccrew-knowledge-techs-ui-analyze</field>
141
+ <field name="skill">speccrew-knowledge-techs-ui-analyze</field>
142
+ <field name="source_path" value="${source_path}"/>
143
+ <field name="platform_id" value="${platform_id}"/>
144
+ <field name="platform_type" value="${platform_type}"/>
145
+ <field name="framework" value="${framework}"/>
146
+ <field name="output_path" value="${output_path}/ui-style/"/>
147
+ <field name="language" value="${language}"/>
148
+ <field name="output" var="ui_analyze_result"/>
151
149
  </block>
152
150
 
153
151
  <!-- Verify Primary Path Output -->
154
152
  <block type="task" id="S1-B1b" action="run-script" status="pending" desc="Verify UI analyzer output files">
155
- <description>Wait for completion and verify output files exist</description>
156
- <required-files>
157
- <file>{output_path}/ui-style/ui-style-guide.md</file>
158
- <file>{output_path}/ui-style/page-types/page-type-summary.md</file>
159
- <file>{output_path}/ui-style/components/component-library.md</file>
160
- <file>{output_path}/ui-style/layouts/page-layouts.md</file>
161
- <file>{output_path}/ui-style/styles/color-system.md</file>
162
- </required-files>
163
- <output var="primary_output_verified"/>
153
+ <field name="description">Wait for completion and verify output files exist</field>
154
+ <field name="required_file" value="${output_path}/ui-style/ui-style-guide.md"/>
155
+ <field name="required_file" value="${output_path}/ui-style/page-types/page-type-summary.md"/>
156
+ <field name="required_file" value="${output_path}/ui-style/components/component-library.md"/>
157
+ <field name="required_file" value="${output_path}/ui-style/layouts/page-layouts.md"/>
158
+ <field name="required_file" value="${output_path}/ui-style/styles/color-system.md"/>
159
+ <field name="output" var="primary_output_verified"/>
164
160
  </block>
165
161
 
166
162
  <block type="gateway" id="G1a" mode="guard" test="${primary_output_verified} == true" fail-action="fallback" desc="Check primary path success">
@@ -179,83 +175,73 @@ Worker Agent (speccrew-task-worker)
179
175
 
180
176
  <!-- Step 1.2: Secondary Path - Create Directory Structure -->
181
177
  <block type="task" id="S1-B2a" action="run-script" status="pending" desc="Create ui-style directory structure">
182
- <description>Create all required directories for UI style output</description>
183
- <create-directories>
184
- <path>{output_path}/ui-style/</path>
185
- <path>{output_path}/ui-style/page-types/</path>
186
- <path>{output_path}/ui-style/components/</path>
187
- <path>{output_path}/ui-style/layouts/</path>
188
- <path>{output_path}/ui-style/styles/</path>
189
- </create-directories>
178
+ <field name="description">Create all required directories for UI style output</field>
179
+ <field name="create_directory" value="${output_path}/ui-style/"/>
180
+ <field name="create_directory" value="${output_path}/ui-style/page-types/"/>
181
+ <field name="create_directory" value="${output_path}/ui-style/components/"/>
182
+ <field name="create_directory" value="${output_path}/ui-style/layouts/"/>
183
+ <field name="create_directory" value="${output_path}/ui-style/styles/"/>
190
184
  </block>
191
185
 
192
186
  <!-- Step 1.2.1: Generate ui-style-guide.md -->
193
187
  <block type="task" id="S1-B2b" action="run-skill" status="pending" desc="Generate minimal ui-style-guide.md">
194
- <description>Manually scan source code and generate ui-style-guide.md</description>
195
- <scan-directories>
196
- <dir>{source_path}/src/styles/</dir>
197
- <dir>{source_path}/src/theme/</dir>
198
- <dir>{source_path}/src/components/</dir>
199
- <dir>{source_path}/src/pages/</dir>
200
- <dir>{source_path}/src/views/</dir>
201
- </scan-directories>
202
- <extract>
203
- <item>Design system: identify UI framework from dependencies</item>
204
- <item>Color system: scan CSS variables, theme files</item>
205
- <item>Typography: scan font-family declarations</item>
206
- <item>Component library: list component directories</item>
207
- <item>Page types: list page directories/files</item>
208
- </extract>
209
- <output-file>{output_path}/ui-style/ui-style-guide.md</output-file>
210
- <note>If automated analysis unavailable, use reference-only format</note>
188
+ <field name="description">Manually scan source code and generate ui-style-guide.md</field>
189
+ <field name="scan_directory" value="${source_path}/src/styles/"/>
190
+ <field name="scan_directory" value="${source_path}/src/theme/"/>
191
+ <field name="scan_directory" value="${source_path}/src/components/"/>
192
+ <field name="scan_directory" value="${source_path}/src/pages/"/>
193
+ <field name="scan_directory" value="${source_path}/src/views/"/>
194
+ <field name="extract">Design system: identify UI framework from dependencies</field>
195
+ <field name="extract">Color system: scan CSS variables, theme files</field>
196
+ <field name="extract">Typography: scan font-family declarations</field>
197
+ <field name="extract">Component library: list component directories</field>
198
+ <field name="extract">Page types: list page directories/files</field>
199
+ <field name="output_file" value="${output_path}/ui-style/ui-style-guide.md"/>
200
+ <field name="note">If automated analysis unavailable, use reference-only format</field>
211
201
  </block>
212
202
 
213
203
  <!-- Step 1.2.2: Copy and Fill Templates -->
214
204
  <block type="task" id="S1-B2c" action="run-skill" status="pending" desc="Copy template and fill component-library.md">
215
- <description>Copy COMPONENT-LIBRARY-TEMPLATE.md and fill with search_replace</description>
216
- <template-source>../speccrew-knowledge-techs-generate-ui-style/templates/COMPONENT-LIBRARY-TEMPLATE.md</template-source>
217
- <output-file>{output_path}/ui-style/components/component-library.md</output-file>
218
- <constraints>
219
- <rule level="forbidden">Using create_file to write entire document</rule>
220
- <rule level="mandatory">Use search_replace to fill each section</rule>
221
- <rule level="mandatory">Include props tables for top 5 components</rule>
222
- </constraints>
223
- <fill-sections>COMPONENT_CATEGORIES, API_REFERENCE, COMPOSITION_PATTERNS, AGENT_GUIDE</fill-sections>
205
+ <field name="description">Copy COMPONENT-LIBRARY-TEMPLATE.md and fill with search_replace</field>
206
+ <field name="template_source" value="../speccrew-knowledge-techs-generate-ui-style/templates/COMPONENT-LIBRARY-TEMPLATE.md"/>
207
+ <field name="output_file" value="${output_path}/ui-style/components/component-library.md"/>
208
+ <field name="constraint" value="FORBIDDEN: Using create_file to write entire document"/>
209
+ <field name="constraint" value="MANDATORY: Use search_replace to fill each section"/>
210
+ <field name="constraint" value="MANDATORY: Include props tables for top 5 components"/>
211
+ <field name="fill_sections" value="COMPONENT_CATEGORIES, API_REFERENCE, COMPOSITION_PATTERNS, AGENT_GUIDE"/>
224
212
  </block>
225
213
 
226
214
  <block type="task" id="S1-B2d" action="run-skill" status="pending" desc="Copy template and fill page-layouts.md">
227
- <description>Copy PAGE-LAYOUTS-TEMPLATE.md and fill with search_replace</description>
228
- <template-source>../speccrew-knowledge-techs-generate-ui-style/templates/PAGE-LAYOUTS-TEMPLATE.md</template-source>
229
- <output-file>{output_path}/ui-style/layouts/page-layouts.md</output-file>
230
- <fill-sections>LAYOUT_TYPES, LAYOUT_DETAILS, NAVIGATION</fill-sections>
215
+ <field name="description">Copy PAGE-LAYOUTS-TEMPLATE.md and fill with search_replace</field>
216
+ <field name="template_source" value="../speccrew-knowledge-techs-generate-ui-style/templates/PAGE-LAYOUTS-TEMPLATE.md"/>
217
+ <field name="output_file" value="${output_path}/ui-style/layouts/page-layouts.md"/>
218
+ <field name="fill_sections" value="LAYOUT_TYPES, LAYOUT_DETAILS, NAVIGATION"/>
231
219
  </block>
232
220
 
233
221
  <block type="task" id="S1-B2e" action="run-skill" status="pending" desc="Copy template and fill page-type-summary.md">
234
- <description>Copy PAGE-TYPE-SUMMARY-TEMPLATE.md and fill with search_replace</description>
235
- <template-source>../speccrew-knowledge-techs-generate-ui-style/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md</template-source>
236
- <output-file>{output_path}/ui-style/page-types/page-type-summary.md</output-file>
237
- <fill-sections>PAGE_TYPES, PAGE_TYPE_DETAILS, ROUTING</fill-sections>
222
+ <field name="description">Copy PAGE-TYPE-SUMMARY-TEMPLATE.md and fill with search_replace</field>
223
+ <field name="template_source" value="../speccrew-knowledge-techs-generate-ui-style/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md"/>
224
+ <field name="output_file" value="${output_path}/ui-style/page-types/page-type-summary.md"/>
225
+ <field name="fill_sections" value="PAGE_TYPES, PAGE_TYPE_DETAILS, ROUTING"/>
238
226
  </block>
239
227
 
240
228
  <block type="task" id="S1-B2f" action="run-skill" status="pending" desc="Copy template and fill color-system.md">
241
- <description>Copy COLOR-SYSTEM-TEMPLATE.md and fill with search_replace</description>
242
- <template-source>../speccrew-knowledge-techs-generate-ui-style/templates/COLOR-SYSTEM-TEMPLATE.md</template-source>
243
- <output-file>{output_path}/ui-style/styles/color-system.md</output-file>
244
- <fill-sections>THEME_COLORS, FUNCTIONAL_COLORS, SEMANTIC_TOKENS, TYPOGRAPHY, SPACING</fill-sections>
229
+ <field name="description">Copy COLOR-SYSTEM-TEMPLATE.md and fill with search_replace</field>
230
+ <field name="template_source" value="../speccrew-knowledge-techs-generate-ui-style/templates/COLOR-SYSTEM-TEMPLATE.md"/>
231
+ <field name="output_file" value="${output_path}/ui-style/styles/color-system.md"/>
232
+ <field name="fill_sections" value="THEME_COLORS, FUNCTIONAL_COLORS, SEMANTIC_TOKENS, TYPOGRAPHY, SPACING"/>
245
233
  </block>
246
234
 
247
235
  <!-- Self-Verification -->
248
236
  <block type="task" id="S1-B2g" action="run-script" status="pending" desc="Verify all mandatory files exist">
249
- <description>Self-verification checklist - MUST complete before proceeding</description>
250
- <checklist>
251
- <item verify="exists">{output_path}/ui-style/ui-style-guide.md</item>
252
- <item verify="exists">{output_path}/ui-style/page-types/page-type-summary.md</item>
253
- <item verify="exists">{output_path}/ui-style/components/component-library.md</item>
254
- <item verify="exists">{output_path}/ui-style/layouts/page-layouts.md</item>
255
- <item verify="exists">{output_path}/ui-style/styles/color-system.md</item>
256
- </checklist>
257
- <on-fail>Generate missing file before proceeding</on-fail>
258
- <output var="secondary_verification"/>
237
+ <field name="description">Self-verification checklist - MUST complete before proceeding</field>
238
+ <field name="checklist_item" value="exists: ${output_path}/ui-style/ui-style-guide.md"/>
239
+ <field name="checklist_item" value="exists: ${output_path}/ui-style/page-types/page-type-summary.md"/>
240
+ <field name="checklist_item" value="exists: ${output_path}/ui-style/components/component-library.md"/>
241
+ <field name="checklist_item" value="exists: ${output_path}/ui-style/layouts/page-layouts.md"/>
242
+ <field name="checklist_item" value="exists: ${output_path}/ui-style/styles/color-system.md"/>
243
+ <field name="on_fail">Generate missing file before proceeding</field>
244
+ <field name="output" var="secondary_verification"/>
259
245
  </block>
260
246
 
261
247
  <block type="event" id="E1b" action="log" level="info" desc="Record analysis level">
@@ -269,20 +255,18 @@ Worker Agent (speccrew-task-worker)
269
255
 
270
256
  <!-- Step 1.3: Tertiary Path - Reference Only -->
271
257
  <block type="task" id="S1-B3a" action="run-skill" status="pending" desc="Generate reference-only ui-style-guide.md">
272
- <description>Create ui-style-guide.md with references only when analysis is not possible</description>
273
- <output-file>{output_path}/ui-style/ui-style-guide.md</output-file>
274
- <content>
275
- # UI Style Guide - {platform_id}
258
+ <field name="description">Create ui-style-guide.md with references only when analysis is not possible</field>
259
+ <field name="output_file" value="${output_path}/ui-style/ui-style-guide.md"/>
260
+ <field name="content"># UI Style Guide - ${platform_id}
276
261
 
277
262
  > Note: Automated and manual UI analysis were not possible for this platform.
278
263
  > Manual inspection of source code is required.
279
264
 
280
265
  ## References
281
- - Source components: {source_path}/src/components/ (if exists)
282
- - Source pages: {source_path}/src/pages/ (if exists)
283
- - Style files: {source_path}/src/styles/ (if exists)
284
- - Package dependencies: {source_path}/package.json
285
- </content>
266
+ - Source components: ${source_path}/src/components/ (if exists)
267
+ - Source pages: ${source_path}/src/pages/ (if exists)
268
+ - Style files: ${source_path}/src/styles/ (if exists)
269
+ - Package dependencies: ${source_path}/package.json</field>
286
270
  </block>
287
271
 
288
272
  <block type="event" id="E1c" action="log" level="info" desc="Record analysis level">
@@ -302,37 +286,34 @@ Worker Agent (speccrew-task-worker)
302
286
  Step 2: Write Output Files
303
287
  ============================================================ -->
304
288
  <block type="task" id="S2-B1" action="run-script" status="pending" desc="Ensure output directories exist">
305
- <description>Create output directory structure if not exists</description>
306
- <create-directories>
307
- <path>{output_path}/ui-style/</path>
308
- <path>{output_path}/ui-style/page-types/</path>
309
- <path>{output_path}/ui-style/components/</path>
310
- <path>{output_path}/ui-style/layouts/</path>
311
- <path>{output_path}/ui-style/styles/</path>
312
- </create-directories>
289
+ <field name="description">Create output directory structure if not exists</field>
290
+ <field name="create_directory" value="${output_path}/ui-style/"/>
291
+ <field name="create_directory" value="${output_path}/ui-style/page-types/"/>
292
+ <field name="create_directory" value="${output_path}/ui-style/components/"/>
293
+ <field name="create_directory" value="${output_path}/ui-style/layouts/"/>
294
+ <field name="create_directory" value="${output_path}/ui-style/styles/"/>
313
295
  </block>
314
296
 
315
297
  <block type="event" id="E2" action="log" level="info" desc="Output files written">
316
- <field name="message">All UI style documents written to {output_path}/ui-style/</field>
298
+ <field name="message">All UI style documents written to ${output_path}/ui-style/</field>
317
299
  </block>
318
300
 
319
301
  <block type="checkpoint" id="CP2" name="output_files_written" desc="Output files written">
320
- <field name="verify" value="file_exists({output_path}/ui-style/ui-style-guide.md)"/>
302
+ <field name="verify" value="file_exists(${output_path}/ui-style/ui-style-guide.md)"/>
321
303
  </block>
322
304
 
323
305
  <!-- ============================================================
324
306
  Step 3: Generate Analysis Report
325
307
  ============================================================ -->
326
308
  <block type="task" id="S3-B1" action="run-script" status="pending" desc="Generate analysis report JSON">
327
- <description>Generate analysis report with topic coverage details</description>
328
- <output-file>{completed_dir}/{platform_id}.analysis-ui-style.json</output-file>
329
- <format>
330
- {
331
- "platform_id": "{platform_id}",
332
- "platform_type": "{platform_type}",
309
+ <field name="description">Generate analysis report with topic coverage details</field>
310
+ <field name="output_file" value="${completed_dir}/${platform_id}.analysis-ui-style.json"/>
311
+ <field name="format">{
312
+ "platform_id": "${platform_id}",
313
+ "platform_type": "${platform_type}",
333
314
  "worker_type": "ui-style",
334
- "analyzed_at": "{ISO 8601 timestamp}",
335
- "ui_analysis_level": "{ui_analysis_level}",
315
+ "analyzed_at": "${ISO_8601_timestamp}",
316
+ "ui_analysis_level": "${ui_analysis_level}",
336
317
  "topics": {
337
318
  "page_types": { "status": "found|not_found|partial", "count": N, "files_analyzed": [...] },
338
319
  "components": { "status": "found|not_found|partial", "count": N, "files_analyzed": [...] },
@@ -342,55 +323,48 @@ Worker Agent (speccrew-task-worker)
342
323
  "documents_generated": [...],
343
324
  "source_dirs_scanned": [...],
344
325
  "coverage_summary": { "total_topics": 4, "found": N, "not_found": N, "partial": N, "coverage_percent": N }
345
- }
346
- </format>
347
- <output var="analysis_report"/>
326
+ }</field>
327
+ <field name="output" var="analysis_report"/>
348
328
  </block>
349
329
 
350
330
  <block type="checkpoint" id="CP3" name="analysis_report_generated" desc="Analysis report generated">
351
- <field name="verify" value="file_exists({completed_dir}/{platform_id}.analysis-ui-style.json)"/>
331
+ <field name="verify" value="file_exists(${completed_dir}/${platform_id}.analysis-ui-style.json)"/>
352
332
  </block>
353
333
 
354
334
  <!-- ============================================================
355
335
  Step 4: Report Results
356
336
  ============================================================ -->
357
337
  <block type="task" id="S4-B1" action="run-script" status="pending" desc="Generate completion marker">
358
- <description>Create completion marker file after verifying all required files</description>
359
- <validation>
360
- <rule level="mandatory">Verify all required files exist before writing marker</rule>
361
- <required-files>
362
- <file>{output_path}/ui-style/ui-style-guide.md</file>
363
- <file>{output_path}/ui-style/page-types/page-type-summary.md</file>
364
- <file>{output_path}/ui-style/components/component-library.md</file>
365
- <file>{output_path}/ui-style/layouts/page-layouts.md</file>
366
- <file>{output_path}/ui-style/styles/color-system.md</file>
367
- </required-files>
368
- </validation>
369
- <output-file>{completed_dir}/{platform_id}.done-ui-style.json</output-file>
370
- <format>
371
- {
372
- "platform_id": "{platform_id}",
338
+ <field name="description">Create completion marker file after verifying all required files</field>
339
+ <field name="validation_rule" value="MANDATORY: Verify all required files exist before writing marker"/>
340
+ <field name="required_file" value="${output_path}/ui-style/ui-style-guide.md"/>
341
+ <field name="required_file" value="${output_path}/ui-style/page-types/page-type-summary.md"/>
342
+ <field name="required_file" value="${output_path}/ui-style/components/component-library.md"/>
343
+ <field name="required_file" value="${output_path}/ui-style/layouts/page-layouts.md"/>
344
+ <field name="required_file" value="${output_path}/ui-style/styles/color-system.md"/>
345
+ <field name="output_file" value="${completed_dir}/${platform_id}.done-ui-style.json"/>
346
+ <field name="format">{
347
+ "platform_id": "${platform_id}",
373
348
  "worker_type": "ui-style",
374
349
  "status": "completed",
375
- "ui_analysis_level": "{ui_analysis_level}",
350
+ "ui_analysis_level": "${ui_analysis_level}",
376
351
  "documents_generated": [...],
377
- "analysis_file": "{platform_id}.analysis-ui-style.json",
378
- "completed_at": "{ISO timestamp}"
379
- }
380
- </format>
381
- <output var="completion_marker"/>
352
+ "analysis_file": "${platform_id}.analysis-ui-style.json",
353
+ "completed_at": "${ISO_timestamp}"
354
+ }</field>
355
+ <field name="output" var="completion_marker"/>
382
356
  </block>
383
357
 
384
358
  <block type="event" id="E4" action="log" level="info" desc="Report completion">
385
- <field name="message">Platform UI Style Documents Generated: {platform_id}
386
- - ui-style-guide.md: ✓ (analysis level: {ui_analysis_level})
359
+ <field name="message">Platform UI Style Documents Generated: ${platform_id}
360
+ - ui-style-guide.md: ✓ (analysis level: ${ui_analysis_level})
387
361
  - page-types/page-type-summary.md: ✓
388
362
  - components/component-library.md: ✓
389
363
  - layouts/page-layouts.md: ✓
390
364
  - styles/color-system.md: ✓
391
- - Output Directory: {output_path}/ui-style/
392
- - Analysis Report: {completed_dir}/{platform_id}.analysis-ui-style.json
393
- - Completion Marker: {completed_dir}/{platform_id}.done-ui-style.json</field>
365
+ - Output Directory: ${output_path}/ui-style/
366
+ - Analysis Report: ${completed_dir}/${platform_id}.analysis-ui-style.json
367
+ - Completion Marker: ${completed_dir}/${platform_id}.done-ui-style.json</field>
394
368
  </block>
395
369
 
396
370
  <!-- ============================================================
@@ -401,15 +375,13 @@ Worker Agent (speccrew-task-worker)
401
375
  <field name="status" value="completed"/>
402
376
  <field name="ui_analysis_level" from="${ui_analysis_level}" type="string"/>
403
377
  <field name="output_directory" from="${output_path}/ui-style/" type="string"/>
404
- <field name="documents_generated" type="array">
405
- <item>ui-style-guide.md</item>
406
- <item>page-types/page-type-summary.md</item>
407
- <item>components/component-library.md</item>
408
- <item>layouts/page-layouts.md</item>
409
- <item>styles/color-system.md</item>
410
- </field>
411
- <field name="analysis_report" from="${completed_dir}/{platform_id}.analysis-ui-style.json" type="string"/>
412
- <field name="completion_marker" from="${completed_dir}/{platform_id}.done-ui-style.json" type="string"/>
378
+ <field name="documents_generated" value="ui-style-guide.md"/>
379
+ <field name="documents_generated" value="page-types/page-type-summary.md"/>
380
+ <field name="documents_generated" value="components/component-library.md"/>
381
+ <field name="documents_generated" value="layouts/page-layouts.md"/>
382
+ <field name="documents_generated" value="styles/color-system.md"/>
383
+ <field name="analysis_report" from="${completed_dir}/${platform_id}.analysis-ui-style.json" type="string"/>
384
+ <field name="completion_marker" from="${completed_dir}/${platform_id}.done-ui-style.json" type="string"/>
413
385
  </block>
414
386
 
415
387
  </branch>
@@ -429,12 +401,13 @@ Worker Agent (speccrew-task-worker)
429
401
  </catch>
430
402
  <catch on="output_write_failed">
431
403
  <block type="event" id="EH1-E2" action="log" level="error" desc="Output write failed">
432
- <field name="message">Failed to write output files: {error.message}</field>
404
+ <field name="message">Failed to write output files: ${error.message}</field>
433
405
  </block>
434
406
  </catch>
435
407
  </block>
436
408
 
437
409
  </workflow>
410
+ ```
438
411
 
439
412
  ---
440
413
 
@@ -38,8 +38,10 @@ Generate comprehensive technology documentation for a specific platform by analy
38
38
 
39
39
  ## Workflow
40
40
 
41
- > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
41
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
42
42
 
43
+ ```xml
44
+ <?xml version="1.0" encoding="UTF-8"?>
43
45
  <workflow id="techs-generate-main" status="pending" version="1.0" desc="Platform technology documentation generation">
44
46
 
45
47
  <!-- ============================================================
@@ -237,6 +239,7 @@ Generate comprehensive technology documentation for a specific platform by analy
237
239
  </block>
238
240
 
239
241
  </workflow>
242
+ ```
240
243
 
241
244
  ---
242
245
 
@@ -48,8 +48,10 @@ Worker Agent (speccrew-task-worker)
48
48
 
49
49
  ## Workflow
50
50
 
51
- > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
51
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
52
52
 
53
+ ```xml
54
+ <?xml version="1.0" encoding="UTF-8"?>
53
55
  <workflow id="techs-index-main" status="pending" version="1.0" desc="Root technology index generation from platform manifests">
54
56
 
55
57
  <!-- ============================================================
@@ -203,6 +205,7 @@ Worker Agent (speccrew-task-worker)
203
205
  </block>
204
206
 
205
207
  </workflow>
208
+ ```
206
209
 
207
210
  ---
208
211
 
@@ -41,8 +41,10 @@ Worker Agent (speccrew-task-worker)
41
41
 
42
42
  ## Workflow
43
43
 
44
- > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
44
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
45
45
 
46
+ ```xml
47
+ <?xml version="1.0" encoding="UTF-8"?>
46
48
  <workflow id="techs-init-main" status="pending" version="1.0" desc="Technology platform detection and manifest generation">
47
49
 
48
50
  <!-- ============================================================
@@ -256,6 +258,7 @@ Stage 1 completed: Technology Platform Detection
256
258
  </block>
257
259
 
258
260
  </workflow>
261
+ ```
259
262
 
260
263
  ---
261
264
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speccrew",
3
- "version": "0.6.48",
3
+ "version": "0.6.49",
4
4
  "description": "Spec-Driven Development toolkit for AI-powered IDEs",
5
5
  "author": "charlesmu99",
6
6
  "repository": {