speccrew 0.6.69 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/.speccrew/agents/speccrew-task-worker.md +1 -1
  2. package/.speccrew/agents/speccrew-team-leader.md +336 -189
  3. package/.speccrew/skills/speccrew-agentflow-manager/SKILL.md +161 -0
  4. package/.speccrew/skills/speccrew-agentflow-manager/workflow.agentflow.xml +347 -0
  5. package/.speccrew/skills/speccrew-deploy-build/SKILL.md +3 -56
  6. package/.speccrew/skills/speccrew-deploy-build/workflow.agentflow.xml +125 -0
  7. package/.speccrew/skills/speccrew-deploy-migrate/SKILL.md +3 -64
  8. package/.speccrew/skills/speccrew-deploy-migrate/workflow.agentflow.xml +135 -0
  9. package/.speccrew/skills/speccrew-deploy-smoke-test/SKILL.md +4 -156
  10. package/.speccrew/skills/speccrew-deploy-smoke-test/workflow.agentflow.xml +178 -0
  11. package/.speccrew/skills/speccrew-deploy-startup/SKILL.md +3 -135
  12. package/.speccrew/skills/speccrew-deploy-startup/workflow.agentflow.xml +223 -0
  13. package/.speccrew/skills/speccrew-dev-backend/SKILL.md +10 -2
  14. package/.speccrew/skills/speccrew-dev-backend/workflow.agentflow.xml +254 -0
  15. package/.speccrew/skills/speccrew-dev-desktop-electron/SKILL.md +10 -2
  16. package/.speccrew/skills/speccrew-dev-desktop-electron/workflow.agentflow.xml +259 -0
  17. package/.speccrew/skills/speccrew-dev-desktop-tauri/SKILL.md +10 -2
  18. package/.speccrew/skills/speccrew-dev-desktop-tauri/workflow.agentflow.xml +245 -0
  19. package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +10 -2
  20. package/.speccrew/skills/speccrew-dev-frontend/workflow.agentflow.xml +262 -0
  21. package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +10 -2
  22. package/.speccrew/skills/speccrew-dev-mobile/workflow.agentflow.xml +244 -0
  23. package/.speccrew/skills/speccrew-dev-review-backend/SKILL.md +10 -2
  24. package/.speccrew/skills/speccrew-dev-review-backend/workflow.agentflow.xml +251 -0
  25. package/.speccrew/skills/speccrew-dev-review-desktop/SKILL.md +10 -2
  26. package/.speccrew/skills/speccrew-dev-review-desktop/workflow.agentflow.xml +214 -0
  27. package/.speccrew/skills/speccrew-dev-review-frontend/SKILL.md +10 -2
  28. package/.speccrew/skills/speccrew-dev-review-frontend/workflow.agentflow.xml +213 -0
  29. package/.speccrew/skills/speccrew-dev-review-mobile/SKILL.md +10 -2
  30. package/.speccrew/skills/speccrew-dev-review-mobile/workflow.agentflow.xml +214 -0
  31. package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +7 -1
  32. package/.speccrew/skills/speccrew-fd-api-contract/workflow.agentflow.xml +222 -0
  33. package/.speccrew/skills/speccrew-fd-feature-analyze/SKILL.md +7 -1
  34. package/.speccrew/skills/speccrew-fd-feature-analyze/workflow.agentflow.xml +223 -0
  35. package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +7 -1
  36. package/.speccrew/skills/speccrew-fd-feature-design/workflow.agentflow.xml +322 -0
  37. package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +3 -39
  38. package/.speccrew/skills/speccrew-get-timestamp/workflow.agentflow.xml +43 -0
  39. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +57 -508
  40. package/.speccrew/skills/{speccrew-knowledge-bizs-api-analyze-xml/SKILL.md → speccrew-knowledge-bizs-api-analyze/workflow.agentflow.xml} +1 -154
  41. package/.speccrew/skills/speccrew-knowledge-bizs-api-graph/SKILL.md +73 -283
  42. package/.speccrew/skills/{speccrew-knowledge-bizs-api-graph-xml/SKILL.md → speccrew-knowledge-bizs-api-graph/workflow.agentflow.xml} +0 -298
  43. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +931 -801
  44. package/.speccrew/skills/{speccrew-knowledge-bizs-dispatch-xml/SKILL.md → speccrew-knowledge-bizs-dispatch/workflow.agentflow.xml} +42 -272
  45. package/.speccrew/skills/speccrew-knowledge-bizs-identify-entries/SKILL.md +263 -71
  46. package/.speccrew/skills/{speccrew-knowledge-bizs-identify-entries-xml/SKILL.md → speccrew-knowledge-bizs-identify-entries/workflow.agentflow.xml} +8 -184
  47. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +200 -181
  48. package/.speccrew/skills/{speccrew-knowledge-bizs-init-features-xml/SKILL.md → speccrew-knowledge-bizs-init-features/workflow.agentflow.xml} +7 -134
  49. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +5 -89
  50. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/workflow.agentflow.xml +129 -0
  51. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +454 -326
  52. package/.speccrew/skills/{speccrew-knowledge-bizs-ui-analyze-xml/SKILL.md → speccrew-knowledge-bizs-ui-analyze/workflow.agentflow.xml} +8 -128
  53. package/.speccrew/skills/speccrew-knowledge-bizs-ui-graph/SKILL.md +302 -247
  54. package/.speccrew/skills/{speccrew-knowledge-bizs-ui-graph-xml/SKILL.md → speccrew-knowledge-bizs-ui-graph/workflow.agentflow.xml} +7 -199
  55. package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +267 -156
  56. package/.speccrew/skills/{speccrew-knowledge-bizs-ui-style-extract-xml/SKILL.md → speccrew-knowledge-bizs-ui-style-extract/workflow.agentflow.xml} +7 -151
  57. package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +3 -122
  58. package/.speccrew/skills/speccrew-knowledge-graph-query/workflow.agentflow.xml +106 -0
  59. package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +3 -80
  60. package/.speccrew/skills/speccrew-knowledge-graph-write/workflow.agentflow.xml +152 -0
  61. package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +371 -265
  62. package/.speccrew/skills/{speccrew-knowledge-module-summarize-xml/SKILL.md → speccrew-knowledge-module-summarize/workflow.agentflow.xml} +7 -197
  63. package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +45 -333
  64. package/.speccrew/skills/{speccrew-knowledge-system-summarize-xml/SKILL.md → speccrew-knowledge-system-summarize/workflow.agentflow.xml} +0 -177
  65. package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +174 -727
  66. package/.speccrew/skills/{speccrew-knowledge-techs-dispatch-xml/SKILL.md → speccrew-knowledge-techs-dispatch/workflow.agentflow.xml} +10 -351
  67. package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +20 -150
  68. package/.speccrew/skills/{speccrew-knowledge-techs-generate-xml/SKILL.md → speccrew-knowledge-techs-generate/workflow.agentflow.xml} +0 -169
  69. package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +75 -587
  70. package/.speccrew/skills/{speccrew-knowledge-techs-generate-conventions-xml/SKILL.md → speccrew-knowledge-techs-generate-conventions/workflow.agentflow.xml} +0 -153
  71. package/.speccrew/skills/speccrew-knowledge-techs-generate-quality/SKILL.md +463 -297
  72. package/.speccrew/skills/{speccrew-knowledge-techs-generate-quality-xml/SKILL.md → speccrew-knowledge-techs-generate-quality/workflow.agentflow.xml} +0 -164
  73. package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +57 -292
  74. package/.speccrew/skills/{speccrew-knowledge-techs-generate-ui-style-xml/SKILL.md → speccrew-knowledge-techs-generate-ui-style/workflow.agentflow.xml} +2 -193
  75. package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +49 -335
  76. package/.speccrew/skills/{speccrew-knowledge-techs-index-xml/SKILL.md → speccrew-knowledge-techs-index/workflow.agentflow.xml} +0 -167
  77. package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +28 -109
  78. package/.speccrew/skills/{speccrew-knowledge-techs-init-xml/SKILL.md → speccrew-knowledge-techs-init/workflow.agentflow.xml} +0 -189
  79. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +3 -487
  80. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/workflow.agentflow.xml +278 -0
  81. package/.speccrew/skills/speccrew-pm-knowledge-detector/SKILL.md +3 -71
  82. package/.speccrew/skills/speccrew-pm-knowledge-detector/workflow.agentflow.xml +108 -0
  83. package/.speccrew/skills/speccrew-pm-module-initializer/SKILL.md +3 -107
  84. package/.speccrew/skills/speccrew-pm-module-initializer/workflow.agentflow.xml +139 -0
  85. package/.speccrew/skills/speccrew-pm-module-matcher/SKILL.md +3 -115
  86. package/.speccrew/skills/speccrew-pm-module-matcher/workflow.agentflow.xml +146 -0
  87. package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +3 -343
  88. package/.speccrew/skills/speccrew-pm-requirement-analysis/workflow.agentflow.xml +174 -0
  89. package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +3 -91
  90. package/.speccrew/skills/speccrew-pm-requirement-assess/workflow.agentflow.xml +173 -0
  91. package/.speccrew/skills/speccrew-pm-requirement-clarify/SKILL.md +3 -224
  92. package/.speccrew/skills/speccrew-pm-requirement-clarify/workflow.agentflow.xml +159 -0
  93. package/.speccrew/skills/speccrew-pm-requirement-model/SKILL.md +3 -275
  94. package/.speccrew/skills/speccrew-pm-requirement-model/workflow.agentflow.xml +210 -0
  95. package/.speccrew/skills/speccrew-pm-requirement-simple/SKILL.md +3 -76
  96. package/.speccrew/skills/speccrew-pm-requirement-simple/workflow.agentflow.xml +120 -0
  97. package/.speccrew/skills/speccrew-pm-sub-prd-generate/SKILL.md +7 -1
  98. package/.speccrew/skills/speccrew-pm-sub-prd-generate/workflow.agentflow.xml +218 -0
  99. package/.speccrew/skills/speccrew-sd-backend/SKILL.md +7 -1
  100. package/.speccrew/skills/speccrew-sd-backend/workflow.agentflow.xml +264 -0
  101. package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +7 -1
  102. package/.speccrew/skills/speccrew-sd-desktop/workflow.agentflow.xml +288 -0
  103. package/.speccrew/skills/speccrew-sd-framework-evaluate/SKILL.md +7 -1
  104. package/.speccrew/skills/speccrew-sd-framework-evaluate/workflow.agentflow.xml +235 -0
  105. package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +7 -1
  106. package/.speccrew/skills/speccrew-sd-frontend/workflow.agentflow.xml +299 -0
  107. package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +7 -1
  108. package/.speccrew/skills/speccrew-sd-mobile/workflow.agentflow.xml +301 -0
  109. package/.speccrew/skills/speccrew-test-case-design/SKILL.md +165 -284
  110. package/.speccrew/skills/speccrew-test-case-design/workflow.agentflow.xml +210 -0
  111. package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +204 -324
  112. package/.speccrew/skills/speccrew-test-code-gen/workflow.agentflow.xml +265 -0
  113. package/.speccrew/skills/speccrew-test-reporter/SKILL.md +205 -184
  114. package/.speccrew/skills/speccrew-test-reporter/workflow.agentflow.xml +284 -0
  115. package/.speccrew/skills/speccrew-test-runner/SKILL.md +242 -241
  116. package/.speccrew/skills/speccrew-test-runner/workflow.agentflow.xml +314 -0
  117. package/bin/cli.js +8 -1
  118. package/lib/commands/validate.js +565 -0
  119. package/package.json +1 -1
  120. package/workspace-template/docs/rules/{xml-workflow-spec.md → agentflow-spec.md} +5 -5
  121. package/workspace-template/scripts/validate-agentflow.js +637 -0
  122. package/.speccrew/agents/speccrew-team-leader-xml.md +0 -480
  123. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +0 -99
  124. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/batch-orchestrator.js +0 -176
  125. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-next-batch.js +0 -150
  126. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-pending-features.js +0 -106
  127. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/mark-stale.js +0 -249
  128. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/merge-features.js +0 -300
  129. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +0 -915
  130. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js +0 -226
  131. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/examples/features.json +0 -34
  132. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +0 -1087
  133. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/test-inventory.js +0 -26
  134. package/.speccrew/skills/speccrew-knowledge-techs-dispatch/STATUS-FORMATS.md +0 -550
@@ -1,12 +1,87 @@
1
1
  ---
2
2
  name: speccrew-knowledge-techs-dispatch
3
- description: Dispatch techs knowledge base generation tasks with 3-stage pipeline. Handles platform detection, tech document generation, and root index creation.
4
- tools: Read, Write, Task
3
+ description: Dispatch techs knowledge base generation tasks with 3-stage pipeline (XML Block version). Handles platform detection, tech document generation, and root index creation.
4
+ tools: Read, Write, Task, Bash
5
5
  ---
6
6
 
7
- # Techs Knowledge Dispatch
7
+ > **⚠️ MANDATORY EXECUTION PROTOCOL — READ BEFORE EXECUTING ANY BLOCK**
8
+ >
9
+ > **Step 1**: Load XML workflow specification: `speccrew-workspace/docs/rules/agentflow-spec.md` — this defines all block types and action-to-tool mappings
10
+ >
11
+ > **Step 2**: Execute this SKILL.md's XML workflow **block by block in document order**. For EVERY block, you MUST follow this 3-step cycle:
12
+ >
13
+ > ```
14
+ > 📋 Block [ID] (action=[action]) — [desc]
15
+ > 🔧 Tool: [which IDE tool to call]
16
+ > ✅ Result: [output or status]
17
+ > ```
18
+ >
19
+ > Action-to-tool mapping:
20
+ > - `action="run-script"` → Execute via **Terminal tool** (pass the `<field name="command">` value EXACTLY)
21
+ > - `action="run-skill"` → Invoke via **Skill tool** (pass the `<field name="skill">` value EXACTLY)
22
+ > - `action="dispatch-to-worker"` → Create **Task** via **Task tool** for `speccrew-task-worker` (Worker loads and executes the skill, NOT you)
23
+ > - `action="confirm"` (event) → Present to user and wait for response
24
+ >
25
+ > **Step 3**: Execute ALL stages sequentially without pausing (only stop at explicit `<event action="confirm">` blocks)
26
+ >
27
+ > **FORBIDDEN**:
28
+ > - Do NOT skip the block announcement format above — every block must be announced before execution
29
+ > - Do NOT run terminal commands as substitute for Skill tool calls
30
+ > - Do NOT do Worker's job yourself — when `action="dispatch-to-worker"`, create a Task and let Worker handle it
31
+ > - Do NOT skip blocks or improvise your own commands
32
+ > - Do NOT read a skill's SKILL.md file yourself — use the Skill tool which resolves paths automatically
8
33
 
9
- Orchestrate **techs knowledge base generation** with a 3-stage pipeline: Platform Detection → Tech Doc Generation → Root Index.
34
+ # Techs Knowledge Dispatch (XML Block Version)
35
+
36
+ Orchestrate **techs knowledge base generation** with a 3-stage pipeline using **XML Block system**: Platform Detection → Tech Doc Generation → Root Index.
37
+
38
+ ## Invocation Method
39
+
40
+ **CRITICAL**: This skill is an **orchestration playbook** — it MUST be loaded directly by Team Leader via Skill tool (NOT via Worker Agent).
41
+
42
+ ```
43
+ Correct: Leader uses Skill tool to load this playbook directly
44
+ Incorrect: Dispatch this skill to speccrew-task-worker
45
+ ```
46
+
47
+ **Why?** This skill defines the orchestration workflow and prepares task plans for downstream workers. The Team Leader reads this playbook and dispatches individual worker tasks via Task tool → speccrew-task-worker for each stage.
48
+
49
+ **Correct Invocation Pattern**:
50
+ ```xml
51
+ <block type="task" action="run-skill" desc="Leader directly invokes techs-dispatch as orchestration playbook">
52
+ <field name="skill">speccrew-knowledge-techs-dispatch</field>
53
+ <field name="note">Leader directly calls this dispatch skill as an orchestration playbook. The dispatch skill defines the workflow; Leader dispatches downstream workers via Task tool → speccrew-task-worker for each stage.</field>
54
+ </block>
55
+ ```
56
+
57
+ **Worker Dispatch Rule**:
58
+ - Dispatch skills (bizs-dispatch, techs-dispatch): Leader calls directly via Skill tool
59
+ - Downstream worker skills (techs-init, techs-generate-conventions, techs-generate-ui-style, etc.): Leader dispatches via Task tool → speccrew-task-worker
60
+
61
+ **FORBIDDEN**: Worker Agents MUST NOT execute this dispatch skill. If a Worker Agent loads this skill, it must report error and abort.
62
+
63
+ ## Quick Reference — Execution Flow
64
+
65
+ ```
66
+ Stage 1: Platform Detection
67
+ └─ Read techs-manifest.json → Identify platforms & tech stacks
68
+
69
+ Stage 2: Tech Doc Generation (PARALLEL)
70
+ └─ Prepare task plans for techs-generate workers per platform
71
+ └─ After generate workers complete → prepare quality check worker task plans
72
+ └─ Monitor completion markers
73
+
74
+ Stage 2.5: Completion Verification
75
+ └─ Step A: Scan completion markers
76
+ └─ Step B: Verify output integrity
77
+ └─ Step C: Update progress status
78
+
79
+ Stage 3: Root Index Generation
80
+ └─ Generate techs/README.md root index
81
+ └─ Cross-platform consistency check
82
+ ```
83
+
84
+ > **NOTE**: All worker dispatch operations are handled by the calling Agent (Team Leader). This Skill only prepares task plans and monitors completion markers.
10
85
 
11
86
  ## Language Adaptation
12
87
 
@@ -52,195 +127,76 @@ Read `speccrew-workspace/docs/configs/platform-mapping.json` for standardized pl
52
127
  - Root index: `speccrew-workspace/knowledges/techs/INDEX.md`
53
128
  - Status files: `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/stage{N}-status.json`
54
129
 
55
- # Quick Reference — Execution Flow
56
-
57
- ```
58
- Stage 1: Platform Detection
59
- └─ Read techs-manifest.json → Identify platforms & tech stacks
60
-
61
- Stage 2: Tech Doc Generation (PARALLEL)
62
- └─ Prepare task plans for techs-generate workers per platform
63
- └─ After generate workers complete → prepare quality check worker task plans
64
- └─ Monitor completion markers
65
-
66
- Stage 2.5: Completion Verification
67
- └─ Step A: Scan completion markers
68
- └─ Step B: Verify output integrity
69
- └─ Step C: Update progress status
70
-
71
- Stage 3: Root Index Generation
72
- └─ Generate techs/README.md root index
73
- └─ Cross-platform consistency check
74
- ```
75
-
76
- > **NOTE**: All worker dispatch operations are handled by the calling Agent (Team Leader). This Skill only prepares task plans and monitors completion markers.
77
-
78
- ## Workflow Overview
79
-
80
- ```mermaid
81
- flowchart TB
82
- S1[Stage 1: Detect Platforms] --> S2[Stage 2: Generate Tech Docs]
83
- S2 --> S3[Stage 3: Generate Root Index]
84
- ```
85
-
86
130
  ---
87
131
 
88
- ## Stage 1: Detect Platform Manifest (Single Task)
89
-
90
- **Goal**: Scan source code and identify all technology platforms.
91
-
92
- **Step 1a: Read Configuration**
93
- - Read `speccrew-workspace/docs/configs/platform-mapping.json` for standardized platform mapping rules
94
-
95
- **Step 1b: Prepare Task Plan**
132
+ ## AgentFlow Definition
96
133
 
97
- > **NOTE**: Worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares the task plan and parameters.
134
+ <!-- @agentflow: workflow.agentflow.xml -->
98
135
 
99
- Prepare the following task for the calling Agent to dispatch:
100
- - **Skill**: `speccrew-knowledge-techs-init/SKILL.md`
101
- - **Task**: Analyze project structure, detect technology platforms
102
- - **Parameters**:
103
- - `source_path`: Source code directory path
104
- - `output_path`: Output directory (default: `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/`)
105
- - `language`: User's language — **REQUIRED**
106
-
107
- **Output**:
108
- - `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json`
109
-
110
- See [templates/techs-manifest-EXAMPLE.json](templates/techs-manifest-EXAMPLE.json) for complete example.
111
-
112
- See [Platform Status Tracking Fields](#platform-status-tracking-fields) for status field definitions.
113
-
114
- ---
115
-
116
- > **⚠️ MANDATORY RULES FOR PARALLEL EXECUTION (Stage 2)**:
117
- > 1. ALL platform task plans should be prepared for parallel dispatch by the calling Agent — sequential execution is NOT recommended
118
- > 2. Each platform worker runs independently via techs-generate Skill
119
- > 3. Monitor completion via marker files in each platform directory
120
- > 4. Failed workers can be retried independently
121
- > 5. Do NOT proceed to Stage 2.5 until ALL workers have completed or failed
136
+ > **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/agentflow-spec.md`
122
137
  >
123
- > **NOTE**: Worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares task plans.
124
-
125
- ## Stage 2: Generate Platform Documents (Parallel)
126
-
127
- > **🚨 CRITICAL: PARALLEL EXECUTION IS MANDATORY**
128
- > - Prepare task plans for ALL platforms FIRST, then dispatch ALL workers SIMULTANEOUSLY
129
- > - DO NOT finish one platform before starting the next — this wastes time and violates the pipeline design
130
- > - The calling Agent MUST use concurrent task dispatch (e.g., dispatch 3 workers in one turn for 3 platforms)
131
- > - Sequential platform-by-platform execution is FORBIDDEN
132
-
133
- **Goal**: Generate technology documentation for each platform in parallel.
134
-
135
- **Action**:
136
- - Read `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json`
137
-
138
- > **NOTE**: Worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares the task plan and parameters.
139
-
140
- **Prepare Task Plans for Each Platform**:
141
-
142
- For each platform in `platforms` array, prepare tasks for parallel execution:
143
- - **Task 1**: `speccrew-knowledge-techs-generate-conventions/SKILL.md` (ALL platforms)
144
- - **Task 2**: `speccrew-knowledge-techs-generate-ui-style/SKILL.md` (frontend platforms ONLY: web, mobile, desktop)
138
+ > After reading the specification, parse the XML workflow below and **strictly execute each `<block>` in document order**. Every `<block type="task">` is a literal tool-call instruction — use the `action` attribute to determine which IDE tool to invoke, and pass the `<field name="command">` or `<field name="skill">` value **exactly as written**. Do NOT interpret the workflow as a goal description or improvise your own approach.
145
139
 
146
- **Parameters for each skill**:
147
- - `platform_id`: Platform identifier from manifest
148
- - `platform_type`: Platform type (web, mobile, backend, desktop)
149
- - `framework`: Primary framework
150
- - `source_path`: Platform source directory
151
- - `config_files`: List of configuration file paths (conventions worker only)
152
- - `convention_files`: List of convention file paths (conventions worker only)
153
- - `output_path`: Output directory for platform docs (e.g., `speccrew-workspace/knowledges/techs/{platform_id}/`)
154
- - `completed_dir`: Directory for Worker output markers (e.g., `speccrew-workspace/knowledges/techs/.sync-status/`)
155
- - `language`: User's language — **REQUIRED**
156
140
 
157
- **Expected Worker Output Markers**:
158
- - `{completed_dir}/{platform_id}.done-conventions.json` — conventions worker completion marker
159
- - `{completed_dir}/{platform_id}.done-ui-style.json` — ui-style worker completion marker (frontend only)
160
- - `{completed_dir}/{platform_id}.analysis-conventions.json` — conventions coverage report
161
- - `{completed_dir}/{platform_id}.analysis-ui-style.json` — ui-style coverage report (frontend only)
162
141
 
163
- **Step 2a: Prepare Environment and Update Manifest**
164
-
165
- 1. Ensure completed_dir exists: `speccrew-workspace/knowledges/techs/.sync-status/`
166
- 2. For each platform in manifest:
167
- - SET `platform.status = "processing"`
168
- - SET `platform.startedAt = "{current_timestamp}"`
169
- - SET `platform.workers.conventions.status = "processing"`
170
- - IF platform.platform_type IN ["web", "mobile", "desktop"]: SET `platform.workers.ui_style.status = "processing"`
171
- - WRITE manifest to techs-manifest.json
172
-
173
- **Step 2b: Prepare Conventions Worker Task Plans (ALL Platforms)**
174
-
175
- > **NOTE**: Worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares the task plan and parameters.
176
-
177
- For each platform, prepare a task with:
178
- - skill_path: `speccrew-knowledge-techs-generate-conventions/SKILL.md`
179
- - context:
180
- - platform_id: platform.platform_id
181
- - platform_type: platform.platform_type
182
- - framework: platform.framework
183
- - source_path: platform.source_path
184
- - config_files: platform.config_files
185
- - convention_files: platform.convention_files
186
- - output_path: `speccrew-workspace/knowledges/techs/{platform.platform_id}/`
187
- - completed_dir: completed_dir
188
- - language: language
189
-
190
- **Step 2c: Prepare UI-Style Worker Task Plans (Frontend Platforms ONLY)**
191
-
192
- > **NOTE**: Worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares the task plan and parameters.
193
-
194
- IF platform.platform_type IN ["web", "mobile", "desktop"]:
195
- 1. Prepare a task with:
196
- - skill_path: `speccrew-knowledge-techs-generate-ui-style/SKILL.md`
197
- - context:
198
- - platform_id: platform.platform_id
199
- - platform_type: platform.platform_type
200
- - framework: platform.framework
201
- - source_path: platform.source_path
202
- - output_path: `speccrew-workspace/knowledges/techs/{platform.platform_id}/`
203
- - completed_dir: completed_dir
204
- - language: language
142
+ ---
205
143
 
206
- **Step 2d: Completion Marker Monitoring**
144
+ ## Appendix: Reference
207
145
 
208
- > **NOTE**: Worker dispatch and wait operations are handled by the calling Agent (Team Leader). This Skill only monitors completion markers.
146
+ ### Worker Completion Marker Format
209
147
 
210
- The calling Agent should:
211
- - Monitor for `{platform_id}.done-conventions.json` markers
212
- - Monitor for `{platform_id}.done-ui-style.json` markers (frontend platforms)
213
- - Both workers run in PARALLEL for the same platform
148
+ Each Worker MUST create a completion marker file after generating documents.
214
149
 
215
- **Step 2e: Prepare Quality Check Worker Task Plans**
150
+ #### Conventions Worker Done File
216
151
 
217
- > **NOTE**: Quality worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares the task plan and parameters.
152
+ **File**: `{completed_dir}/{platform_id}.done-conventions.json`
218
153
 
219
- After each `speccrew-knowledge-techs-generate` worker completes (writes `.done-conventions.json` or `.done-ui-style.json` marker), the calling Agent should dispatch the corresponding quality check worker.
154
+ **Format**:
155
+ ```json
156
+ {
157
+ "platform_id": "web-vue",
158
+ "worker_type": "conventions",
159
+ "status": "completed",
160
+ "documents_generated": [
161
+ "INDEX.md", "tech-stack.md", "architecture.md",
162
+ "conventions-dev.md", "conventions-design.md",
163
+ "conventions-unit-test.md", "conventions-build.md"
164
+ ],
165
+ "analysis_file": "web-vue.analysis-conventions.json",
166
+ "completed_at": "2024-01-15T10:45:00Z"
167
+ }
168
+ ```
220
169
 
221
- | Generate Worker | Quality Worker | Input |
222
- |-----------------|----------------|-------|
223
- | `speccrew-knowledge-techs-generate-conventions` | `speccrew-knowledge-techs-generate-quality` | `output_path` from generate output |
224
- | `speccrew-knowledge-techs-generate-ui-style` | `speccrew-knowledge-techs-generate-quality` | `output_path` from generate output |
170
+ #### UI-Style Worker Done File
225
171
 
226
- **Quality Worker Task Prompt Format**:
172
+ **File**: `{completed_dir}/{platform_id}.done-ui-style.json`
227
173
 
174
+ **Format**:
228
175
  ```json
229
176
  {
230
- "skill_name": "speccrew-knowledge-techs-generate-quality",
231
- "context": {
232
- "platform_dir": "<platform_output_path>",
233
- "platform_id": "<platform.platform_id>",
234
- "platform_type": "<platform.platform_type>",
235
- "source_path": "<platform.source_path>"
236
- }
177
+ "platform_id": "web-vue",
178
+ "worker_type": "ui-style",
179
+ "status": "completed",
180
+ "ui_analysis_level": "full",
181
+ "documents_generated": [
182
+ "ui-style/ui-style-guide.md"
183
+ ],
184
+ "analysis_file": "web-vue.analysis-ui-style.json",
185
+ "completed_at": "2024-01-15T10:45:00Z"
237
186
  }
238
187
  ```
239
188
 
240
- **Quality Worker Completion Marker**:
189
+ **Status values**:
190
+ - `completed` — All required documents generated successfully
191
+ - `failed` — Critical failure, required documents not generated
192
+
193
+ If a Worker encounters a fatal error, it should still attempt to create the done file with `status: "failed"` and include error details in an `"error"` field.
194
+
195
+ #### Quality Worker Done File
241
196
 
242
- Each quality worker writes a `.quality-done.json` marker to `completed_dir` upon completion:
197
+ **File**: `{completed_dir}/{platform_id}.quality-done.json`
243
198
 
199
+ **Format**:
244
200
  ```json
245
201
  {
246
202
  "platform_id": "web-vue",
@@ -252,23 +208,54 @@ Each quality worker writes a `.quality-done.json` marker to `completed_dir` upon
252
208
  }
253
209
  ```
254
210
 
255
- **Expected Completion Markers after Stage 2**:
256
- 1. `{platform_id}.done-conventions.json` — conventions worker marker
257
- 2. `{platform_id}.done-ui-style.json` — ui-style worker marker (frontend only)
258
- 3. `{platform_id}.quality-done.json` — quality worker marker
211
+ ---
259
212
 
260
- > **Stage 2 Completion Condition**: ALL generate workers AND ALL quality check workers completed (`.done-*.json` and `.quality-done.json` markers present) before proceeding to Stage 2.5
213
+ ### Platform Status Tracking Fields
261
214
 
262
- ### Worker Completion Marker (MANDATORY)
215
+ Each platform entry in techs-manifest.json includes status tracking fields for monitoring the analysis pipeline progress:
263
216
 
264
- Each Worker MUST create a completion marker file after generating documents. See [Worker Completion Marker Format](#worker-completion-marker-format) for details.
217
+ | Field | Type | Values | Description |
218
+ |-------|------|--------|-------------|
219
+ | `status` | string | `pending` / `processing` / `completed` / `partial` / `failed` | Current analysis status |
220
+ | `startedAt` | string \| null | ISO 8601 timestamp | When the Worker started analyzing this platform |
221
+ | `completedAt` | string \| null | ISO 8601 timestamp | When the Worker finished analyzing this platform |
222
+ | `analysisLevel` | string \| null | `full` / `minimal` / `reference_only` | Depth of analysis achieved |
223
+ | `topicsCoverage` | number \| null | 0-100 | Percentage of domain topics covered (from analysis.json) |
224
+ | `workers` | object | See below | Per-worker status tracking |
225
+
226
+ **Workers Object Structure:**
227
+ ```json
228
+ {
229
+ "platform_id": "web-vue",
230
+ "status": "completed",
231
+ "workers": {
232
+ "conventions": {
233
+ "status": "completed",
234
+ "skill": "speccrew-knowledge-techs-generate-conventions",
235
+ "done_file": "web-vue.done-conventions.json"
236
+ },
237
+ "ui_style": {
238
+ "status": "completed",
239
+ "skill": "speccrew-knowledge-techs-generate-ui-style",
240
+ "done_file": "web-vue.done-ui-style.json"
241
+ }
242
+ }
243
+ }
244
+ ```
265
245
 
266
- - Conventions Worker: `{completed_dir}/{platform_id}.done-conventions.json`
267
- - UI-Style Worker: `{completed_dir}/{platform_id}.done-ui-style.json` (frontend only)
246
+ For backend platforms, `ui_style.status` is set to `"skipped"`.
268
247
 
269
- **Status values**: `completed` | `failed`
248
+ **Status Lifecycle:**
249
+ ```
250
+ pending → processing → completed
251
+ → partial (conventions OK, ui-style failed)
252
+ → failed
253
+ ```
254
+
255
+ ---
256
+
257
+ ### Output per Platform
270
258
 
271
- **Output per Platform**:
272
259
  ```
273
260
  speccrew-workspace/knowledges/techs/{platform_id}/
274
261
  ├── INDEX.md # Required
@@ -303,409 +290,11 @@ speccrew-workspace/knowledges/techs/{platform_id}/
303
290
  | `mobile` | Optional | Based on tech stack |
304
291
  | `desktop` | Optional | Based on tech stack |
305
292
 
306
- **Generation rules**:
307
- 1. `speccrew-knowledge-techs-generate` decides per platform whether `conventions-data.md` is needed
308
- 2. `speccrew-knowledge-techs-index` must check actual existing documents per platform and dynamically generate links
309
-
310
- **Status Tracking**:
311
- - **Get timestamp**: Run `node scripts/get-timestamp.js` to get current timestamp
312
- - **Generate `stage2-status.json`** at `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/stage2-status.json`
313
-
314
- **Stage 2 status tracks**:
315
- - `total_platforms`, `completed`, `failed` counts
316
- - Per-platform: `documents_generated` list
317
-
318
- **Step 2f: Scan Completion Markers**
319
-
320
- For each platform in the manifest:
321
- 1. Check for `{platform_id}.done-conventions.json` (REQUIRED for all platforms)
322
- 2. If platform_type IN ["web", "mobile", "desktop"], also check for `{platform_id}.done-ui-style.json`
323
- 3. Check for `{platform_id}.quality-done.json` (REQUIRED — quality check completion marker)
324
- 4. A platform is "fully completed" only when ALL expected done files AND quality markers are present
325
- 5. If any expected done file is missing → mark platform as `failed` (Worker crashed without creating marker)
326
-
327
- **Step 2g: Verify Document Output**
328
-
329
- For each platform:
330
- - **Conventions**: Check that INDEX.md, tech-stack.md, architecture.md, conventions-*.md exist
331
- - **UI-Style** (frontend platforms only): Check that ui-style/ directory and required files exist
332
- - **Quality Report**: Check that `{platform_dir}/quality-report.json` exists (generated by quality worker)
333
- - If any required document is missing → downgrade status accordingly
334
-
335
- **Step 2h: Read Coverage and Quality Reports**
336
-
337
- For each platform:
338
- 1. Read `{platform_id}.analysis-conventions.json`
339
- 2. If frontend platform, also read `{platform_id}.analysis-ui-style.json`
340
- 3. Read `{platform_dir}/quality-report.json` for quality metrics
341
- 4. Merge coverage and quality data from all reports for manifest update
342
-
343
- **Step 2i: Update Manifest Status**
344
-
345
- Update `techs-manifest.json` for each platform:
346
- - Set `status` based on worker results:
347
- - `"completed"` — ALL workers succeeded (including quality check)
348
- - `"partial"` — conventions succeeded but ui-style or quality failed (frontend only)
349
- - `"failed"` — conventions worker or quality check failed
350
- - Set `completedAt` to current timestamp
351
- - Set `workers.conventions.status` from done-conventions.json
352
- - Set `workers.ui_style.status` from done-ui-style.json (or `"skipped"` for backend platforms)
353
- - Set `workers.quality.status` from quality-done.json
354
- - Set `analysisLevel` based on:
355
- - `"full"` if coverage_percent >= 60 and all required docs exist and quality passed
356
- - `"minimal"` if coverage_percent < 60 or some optional docs missing or quality warnings
357
- - `"reference_only"` if critical docs missing or Worker failed or quality failed
358
- - Set `topicsCoverage` from analysis-conventions.json coverage_percent
359
- - Set `qualityScore` from quality.json if available
360
-
361
- **Step 2j: Handle Failures**
362
-
363
- For platforms with conventions worker `status: "failed"`:
364
- - Mark platform as `failed`
365
- - PRESERVE the done files and analysis files (do NOT delete them)
366
- - Log a warning with the failure details
367
- - The platform can be retried in a subsequent run by resetting its manifest status to `pending`
368
-
369
- For frontend platforms with ui-style worker `status: "failed"` but conventions succeeded:
370
- - Mark platform as `partial`
371
- - Conventions docs are still usable
372
- - Log a warning that UI-style analysis failed
373
-
374
- For platforms with quality worker `status: "failed"` but generate succeeded:
375
- - Mark platform as `partial` (docs generated but quality issues)
376
- - Log a warning with quality failure details
377
- - Include quality report in manifest for review
378
-
379
293
  ---
380
294
 
381
- ## Stage 2.5: Quality Synchronization
382
-
383
- **Trigger**: After ALL Stage 2 Workers have completed (all platforms processed)
384
- **Purpose**: Verify cross-platform consistency and document completeness before indexing
385
-
386
- **Three-Step Process**:
387
-
388
- ### Step A: Scan Completion Markers
389
-
390
- Scan the completion marker files in `{completed_dir}/` for each platform:
391
-
392
- 1. List all `.done-*.json` files in the sync-status directory
393
- 2. For each platform in manifest:
394
- - Check `{platform_id}.done-conventions.json` exists (REQUIRED for ALL platforms)
395
- - IF `platform_type` IN ["web", "mobile", "desktop"]: check `{platform_id}.done-ui-style.json`
396
- 3. Categorize platforms:
397
- - **completed**: All expected done files present with `status: "completed"`
398
- - **failed**: Missing done file OR `status: "failed"` in done file
399
- - **partial**: Conventions succeeded but ui-style failed (frontend only)
400
-
401
- **Output**: `platforms_completed[]`, `platforms_failed[]`, `platforms_partial[]` lists
402
-
403
- ### Step B: Verify Output Integrity
404
-
405
- For each platform in `platforms_completed` and `platforms_partial`:
406
-
407
- 1. Verify required document files exist in `knowledges/techs/{platform_id}/`:
408
- - `INDEX.md`, `tech-stack.md`, `architecture.md`
409
- - `conventions-design.md`, `conventions-dev.md`
410
- - `conventions-unit-test.md`, `conventions-system-test.md`, `conventions-build.md`
411
- 2. For frontend platforms, verify `ui-style/ui-style-guide.md` exists
412
- 3. Check each document is non-empty (>= 20 lines minimum)
413
- 4. Record verification results: `documents_present[]`, `documents_missing[]`
414
-
415
- **Output**: Per-platform integrity status with document check results
416
-
417
- ### Step C: Update Dispatch Progress
295
+ ### Error Handling
418
296
 
419
- Update the dispatch progress status:
420
-
421
- 1. Generate `stage2-status.json` with verification results (see format below)
422
- 2. For failed platforms:
423
- - Set `error_category` based on failure type:
424
- - `marker_missing`: Done file not created
425
- - `output_incomplete`: Required documents missing
426
- - `worker_crash`: Worker process terminated unexpectedly
427
- 3. Decision point:
428
- - IF ALL platforms failed → ABORT pipeline, report error
429
- - IF ANY platform succeeded → CONTINUE to Stage 3 with successful platforms
430
-
431
- **Output**: `stage2-status.json` ready, pipeline ready for Stage 3
432
-
433
- ---
434
-
435
- ### Detailed Verification Steps
436
-
437
- #### Document Existence Check
438
- For each platform, verify the following required documents exist:
439
- - INDEX.md
440
- - tech-stack.md
441
- - architecture.md
442
- - conventions-design.md
443
- - conventions-dev.md
444
- - conventions-unit-test.md
445
- - conventions-system-test.md
446
- - conventions-build.md
447
- - conventions-data.md (optional - only for backend or platforms with detected data layer)
448
-
449
- #### Document Completeness Check
450
- For each platform directory at `speccrew-workspace/knowledges/techs/{platform_id}/`:
451
- 1. List all .md files present
452
- 2. Check against required document list
453
- 3. Record status per platform:
454
- - "complete": all 8 required documents present
455
- - "incomplete": one or more required documents missing (list which)
456
- - "failed": INDEX.md missing (platform will be skipped in Stage 3)
457
-
458
- #### Step 3: Language Consistency Spot-Check
459
- Read the first 5 lines of each platform's INDEX.md:
460
- - Verify content language matches the `language` parameter
461
- - If mismatch detected, log warning: "Platform {platform_id}: language mismatch detected"
462
-
463
- #### Step 4: Source Traceability Spot-Check
464
- For each platform, check ONE document (conventions-dev.md recommended):
465
- - Verify it contains file reference block near the top (previously `<cite>`, now pure Markdown)
466
- - If missing, log warning: "Platform {platform_id}: source traceability missing in conventions-dev.md"
467
-
468
- #### Step 5: UI Style Analysis Level Recording
469
- For each frontend platform (platform_type = web/mobile/desktop):
470
- - Check if `speccrew-workspace/knowledges/techs/{platform_id}/ui-style/ui-style-guide.md` exists
471
- - If exists, read first 20 lines to detect analysis level:
472
- - Contains "Automated and manual UI analysis were not possible" → level = "reference_only"
473
- - Contains "manual source code inspection" → level = "minimal"
474
- - Otherwise → level = "full"
475
- - Record per platform
476
-
477
- ### Enhanced Quality Checks (using analysis.json data)
478
-
479
- In addition to the basic document existence and language checks above, Stage 2.5 MUST perform the following enhanced quality checks for each platform:
480
-
481
- #### Check 4: Document Content Non-Empty Verification
482
-
483
- For each generated .md file in the platform directory:
484
- 1. Count the number of lines in the file
485
- 2. If any document has fewer than 20 lines → flag as `content_warning`
486
- 3. Record the minimum line count across all documents as `min_doc_lines`
487
-
488
- ```
489
- THRESHOLD: 20 lines minimum per document
490
- SEVERITY: warning (does not block pipeline, but recorded in quality report)
491
- ```
492
-
493
- #### Check 5: Topic Coverage Verification
494
-
495
- Read `{completed_dir}/{platform_id}.analysis-conventions.json` and `{completed_dir}/{platform_id}.analysis-ui-style.json` (if they exist):
496
- 1. Merge `coverage_summary.coverage_percent` from both reports
497
- 2. If combined `coverage_percent` < 60 → flag as `coverage_warning`
498
- 3. Extract list of topics with `status: "not_found"` from both reports → record as `topics_missing`
499
- 4. If `coverage_percent` < 30 → flag as `coverage_critical` (pipeline should warn but continue)
500
-
501
- ```
502
- THRESHOLD: 60% minimum topic coverage
503
- SEVERITY:
504
- - >= 60%: good
505
- - 30-59%: warning
506
- - < 30%: critical
507
- ```
508
-
509
- #### Check 6: UI Style Completeness (Frontend Platforms Only, After UI-Style Worker)
510
-
511
- For platforms with `platform_type` in ["web", "mobile", "desktop"]:
512
- - ONLY check after ui-style Worker has completed
513
- - Check that ALL 5 required ui-style files exist:
514
- - `ui-style/ui-style-guide.md`
515
- - `ui-style/page-types/page-type-summary.md`
516
- - `ui-style/components/component-library.md`
517
- - `ui-style/layouts/page-layouts.md`
518
- - `ui-style/styles/color-system.md`
519
- - If any file is missing → flag as `ui_style_incomplete`
520
- - Read the `ui_analysis_level` from done-ui-style.json to classify:
521
- - `full` — all 5 files present with substantial content
522
- - `minimal` — ui-style-guide.md present but subdirectories incomplete
523
- - `reference_only` — only reference documentation, no actual analysis
524
-
525
- #### Check 7: Cross-Platform Comparison (when multiple frontend platforms exist)
526
-
527
- If the manifest contains 2+ frontend platforms:
528
- 1. Compare their `coverage_percent` values
529
- 2. If the difference exceeds 30 percentage points → flag as `coverage_imbalance`
530
- 3. Compare their `documents_generated` lists
531
- 4. Report any platform that has significantly fewer documents than others
532
-
533
- ```
534
- THRESHOLD: 30 percentage points maximum difference between frontend platforms
535
- SEVERITY: warning
536
- ```
537
-
538
- #### Check 8: Cross-Worker Completion Consistency
539
-
540
- For each frontend platform:
541
- - Verify both `{platform_id}.done-conventions.json` AND `{platform_id}.done-ui-style.json` exist
542
- - Verify both workers report `status: "completed"`
543
- - If one worker failed, mark platform quality as "warning" (conventions docs are still usable)
544
-
545
- For each backend platform:
546
- - Verify `{platform_id}.done-conventions.json` exists
547
- - UI-style check is skipped (not applicable)
548
-
549
- ### Quality Classification
550
-
551
- Based on the checks above, classify each platform's overall content quality:
552
-
553
- | Classification | Criteria |
554
- |---------------|----------|
555
- | `good` | All docs exist, min_doc_lines >= 20, coverage_percent >= 60, ui_style complete (if frontend) |
556
- | `warning` | Some docs below 20 lines OR coverage_percent 30-59% OR ui_style incomplete |
557
- | `poor` | Any doc missing OR coverage_percent < 30% OR critical issues found |
558
-
559
- #### Step 6: Generate stage2-status.json
560
- Write to `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/stage2-status.json`:
561
- ```json
562
- {
563
- "generated_at": "{timestamp}",
564
- "stage": "platform-doc-generation",
565
- "total_platforms": {N},
566
- "completed": {count of complete platforms},
567
- "incomplete": {count of incomplete platforms},
568
- "failed": {count of failed platforms},
569
- "language": "{language}",
570
- "quality_checks": {
571
- "all_required_docs_present": {true/false},
572
- "language_consistent": {true/false},
573
- "traceability_verified": {true/false},
574
- "ui_analyzer_results": {
575
- "full": [{platform_ids}],
576
- "minimal": [{platform_ids}],
577
- "reference_only": [{platform_ids}],
578
- "not_applicable": [{platform_ids for backend}]
579
- }
580
- },
581
- "platforms": [
582
- {
583
- "platform_id": "{id}",
584
- "platform_type": "{platform_type}",
585
- "framework": "{framework}",
586
- "status": "complete | incomplete | failed",
587
- "content_quality": "good | warning | poor",
588
- "documents_generated": ["INDEX.md", "tech-stack.md", ...],
589
- "documents_missing": [],
590
- "ui_style_level": "full | minimal | reference_only | not_applicable",
591
- "ui_style_complete": true | false,
592
- "ui_analysis_level": "full | minimal | reference_only | none",
593
- "topics_coverage": 0-100,
594
- "topics_missing": ["topic1", "topic2"],
595
- "min_doc_lines": 45,
596
- "checks": {
597
- "doc_existence": "pass | warning | fail",
598
- "language_check": "pass | warning | fail",
599
- "source_traceability": "pass | warning | fail",
600
- "content_non_empty": "pass | warning | fail",
601
- "topic_coverage": "pass | warning | fail",
602
- "ui_style_completeness": "pass | warning | fail"
603
- },
604
- "output_path": "speccrew-workspace/knowledges/techs/{platform_id}/"
605
- }
606
- ],
607
- "cross_platform_checks": {
608
- "coverage_imbalance": true | false,
609
- "max_coverage_diff": 31,
610
- "details": "web-vue (83%) vs mobile-uniapp (52%) - difference exceeds 30% threshold"
611
- },
612
- "overall_quality": "good | warning | poor",
613
- "summary": "2 platforms analyzed. 1 good, 1 warning. mobile-uniapp needs attention: low topic coverage and incomplete ui-style."
614
- }
615
- ```
616
-
617
- #### Decision Point
618
- - If ANY platform has status "failed" (no INDEX.md): log error but continue to Stage 3 (Stage 3 will skip those platforms)
619
- - If ALL platforms failed: ABORT pipeline, report error
620
- - Otherwise: proceed to Stage 3
621
-
622
- ---
623
-
624
- ## Stage 3: Generate Root Index (Single Task)
625
-
626
- **Goal**: Generate root INDEX.md aggregating all platform documentation.
627
-
628
- **Prerequisite**: All Stage 2 tasks completed.
629
-
630
- **Action**:
631
- - Read `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json`
632
-
633
- > **NOTE**: Worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares the task plan and parameters.
634
-
635
- **Prepare Task Plan**:
636
- - **Skill**: `speccrew-knowledge-techs-index/SKILL.md`
637
- - **Parameters**:
638
- - `manifest_path`: Path to techs-manifest.json
639
- - `techs_base_path`: Base path for techs documentation (e.g., `speccrew-workspace/knowledges/techs/`)
640
- - `output_path`: Output path for root INDEX.md (e.g., `speccrew-workspace/knowledges/techs/`)
641
- - `language`: User's language — **REQUIRED**
642
-
643
- **Critical Requirements for Techs Index Generation**:
644
-
645
- 1. **Dynamic Document Detection**:
646
- - Must scan each platform directory to detect which documents actually exist
647
- - Do NOT assume all platforms have the same document set
648
- - `conventions-data.md` may not exist for all platforms
649
-
650
- 2. **Dynamic Link Generation**:
651
- - Only include links to documents that actually exist
652
- - For missing optional documents, either omit the link or mark as "N/A"
653
-
654
- 3. **Platform-Specific Document Recommendations**:
655
- - Adjust "Agent 重点文档" recommendations based on actual available documents
656
-
657
- ### Cross-Platform Consistency Check
658
-
659
- ```pseudocode
660
- FOR EACH platform_pair IN combinations(platforms, 2):
661
- shared_deps = intersection(platform_a.dependencies, platform_b.dependencies)
662
- FOR EACH dep IN shared_deps:
663
- IF platform_a.dep_version != platform_b.dep_version:
664
- WARN "Version mismatch: {dep} — {platform_a}: {v1}, {platform_b}: {v2}"
665
-
666
- shared_conventions = intersection(platform_a.conventions, platform_b.conventions)
667
- FOR EACH convention IN shared_conventions:
668
- IF platform_a.convention_rule != platform_b.convention_rule:
669
- WARN "Convention conflict: {convention}"
670
-
671
- THRESHOLD: warnings > 5 → flag for manual review
672
- ```
673
-
674
- **Output**:
675
- - `speccrew-workspace/knowledges/techs/INDEX.md` (complete with platform index and Agent mapping, dynamically generated)
676
-
677
- **Status Tracking**:
678
- - **Get timestamp**: Run `node scripts/get-timestamp.js` to get current timestamp
679
- - **Generate `stage3-status.json`** at `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/stage3-status.json`
680
-
681
- **Stage 3 status tracks**:
682
- - `platforms_indexed` count
683
- - `index_file` path
684
-
685
- ---
686
-
687
- ## Execution Flow
688
-
689
- > **NOTE**: All worker dispatch and wait operations are handled by the calling Agent (Team Leader). This Skill only prepares task plans and monitors completion markers.
690
-
691
- ```
692
- 1. Run Stage 1 (Platform Detection)
693
- └─ Prepare task plan → Monitor completion
694
-
695
- 2. Run Stage 2 (Tech Doc Generation)
696
- ├─ Read techs-manifest.json
697
- ├─ Prepare ALL platform task plans for parallel dispatch
698
- └─ Monitor completion markers → generate stage2-status.json
699
-
700
- 3. Run Stage 3 (Root Index)
701
- └─ Prepare task plan → Monitor completion → generate stage3-status.json
702
- ```
703
-
704
- ---
705
-
706
- ## Error Handling
707
-
708
- ### Error Handling Strategy
297
+ #### Error Handling Strategy
709
298
 
710
299
  ```
711
300
  ON Worker Failure:
@@ -718,15 +307,16 @@ ON Worker Failure:
718
307
  - IF some platforms succeeded → CONTINUE to Stage 3 with successful platforms only
719
308
  ```
720
309
 
721
- ### Stage-Level Failure Handling
310
+ #### Stage-Level Failure Handling
722
311
 
723
312
  | Stage | Failure Handling |
724
313
  |-------|-----------------|
725
314
  | Stage 1 | Abort pipeline, report error |
726
315
  | Stage 2 | Continue with successful platforms, report failed ones |
316
+ | Stage 2.5 | Continue pipeline, report warnings |
727
317
  | Stage 3 | Abort if Stage 2 had critical failures |
728
318
 
729
- ### Worker Failure Details
319
+ #### Worker Failure Details
730
320
 
731
321
  **When a Worker Agent fails:**
732
322
  - **No automatic retry**: Worker failures are recorded as-is
@@ -736,7 +326,7 @@ ON Worker Failure:
736
326
 
737
327
  ---
738
328
 
739
- ## Checklist
329
+ ### Checklist
740
330
 
741
331
  - [ ] Stage 1: Platform manifest generated with techs-manifest.json
742
332
  - [ ] Stage 2: All platforms processed in parallel
@@ -744,152 +334,9 @@ ON Worker Failure:
744
334
  - [ ] Stage 3: Root INDEX.md generated with Agent mapping
745
335
  - [ ] Stage 3: `stage3-status.json` generated with index info
746
336
 
747
- ### Document Completeness Verification
337
+ #### Document Completeness Verification
748
338
  - [ ] Each platform directory contains required documents: INDEX.md, tech-stack.md, architecture.md, conventions-design.md, conventions-dev.md, conventions-unit-test.md, conventions-system-test.md, conventions-build.md
749
339
  - [ ] `conventions-data.md` exists only for appropriate platforms (backend required, others optional)
750
340
  - [ ] All documents include file reference blocks (pure Markdown format for VS Code preview compatibility)
751
341
  - [ ] All documents include AI-TAG and AI-CONTEXT comments
752
342
  - [ ] techs/INDEX.md links only to existing documents
753
-
754
- ## Return
755
-
756
- After all 3 stages complete, return a summary object to the caller:
757
-
758
- ```json
759
- {
760
- "status": "completed",
761
- "pipeline": "techs",
762
- "stages": {
763
- "stage1": { "status": "completed", "platforms": 3 },
764
- "stage2": { "status": "completed", "completed": 3, "failed": 0 },
765
- "stage3": { "status": "completed" }
766
- },
767
- "output": {
768
- "index": "speccrew-workspace/knowledges/techs/INDEX.md",
769
- "manifest": "speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json"
770
- }
771
- }
772
- ```
773
-
774
- ---
775
-
776
- ## Reference Guides
777
-
778
- ### Worker Completion Marker Format
779
-
780
- Each Worker MUST create a completion marker file after generating documents.
781
-
782
- #### Conventions Worker Done File
783
-
784
- **File**: `{completed_dir}/{platform_id}.done-conventions.json`
785
-
786
- **Format**:
787
- ```json
788
- {
789
- "platform_id": "web-vue",
790
- "worker_type": "conventions",
791
- "status": "completed",
792
- "documents_generated": [
793
- "INDEX.md", "tech-stack.md", "architecture.md",
794
- "conventions-dev.md", "conventions-design.md",
795
- "conventions-unit-test.md", "conventions-build.md"
796
- ],
797
- "analysis_file": "web-vue.analysis-conventions.json",
798
- "completed_at": "2024-01-15T10:45:00Z"
799
- }
800
- ```
801
-
802
- #### UI-Style Worker Done File
803
-
804
- **File**: `{completed_dir}/{platform_id}.done-ui-style.json`
805
-
806
- **Format**:
807
- ```json
808
- {
809
- "platform_id": "web-vue",
810
- "worker_type": "ui-style",
811
- "status": "completed",
812
- "ui_analysis_level": "full",
813
- "documents_generated": [
814
- "ui-style/ui-style-guide.md"
815
- ],
816
- "analysis_file": "web-vue.analysis-ui-style.json",
817
- "completed_at": "2024-01-15T10:45:00Z"
818
- }
819
- ```
820
-
821
- **Status values**:
822
- - `completed` — All required documents generated successfully
823
- - `failed` — Critical failure, required documents not generated
824
-
825
- If a Worker encounters a fatal error, it should still attempt to create the done file with `status: "failed"` and include error details in an `"error"` field.
826
-
827
- ### Platform Status Tracking Fields
828
-
829
- Each platform entry in techs-manifest.json includes status tracking fields for monitoring the analysis pipeline progress:
830
-
831
- | Field | Type | Values | Description |
832
- |-------|------|--------|-------------|
833
- | `status` | string | `pending` / `processing` / `completed` / `partial` / `failed` | Current analysis status |
834
- | `startedAt` | string \| null | ISO 8601 timestamp | When the Worker started analyzing this platform |
835
- | `completedAt` | string \| null | ISO 8601 timestamp | When the Worker finished analyzing this platform |
836
- | `analysisLevel` | string \| null | `full` / `minimal` / `reference_only` | Depth of analysis achieved |
837
- | `topicsCoverage` | number \| null | 0-100 | Percentage of domain topics covered (from analysis.json) |
838
- | `workers` | object | See below | Per-worker status tracking |
839
-
840
- **Workers Object Structure:**
841
- ```json
842
- {
843
- "platform_id": "web-vue",
844
- "status": "completed",
845
- "workers": {
846
- "conventions": {
847
- "status": "completed",
848
- "skill": "speccrew-knowledge-techs-generate-conventions",
849
- "done_file": "web-vue.done-conventions.json"
850
- },
851
- "ui_style": {
852
- "status": "completed",
853
- "skill": "speccrew-knowledge-techs-generate-ui-style",
854
- "done_file": "web-vue.done-ui-style.json"
855
- }
856
- }
857
- }
858
- ```
859
-
860
- For backend platforms, `ui_style.status` is set to `"skipped"`.
861
-
862
- **Status Lifecycle:**
863
- ```
864
- pending → processing → completed
865
- → partial (conventions OK, ui-style failed)
866
- → failed
867
- ```
868
-
869
- ---
870
-
871
- ## Task Completion Report
872
-
873
- Upon completing all stages, output the following structured report:
874
-
875
- ```json
876
- {
877
- "status": "success | partial | failed",
878
- "skill": "speccrew-knowledge-techs-dispatch",
879
- "stages_completed": ["stage_1", "stage_2", "stage_2_5", "stage_3"],
880
- "stages_failed": [],
881
- "output_summary": {
882
- "platforms_processed": ["frontend", "backend"],
883
- "docs_generated_per_platform": {"frontend": 5, "backend": 4},
884
- "root_index_generated": true,
885
- "cross_platform_check_passed": true
886
- },
887
- "output_files": [
888
- "knowledges/techs/{platform}/README.md",
889
- "knowledges/techs/{platform}/conventions.md",
890
- "knowledges/techs/README.md"
891
- ],
892
- "errors": [],
893
- "next_steps": ["Review generated tech documentation"]
894
- }
895
- ```