speccrew 0.6.69 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.speccrew/agents/speccrew-task-worker.md +1 -1
- package/.speccrew/agents/speccrew-team-leader.md +336 -189
- package/.speccrew/skills/speccrew-agentflow-manager/SKILL.md +161 -0
- package/.speccrew/skills/speccrew-agentflow-manager/workflow.agentflow.xml +347 -0
- package/.speccrew/skills/speccrew-deploy-build/SKILL.md +3 -56
- package/.speccrew/skills/speccrew-deploy-build/workflow.agentflow.xml +125 -0
- package/.speccrew/skills/speccrew-deploy-migrate/SKILL.md +3 -64
- package/.speccrew/skills/speccrew-deploy-migrate/workflow.agentflow.xml +135 -0
- package/.speccrew/skills/speccrew-deploy-smoke-test/SKILL.md +4 -156
- package/.speccrew/skills/speccrew-deploy-smoke-test/workflow.agentflow.xml +178 -0
- package/.speccrew/skills/speccrew-deploy-startup/SKILL.md +3 -135
- package/.speccrew/skills/speccrew-deploy-startup/workflow.agentflow.xml +223 -0
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-backend/workflow.agentflow.xml +254 -0
- package/.speccrew/skills/speccrew-dev-desktop-electron/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-desktop-electron/workflow.agentflow.xml +259 -0
- package/.speccrew/skills/speccrew-dev-desktop-tauri/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-desktop-tauri/workflow.agentflow.xml +245 -0
- package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-frontend/workflow.agentflow.xml +262 -0
- package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-mobile/workflow.agentflow.xml +244 -0
- package/.speccrew/skills/speccrew-dev-review-backend/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-review-backend/workflow.agentflow.xml +251 -0
- package/.speccrew/skills/speccrew-dev-review-desktop/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-review-desktop/workflow.agentflow.xml +214 -0
- package/.speccrew/skills/speccrew-dev-review-frontend/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-review-frontend/workflow.agentflow.xml +213 -0
- package/.speccrew/skills/speccrew-dev-review-mobile/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-review-mobile/workflow.agentflow.xml +214 -0
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-fd-api-contract/workflow.agentflow.xml +222 -0
- package/.speccrew/skills/speccrew-fd-feature-analyze/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-fd-feature-analyze/workflow.agentflow.xml +223 -0
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-fd-feature-design/workflow.agentflow.xml +322 -0
- package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +3 -39
- package/.speccrew/skills/speccrew-get-timestamp/workflow.agentflow.xml +43 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +57 -508
- package/.speccrew/skills/{speccrew-knowledge-bizs-api-analyze-xml/SKILL.md → speccrew-knowledge-bizs-api-analyze/workflow.agentflow.xml} +1 -154
- package/.speccrew/skills/speccrew-knowledge-bizs-api-graph/SKILL.md +73 -283
- package/.speccrew/skills/{speccrew-knowledge-bizs-api-graph-xml/SKILL.md → speccrew-knowledge-bizs-api-graph/workflow.agentflow.xml} +0 -298
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +931 -801
- package/.speccrew/skills/{speccrew-knowledge-bizs-dispatch-xml/SKILL.md → speccrew-knowledge-bizs-dispatch/workflow.agentflow.xml} +42 -272
- package/.speccrew/skills/speccrew-knowledge-bizs-identify-entries/SKILL.md +263 -71
- package/.speccrew/skills/{speccrew-knowledge-bizs-identify-entries-xml/SKILL.md → speccrew-knowledge-bizs-identify-entries/workflow.agentflow.xml} +8 -184
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +200 -181
- package/.speccrew/skills/{speccrew-knowledge-bizs-init-features-xml/SKILL.md → speccrew-knowledge-bizs-init-features/workflow.agentflow.xml} +7 -134
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +5 -89
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/workflow.agentflow.xml +129 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +454 -326
- package/.speccrew/skills/{speccrew-knowledge-bizs-ui-analyze-xml/SKILL.md → speccrew-knowledge-bizs-ui-analyze/workflow.agentflow.xml} +8 -128
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-graph/SKILL.md +302 -247
- package/.speccrew/skills/{speccrew-knowledge-bizs-ui-graph-xml/SKILL.md → speccrew-knowledge-bizs-ui-graph/workflow.agentflow.xml} +7 -199
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +267 -156
- package/.speccrew/skills/{speccrew-knowledge-bizs-ui-style-extract-xml/SKILL.md → speccrew-knowledge-bizs-ui-style-extract/workflow.agentflow.xml} +7 -151
- package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +3 -122
- package/.speccrew/skills/speccrew-knowledge-graph-query/workflow.agentflow.xml +106 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +3 -80
- package/.speccrew/skills/speccrew-knowledge-graph-write/workflow.agentflow.xml +152 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +371 -265
- package/.speccrew/skills/{speccrew-knowledge-module-summarize-xml/SKILL.md → speccrew-knowledge-module-summarize/workflow.agentflow.xml} +7 -197
- package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +45 -333
- package/.speccrew/skills/{speccrew-knowledge-system-summarize-xml/SKILL.md → speccrew-knowledge-system-summarize/workflow.agentflow.xml} +0 -177
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +174 -727
- package/.speccrew/skills/{speccrew-knowledge-techs-dispatch-xml/SKILL.md → speccrew-knowledge-techs-dispatch/workflow.agentflow.xml} +10 -351
- package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +20 -150
- package/.speccrew/skills/{speccrew-knowledge-techs-generate-xml/SKILL.md → speccrew-knowledge-techs-generate/workflow.agentflow.xml} +0 -169
- package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +75 -587
- package/.speccrew/skills/{speccrew-knowledge-techs-generate-conventions-xml/SKILL.md → speccrew-knowledge-techs-generate-conventions/workflow.agentflow.xml} +0 -153
- package/.speccrew/skills/speccrew-knowledge-techs-generate-quality/SKILL.md +463 -297
- package/.speccrew/skills/{speccrew-knowledge-techs-generate-quality-xml/SKILL.md → speccrew-knowledge-techs-generate-quality/workflow.agentflow.xml} +0 -164
- package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +57 -292
- package/.speccrew/skills/{speccrew-knowledge-techs-generate-ui-style-xml/SKILL.md → speccrew-knowledge-techs-generate-ui-style/workflow.agentflow.xml} +2 -193
- package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +49 -335
- package/.speccrew/skills/{speccrew-knowledge-techs-index-xml/SKILL.md → speccrew-knowledge-techs-index/workflow.agentflow.xml} +0 -167
- package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +28 -109
- package/.speccrew/skills/{speccrew-knowledge-techs-init-xml/SKILL.md → speccrew-knowledge-techs-init/workflow.agentflow.xml} +0 -189
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +3 -487
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/workflow.agentflow.xml +278 -0
- package/.speccrew/skills/speccrew-pm-knowledge-detector/SKILL.md +3 -71
- package/.speccrew/skills/speccrew-pm-knowledge-detector/workflow.agentflow.xml +108 -0
- package/.speccrew/skills/speccrew-pm-module-initializer/SKILL.md +3 -107
- package/.speccrew/skills/speccrew-pm-module-initializer/workflow.agentflow.xml +139 -0
- package/.speccrew/skills/speccrew-pm-module-matcher/SKILL.md +3 -115
- package/.speccrew/skills/speccrew-pm-module-matcher/workflow.agentflow.xml +146 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +3 -343
- package/.speccrew/skills/speccrew-pm-requirement-analysis/workflow.agentflow.xml +174 -0
- package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +3 -91
- package/.speccrew/skills/speccrew-pm-requirement-assess/workflow.agentflow.xml +173 -0
- package/.speccrew/skills/speccrew-pm-requirement-clarify/SKILL.md +3 -224
- package/.speccrew/skills/speccrew-pm-requirement-clarify/workflow.agentflow.xml +159 -0
- package/.speccrew/skills/speccrew-pm-requirement-model/SKILL.md +3 -275
- package/.speccrew/skills/speccrew-pm-requirement-model/workflow.agentflow.xml +210 -0
- package/.speccrew/skills/speccrew-pm-requirement-simple/SKILL.md +3 -76
- package/.speccrew/skills/speccrew-pm-requirement-simple/workflow.agentflow.xml +120 -0
- package/.speccrew/skills/speccrew-pm-sub-prd-generate/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-pm-sub-prd-generate/workflow.agentflow.xml +218 -0
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-backend/workflow.agentflow.xml +264 -0
- package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-desktop/workflow.agentflow.xml +288 -0
- package/.speccrew/skills/speccrew-sd-framework-evaluate/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-framework-evaluate/workflow.agentflow.xml +235 -0
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-frontend/workflow.agentflow.xml +299 -0
- package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-mobile/workflow.agentflow.xml +301 -0
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +165 -284
- package/.speccrew/skills/speccrew-test-case-design/workflow.agentflow.xml +210 -0
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +204 -324
- package/.speccrew/skills/speccrew-test-code-gen/workflow.agentflow.xml +265 -0
- package/.speccrew/skills/speccrew-test-reporter/SKILL.md +205 -184
- package/.speccrew/skills/speccrew-test-reporter/workflow.agentflow.xml +284 -0
- package/.speccrew/skills/speccrew-test-runner/SKILL.md +242 -241
- package/.speccrew/skills/speccrew-test-runner/workflow.agentflow.xml +314 -0
- package/bin/cli.js +8 -1
- package/lib/commands/init.js +11 -3
- package/lib/commands/update.js +11 -3
- package/lib/commands/validate.js +565 -0
- package/lib/utils.js +43 -0
- package/package.json +1 -1
- package/workspace-template/docs/rules/{xml-workflow-spec.md → agentflow-spec.md} +5 -5
- package/workspace-template/scripts/validate-agentflow.js +637 -0
- package/.speccrew/agents/speccrew-team-leader-xml.md +0 -480
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +0 -99
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/batch-orchestrator.js +0 -176
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-next-batch.js +0 -150
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-pending-features.js +0 -106
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/mark-stale.js +0 -249
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/merge-features.js +0 -300
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +0 -915
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js +0 -226
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/examples/features.json +0 -34
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +0 -1087
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/test-inventory.js +0 -26
- 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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
134
|
+
<!-- @agentflow: workflow.agentflow.xml -->
|
|
98
135
|
|
|
99
|
-
|
|
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
|
-
> **
|
|
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
|
-
|
|
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
|
-
|
|
144
|
+
## Appendix: Reference
|
|
207
145
|
|
|
208
|
-
|
|
146
|
+
### Worker Completion Marker Format
|
|
209
147
|
|
|
210
|
-
|
|
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
|
-
|
|
150
|
+
#### Conventions Worker Done File
|
|
216
151
|
|
|
217
|
-
|
|
152
|
+
**File**: `{completed_dir}/{platform_id}.done-conventions.json`
|
|
218
153
|
|
|
219
|
-
|
|
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
|
-
|
|
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
|
-
**
|
|
172
|
+
**File**: `{completed_dir}/{platform_id}.done-ui-style.json`
|
|
227
173
|
|
|
174
|
+
**Format**:
|
|
228
175
|
```json
|
|
229
176
|
{
|
|
230
|
-
"
|
|
231
|
-
"
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
"
|
|
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
|
-
**
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
213
|
+
### Platform Status Tracking Fields
|
|
261
214
|
|
|
262
|
-
|
|
215
|
+
Each platform entry in techs-manifest.json includes status tracking fields for monitoring the analysis pipeline progress:
|
|
263
216
|
|
|
264
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
```
|