speccrew 0.6.47 → 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.
@@ -105,8 +105,10 @@ Before executing the workflow, verify the following inputs:
105
105
 
106
106
  ## Workflow
107
107
 
108
- > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
108
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
109
109
 
110
+ ```xml
111
+ <?xml version="1.0" encoding="UTF-8"?>
110
112
  <workflow id="api-controller-analysis" status="pending" version="1.0" desc="API controller analysis workflow">
111
113
 
112
114
  <!-- ==================== INPUT PARAMETERS ==================== -->
@@ -616,6 +618,7 @@ Before executing the workflow, verify the following inputs:
616
618
  </block>
617
619
 
618
620
  </workflow>
621
+ ```
619
622
 
620
623
  ## Reference Guides
621
624
 
@@ -71,8 +71,10 @@ This skill operates in **strict sequential execution mode**:
71
71
 
72
72
  ## Workflow
73
73
 
74
- > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
74
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
75
75
 
76
+ ```xml
77
+ <?xml version="1.0" encoding="UTF-8"?>
76
78
  <workflow id="api-knowledge-graph-construction" version="1.0" status="pending" desc="API knowledge graph construction workflow">
77
79
 
78
80
  <!-- Input Parameters -->
@@ -137,7 +139,7 @@ This skill operates in **strict sequential execution mode**:
137
139
  </block>
138
140
 
139
141
  <block type="event" id="E1" action="log" level="info" desc="Log step 1 completion">
140
- Step 1 Status: COMPLETED - Read ${api_analysis_path}, Found ${endpoints.length} endpoints
142
+ <field name="message">Step 1 Status: COMPLETED - Read ${api_analysis_path}, Found ${endpoints.length} endpoints</field>
141
143
  </block>
142
144
  </sequence>
143
145
 
@@ -212,7 +214,7 @@ Step 1 Status: COMPLETED - Read ${api_analysis_path}, Found ${endpoints.length}
212
214
  </block>
213
215
 
214
216
  <block type="event" id="E2" action="log" level="info" desc="Log step 2 completion">
215
- Step 2 Status: COMPLETED - Extracted graph nodes (${apiNodes.length} APIs, ${serviceNodes.length} services, ${tableNodes.length} tables, ${dtoNodes.length} DTOs)
217
+ <field name="message">Step 2 Status: COMPLETED - Extracted graph nodes (${apiNodes.length} APIs, ${serviceNodes.length} services, ${tableNodes.length} tables, ${dtoNodes.length} DTOs)</field>
216
218
  </block>
217
219
  </sequence>
218
220
 
@@ -291,7 +293,7 @@ Step 2 Status: COMPLETED - Extracted graph nodes (${apiNodes.length} APIs, ${ser
291
293
  </block>
292
294
 
293
295
  <block type="event" id="E3" action="log" level="info" desc="Log step 3 completion">
294
- Step 3 Status: COMPLETED - Extracted graph edges (${operatesEdges.length + invokesEdges.length + referencesEdges.length + dependsOnEdges.length + mapsToEdges.length} total)
296
+ <field name="message">Step 3 Status: COMPLETED - Extracted graph edges (${operatesEdges.length + invokesEdges.length + referencesEdges.length + dependsOnEdges.length + mapsToEdges.length} total)</field>
295
297
  </block>
296
298
  </sequence>
297
299
 
@@ -315,7 +317,7 @@ Step 3 Status: COMPLETED - Extracted graph edges (${operatesEdges.length + invok
315
317
  </block>
316
318
 
317
319
  <block type="event" id="E4" action="log" level="info" desc="Log step 4 completion">
318
- Step 4 Status: COMPLETED - Graph JSON written to ${output_dir}/${markerFilename}.graph.json
320
+ <field name="message">Step 4 Status: COMPLETED - Graph JSON written to ${output_dir}/${markerFilename}.graph.json</field>
319
321
  </block>
320
322
  </sequence>
321
323
 
@@ -331,7 +333,7 @@ Step 4 Status: COMPLETED - Graph JSON written to ${output_dir}/${markerFilename}
331
333
  </block>
332
334
 
333
335
  <block type="event" id="E5" action="log" level="info" desc="Log step 5 completion">
334
- Step 5 Status: COMPLETED - Graph completion marker written to ${output_dir}/${markerFilename}.graph-done.json
336
+ <field name="message">Step 5 Status: COMPLETED - Graph completion marker written to ${output_dir}/${markerFilename}.graph-done.json</field>
335
337
  </block>
336
338
  </sequence>
337
339
 
@@ -340,12 +342,12 @@ Step 5 Status: COMPLETED - Graph completion marker written to ${output_dir}/${ma
340
342
  <block type="gateway" id="G6" mode="exclusive" desc="Determine result status">
341
343
  <branch test="${success} == true" name="Success">
342
344
  <block type="event" id="E6a" action="log" level="info" desc="Log success">
343
- Step 6 Status: COMPLETED - Graph construction success: Generated graph data with ${node_count} nodes and ${edge_count} edges
345
+ <field name="message">Step 6 Status: COMPLETED - Graph construction success: Generated graph data with ${node_count} nodes and ${edge_count} edges</field>
344
346
  </block>
345
347
  </branch>
346
348
  <branch test="${success} == false" name="Failure">
347
349
  <block type="event" id="E6b" action="log" level="error" desc="Log failure">
348
- Step 6 Status: COMPLETED - Graph construction failed: ${error_message}
350
+ <field name="message">Step 6 Status: COMPLETED - Graph construction failed: ${error_message}</field>
349
351
  </block>
350
352
  </branch>
351
353
  </block>
@@ -383,6 +385,7 @@ Step 6 Status: COMPLETED - Graph construction failed: ${error_message}
383
385
  </block>
384
386
 
385
387
  </workflow>
388
+ ```
386
389
 
387
390
  ## Node ID Naming Convention
388
391
 
@@ -6,7 +6,7 @@ tools: Read, Write, Task, Bash
6
6
 
7
7
  > **⚠️ MANDATORY EXECUTION PROTOCOL — READ BEFORE EXECUTING ANY BLOCK**
8
8
  >
9
- > **Step 1**: Load XML workflow specification: `docs/rules/xml-workflow-spec.md` — this defines all block types and action-to-tool mappings
9
+ > **Step 1**: Load XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md` — this defines all block types and action-to-tool mappings
10
10
  >
11
11
  > **Step 2**: Execute this SKILL.md's XML workflow **block by block in document order**:
12
12
  > - `action="run-script"` → Execute via **Terminal tool** (PowerShell/Bash)
@@ -98,6 +98,10 @@ Stage 4: System Summary
98
98
 
99
99
  ## XML Workflow Definition
100
100
 
101
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
102
+
103
+ ```xml
104
+ <?xml version="1.0" encoding="UTF-8"?>
101
105
  <workflow id="bizs-dispatch-main" status="pending" version="1.0" desc="bizs knowledge base generation 5-stage pipeline">
102
106
 
103
107
  <!-- ============================================================
@@ -186,7 +190,7 @@ Stage 4: System Summary
186
190
  <field name="message">Skipping empty directory: ${module.name}</field>
187
191
  </block>
188
192
  <block type="event" id="S0-E1" action="log" level="info" desc="Log backend module">
189
- Discovered backend module: ${module.name} → Platform type: backend-${module.business_name}
193
+ <field name="message">Discovered backend module: ${module.name} → Platform type: backend-${module.business_name}</field>
190
194
  </block>
191
195
  </block>
192
196
 
@@ -199,7 +203,7 @@ Discovered backend module: ${module.name} → Platform type: backend-${module.bu
199
203
  <field name="message">Skipping non-frontend directory: ${frontend.name}</field>
200
204
  </block>
201
205
  <block type="event" id="S0-E2" action="log" level="info" desc="Log frontend platform">
202
- Discovered frontend platform: ${frontend.name} → Tech stack: Vue/React/UniApp
206
+ <field name="message">Discovered frontend platform: ${frontend.name} → Tech stack: Vue/React/UniApp</field>
203
207
  </block>
204
208
  </block>
205
209
 
@@ -221,17 +225,19 @@ Discovered frontend platform: ${frontend.name} → Tech stack: Vue/React/UniApp
221
225
  <block type="event" id="S0-E3" action="confirm" title="Confirm Platform List" type="yesno" desc="Wait for user to confirm detected platform list">
222
226
  <field name="preview">
223
227
  Detected ${platforms.length} platforms:
224
- <loop over="${platforms}" as="platform">
225
- - ${platform.platformId}: ${platform.sourcePath} (${platform.platformType}/${platform.platformSubtype})
226
- </loop>
228
+ (For each platform in ${platforms}, display: ${platform.platformId}: ${sourcePath} (${platformType}/${platformSubtype}))
227
229
 
228
230
  Continue with knowledge base generation?
229
231
  </field>
230
232
  <on-confirm>
231
- <block type="event" action="log" level="info" desc="User confirmed">User confirmed platform list, continuing</block>
233
+ <block type="event" action="log" level="info" desc="User confirmed">
234
+ <field name="message">User confirmed platform list, continuing</field>
235
+ </block>
232
236
  </on-confirm>
233
237
  <on-cancel>
234
- <block type="event" action="log" level="warn" desc="User cancelled">User cancelled, terminating workflow</block>
238
+ <block type="event" action="log" level="warn" desc="User cancelled">
239
+ <field name="message">User cancelled, terminating workflow</field>
240
+ </block>
235
241
  <field name="workflow.status" value="cancelled"/>
236
242
  </on-cancel>
237
243
  </block>
@@ -243,7 +249,7 @@ Continue with knowledge base generation?
243
249
  </block>
244
250
 
245
251
  <block type="event" id="S0-E4" action="log" level="info" desc="Report detected platform list">
246
- Detected ${platforms.length} platforms: ${platforms.names}
252
+ <field name="message">Detected ${platforms.length} platforms: ${platforms.names}</field>
247
253
  </block>
248
254
  </sequence>
249
255
 
@@ -313,7 +319,7 @@ Detected ${platforms.length} platforms: ${platforms.names}
313
319
  </block>
314
320
 
315
321
  <block type="event" id="S1b-E1" action="log" level="info" desc="Report Feature inventory statistics">
316
- Feature inventory initialized. ${feature_count} features across ${platform_count} platforms.
322
+ <field name="message">Feature inventory initialized. ${feature_count} features across ${platform_count} platforms.</field>
317
323
  </block>
318
324
  </sequence>
319
325
 
@@ -343,11 +349,11 @@ Feature inventory initialized. ${feature_count} features across ${platform_count
343
349
 
344
350
  <!-- Step 2: Report merge result -->
345
351
  <block type="event" id="S1c-E1" action="log" level="info" desc="Report merge result">
346
- Feature merge complete:
352
+ <field name="message">Feature merge complete:
347
353
  - Added: ${merge_result.added}
348
354
  - Removed: ${merge_result.removed}
349
355
  - Changed: ${merge_result.changed} (reset for re-analysis)
350
- - Unchanged: ${merge_result.unchanged} (analysis state preserved)
356
+ - Unchanged: ${merge_result.unchanged} (analysis state preserved)</field>
351
357
  </block>
352
358
 
353
359
  <!-- Step 3: Mark stale Features -->
@@ -361,7 +367,7 @@ Feature merge complete:
361
367
  </branch>
362
368
  <branch default="true" name="Full mode">
363
369
  <block type="event" id="S1c-E2" action="log" level="info" desc="Full mode skip merge">
364
- Full mode, skipping Feature merge step
370
+ <field name="message">Full mode, skipping Feature merge step</field>
365
371
  </block>
366
372
  </branch>
367
373
  </block>
@@ -417,7 +423,7 @@ Full mode, skipping Feature merge step
417
423
  <block type="gateway" id="S2-G0" mode="exclusive" desc="Determine batch response">
418
424
  <branch test="${batch_response.action} == 'done'" name="All Features processed">
419
425
  <block type="event" id="S2-E-Done" action="log" level="info" desc="All Features processed">
420
- All Features analyzed, exiting Stage 2 loop
426
+ <field name="message">All Features analyzed, exiting Stage 2 loop</field>
421
427
  </block>
422
428
  <field name="stage2_complete" value="true"/>
423
429
  </branch>
@@ -425,7 +431,7 @@ All Features analyzed, exiting Stage 2 loop
425
431
 
426
432
  <!-- Step 2: Prepare analysis task specifications -->
427
433
  <block type="event" id="S2-E-Batch" action="log" level="info" desc="Report current batch">
428
- Processing batch: ${batch_response.batch.length} Features
434
+ <field name="message">Processing batch: ${batch_response.batch.length} Features</field>
429
435
  </block>
430
436
 
431
437
  <!-- Step 2: Dispatch Worker for each Feature -->
@@ -507,7 +513,7 @@ Requirements:
507
513
 
508
514
  <!-- Step 2.5: Graph Worker Task Preparation -->
509
515
  <block type="event" id="S2-E-Graph" action="log" level="info" desc="Prepare Graph Worker tasks">
510
- Preparing Graph data generation for completed Features
516
+ <field name="message">Preparing Graph data generation for completed Features</field>
511
517
  </block>
512
518
 
513
519
  <!-- Step 2.5: Dispatch Graph Worker -->
@@ -588,7 +594,7 @@ Requirements:
588
594
  </block>
589
595
 
590
596
  <block type="event" id="S2-E-Result" action="log" level="info" desc="Report batch processing result">
591
- Batch processing complete: ${batch_result.success} succeeded, ${batch_result.failed} failed
597
+ <field name="message">Batch processing complete: ${batch_result.success} succeeded, ${batch_result.failed} failed</field>
592
598
  </block>
593
599
  </branch>
594
600
  </block>
@@ -600,7 +606,7 @@ Batch processing complete: ${batch_result.success} succeeded, ${batch_result.fai
600
606
  </block>
601
607
 
602
608
  <block type="event" id="S2-E-Final" action="log" level="info" desc="Stage 2 complete">
603
- Stage 2 Milestone: Feature analysis complete. ${analyzed_count} features analyzed, ${failed_count} failed. ${graph_count} graph data files generated.
609
+ <field name="message">Stage 2 Milestone: Feature analysis complete. ${analyzed_count} features analyzed, ${failed_count} failed. ${graph_count} graph data files generated.</field>
604
610
  </block>
605
611
  </sequence>
606
612
 
@@ -664,7 +670,7 @@ Requirements:
664
670
  </block>
665
671
 
666
672
  <block type="event" id="S3-E1" action="log" level="info" desc="Stage 3 complete">
667
- Stage 3 Milestone: Module summaries complete. ${module_count} modules summarized.
673
+ <field name="message">Stage 3 Milestone: Module summaries complete. ${module_count} modules summarized.</field>
668
674
  </block>
669
675
  </sequence>
670
676
 
@@ -709,14 +715,14 @@ Requirements:
709
715
  </branch>
710
716
  <branch default="true" name="Non-UI platform">
711
717
  <block type="event" id="S35-E1" action="log" level="info" desc="Backend platform skip style extraction">
712
- Backend platform ${platform.platformId} skipping UI style extraction
718
+ <field name="message">Backend platform ${platform.platformId} skipping UI style extraction</field>
713
719
  </block>
714
720
  </branch>
715
721
  </block>
716
722
  </block>
717
723
 
718
724
  <block type="event" id="S35-E2" action="log" level="info" desc="Stage 3.5 complete">
719
- Stage 3.5 Milestone: UI style patterns extracted. ${pattern_count} patterns extracted from ${frontend_platform_count} platforms.
725
+ <field name="message">Stage 3.5 Milestone: UI style patterns extracted. ${pattern_count} patterns extracted from ${frontend_platform_count} platforms.</field>
720
726
  </block>
721
727
  </sequence>
722
728
 
@@ -766,7 +772,7 @@ Requirements:
766
772
  </block>
767
773
 
768
774
  <block type="event" id="S4-E1" action="log" level="info" desc="Stage 4 complete">
769
- Stage 4 Milestone: System overview generated. All stages complete. Pipeline finished successfully.
775
+ <field name="message">Stage 4 Milestone: System overview generated. All stages complete. Pipeline finished successfully.</field>
770
776
  </block>
771
777
  </sequence>
772
778
 
@@ -779,7 +785,7 @@ Stage 4 Milestone: System overview generated. All stages complete. Pipeline fini
779
785
  </try>
780
786
  <catch on="worker_failed">
781
787
  <block type="event" id="EH1-E1" action="log" level="warn" desc="Worker failed, log error and continue">
782
- Worker ${error.worker} failed: ${error.message}
788
+ <field name="message">Worker ${error.worker} failed: ${error.message}</field>
783
789
  </block>
784
790
  <block type="task" id="EH1-B1" action="run-script" desc="Update failed status">
785
791
  <field name="command">node "${ide_skills_dir}/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js"</field>
@@ -793,15 +799,15 @@ Worker ${error.worker} failed: ${error.message}
793
799
  </catch>
794
800
  <catch on="script_error">
795
801
  <block type="event" id="EH1-E2" action="log" level="error" desc="Script execution failed">
796
- Script ${error.script} execution failed: ${error.message}
802
+ <field name="message">Script ${error.script} execution failed: ${error.message}</field>
797
803
  </block>
798
804
  </catch>
799
805
  <catch on="stage_abort">
800
806
  <block type="event" id="EH1-E3" action="log" level="error" desc="Stage aborted">
801
- Stage ${error.stage} execution aborted: ${error.message}
807
+ <field name="message">Stage ${error.stage} execution aborted: ${error.message}</field>
802
808
  </block>
803
809
  <block type="event" id="EH1-E4" action="log" level="warn" desc="High failure rate">
804
- Failure rate exceeds 50%, terminating entire pipeline
810
+ <field name="message">Failure rate exceeds 50%, terminating entire pipeline</field>
805
811
  </block>
806
812
  </catch>
807
813
  </block>
@@ -820,6 +826,7 @@ Failure rate exceeds 50%, terminating entire pipeline
820
826
  <field name="graph_root" from="${graph_root}" type="string" desc="Graph data output directory"/>
821
827
  </block>
822
828
  </workflow>
829
+ ```
823
830
 
824
831
  ---
825
832
 
@@ -38,8 +38,10 @@ For each platform, generates:
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="identify-entries-main" status="pending" version="1.0" desc="Identify business module entry directories for each platform">
44
46
 
45
47
  <!-- ============================================================
@@ -166,7 +168,9 @@ For each platform, generates:
166
168
  <branch test="${validation_result.status} == 'failed'">
167
169
  <block type="error-handler" id="EH1" desc="Handle validation failure">
168
170
  <catch error-type="validation_failed">
169
- <block type="event" id="E1" action="log" level="warn" desc="Log validation failure">Entry directory recognition failed for platform ${platform.platformId}</block>
171
+ <block type="event" id="E1" action="log" level="warn" desc="Log validation failure">
172
+ <field name="message">Entry directory recognition failed for platform ${platform.platformId}</field>
173
+ </block>
170
174
  <block type="task" id="B7" action="analyze" desc="Re-analyze the directory tree due to validation failure">
171
175
  <field name="input" value="${directory_tree}"/>
172
176
  <field name="output" var="re_analyzed_entries"/>
@@ -175,7 +179,9 @@ For each platform, generates:
175
179
  </block>
176
180
  </branch>
177
181
  <branch test="${validation_result.status} == 'passed'">
178
- <block type="event" id="E2" action="log" level="info" desc="Log validation success">Platform ${platform.platformId} entry-dirs validation passed</block>
182
+ <block type="event" id="E2" action="log" level="info" desc="Log validation success">
183
+ <field name="message">Platform ${platform.platformId} entry-dirs validation passed</field>
184
+ </block>
179
185
  </branch>
180
186
  </block>
181
187
 
@@ -192,6 +198,7 @@ For each platform, generates:
192
198
  </block>
193
199
 
194
200
  </workflow>
201
+ ```
195
202
 
196
203
  ## Output JSON Format
197
204
 
@@ -76,8 +76,10 @@ Analyze one specific UI feature from source code, extract business functionality
76
76
 
77
77
  ## Workflow
78
78
 
79
- > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
79
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
80
80
 
81
+ ```xml
82
+ <?xml version="1.0" encoding="UTF-8"?>
81
83
  <workflow id="ui-feature-analysis" version="1.0" status="pending" desc="UI feature analysis workflow">
82
84
 
83
85
  <!-- ==================== INPUT PARAMETERS ==================== -->
@@ -133,7 +135,7 @@ Analyze one specific UI feature from source code, extract business functionality
133
135
  <block type="gateway" id="G0" mode="exclusive" desc="Check analyzed status">
134
136
  <branch test="${analyzed} == true" name="Already analyzed">
135
137
  <block type="event" id="E0a" action="log" level="info" desc="Skip already analyzed feature">
136
- Step 0 Status: SKIPPED (already analyzed)
138
+ <field name="message">Step 0 Status: SKIPPED (already analyzed)</field>
137
139
  </block>
138
140
  <block type="output" id="O0a" desc="Skip output">
139
141
  <field name="status" value="skipped"/>
@@ -145,7 +147,7 @@ Step 0 Status: SKIPPED (already analyzed)
145
147
  </branch>
146
148
  <branch test="${analyzed} == false" name="Proceed with analysis">
147
149
  <block type="event" id="E0b" action="log" level="info" desc="Proceed with analysis">
148
- Step 0 Status: PROCEEDING (analysis required)
150
+ <field name="message">Step 0 Status: PROCEEDING (analysis required)</field>
149
151
  </block>
150
152
  </branch>
151
153
  </block>
@@ -183,7 +185,7 @@ Step 0 Status: PROCEEDING (analysis required)
183
185
  <field name="verify" value="${templateContent} != null AND ${templateContent} != ''"/>
184
186
  </block>
185
187
  <block type="event" id="E1" action="log" level="info" desc="Log template read">
186
- Step 1 Status: COMPLETED - Read template for ${platform_type}/${platform_subtype}
188
+ <field name="message">Step 1 Status: COMPLETED - Read template for ${platform_type}/${platform_subtype}</field>
187
189
  </block>
188
190
  </sequence>
189
191
 
@@ -211,7 +213,7 @@ Step 1 Status: COMPLETED - Read template for ${platform_type}/${platform_subtype
211
213
  <field name="verify" value="${sourceContent} != null"/>
212
214
  </block>
213
215
  <block type="event" id="E2" action="log" level="info" desc="Log source analysis">
214
- Step 2 Status: COMPLETED - Read ${sourcePath}, Analyzed ${componentCount} components, ${eventCount} events
216
+ <field name="message">Step 2 Status: COMPLETED - Read ${sourcePath}, Analyzed ${componentCount} components, ${eventCount} events</field>
215
217
  </block>
216
218
  </sequence>
217
219
 
@@ -251,7 +253,7 @@ Step 2 Status: COMPLETED - Read ${sourcePath}, Analyzed ${componentCount} compon
251
253
  <field name="verify" value="${flows.length} > 0 OR ${wireframes.length} > 0"/>
252
254
  </block>
253
255
  <block type="event" id="E3" action="log" level="info" desc="Log feature extraction">
254
- Step 3 Status: COMPLETED - Extracted ${wireframes.length} wireframes, ${flows.length} business flows
256
+ <field name="message">Step 3 Status: COMPLETED - Extracted ${wireframes.length} wireframes, ${flows.length} business flows</field>
255
257
  </block>
256
258
  </sequence>
257
259
 
@@ -277,7 +279,7 @@ Step 3 Status: COMPLETED - Extracted ${wireframes.length} wireframes, ${flows.le
277
279
  </block>
278
280
 
279
281
  <block type="event" id="E4" action="log" level="info" desc="Log reference search">
280
- Step 4 Status: COMPLETED - Found ${referencingPages.length} referencing pages
282
+ <field name="message">Step 4 Status: COMPLETED - Found ${referencingPages.length} referencing pages</field>
281
283
  </block>
282
284
  </sequence>
283
285
 
@@ -301,7 +303,7 @@ Step 4 Status: COMPLETED - Found ${referencingPages.length} referencing pages
301
303
  <field name="verify" value="file.exists(${documentPath})"/>
302
304
  </block>
303
305
  <block type="event" id="E5a" action="log" level="info" desc="Log template copy">
304
- Step 5a Status: COMPLETED - Template copied to ${documentPath}
306
+ <field name="message">Step 5a Status: COMPLETED - Template copied to ${documentPath}</field>
305
307
  </block>
306
308
  </sequence>
307
309
 
@@ -367,14 +369,14 @@ Step 5a Status: COMPLETED - Template copied to ${documentPath}
367
369
  <field name="verify" value="all.sections.filled"/>
368
370
  </block>
369
371
  <block type="event" id="E5b" action="log" level="info" desc="Log section filling">
370
- Step 5b Status: COMPLETED - All sections filled using search_replace
372
+ <field name="message">Step 5b Status: COMPLETED - All sections filled using search_replace</field>
371
373
  </block>
372
374
  </sequence>
373
375
 
374
376
  <!-- ==================== STEP 6: REPORT RESULTS ==================== -->
375
377
  <sequence id="S6" name="Step 6: Report Results" status="pending" desc="Report analysis results">
376
378
  <block type="event" id="E6" action="log" level="info" desc="Log final status">
377
- Step 6 Status: COMPLETED - Analysis success: Successfully analyzed ${fileName} feature from ${sourcePath}
379
+ <field name="message">Step 6 Status: COMPLETED - Analysis success: Successfully analyzed ${fileName} feature from ${sourcePath}</field>
378
380
  </block>
379
381
  </sequence>
380
382
 
@@ -395,33 +397,34 @@ Step 6 Status: COMPLETED - Analysis success: Successfully analyzed ${fileName} f
395
397
  </try>
396
398
  <catch error-type="file-not-found">
397
399
  <block type="event" id="EH1-E1" action="log" level="error" desc="File not found error">
398
- Source file not found: ${sourcePath}
400
+ <field name="message">Source file not found: ${sourcePath}</field>
399
401
  </block>
400
402
  <field name="status" value="failed"/>
401
403
  <field name="message" value="Source file not found: ${sourcePath}"/>
402
404
  </catch>
403
405
  <catch error-type="template-error">
404
406
  <block type="event" id="EH1-E2" action="log" level="error" desc="Template error">
405
- Template processing error
407
+ <field name="message">Template processing error</field>
406
408
  </block>
407
409
  <field name="status" value="failed"/>
408
410
  <field name="message" value="Failed to process template"/>
409
411
  </catch>
410
412
  <catch error-type="validation-error">
411
413
  <block type="event" id="EH1-E3" action="log" level="error" desc="Validation error">
412
- Validation failed: ${error.message}
414
+ <field name="message">Validation failed: ${error.message}</field>
413
415
  </block>
414
416
  <field name="status" value="partial"/>
415
417
  <field name="message" value="Analysis completed with validation errors"/>
416
418
  </catch>
417
419
  <finally>
418
420
  <block type="event" id="EH1-E4" action="log" level="info" desc="Workflow completed">
419
- Workflow execution completed
421
+ <field name="message">Workflow execution completed</field>
420
422
  </block>
421
423
  </finally>
422
424
  </block>
423
425
 
424
426
  </workflow>
427
+ ```
425
428
 
426
429
  ## Constraints
427
430
 
@@ -44,8 +44,10 @@ This skill automatically adapts to the user's input language. All documentation
44
44
 
45
45
  ## Workflow
46
46
 
47
- > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
47
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
48
48
 
49
+ ```xml
50
+ <?xml version="1.0" encoding="UTF-8"?>
49
51
  <workflow id="ui-knowledge-graph-construction" version="1.0" status="pending" desc="Construct graph data from UI analysis results">
50
52
 
51
53
  <!-- ============================================================
@@ -102,7 +104,7 @@ This skill automatically adapts to the user's input language. All documentation
102
104
  </block>
103
105
 
104
106
  <block type="event" id="E1" action="log" level="info" desc="Log Step 1 completion">
105
- Step 1 Status: COMPLETED - Read ${sourcePath}, found ${apiImports.count} APIs, ${componentUsage.count} components, ${navigationPatterns.count} navigations
107
+ <field name="message">Step 1 Status: COMPLETED - Read ${sourcePath}, found ${apiImports.count} APIs, ${componentUsage.count} components, ${navigationPatterns.count} navigations</field>
106
108
  </block>
107
109
 
108
110
  <block type="checkpoint" id="CP1" name="step-1-read-source" desc="Source file read complete">
@@ -143,7 +145,7 @@ Step 1 Status: COMPLETED - Read ${sourcePath}, found ${apiImports.count} APIs, $
143
145
  </block>
144
146
 
145
147
  <block type="event" id="E2" action="log" level="info" desc="Log Step 2 completion">
146
- Step 2 Status: COMPLETED - Constructed ${nodeCount} nodes
148
+ <field name="message">Step 2 Status: COMPLETED - Constructed ${nodeCount} nodes</field>
147
149
  </block>
148
150
 
149
151
  <block type="checkpoint" id="CP2" name="step-2-construct-nodes" desc="Graph nodes constructed">
@@ -193,7 +195,7 @@ Step 2 Status: COMPLETED - Constructed ${nodeCount} nodes
193
195
  </block>
194
196
 
195
197
  <block type="event" id="E3" action="log" level="info" desc="Log Step 3 completion">
196
- Step 3 Status: COMPLETED - Constructed ${edgeCount} edges (${apiEdges.count} API calls, ${navEdges.count} navigations, ${useEdges.count} component uses)
198
+ <field name="message">Step 3 Status: COMPLETED - Constructed ${edgeCount} edges (${apiEdges.count} API calls, ${navEdges.count} navigations, ${useEdges.count} component uses)</field>
197
199
  </block>
198
200
 
199
201
  <block type="checkpoint" id="CP3" name="step-3-construct-edges" desc="Graph edges constructed">
@@ -232,7 +234,7 @@ Step 3 Status: COMPLETED - Constructed ${edgeCount} edges (${apiEdges.count} API
232
234
  </block>
233
235
 
234
236
  <block type="event" id="E4" action="log" level="info" desc="Log Step 4 completion">
235
- Step 4 Status: COMPLETED - Graph JSON written to ${completed_dir}/${markerFilename}.graph.json
237
+ <field name="message">Step 4 Status: COMPLETED - Graph JSON written to ${completed_dir}/${markerFilename}.graph.json</field>
236
238
  </block>
237
239
 
238
240
  <block type="checkpoint" id="CP4" name="step-4-write-graph-json" desc="Graph JSON written">
@@ -265,7 +267,7 @@ Step 4 Status: COMPLETED - Graph JSON written to ${completed_dir}/${markerFilena
265
267
  </block>
266
268
 
267
269
  <block type="event" id="E5" action="log" level="info" desc="Log Step 5 completion">
268
- Step 5 Status: COMPLETED - Graph completion marker written to ${completed_dir}/${markerFilename}.graph-done.json
270
+ <field name="message">Step 5 Status: COMPLETED - Graph completion marker written to ${completed_dir}/${markerFilename}.graph-done.json</field>
269
271
  </block>
270
272
 
271
273
  <block type="checkpoint" id="CP5" name="step-5-write-marker" desc="Completion marker written">
@@ -300,6 +302,7 @@ Step 5 Status: COMPLETED - Graph completion marker written to ${completed_dir}/$
300
302
  </block>
301
303
 
302
304
  </workflow>
305
+ ```
303
306
 
304
307
  ## Node Structure Reference
305
308
 
@@ -68,8 +68,10 @@ Extract and aggregate **UI design patterns** from bizs pipeline analyzed feature
68
68
 
69
69
  ## Workflow
70
70
 
71
- > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
71
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
72
72
 
73
+ ```xml
74
+ <?xml version="1.0" encoding="UTF-8"?>
73
75
  <workflow id="ui-style-extract-main" status="pending" version="1.0" desc="Extract and aggregate UI design patterns from feature documents">
74
76
 
75
77
  <!-- ============================================================
@@ -115,7 +117,9 @@ Extract and aggregate **UI design patterns** from bizs pipeline analyzed feature
115
117
  ============================================================ -->
116
118
  <block type="gateway" id="G1" mode="exclusive" desc="Check platform type for UI pattern extraction">
117
119
  <branch test="${platform_type} NOT IN ['web', 'mobile', 'desktop']" name="Backend platform">
118
- <block type="event" id="E1" action="log" level="info" desc="Log skip reason">Skipping skill: backend platforms do not have UI patterns</block>
120
+ <block type="event" id="E1" action="log" level="info" desc="Log skip reason">
121
+ <field name="message">Skipping skill: backend platforms do not have UI patterns</field>
122
+ </block>
119
123
  <block type="task" id="B1" action="analyze" desc="Return skip status">
120
124
  <field name="status" value="skipped"/>
121
125
  <field name="reason" value="Backend platform does not have UI patterns"/>
@@ -210,7 +214,9 @@ Extract and aggregate **UI design patterns** from bizs pipeline analyzed feature
210
214
  ============================================================ -->
211
215
  <block type="gateway" id="G3" mode="exclusive" desc="Check if patterns were identified">
212
216
  <branch test="${identified_patterns.length} == 0" name="No patterns">
213
- <block type="event" id="E2" action="log" level="warn" desc="Log no patterns">No patterns identified from feature documents</block>
217
+ <block type="event" id="E2" action="log" level="warn" desc="Log no patterns">
218
+ <field name="message">No patterns identified from feature documents</field>
219
+ </block>
214
220
  <block type="task" id="B8" action="analyze" desc="Return empty result">
215
221
  <field name="status" value="completed"/>
216
222
  <field name="platform_id" value="${platform_id}"/>
@@ -299,7 +305,9 @@ Extract and aggregate **UI design patterns** from bizs pipeline analyzed feature
299
305
 
300
306
  </branch>
301
307
  <branch test="${completed_features.length} == 0" name="No completed features">
302
- <block type="event" id="E3" action="log" level="warn" desc="Log no features">No completed features found - returning empty result</block>
308
+ <block type="event" id="E3" action="log" level="warn" desc="Log no features">
309
+ <field name="message">No completed features found - returning empty result</field>
310
+ </block>
303
311
  <block type="task" id="B15" action="analyze" desc="Return empty summary">
304
312
  <field name="status" value="completed"/>
305
313
  <field name="platform_id" value="${platform_id}"/>
@@ -324,6 +332,7 @@ Extract and aggregate **UI design patterns** from bizs pipeline analyzed feature
324
332
  </block>
325
333
 
326
334
  </workflow>
335
+ ```
327
336
 
328
337
  ## Generation Rules
329
338