speccrew 0.1.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 (153) hide show
  1. package/.speccrew/agents/speccrew-feature-designer.md +142 -0
  2. package/.speccrew/agents/speccrew-product-manager.md +61 -0
  3. package/.speccrew/agents/speccrew-system-designer.md +200 -0
  4. package/.speccrew/agents/speccrew-system-developer.md +238 -0
  5. package/.speccrew/agents/speccrew-task-worker.md +80 -0
  6. package/.speccrew/agents/speccrew-team-leader.md +92 -0
  7. package/.speccrew/agents/speccrew-test-manager.md +313 -0
  8. package/.speccrew/skills/speccrew-create-agents/SKILL.md +98 -0
  9. package/.speccrew/skills/speccrew-create-agents/templates/agents/designer-agent.md +54 -0
  10. package/.speccrew/skills/speccrew-create-agents/templates/agents/dev-agent.md +79 -0
  11. package/.speccrew/skills/speccrew-create-agents/templates/agents/test-agent.md +80 -0
  12. package/.speccrew/skills/speccrew-dev-backend/SKILL.md +205 -0
  13. package/.speccrew/skills/speccrew-dev-backend/templates/TASK-RECORD-TEMPLATE.md +118 -0
  14. package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +258 -0
  15. package/.speccrew/skills/speccrew-dev-desktop/templates/TASK-RECORD-TEMPLATE.md +161 -0
  16. package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +202 -0
  17. package/.speccrew/skills/speccrew-dev-frontend/templates/TASK-RECORD-TEMPLATE.md +115 -0
  18. package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +200 -0
  19. package/.speccrew/skills/speccrew-dev-mobile/templates/TASK-RECORD-TEMPLATE.md +125 -0
  20. package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +73 -0
  21. package/.speccrew/skills/speccrew-fd-api-contract/templates/API-CONTRACT-TEMPLATE.md +96 -0
  22. package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +395 -0
  23. package/.speccrew/skills/speccrew-fd-feature-design/templates/FEATURE-SPEC-TEMPLATE.md +387 -0
  24. package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +80 -0
  25. package/.speccrew/skills/speccrew-get-timestamp/scripts/get-timestamp.js +35 -0
  26. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +1116 -0
  27. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-FASTAPI.md +462 -0
  28. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-JAVA.md +480 -0
  29. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-NET.md +464 -0
  30. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE.md +480 -0
  31. package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/MODULE-OVERVIEW-TEMPLATE.md +367 -0
  32. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +667 -0
  33. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +74 -0
  34. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/batch-orchestrator.js +176 -0
  35. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-next-batch.js +150 -0
  36. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-pending-features.js +106 -0
  37. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/mark-stale.js +249 -0
  38. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +848 -0
  39. package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js +226 -0
  40. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +264 -0
  41. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/examples/features.json +34 -0
  42. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +867 -0
  43. package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/test-inventory.js +26 -0
  44. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +165 -0
  45. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/apply-module-mapping.js +208 -0
  46. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/extract-module-summary.js +180 -0
  47. package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/reindex-modules.js +358 -0
  48. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +1055 -0
  49. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-DESKTOP.md +303 -0
  50. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-ELECTRON.md +327 -0
  51. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MINIAPP.md +292 -0
  52. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MOBILE.md +281 -0
  53. package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI.md +324 -0
  54. package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +270 -0
  55. package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/COMPONENT-PATTERN-TEMPLATE.md +33 -0
  56. package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/LAYOUT-PATTERN-TEMPLATE.md +33 -0
  57. package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/PAGE-TYPE-TEMPLATE.md +33 -0
  58. package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +229 -0
  59. package/.speccrew/skills/speccrew-knowledge-graph-query/scripts/graph-query.js +549 -0
  60. package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +181 -0
  61. package/.speccrew/skills/speccrew-knowledge-graph-write/scripts/graph-write.js +651 -0
  62. package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +305 -0
  63. package/.speccrew/skills/speccrew-knowledge-module-summarize/templates/MODULE-OVERVIEW-TEMPLATE.md +400 -0
  64. package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +351 -0
  65. package/.speccrew/skills/speccrew-knowledge-system-summarize/templates/SYSTEM-OVERVIEW-TEMPLATE.md +294 -0
  66. package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +683 -0
  67. package/.speccrew/skills/speccrew-knowledge-techs-dispatch/STATUS-FORMATS.md +550 -0
  68. package/.speccrew/skills/speccrew-knowledge-techs-dispatch/templates/techs-manifest-EXAMPLE.json +35 -0
  69. package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +1087 -0
  70. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/ARCHITECTURE-TEMPLATE.md +240 -0
  71. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COLOR-SYSTEM-TEMPLATE.md +68 -0
  72. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COMPONENT-LIBRARY-TEMPLATE.md +86 -0
  73. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-BUILD-TEMPLATE.md +466 -0
  74. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DATA-TEMPLATE.md +432 -0
  75. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DESIGN-TEMPLATE.md +1209 -0
  76. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DEV-TEMPLATE.md +1433 -0
  77. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-SYSTEM-TEST-TEMPLATE.md +1052 -0
  78. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-UNIT-TEST-TEMPLATE.md +946 -0
  79. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/INDEX-TEMPLATE.md +29 -0
  80. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-LAYOUTS-TEMPLATE.md +69 -0
  81. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +74 -0
  82. package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/TECH-STACK-TEMPLATE.md +232 -0
  83. package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +628 -0
  84. package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +392 -0
  85. package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +489 -0
  86. package/.speccrew/skills/speccrew-knowledge-techs-index/templates/INDEX-TEMPLATE.md +243 -0
  87. package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +269 -0
  88. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +562 -0
  89. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/BUSINESS-COMPONENTS-TEMPLATE.md +171 -0
  90. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMMON-COMPONENTS-TEMPLATE.md +177 -0
  91. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-INDIVIDUAL-TEMPLATE.md +80 -0
  92. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-LIBRARY-TEMPLATE.md +118 -0
  93. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-INDIVIDUAL-TEMPLATE.md +97 -0
  94. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-PATTERNS-TEMPLATE.md +208 -0
  95. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/NAVIGATION-PATTERNS-TEMPLATE.md +157 -0
  96. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-INDIVIDUAL-TEMPLATE.md +123 -0
  97. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +58 -0
  98. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/SPACING-TEMPLATE.md +119 -0
  99. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/STYLE-SYSTEM-TEMPLATE.md +117 -0
  100. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/TYPOGRAPHY-TEMPLATE.md +107 -0
  101. package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/UI-STYLE-GUIDE-TEMPLATE.md +171 -0
  102. package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +434 -0
  103. package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md +332 -0
  104. package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +200 -0
  105. package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +195 -0
  106. package/.speccrew/skills/speccrew-project-diagnosis/SKILL.md +208 -0
  107. package/.speccrew/skills/speccrew-project-diagnosis/templates/DIAGNOSIS-REPORT-TEMPLATE.md +202 -0
  108. package/.speccrew/skills/speccrew-sd-backend/SKILL.md +188 -0
  109. package/.speccrew/skills/speccrew-sd-backend/templates/INDEX-TEMPLATE.md +85 -0
  110. package/.speccrew/skills/speccrew-sd-backend/templates/SD-BACKEND-TEMPLATE.md +269 -0
  111. package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +192 -0
  112. package/.speccrew/skills/speccrew-sd-desktop/templates/INDEX-TEMPLATE.md +271 -0
  113. package/.speccrew/skills/speccrew-sd-desktop/templates/SD-DESKTOP-TEMPLATE.md +673 -0
  114. package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +176 -0
  115. package/.speccrew/skills/speccrew-sd-frontend/templates/INDEX-TEMPLATE.md +184 -0
  116. package/.speccrew/skills/speccrew-sd-frontend/templates/SD-FRONTEND-TEMPLATE.md +382 -0
  117. package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +189 -0
  118. package/.speccrew/skills/speccrew-sd-mobile/templates/INDEX-TEMPLATE.md +219 -0
  119. package/.speccrew/skills/speccrew-sd-mobile/templates/SD-MOBILE-TEMPLATE.md +534 -0
  120. package/.speccrew/skills/speccrew-test-case-design/SKILL.md +284 -0
  121. package/.speccrew/skills/speccrew-test-case-design/templates/TEST-CASE-DESIGN-TEMPLATE.md +263 -0
  122. package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +313 -0
  123. package/.speccrew/skills/speccrew-test-code-gen/templates/TEST-CODE-PLAN-TEMPLATE.md +180 -0
  124. package/.speccrew/skills/speccrew-test-execute/SKILL.md +283 -0
  125. package/.speccrew/skills/speccrew-test-execute/templates/BUG-REPORT-TEMPLATE.md +50 -0
  126. package/.speccrew/skills/speccrew-test-execute/templates/TEST-REPORT-TEMPLATE.md +57 -0
  127. package/.speccrew/skills/speccrew-workflow-diagnose/SKILL.md +155 -0
  128. package/LICENSE +21 -0
  129. package/README.ar.md +318 -0
  130. package/README.en.md +318 -0
  131. package/README.es.md +318 -0
  132. package/README.md +340 -0
  133. package/bin/cli.js +62 -0
  134. package/lib/commands/doctor.js +138 -0
  135. package/lib/commands/init.js +231 -0
  136. package/lib/commands/list.js +114 -0
  137. package/lib/commands/uninstall.js +117 -0
  138. package/lib/commands/update.js +351 -0
  139. package/lib/ide-adapters.js +73 -0
  140. package/lib/utils.js +104 -0
  141. package/package.json +28 -0
  142. package/workspace-template/docs/configs/document-templates.json +667 -0
  143. package/workspace-template/docs/configs/platform-mapping.json +194 -0
  144. package/workspace-template/docs/configs/tech-stack-mappings.json +313 -0
  145. package/workspace-template/docs/configs/validation-rules.json +87 -0
  146. package/workspace-template/docs/rules/mermaid-rule.md +114 -0
  147. package/workspace-template/docs/solutions/Agent/346/212/200/350/203/275/345/256/232/344/271/211+/351/234/200/346/261/202/346/226/207/346/241/243+UML/344/275/277/347/224/250/346/250/241/346/235/277/357/274/210ISA-95/345/205/255/346/256/265/345/274/217/350/236/215/345/220/210/347/211/210/357/274/211.md +586 -0
  148. package/workspace-template/docs/solutions/agent-knowledge-map.md +238 -0
  149. package/workspace-template/docs/solutions/bizs-knowledge-pipeline.md +678 -0
  150. package/workspace-template/docs/solutions/harness.md +410 -0
  151. package/workspace-template/docs/solutions/knowledge-incremental-sync-spec.md +943 -0
  152. package/workspace-template/docs/solutions/techs-knowledge-pipeline.md +803 -0
  153. package/workspace-template/docs/solutions/workspace-structure.md +318 -0
@@ -0,0 +1,683 @@
1
+ ---
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
5
+ ---
6
+
7
+ # Techs Knowledge Dispatch
8
+
9
+ Orchestrate **techs knowledge base generation** with a 3-stage pipeline: Platform Detection → Tech Doc Generation → Root Index.
10
+
11
+ ## Language Adaptation
12
+
13
+ **CRITICAL**: All generated documents must match the user's language. Detect the language from the user's input and pass it to all downstream Worker Agents.
14
+
15
+ - User writes in 中文 → Generate Chinese documents, pass `language: "zh"` to workers
16
+ - User writes in English → Generate English documents, pass `language: "en"` to workers
17
+ - User writes in other languages → Use appropriate language code
18
+
19
+ **All downstream skills must receive the `language` parameter and generate content in that language only.**
20
+
21
+ ## Trigger Scenarios
22
+
23
+ - "Initialize techs knowledge base"
24
+ - "Generate technology knowledge from source code"
25
+ - "Dispatch techs knowledge generation"
26
+
27
+ ## User
28
+
29
+ Leader Agent (speccrew-team-leader)
30
+
31
+ ## Platform Naming Convention
32
+
33
+ Read `speccrew-workspace/docs/configs/platform-mapping.json` for standardized platform mapping rules.
34
+
35
+ | Concept | techs-init (techs-manifest.json) | Example (UniApp) |
36
+ |---------|----------------------------------|------------------|
37
+ | **Category** | `platform_type` | `mobile` |
38
+ | **Technology** | `framework` | `uniapp` |
39
+ | **Identifier** | `platform_id` | `mobile-uniapp` |
40
+
41
+ ## Input
42
+
43
+ | Variable | Description | Default |
44
+ |----------|-------------|---------|
45
+ | `source_path` | Source code root path | project root |
46
+ | `language` | User's language code (e.g., "zh", "en") | **REQUIRED** |
47
+
48
+ ## Output
49
+
50
+ - Platform manifest: `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json`
51
+ - Tech docs: `speccrew-workspace/knowledges/techs/{platform_id}/`
52
+ - Root index: `speccrew-workspace/knowledges/techs/INDEX.md`
53
+ - Status files: `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/stage{N}-status.json`
54
+
55
+ ## Workflow Overview
56
+
57
+ ```mermaid
58
+ flowchart TB
59
+ S1[Stage 1: Detect Platforms] --> S2[Stage 2: Generate Tech Docs]
60
+ S2 --> S3[Stage 3: Generate Root Index]
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Stage 1: Detect Platform Manifest (Single Task)
66
+
67
+ **Goal**: Scan source code and identify all technology platforms.
68
+
69
+ **Action**:
70
+ - Invoke 1 Worker Agent (`speccrew-task-worker.md`) with skill `speccrew-knowledge-techs-init/SKILL.md`
71
+ - Task: Analyze project structure, detect technology platforms
72
+ - Parameters to pass to skill:
73
+ - `source_path`: Source code directory path
74
+ - `output_path`: Output directory (default: `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/`)
75
+ - `language`: User's language — **REQUIRED**
76
+
77
+ **Output**:
78
+ - `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json`
79
+
80
+ See [templates/techs-manifest-EXAMPLE.json](templates/techs-manifest-EXAMPLE.json) for complete example.
81
+
82
+ ### Platform Status Tracking Fields
83
+
84
+ Each platform entry in techs-manifest.json includes status tracking fields for monitoring the analysis pipeline progress:
85
+
86
+ | Field | Type | Values | Description |
87
+ |-------|------|--------|-------------|
88
+ | `status` | string | `pending` / `processing` / `completed` / `partial` / `failed` | Current analysis status |
89
+ | `startedAt` | string \| null | ISO 8601 timestamp | When the Worker started analyzing this platform |
90
+ | `completedAt` | string \| null | ISO 8601 timestamp | When the Worker finished analyzing this platform |
91
+ | `analysisLevel` | string \| null | `full` / `minimal` / `reference_only` | Depth of analysis achieved |
92
+ | `topicsCoverage` | number \| null | 0-100 | Percentage of domain topics covered (from analysis.json) |
93
+ | `workers` | object | See below | Per-worker status tracking |
94
+
95
+ **Workers Object Structure:**
96
+ ```json
97
+ {
98
+ "platform_id": "web-vue",
99
+ "status": "completed",
100
+ "workers": {
101
+ "conventions": {
102
+ "status": "completed",
103
+ "skill": "speccrew-knowledge-techs-generate-conventions",
104
+ "done_file": "web-vue.done-conventions.json"
105
+ },
106
+ "ui_style": {
107
+ "status": "completed",
108
+ "skill": "speccrew-knowledge-techs-generate-ui-style",
109
+ "done_file": "web-vue.done-ui-style.json"
110
+ }
111
+ }
112
+ }
113
+ ```
114
+
115
+ For backend platforms, `ui_style.status` is set to `"skipped"`.
116
+
117
+ **Status Lifecycle:**
118
+ ```
119
+ pending → processing → completed
120
+ → partial (conventions OK, ui-style failed)
121
+ → failed
122
+ ```
123
+
124
+ **Stage 1 (techs-init)**: All platforms initialized with `status: "pending"`, other tracking fields set to `null`.
125
+
126
+ **Stage 2 (techs-generate)**:
127
+ - Before launching Workers: Set `status: "processing"`, `startedAt: "{now}"`, set both workers status to `"processing"`
128
+ - After all Workers complete successfully: Set `status: "completed"`, `completedAt: "{now}"`, populate `analysisLevel` and `topicsCoverage` from Worker output
129
+ - After conventions Worker fails: Set `status: "failed"`, `completedAt: "{now}"`
130
+ - After ui-style Worker fails (but conventions succeeded): Set `status: "partial"`, `completedAt: "{now}"`
131
+
132
+ ---
133
+
134
+ ## Stage 2: Generate Platform Documents (Parallel)
135
+
136
+ **Goal**: Generate technology documentation for each platform in parallel.
137
+
138
+ **Action**:
139
+ - Read `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json`
140
+ - For each platform in `platforms` array, invoke 2 Worker Agents in PARALLEL:
141
+ - Worker 1: `speccrew-knowledge-techs-generate-conventions/SKILL.md` (ALL platforms)
142
+ - Worker 2: `speccrew-knowledge-techs-generate-ui-style/SKILL.md` (frontend platforms ONLY: web, mobile, desktop)
143
+ - Parameters to pass to each skill:
144
+ - `platform_id`: Platform identifier from manifest
145
+ - `platform_type`: Platform type (web, mobile, backend, desktop)
146
+ - `framework`: Primary framework
147
+ - `source_path`: Platform source directory
148
+ - `config_files`: List of configuration file paths (conventions worker only)
149
+ - `convention_files`: List of convention file paths (conventions worker only)
150
+ - `output_path`: Output directory for platform docs (e.g., `speccrew-workspace/knowledges/techs/{platform_id}/`)
151
+ - `completed_dir`: Directory for Worker output markers (e.g., `speccrew-workspace/knowledges/techs/.sync-status/`)
152
+ - `language`: User's language — **REQUIRED**
153
+
154
+ When launching each platform Worker, the Workers will output:
155
+ - `{completed_dir}/{platform_id}.done-conventions.json` — conventions worker completion marker
156
+ - `{completed_dir}/{platform_id}.done-ui-style.json` — ui-style worker completion marker (frontend only)
157
+ - `{completed_dir}/{platform_id}.analysis-conventions.json` — conventions coverage report
158
+ - `{completed_dir}/{platform_id}.analysis-ui-style.json` — ui-style coverage report (frontend only)
159
+
160
+ **Parallel Execution Logic**:
161
+
162
+ ```
163
+ # Ensure completed_dir exists before launching Workers
164
+ completed_dir = "speccrew-workspace/knowledges/techs/.sync-status/"
165
+ CREATE_DIRECTORY IF NOT EXISTS completed_dir
166
+
167
+ FOR each platform IN manifest.platforms:
168
+ # Update manifest before launching Workers
169
+ SET platform.status = "processing"
170
+ SET platform.startedAt = "{current_timestamp}"
171
+ SET platform.workers.conventions.status = "processing"
172
+ IF platform.platform_type IN ["web", "mobile", "desktop"]:
173
+ SET platform.workers.ui_style.status = "processing"
174
+ WRITE manifest to techs-manifest.json
175
+
176
+ # Worker 1: Conventions (ALL platforms)
177
+ INVOKE speccrew-task-worker 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
+ # Worker 2: UI-Style (frontend platforms ONLY)
191
+ IF platform.platform_type IN ["web", "mobile", "desktop"]:
192
+ INVOKE speccrew-task-worker WITH:
193
+ - skill_path: "speccrew-knowledge-techs-generate-ui-style/SKILL.md"
194
+ - context:
195
+ platform_id: platform.platform_id
196
+ platform_type: platform.platform_type
197
+ framework: platform.framework
198
+ source_path: platform.source_path
199
+ output_path: "speccrew-workspace/knowledges/techs/{platform.platform_id}/"
200
+ completed_dir: completed_dir
201
+ language: language
202
+
203
+ # Both workers run in PARALLEL for the same platform
204
+
205
+ WAIT_ALL workers complete
206
+ ```
207
+
208
+ ### Worker Completion Marker (MANDATORY)
209
+
210
+ After generating all documents and the analysis report, each Worker MUST create a completion marker file:
211
+
212
+ #### Conventions Worker Done File
213
+
214
+ **File**: `{completed_dir}/{platform_id}.done-conventions.json`
215
+
216
+ **Format**:
217
+ ```json
218
+ {
219
+ "platform_id": "web-vue",
220
+ "worker_type": "conventions",
221
+ "status": "completed",
222
+ "documents_generated": [
223
+ "INDEX.md", "tech-stack.md", "architecture.md",
224
+ "conventions-dev.md", "conventions-design.md",
225
+ "conventions-unit-test.md", "conventions-build.md"
226
+ ],
227
+ "analysis_file": "web-vue.analysis-conventions.json",
228
+ "completed_at": "2024-01-15T10:45:00Z"
229
+ }
230
+ ```
231
+
232
+ #### UI-Style Worker Done File
233
+
234
+ **File**: `{completed_dir}/{platform_id}.done-ui-style.json`
235
+
236
+ **Format**:
237
+ ```json
238
+ {
239
+ "platform_id": "web-vue",
240
+ "worker_type": "ui-style",
241
+ "status": "completed",
242
+ "ui_analysis_level": "full",
243
+ "documents_generated": [
244
+ "ui-style/ui-style-guide.md"
245
+ ],
246
+ "analysis_file": "web-vue.analysis-ui-style.json",
247
+ "completed_at": "2024-01-15T10:45:00Z"
248
+ }
249
+ ```
250
+
251
+ **Status values**:
252
+ - `completed` — All required documents generated successfully
253
+ - `failed` — Critical failure, required documents not generated
254
+
255
+ 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.
256
+
257
+ **Output per Platform**:
258
+ ```
259
+ speccrew-workspace/knowledges/techs/{platform_id}/
260
+ ├── INDEX.md # Required
261
+ ├── tech-stack.md # Required
262
+ ├── architecture.md # Required
263
+ ├── conventions-design.md # Required
264
+ ├── conventions-dev.md # Required
265
+ ├── conventions-unit-test.md # Required
266
+ ├── conventions-system-test.md # Required
267
+ ├── conventions-build.md # Required
268
+ ├── conventions-data.md # Optional — platform-specific
269
+ └── ui-style/ # Optional — frontend only (web/mobile/desktop)
270
+ ├── ui-style-guide.md # Generated by techs Stage 2
271
+ ├── page-types/ # Populated by bizs pipeline Stage 3.5 (ui-style-extract)
272
+ ├── components/ # Populated by bizs pipeline Stage 3.5 (ui-style-extract)
273
+ ├── layouts/ # Populated by bizs pipeline Stage 3.5 (ui-style-extract)
274
+ └── styles/ # Generated by techs Stage 2
275
+ ```
276
+
277
+ **Cross-Pipeline Note for `ui-style/`**:
278
+ - `ui-style-guide.md` and `styles/` are generated by techs pipeline Stage 2 (technical framework-level style specs)
279
+ - `page-types/`, `components/`, and `layouts/` are populated by bizs pipeline Stage 3.5 (`speccrew-knowledge-bizs-ui-style-extract` skill), which aggregates patterns from analyzed feature documents
280
+ - These two sources are complementary: techs provides framework-level conventions, bizs adds real-page-derived design patterns
281
+ - If bizs pipeline has not been executed, these three subdirectories will be empty
282
+
283
+ **Optional file `conventions-data.md` rules**:
284
+
285
+ | Platform Type | Required? | Notes |
286
+ |----------|-----------|-------|
287
+ | `backend` | Required | ORM specs, data modeling, caching |
288
+ | `web` | Depends | Only if using ORM/data layer (Prisma, TypeORM, etc.) |
289
+ | `mobile` | Optional | Based on tech stack |
290
+ | `desktop` | Optional | Based on tech stack |
291
+
292
+ **Generation rules**:
293
+ 1. `speccrew-knowledge-techs-generate` decides per platform whether `conventions-data.md` is needed
294
+ 2. `speccrew-knowledge-techs-index` must check actual existing documents per platform and dynamically generate links
295
+
296
+ **Status Tracking**:
297
+ - **Get timestamp** using `speccrew-get-timestamp` skill
298
+ - **Generate `stage2-status.json`** at `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/stage2-status.json`
299
+
300
+ **Stage 2 status tracks**:
301
+ - `total_platforms`, `completed`, `failed` counts
302
+ - Per-platform: `documents_generated` list
303
+
304
+ ---
305
+
306
+ ## Stage 2 Post-Processing: Validate Worker Output
307
+
308
+ **Trigger**: After ALL platform Workers have completed (or timed out)
309
+ **Purpose**: Validate Worker output via completion markers and update manifest status
310
+
311
+ **Step 2a: Scan Completion Markers**
312
+
313
+ For each platform in the manifest:
314
+ 1. Check for `{platform_id}.done-conventions.json` (REQUIRED for all platforms)
315
+ 2. If platform_type IN ["web", "mobile", "desktop"], also check for `{platform_id}.done-ui-style.json`
316
+ 3. A platform is "fully completed" only when ALL expected done files are present
317
+ 4. If any expected done file is missing → mark platform as `failed` (Worker crashed without creating marker)
318
+
319
+ **Step 2b: Verify Document Output**
320
+
321
+ For each platform:
322
+ - **Conventions**: Check that INDEX.md, tech-stack.md, architecture.md, conventions-*.md exist
323
+ - **UI-Style** (frontend platforms only): Check that ui-style/ directory and required files exist
324
+ - If any required document is missing → downgrade status accordingly
325
+
326
+ **Step 2c: Read Coverage Reports**
327
+
328
+ For each platform:
329
+ 1. Read `{platform_id}.analysis-conventions.json`
330
+ 2. If frontend platform, also read `{platform_id}.analysis-ui-style.json`
331
+ 3. Merge coverage data from both reports for manifest update
332
+
333
+ **Step 2d: Update Manifest Status**
334
+
335
+ Update `techs-manifest.json` for each platform:
336
+ - Set `status` based on worker results:
337
+ - `"completed"` — ALL workers succeeded
338
+ - `"partial"` — conventions succeeded but ui-style failed (frontend only)
339
+ - `"failed"` — conventions worker failed
340
+ - Set `completedAt` to current timestamp
341
+ - Set `workers.conventions.status` from done-conventions.json
342
+ - Set `workers.ui_style.status` from done-ui-style.json (or `"skipped"` for backend platforms)
343
+ - Set `analysisLevel` based on:
344
+ - `"full"` if coverage_percent >= 60 and all required docs exist
345
+ - `"minimal"` if coverage_percent < 60 or some optional docs missing
346
+ - `"reference_only"` if critical docs missing or Worker failed
347
+ - Set `topicsCoverage` from analysis-conventions.json coverage_percent
348
+
349
+ **Step 2e: Handle Failures**
350
+
351
+ For platforms with conventions worker `status: "failed"`:
352
+ - Mark platform as `failed`
353
+ - PRESERVE the done files and analysis files (do NOT delete them)
354
+ - Log a warning with the failure details
355
+ - The platform can be retried in a subsequent run by resetting its manifest status to `pending`
356
+
357
+ For frontend platforms with ui-style worker `status: "failed"` but conventions succeeded:
358
+ - Mark platform as `partial`
359
+ - Conventions docs are still usable
360
+ - Log a warning that UI-style analysis failed
361
+
362
+ ---
363
+
364
+ ## Stage 2.5: Quality Synchronization
365
+
366
+ **Trigger**: After ALL Stage 2 Workers have completed (all platforms processed)
367
+ **Purpose**: Verify cross-platform consistency and document completeness before indexing
368
+
369
+ **Steps**:
370
+
371
+ #### Step 1: Collect Worker Results
372
+ For each platform, verify the following required documents exist:
373
+ - INDEX.md
374
+ - tech-stack.md
375
+ - architecture.md
376
+ - conventions-design.md
377
+ - conventions-dev.md
378
+ - conventions-unit-test.md
379
+ - conventions-system-test.md
380
+ - conventions-build.md
381
+ - conventions-data.md (optional - only for backend or platforms with detected data layer)
382
+
383
+ #### Step 2: Document Completeness Check
384
+ For each platform directory at `speccrew-workspace/knowledges/techs/{platform_id}/`:
385
+ 1. List all .md files present
386
+ 2. Check against required document list
387
+ 3. Record status per platform:
388
+ - "complete": all 8 required documents present
389
+ - "incomplete": one or more required documents missing (list which)
390
+ - "failed": INDEX.md missing (platform will be skipped in Stage 3)
391
+
392
+ #### Step 3: Language Consistency Spot-Check
393
+ Read the first 5 lines of each platform's INDEX.md:
394
+ - Verify content language matches the `language` parameter
395
+ - If mismatch detected, log warning: "Platform {platform_id}: language mismatch detected"
396
+
397
+ #### Step 4: Source Traceability Spot-Check
398
+ For each platform, check ONE document (conventions-dev.md recommended):
399
+ - Verify it contains `<cite>` block near the top
400
+ - If missing, log warning: "Platform {platform_id}: source traceability missing in conventions-dev.md"
401
+
402
+ #### Step 5: UI Style Analysis Level Recording
403
+ For each frontend platform (platform_type = web/mobile/desktop):
404
+ - Check if `speccrew-workspace/knowledges/techs/{platform_id}/ui-style/ui-style-guide.md` exists
405
+ - If exists, read first 20 lines to detect analysis level:
406
+ - Contains "Automated and manual UI analysis were not possible" → level = "reference_only"
407
+ - Contains "manual source code inspection" → level = "minimal"
408
+ - Otherwise → level = "full"
409
+ - Record per platform
410
+
411
+ ### Enhanced Quality Checks (using analysis.json data)
412
+
413
+ In addition to the basic document existence and language checks above, Stage 2.5 MUST perform the following enhanced quality checks for each platform:
414
+
415
+ #### Check 4: Document Content Non-Empty Verification
416
+
417
+ For each generated .md file in the platform directory:
418
+ 1. Count the number of lines in the file
419
+ 2. If any document has fewer than 20 lines → flag as `content_warning`
420
+ 3. Record the minimum line count across all documents as `min_doc_lines`
421
+
422
+ ```
423
+ THRESHOLD: 20 lines minimum per document
424
+ SEVERITY: warning (does not block pipeline, but recorded in quality report)
425
+ ```
426
+
427
+ #### Check 5: Topic Coverage Verification
428
+
429
+ Read `{completed_dir}/{platform_id}.analysis.json` (if it exists):
430
+ 1. Extract `coverage_summary.coverage_percent`
431
+ 2. If `coverage_percent` < 60 → flag as `coverage_warning`
432
+ 3. Extract list of topics with `status: "not_found"` → record as `topics_missing`
433
+ 4. If `coverage_percent` < 30 → flag as `coverage_critical` (pipeline should warn but continue)
434
+
435
+ ```
436
+ THRESHOLD: 60% minimum topic coverage
437
+ SEVERITY:
438
+ - >= 60%: good
439
+ - 30-59%: warning
440
+ - < 30%: critical
441
+ ```
442
+
443
+ #### Check 6: UI Style Completeness (Frontend Platforms Only, After UI-Style Worker)
444
+
445
+ For platforms with `platform_type` in ["web", "mobile", "desktop"]:
446
+ - ONLY check after ui-style Worker has completed
447
+ - Check that ALL 5 required ui-style files exist:
448
+ - `ui-style/ui-style-guide.md`
449
+ - `ui-style/page-types/page-type-summary.md`
450
+ - `ui-style/components/component-library.md`
451
+ - `ui-style/layouts/page-layouts.md`
452
+ - `ui-style/styles/color-system.md`
453
+ - If any file is missing → flag as `ui_style_incomplete`
454
+ - Read the `ui_analysis_level` from done-ui-style.json to classify:
455
+ - `full` — all 5 files present with substantial content
456
+ - `minimal` — ui-style-guide.md present but subdirectories incomplete
457
+ - `reference_only` — only reference documentation, no actual analysis
458
+
459
+ #### Check 7: Cross-Platform Comparison (when multiple frontend platforms exist)
460
+
461
+ If the manifest contains 2+ frontend platforms:
462
+ 1. Compare their `coverage_percent` values
463
+ 2. If the difference exceeds 30 percentage points → flag as `coverage_imbalance`
464
+ 3. Compare their `documents_generated` lists
465
+ 4. Report any platform that has significantly fewer documents than others
466
+
467
+ ```
468
+ THRESHOLD: 30 percentage points maximum difference between frontend platforms
469
+ SEVERITY: warning
470
+ ```
471
+
472
+ #### Check 8: Cross-Worker Completion Consistency
473
+
474
+ For each frontend platform:
475
+ - Verify both `{platform_id}.done-conventions.json` AND `{platform_id}.done-ui-style.json` exist
476
+ - Verify both workers report `status: "completed"`
477
+ - If one worker failed, mark platform quality as "warning" (conventions docs are still usable)
478
+
479
+ For each backend platform:
480
+ - Verify `{platform_id}.done-conventions.json` exists
481
+ - UI-style check is skipped (not applicable)
482
+
483
+ ### Quality Classification
484
+
485
+ Based on the checks above, classify each platform's overall content quality:
486
+
487
+ | Classification | Criteria |
488
+ |---------------|----------|
489
+ | `good` | All docs exist, min_doc_lines >= 20, coverage_percent >= 60, ui_style complete (if frontend) |
490
+ | `warning` | Some docs below 20 lines OR coverage_percent 30-59% OR ui_style incomplete |
491
+ | `poor` | Any doc missing OR coverage_percent < 30% OR critical issues found |
492
+
493
+ #### Step 6: Generate stage2-status.json
494
+ Write to `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/stage2-status.json`:
495
+ ```json
496
+ {
497
+ "generated_at": "{timestamp}",
498
+ "stage": "platform-doc-generation",
499
+ "total_platforms": {N},
500
+ "completed": {count of complete platforms},
501
+ "incomplete": {count of incomplete platforms},
502
+ "failed": {count of failed platforms},
503
+ "language": "{language}",
504
+ "quality_checks": {
505
+ "all_required_docs_present": {true/false},
506
+ "language_consistent": {true/false},
507
+ "traceability_verified": {true/false},
508
+ "ui_analyzer_results": {
509
+ "full": [{platform_ids}],
510
+ "minimal": [{platform_ids}],
511
+ "reference_only": [{platform_ids}],
512
+ "not_applicable": [{platform_ids for backend}]
513
+ }
514
+ },
515
+ "platforms": [
516
+ {
517
+ "platform_id": "{id}",
518
+ "platform_type": "{platform_type}",
519
+ "framework": "{framework}",
520
+ "status": "complete | incomplete | failed",
521
+ "content_quality": "good | warning | poor",
522
+ "documents_generated": ["INDEX.md", "tech-stack.md", ...],
523
+ "documents_missing": [],
524
+ "ui_style_level": "full | minimal | reference_only | not_applicable",
525
+ "ui_style_complete": true | false,
526
+ "ui_analysis_level": "full | minimal | reference_only | none",
527
+ "topics_coverage": 0-100,
528
+ "topics_missing": ["topic1", "topic2"],
529
+ "min_doc_lines": 45,
530
+ "checks": {
531
+ "doc_existence": "pass | warning | fail",
532
+ "language_check": "pass | warning | fail",
533
+ "source_traceability": "pass | warning | fail",
534
+ "content_non_empty": "pass | warning | fail",
535
+ "topic_coverage": "pass | warning | fail",
536
+ "ui_style_completeness": "pass | warning | fail"
537
+ },
538
+ "output_path": "speccrew-workspace/knowledges/techs/{platform_id}/"
539
+ }
540
+ ],
541
+ "cross_platform_checks": {
542
+ "coverage_imbalance": true | false,
543
+ "max_coverage_diff": 31,
544
+ "details": "web-vue (83%) vs mobile-uniapp (52%) - difference exceeds 30% threshold"
545
+ },
546
+ "overall_quality": "good | warning | poor",
547
+ "summary": "2 platforms analyzed. 1 good, 1 warning. mobile-uniapp needs attention: low topic coverage and incomplete ui-style."
548
+ }
549
+ ```
550
+
551
+ #### Decision Point
552
+ - If ANY platform has status "failed" (no INDEX.md): log error but continue to Stage 3 (Stage 3 will skip those platforms)
553
+ - If ALL platforms failed: ABORT pipeline, report error
554
+ - Otherwise: proceed to Stage 3
555
+
556
+ ---
557
+
558
+ ## Stage 3: Generate Root Index (Single Task)
559
+
560
+ **Goal**: Generate root INDEX.md aggregating all platform documentation.
561
+
562
+ **Prerequisite**: All Stage 2 tasks completed.
563
+
564
+ **Action**:
565
+ - Read `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json`
566
+ - Invoke 1 Worker Agent (`speccrew-task-worker.md`) with skill `speccrew-knowledge-techs-index/SKILL.md`
567
+ - Parameters to pass to skill:
568
+ - `manifest_path`: Path to techs-manifest.json
569
+ - `techs_base_path`: Base path for techs documentation (e.g., `speccrew-workspace/knowledges/techs/`)
570
+ - `output_path`: Output path for root INDEX.md (e.g., `speccrew-workspace/knowledges/techs/`)
571
+ - `language`: User's language — **REQUIRED**
572
+
573
+ **Critical Requirements for Techs Index Generation**:
574
+
575
+ 1. **Dynamic Document Detection**:
576
+ - Must scan each platform directory to detect which documents actually exist
577
+ - Do NOT assume all platforms have the same document set
578
+ - `conventions-data.md` may not exist for all platforms
579
+
580
+ 2. **Dynamic Link Generation**:
581
+ - Only include links to documents that actually exist
582
+ - For missing optional documents, either omit the link or mark as "N/A"
583
+
584
+ 3. **Platform-Specific Document Recommendations**:
585
+ - Adjust "Agent 重点文档" recommendations based on actual available documents
586
+
587
+ **Output**:
588
+ - `speccrew-workspace/knowledges/techs/INDEX.md` (complete with platform index and Agent mapping, dynamically generated)
589
+
590
+ **Status Tracking**:
591
+ - **Get timestamp** using `speccrew-get-timestamp` skill
592
+ - **Generate `stage3-status.json`** at `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/stage3-status.json`
593
+
594
+ **Stage 3 status tracks**:
595
+ - `platforms_indexed` count
596
+ - `index_file` path
597
+
598
+ ---
599
+
600
+ ## Execution Flow
601
+
602
+ ```
603
+ 1. Run Stage 1 (Platform Detection)
604
+ └─ Wait for completion
605
+
606
+ 2. Run Stage 2 (Tech Doc Generation)
607
+ ├─ Read techs-manifest.json
608
+ ├─ Launch ALL platform Workers in parallel
609
+ └─ Wait for ALL Workers → generate stage2-status.json
610
+
611
+ 3. Run Stage 3 (Root Index)
612
+ └─ Wait for completion → generate stage3-status.json
613
+ ```
614
+
615
+ ---
616
+
617
+ ## Error Handling
618
+
619
+ ### Error Handling Strategy
620
+
621
+ ```
622
+ ON Worker Failure:
623
+ 1. Capture error message from worker_result.error
624
+ 2. Mark platform status as "failed" in stage2-status.json
625
+ 3. Record failed platform_id and error details
626
+ 4. Continue processing other platforms (no retry, fail fast)
627
+ 5. After all workers complete, evaluate overall status:
628
+ - IF all platforms failed → ABORT pipeline
629
+ - IF some platforms succeeded → CONTINUE to Stage 3 with successful platforms only
630
+ ```
631
+
632
+ ### Stage-Level Failure Handling
633
+
634
+ | Stage | Failure Handling |
635
+ |-------|-----------------|
636
+ | Stage 1 | Abort pipeline, report error |
637
+ | Stage 2 | Continue with successful platforms, report failed ones |
638
+ | Stage 3 | Abort if Stage 2 had critical failures |
639
+
640
+ ### Worker Failure Details
641
+
642
+ **When a Worker Agent fails:**
643
+ - **No automatic retry**: Worker failures are recorded as-is
644
+ - **Partial success accepted**: Pipeline continues if at least one platform succeeds
645
+ - **Error propagation**: Failed platform details are included in stage2-status.json
646
+ - **Stage 3 decision**: Only platforms with status "complete" are included in root INDEX.md
647
+
648
+ ---
649
+
650
+ ## Checklist
651
+
652
+ - [ ] Stage 1: Platform manifest generated with techs-manifest.json
653
+ - [ ] Stage 2: All platforms processed in parallel
654
+ - [ ] Stage 2: `stage2-status.json` generated with all platform results
655
+ - [ ] Stage 3: Root INDEX.md generated with Agent mapping
656
+ - [ ] Stage 3: `stage3-status.json` generated with index info
657
+
658
+ ### Document Completeness Verification
659
+ - [ ] 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
660
+ - [ ] `conventions-data.md` exists only for appropriate platforms (backend required, others optional)
661
+ - [ ] All documents include `<cite>` reference blocks
662
+ - [ ] All documents include AI-TAG and AI-CONTEXT comments
663
+ - [ ] techs/INDEX.md links only to existing documents
664
+
665
+ ## Return
666
+
667
+ After all 3 stages complete, return a summary object to the caller:
668
+
669
+ ```json
670
+ {
671
+ "status": "completed",
672
+ "pipeline": "techs",
673
+ "stages": {
674
+ "stage1": { "status": "completed", "platforms": 3 },
675
+ "stage2": { "status": "completed", "completed": 3, "failed": 0 },
676
+ "stage3": { "status": "completed" }
677
+ },
678
+ "output": {
679
+ "index": "speccrew-workspace/knowledges/techs/INDEX.md",
680
+ "manifest": "speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json"
681
+ }
682
+ }
683
+ ```