speccrew 0.6.69 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/validate.js +565 -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,122 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
name: speccrew-knowledge-bizs-dispatch-xml
|
|
3
|
-
description: Dispatch bizs knowledge base generation tasks with 5-stage pipeline (XML Block version). Handles feature inventory, feature analysis with skill routing, graph data writing, module summarization, UI style pattern extraction, and system summary.
|
|
4
|
-
tools: Read, Write, Task, Bash
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
> **⚠️ MANDATORY EXECUTION PROTOCOL — READ BEFORE EXECUTING ANY BLOCK**
|
|
8
|
-
>
|
|
9
|
-
> **Step 1**: Load XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md` — this defines all block types and action-to-tool mappings
|
|
10
|
-
>
|
|
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
|
|
33
|
-
|
|
34
|
-
# Bizs Knowledge Dispatch (XML Block Version)
|
|
35
|
-
|
|
36
|
-
Orchestrate **bizs knowledge base generation** with a 5-stage pipeline using **XML Block system**: Feature Inventory → Feature Analysis + Graph Write → Module Summarize → UI Style Pattern Extract → System Summary.
|
|
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 bizs-dispatch as orchestration playbook">
|
|
52
|
-
<field name="skill">speccrew-knowledge-bizs-dispatch-xml</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-xml, techs-dispatch-xml): Leader calls directly via Skill tool
|
|
59
|
-
- Downstream worker skills (identify-entries, init-features, ui-analyze, module-summarize, 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 0: Platform Detection
|
|
67
|
-
└─ Detect platforms → Confirm platform list
|
|
68
|
-
↓
|
|
69
|
-
Stage 1: Feature Inventory Init
|
|
70
|
-
└─ 1a: Entry directory recognition (identify-entries)
|
|
71
|
-
└─ 1b: Feature inventory generation (init-features)
|
|
72
|
-
└─ 1c: Feature merge (incremental mode)
|
|
73
|
-
↓
|
|
74
|
-
Stage 2: Feature Analysis (Batch Loop)
|
|
75
|
-
└─ Step 0: Ensure completed_dir exists
|
|
76
|
-
└─ Step 1: Get next batch of pending features
|
|
77
|
-
└─ Step 2: Dispatch Worker for analysis (UI/API routing)
|
|
78
|
-
└─ Step 2.5: Dispatch Graph Worker
|
|
79
|
-
└─ Step 3: Process batch results → Update status
|
|
80
|
-
└─ Loop until all features complete
|
|
81
|
-
↓
|
|
82
|
-
Stage 3: Module Summarize
|
|
83
|
-
└─ Generate module overview for each module
|
|
84
|
-
↓
|
|
85
|
-
Stage 3.5: UI Style Pattern Extract
|
|
86
|
-
└─ Extract UI style patterns for frontend platforms
|
|
87
|
-
↓
|
|
88
|
-
Stage 4: System Summary
|
|
89
|
-
└─ Generate system-level business knowledge summary
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## Language Adaptation
|
|
93
|
-
|
|
94
|
-
**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.
|
|
95
|
-
|
|
96
|
-
- User writes in 中文 → Generate Chinese documents, pass `language: "zh"` to workers
|
|
97
|
-
- User writes in English → Generate English documents, pass `language: "en"` to workers
|
|
98
|
-
- User writes in other languages → Use appropriate language code
|
|
99
|
-
|
|
100
|
-
**All downstream skills must receive the `language` parameter and generate content in that language only.**
|
|
101
|
-
|
|
102
|
-
## Trigger Scenarios
|
|
103
|
-
|
|
104
|
-
- "Initialize bizs knowledge base"
|
|
105
|
-
- "Generate business knowledge from source code"
|
|
106
|
-
- "Dispatch bizs knowledge generation"
|
|
107
|
-
- "Generate knowledge base from src/views directory"
|
|
108
|
-
- "Analyze this subdirectory for knowledge base"
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## XML Workflow Definition
|
|
113
|
-
|
|
114
|
-
> **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
|
|
115
|
-
>
|
|
116
|
-
> 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.
|
|
117
|
-
|
|
118
|
-
```xml
|
|
119
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
120
2
|
<workflow id="bizs-dispatch-main" status="pending" version="1.0" desc="bizs knowledge base generation 5-stage pipeline">
|
|
121
3
|
|
|
122
4
|
<!-- ============================================================
|
|
@@ -141,39 +23,39 @@ Stage 4: System Summary
|
|
|
141
23
|
<!-- ============================================================
|
|
142
24
|
Global Invocation Rules
|
|
143
25
|
============================================================ -->
|
|
144
|
-
<block type="rule" id="GLOBAL-R-INVOCATION" level="forbidden" desc="Invocation constraints
|
|
145
|
-
<field name="text">This skill is an ORCHESTRATION PLAYBOOK
|
|
146
|
-
<field name="text">Worker Agents MUST NOT execute this dispatch skill
|
|
147
|
-
<field name="text">Downstream worker skills (identify-entries, init-features, ui-analyze, module-summarize, etc.) MUST be dispatched via Task tool
|
|
26
|
+
<block type="rule" id="GLOBAL-R-INVOCATION" level="forbidden" desc="Invocation constraints 鈥?NEVER violate">
|
|
27
|
+
<field name="text">This skill is an ORCHESTRATION PLAYBOOK 鈥?it MUST be loaded directly by Team Leader via Skill tool</field>
|
|
28
|
+
<field name="text">Worker Agents MUST NOT execute this dispatch skill 鈥?if loaded by a Worker, report error and abort</field>
|
|
29
|
+
<field name="text">Downstream worker skills (identify-entries, init-features, ui-analyze, module-summarize, etc.) MUST be dispatched via Task tool 鈫?speccrew-task-worker</field>
|
|
148
30
|
</block>
|
|
149
31
|
|
|
150
32
|
<!-- ============================================================
|
|
151
33
|
Global Continuous Execution Rules
|
|
152
34
|
============================================================ -->
|
|
153
|
-
<block type="rule" id="GLOBAL-R1" level="forbidden" desc="Continuous execution constraints
|
|
35
|
+
<block type="rule" id="GLOBAL-R1" level="forbidden" desc="Continuous execution constraints 鈥?NEVER violate">
|
|
154
36
|
<field name="text">DO NOT ask user "Should I continue?" or "How would you like to proceed?" between stages</field>
|
|
155
|
-
<field name="text">DO NOT offer options like "Full execution / Sample execution / Pause"
|
|
156
|
-
<field name="text">DO NOT suggest "Let me split this into batches" or "Let's do this in parts"
|
|
157
|
-
<field name="text">DO NOT pause to list what you plan to do next
|
|
37
|
+
<field name="text">DO NOT offer options like "Full execution / Sample execution / Pause" 鈥?always execute ALL stages to completion</field>
|
|
38
|
+
<field name="text">DO NOT suggest "Let me split this into batches" or "Let's do this in parts" 鈥?process ALL features sequentially</field>
|
|
39
|
+
<field name="text">DO NOT pause to list what you plan to do next 鈥?just do it</field>
|
|
158
40
|
<field name="text">DO NOT ask for confirmation before generating output files</field>
|
|
159
|
-
<field name="text">DO NOT warn about "large number of files" or "this may take a while"
|
|
41
|
+
<field name="text">DO NOT warn about "large number of files" or "this may take a while" 鈥?proceed with generation</field>
|
|
160
42
|
<field name="text">ONLY pause at explicit <event action="confirm"> blocks defined in the workflow</field>
|
|
161
|
-
<field name="text">DO NOT offer "continue/pause/partial" options
|
|
162
|
-
<field name="text">DO NOT estimate workload and suggest breaking it into phases
|
|
163
|
-
<field name="text">When many features need analysis, dispatch ALL of them
|
|
164
|
-
<field name="text">Context window management: if approaching limit, save progress to checkpoint file and resume
|
|
43
|
+
<field name="text">DO NOT offer "continue/pause/partial" options 鈥?EVER</field>
|
|
44
|
+
<field name="text">DO NOT estimate workload and suggest breaking it into phases 鈥?execute ALL phases in sequence</field>
|
|
45
|
+
<field name="text">When many features need analysis, dispatch ALL of them 鈥?do NOT skip or defer any</field>
|
|
46
|
+
<field name="text">Context window management: if approaching limit, save progress to checkpoint file and resume 鈥?do NOT ask user for guidance</field>
|
|
165
47
|
</block>
|
|
166
48
|
|
|
167
49
|
<!-- ============================================================
|
|
168
50
|
Global Technology Stack Constraints
|
|
169
51
|
============================================================ -->
|
|
170
|
-
<block type="rule" id="GLOBAL-R-TECHSTACK" level="forbidden" desc="Technology stack constraints
|
|
52
|
+
<block type="rule" id="GLOBAL-R-TECHSTACK" level="forbidden" desc="Technology stack constraints 鈥?NEVER violate">
|
|
171
53
|
<field name="text">FORBIDDEN: Python, Ruby, Perl, compiled binaries, or any runtime requiring separate installation</field>
|
|
172
54
|
<field name="text">PERMITTED scripting: PowerShell (Windows) and Bash (Linux/Mac) ONLY</field>
|
|
173
55
|
<field name="text">PERMITTED Node.js: ONLY for existing project scripts (e.g., node scripts/update-progress.js)</field>
|
|
174
56
|
<field name="text">For JSON validation use: node -e "JSON.parse(require('fs').readFileSync('file.json','utf8'))"</field>
|
|
175
57
|
<field name="text">For JSON creation use: node -e with inline script, or PowerShell ConvertTo-Json</field>
|
|
176
|
-
<field name="text">DO NOT create temporary .py, .rb, .pl, .bat files
|
|
58
|
+
<field name="text">DO NOT create temporary .py, .rb, .pl, .bat files 鈥?use inline commands via run_in_terminal</field>
|
|
177
59
|
</block>
|
|
178
60
|
|
|
179
61
|
<!-- ============================================================
|
|
@@ -182,7 +64,7 @@ Stage 4: System Summary
|
|
|
182
64
|
<sequence id="S0" name="Stage 0: Platform Detection" status="pending" desc="Automatically discover ALL platforms in the project">
|
|
183
65
|
|
|
184
66
|
<block type="rule" id="S0-R1" level="mandatory" desc="Stage 0 mandatory rules">
|
|
185
|
-
<field name="text">MUST scan project directory to discover ALL platforms
|
|
67
|
+
<field name="text">MUST scan project directory to discover ALL platforms 鈥?NEVER hardcode a fixed number of platforms</field>
|
|
186
68
|
<field name="text">Missing a platform means incomplete knowledge base generation</field>
|
|
187
69
|
</block>
|
|
188
70
|
|
|
@@ -205,7 +87,7 @@ Stage 4: System Summary
|
|
|
205
87
|
<field name="message">Skipping empty directory: ${module.name}</field>
|
|
206
88
|
</block>
|
|
207
89
|
<block type="event" id="S0-E1" action="log" level="info" desc="Log backend module">
|
|
208
|
-
<field name="message">Discovered backend module: ${module.name}
|
|
90
|
+
<field name="message">Discovered backend module: ${module.name} 鈫?Platform type: backend-${module.business_name}</field>
|
|
209
91
|
</block>
|
|
210
92
|
</block>
|
|
211
93
|
|
|
@@ -218,7 +100,7 @@ Stage 4: System Summary
|
|
|
218
100
|
<field name="message">Skipping non-frontend directory: ${frontend.name}</field>
|
|
219
101
|
</block>
|
|
220
102
|
<block type="event" id="S0-E2" action="log" level="info" desc="Log frontend platform">
|
|
221
|
-
<field name="message">Discovered frontend platform: ${frontend.name}
|
|
103
|
+
<field name="message">Discovered frontend platform: ${frontend.name} 鈫?Tech stack: Vue/React/UniApp</field>
|
|
222
104
|
</block>
|
|
223
105
|
</block>
|
|
224
106
|
|
|
@@ -278,7 +160,7 @@ Continue with knowledge base generation?
|
|
|
278
160
|
<sequence id="S1a" name="Stage 1a: Entry Directory Recognition" status="pending" desc="Identify entry directories for each platform and classify into business modules">
|
|
279
161
|
|
|
280
162
|
<block type="rule" id="S1a-R1" level="mandatory" desc="Stage 1a mandatory rules">
|
|
281
|
-
<field name="text">ALL platform entry directory recognition tasks MUST be dispatched IN PARALLEL
|
|
163
|
+
<field name="text">ALL platform entry directory recognition tasks MUST be dispatched IN PARALLEL 鈥?sequential execution is FORBIDDEN</field>
|
|
282
164
|
<field name="text">ALL Worker dispatch calls in S1a-L1 MUST be issued SIMULTANEOUSLY in a SINGLE orchestration turn</field>
|
|
283
165
|
<field name="text">DO NOT wait for any Worker to complete before dispatching the next Worker</field>
|
|
284
166
|
<field name="text">Dispatch all ${max_concurrent_workers} workers at once, then wait for ALL to complete</field>
|
|
@@ -288,7 +170,7 @@ Continue with knowledge base generation?
|
|
|
288
170
|
<block type="loop" id="S1a-L1" over="${platforms}" as="platform" parallel="true" max-concurrency="${max_concurrent_workers}" desc="Dispatch entry directory recognition for each platform IN PARALLEL">
|
|
289
171
|
<!-- Step 1: Read source directory tree -->
|
|
290
172
|
<block type="task" id="S1a-B1" action="dispatch-to-worker" status="pending" desc="Dispatch entry identification to Worker">
|
|
291
|
-
<field name="worker">speccrew-knowledge-bizs-identify-entries
|
|
173
|
+
<field name="worker">speccrew-knowledge-bizs-identify-entries</field>
|
|
292
174
|
<field name="source_path" value="${platform.sourcePath}"/>
|
|
293
175
|
<field name="platform_id" value="${platform.platformId}"/>
|
|
294
176
|
<field name="platform_type" value="${platform.platformType}"/>
|
|
@@ -321,7 +203,7 @@ Continue with knowledge base generation?
|
|
|
321
203
|
<sequence id="S1b" name="Stage 1b: Generate Feature Inventory" status="pending" desc="Generate Feature inventory for each platform">
|
|
322
204
|
|
|
323
205
|
<block type="rule" id="S1b-R1" level="mandatory" desc="Stage 1b mandatory rules">
|
|
324
|
-
<field name="text">ALL platform feature inventory generation tasks MUST be dispatched IN PARALLEL
|
|
206
|
+
<field name="text">ALL platform feature inventory generation tasks MUST be dispatched IN PARALLEL 鈥?sequential execution is FORBIDDEN</field>
|
|
325
207
|
<field name="text">ALL Worker dispatch calls in S1b-L1 MUST be issued SIMULTANEOUSLY in a SINGLE orchestration turn</field>
|
|
326
208
|
<field name="text">DO NOT wait for any Worker to complete before dispatching the next Worker</field>
|
|
327
209
|
<field name="text">Dispatch all ${max_concurrent_workers} workers at once, then wait for ALL to complete</field>
|
|
@@ -332,7 +214,7 @@ Continue with knowledge base generation?
|
|
|
332
214
|
<block type="loop" id="S1b-L1" over="${platforms}" as="platform" parallel="true" max-concurrency="${max_concurrent_workers}" desc="Generate Feature inventory for each platform IN PARALLEL">
|
|
333
215
|
<!-- Step 1: Dispatch Worker to generate feature inventory -->
|
|
334
216
|
<block type="task" id="S1b-B1" action="dispatch-to-worker" status="pending" desc="Dispatch Worker to generate feature inventory">
|
|
335
|
-
<field name="worker">speccrew-knowledge-bizs-init-features
|
|
217
|
+
<field name="worker">speccrew-knowledge-bizs-init-features</field>
|
|
336
218
|
<field name="instructions">
|
|
337
219
|
Generate feature inventory for the specified platform by analyzing entry directories.
|
|
338
220
|
|
|
@@ -447,9 +329,9 @@ Requirements:
|
|
|
447
329
|
</block>
|
|
448
330
|
|
|
449
331
|
<block type="rule" id="S2-R1" level="mandatory" desc="Stage 2 mandatory rules">
|
|
450
|
-
<field name="text">MUST use batch-orchestrator for batch management
|
|
451
|
-
<field name="text">MUST dispatch Workers for feature analysis
|
|
452
|
-
<field name="text">ALL workers for the same stage MUST be dispatched in PARALLEL
|
|
332
|
+
<field name="text">MUST use batch-orchestrator for batch management 鈥?DO NOT manually track batches</field>
|
|
333
|
+
<field name="text">MUST dispatch Workers for feature analysis 鈥?DO NOT analyze features yourself</field>
|
|
334
|
+
<field name="text">ALL workers for the same stage MUST be dispatched in PARALLEL 鈥?sequential execution is FORBIDDEN</field>
|
|
453
335
|
<field name="text">ALL Worker dispatch calls in S2-L2 MUST be issued SIMULTANEOUSLY in a SINGLE orchestration turn</field>
|
|
454
336
|
<field name="text">DO NOT wait for any Worker to complete before dispatching the next Worker</field>
|
|
455
337
|
<field name="text">Dispatch all ${max_concurrent_workers} workers at once, then wait for ALL to complete</field>
|
|
@@ -458,8 +340,8 @@ Requirements:
|
|
|
458
340
|
</block>
|
|
459
341
|
|
|
460
342
|
<block type="rule" id="S2-R2" level="forbidden" desc="Stage 2 forbidden actions">
|
|
461
|
-
<field name="text">DO NOT skip pending features
|
|
462
|
-
<field name="text">DO NOT generate feature analysis content yourself
|
|
343
|
+
<field name="text">DO NOT skip pending features 鈥?every feature must be analyzed</field>
|
|
344
|
+
<field name="text">DO NOT generate feature analysis content yourself 鈥?always dispatch to Worker</field>
|
|
463
345
|
<field name="text">DO NOT proceed to next Stage until ALL workers in current Stage have completed or failed</field>
|
|
464
346
|
</block>
|
|
465
347
|
|
|
@@ -473,7 +355,7 @@ Requirements:
|
|
|
473
355
|
<field name="text">Relative paths will cause Worker marker file writes to fail silently</field>
|
|
474
356
|
</block>
|
|
475
357
|
|
|
476
|
-
<!-- Batch Loop: Step 1
|
|
358
|
+
<!-- Batch Loop: Step 1鈫?鈫?.5鈫? loop until all features processed -->
|
|
477
359
|
<block type="loop" id="S2-L-Main" over="${batches}" as="batch_iteration" desc="Batch loop to process Features">
|
|
478
360
|
|
|
479
361
|
<!-- Step 1: Get next batch -->
|
|
@@ -509,22 +391,22 @@ Requirements:
|
|
|
509
391
|
<block type="gateway" id="S2-G1" mode="exclusive" desc="Route analysis Skill based on platform type">
|
|
510
392
|
<branch test="${feature.platformType} == 'web' or ${feature.platformType} == 'mobile' or ${feature.platformType} == 'desktop'" name="UI platform">
|
|
511
393
|
<block type="task" id="S2-B2a" action="dispatch-to-worker" status="pending" desc="Dispatch UI Feature analysis Worker">
|
|
512
|
-
<field name="worker">speccrew-knowledge-bizs-ui-analyze
|
|
394
|
+
<field name="worker">speccrew-knowledge-bizs-ui-analyze</field>
|
|
513
395
|
<field name="instructions">
|
|
514
396
|
Analyze the following source code file and generate detailed feature documentation.
|
|
515
397
|
|
|
516
398
|
CRITICAL - Template Fill-in Workflow (MANDATORY):
|
|
517
399
|
1. First, copy the analysis template to documentPath (template structure = document skeleton)
|
|
518
400
|
2. Then fill each Section using search_replace to replace placeholders with actual data
|
|
519
|
-
3. NEVER use create_file to rewrite the entire document
|
|
520
|
-
4. NEVER delete or skip any template Section
|
|
521
|
-
5. NEVER create custom Section structures
|
|
401
|
+
3. NEVER use create_file to rewrite the entire document 鈥?this destroys template structure
|
|
402
|
+
4. NEVER delete or skip any template Section 鈥?if no data available, fill with "N/A"
|
|
403
|
+
5. NEVER create custom Section structures 鈥?use ONLY the template's predefined Sections
|
|
522
404
|
|
|
523
405
|
Requirements:
|
|
524
406
|
- Read source code file, understand related functionality interfaces
|
|
525
407
|
- Generate detailed documentation to documentPath
|
|
526
408
|
- Create two marker files to completed_dir
|
|
527
|
-
- Use speccrew-knowledge-bizs-ui-analyze
|
|
409
|
+
- Use speccrew-knowledge-bizs-ui-analyze skill to complete this task
|
|
528
410
|
</field>
|
|
529
411
|
<field name="context">{
|
|
530
412
|
"fileName": "${feature.fileName}",
|
|
@@ -544,7 +426,7 @@ Requirements:
|
|
|
544
426
|
</branch>
|
|
545
427
|
<branch default="true" name="Backend platform">
|
|
546
428
|
<block type="task" id="S2-B2b" action="dispatch-to-worker" status="pending" desc="Dispatch API Feature analysis Worker">
|
|
547
|
-
<field name="worker">speccrew-knowledge-bizs-api-analyze
|
|
429
|
+
<field name="worker">speccrew-knowledge-bizs-api-analyze</field>
|
|
548
430
|
<field name="instructions">
|
|
549
431
|
Analyze the following source code file and generate detailed API feature documentation.
|
|
550
432
|
|
|
@@ -590,7 +472,7 @@ Requirements:
|
|
|
590
472
|
<block type="gateway" id="S2-G2" mode="exclusive" desc="Route Graph Worker based on analysis type">
|
|
591
473
|
<branch test="${feature.platformType} == 'backend'" name="API Graph">
|
|
592
474
|
<block type="task" id="S2-B25a" action="dispatch-to-worker" status="pending" desc="Dispatch API Graph Worker">
|
|
593
|
-
<field name="worker">speccrew-knowledge-bizs-api-graph
|
|
475
|
+
<field name="worker">speccrew-knowledge-bizs-api-graph</field>
|
|
594
476
|
<field name="instructions">
|
|
595
477
|
Generate graph data nodes and edges from the analyzed API feature document.
|
|
596
478
|
|
|
@@ -619,7 +501,7 @@ Requirements:
|
|
|
619
501
|
</branch>
|
|
620
502
|
<branch default="true" name="UI Graph">
|
|
621
503
|
<block type="task" id="S2-B25b" action="dispatch-to-worker" status="pending" desc="Dispatch UI Graph Worker">
|
|
622
|
-
<field name="worker">speccrew-knowledge-bizs-ui-graph
|
|
504
|
+
<field name="worker">speccrew-knowledge-bizs-ui-graph</field>
|
|
623
505
|
<field name="instructions">
|
|
624
506
|
Generate graph data nodes and edges from the analyzed UI feature document.
|
|
625
507
|
|
|
@@ -690,7 +572,7 @@ Requirements:
|
|
|
690
572
|
|
|
691
573
|
<block type="rule" id="S3-R1" level="mandatory" desc="Stage 3 mandatory rules">
|
|
692
574
|
<field name="text">Worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares the task plan and parameters.</field>
|
|
693
|
-
<field name="text">ALL module summary workers MUST be dispatched IN PARALLEL
|
|
575
|
+
<field name="text">ALL module summary workers MUST be dispatched IN PARALLEL 鈥?sequential execution is FORBIDDEN</field>
|
|
694
576
|
<field name="text">ALL Worker dispatch calls in S3-L2 MUST be issued SIMULTANEOUSLY in a SINGLE orchestration turn</field>
|
|
695
577
|
<field name="text">DO NOT wait for any Worker to complete before dispatching the next Worker</field>
|
|
696
578
|
<field name="text">Dispatch all ${max_concurrent_workers} workers at once, then wait for ALL to complete</field>
|
|
@@ -722,7 +604,7 @@ Requirements:
|
|
|
722
604
|
<!-- PARALLEL EXECUTION MANDATORY: All Module Summary Workers MUST be dispatched SIMULTANEOUSLY in ONE turn -->
|
|
723
605
|
<block type="loop" id="S3-L2" over="${platform_modules}" as="module_name" parallel="true" max-concurrency="${max_concurrent_workers}" desc="Dispatch summary Worker for each module">
|
|
724
606
|
<block type="task" id="S3-B4" action="dispatch-to-worker" status="pending" desc="Dispatch module summary Worker">
|
|
725
|
-
<field name="worker">speccrew-knowledge-module-summarize
|
|
607
|
+
<field name="worker">speccrew-knowledge-module-summarize</field>
|
|
726
608
|
<field name="instructions">
|
|
727
609
|
Generate complete module overview documentation for the specified module.
|
|
728
610
|
|
|
@@ -764,7 +646,7 @@ Requirements:
|
|
|
764
646
|
|
|
765
647
|
<block type="rule" id="S35-R1" level="mandatory" desc="Stage 3.5 mandatory rules">
|
|
766
648
|
<field name="text">Worker dispatch is handled by the calling Agent (Team Leader). This Skill only prepares the task plan and parameters.</field>
|
|
767
|
-
<field name="text">ALL UI style extraction workers MUST be dispatched IN PARALLEL
|
|
649
|
+
<field name="text">ALL UI style extraction workers MUST be dispatched IN PARALLEL 鈥?sequential execution is FORBIDDEN</field>
|
|
768
650
|
<field name="text">ALL Worker dispatch calls in S35-L1 MUST be issued SIMULTANEOUSLY in a SINGLE orchestration turn</field>
|
|
769
651
|
<field name="text">DO NOT wait for any Worker to complete before dispatching the next Worker</field>
|
|
770
652
|
<field name="text">Dispatch all ${max_concurrent_workers} workers at once, then wait for ALL to complete</field>
|
|
@@ -778,7 +660,7 @@ Requirements:
|
|
|
778
660
|
<block type="gateway" id="S35-G1" mode="exclusive" desc="Execute for UI platforms only">
|
|
779
661
|
<branch test="${platform.platformType} in ['web', 'mobile', 'desktop']" name="UI platform">
|
|
780
662
|
<block type="task" id="S35-B1" action="dispatch-to-worker" status="pending" desc="Dispatch UI style extraction Worker">
|
|
781
|
-
<field name="worker">speccrew-knowledge-bizs-ui-style-extract
|
|
663
|
+
<field name="worker">speccrew-knowledge-bizs-ui-style-extract</field>
|
|
782
664
|
<field name="instructions">
|
|
783
665
|
Extract UI design patterns from frontend platform Feature documents.
|
|
784
666
|
|
|
@@ -837,7 +719,7 @@ Requirements:
|
|
|
837
719
|
|
|
838
720
|
<!-- Step 2: Dispatch System Summarize Worker -->
|
|
839
721
|
<block type="task" id="S4-B2" action="dispatch-to-worker" status="pending" desc="Dispatch system summary Worker">
|
|
840
|
-
<field name="worker">speccrew-knowledge-system-summarize
|
|
722
|
+
<field name="worker">speccrew-knowledge-system-summarize</field>
|
|
841
723
|
<field name="instructions">
|
|
842
724
|
Generate complete system-level business knowledge summary.
|
|
843
725
|
|
|
@@ -922,115 +804,3 @@ Requirements:
|
|
|
922
804
|
<field name="graph_root" from="${graph_root}" type="string" desc="Graph data output directory"/>
|
|
923
805
|
</block>
|
|
924
806
|
</workflow>
|
|
925
|
-
```
|
|
926
|
-
|
|
927
|
-
---
|
|
928
|
-
|
|
929
|
-
## Appendix: Reference
|
|
930
|
-
|
|
931
|
-
### Skill Routing Table (Stage 2)
|
|
932
|
-
|
|
933
|
-
> **Note**: Detailed routing logic is defined in XML Stage 2 gateway (S2-G1).
|
|
934
|
-
|
|
935
|
-
| platformType | skill_name | Description |
|
|
936
|
-
|--------------|------------|-------------|
|
|
937
|
-
| `web` | `speccrew-knowledge-bizs-ui-analyze-xml` | Web frontend (Vue/React/Angular) |
|
|
938
|
-
| `mobile` | `speccrew-knowledge-bizs-ui-analyze-xml` | Mobile apps (Flutter/React Native/UniApp) |
|
|
939
|
-
| `desktop` | `speccrew-knowledge-bizs-ui-analyze-xml` | Desktop apps (Electron/WPF) |
|
|
940
|
-
| `backend` | `speccrew-knowledge-bizs-api-analyze-xml` | Backend APIs (Java/Python/Node.js) |
|
|
941
|
-
|
|
942
|
-
---
|
|
943
|
-
|
|
944
|
-
### Platform Types
|
|
945
|
-
|
|
946
|
-
| Platform Type | Platform Subtype | Description |
|
|
947
|
-
|---------------|------------------|-------------|
|
|
948
|
-
| `web` | `vue`, `react`, `angular` | Web frontend applications |
|
|
949
|
-
| `mobile` | `uniapp`, `flutter`, `react-native` | Mobile applications |
|
|
950
|
-
| `desktop` | `electron`, `wpf` | Desktop applications |
|
|
951
|
-
| `backend` | `spring`, `nodejs`, `python` | Backend services |
|
|
952
|
-
|
|
953
|
-
---
|
|
954
|
-
|
|
955
|
-
### Worker Completion Marker Format
|
|
956
|
-
|
|
957
|
-
#### Marker File Naming Convention
|
|
958
|
-
|
|
959
|
-
**Pattern**: `{module}-{subpath}-{fileName}.{type}.json`
|
|
960
|
-
|
|
961
|
-
| Component | Description | Example |
|
|
962
|
-
|-----------|-------------|---------|
|
|
963
|
-
| `module` | Business module name | `chat`, `user`, `order` |
|
|
964
|
-
| `subpath` | Sub-path within module, `/` replaced with `-`. Empty if file is directly under module | `admin`, `api-v2` |
|
|
965
|
-
| `fileName` | Source file name WITHOUT extension | `UserController`, `ChatService` |
|
|
966
|
-
| `type` | Marker type: `done`, `error`, or `skip` | `done` |
|
|
967
|
-
|
|
968
|
-
**Examples**:
|
|
969
|
-
|
|
970
|
-
| Source File Path | Marker File Name |
|
|
971
|
-
|------------------|------------------|
|
|
972
|
-
| `chat/ChatController.java` | `chat-ChatController.done.json` |
|
|
973
|
-
| `user/admin/UserController.java` | `user-admin-UserController.done.json` |
|
|
974
|
-
| `order/api/v2/OrderService.java` | `order-api-v2-OrderService.done.json` |
|
|
975
|
-
|
|
976
|
-
#### .done.json Required Fields
|
|
977
|
-
|
|
978
|
-
```json
|
|
979
|
-
{
|
|
980
|
-
"fileName": "<class name without extension>",
|
|
981
|
-
"sourcePath": "<relative source file path>",
|
|
982
|
-
"sourceFile": "<features JSON filename, e.g. features-backend-ai.json>",
|
|
983
|
-
"module": "<business module name>",
|
|
984
|
-
"status": "success|partial|failed",
|
|
985
|
-
"analysisNotes": "<brief notes>"
|
|
986
|
-
}
|
|
987
|
-
```
|
|
988
|
-
|
|
989
|
-
> WRONG: Writing plain text like "COMPLETED" or "Analysis done"
|
|
990
|
-
> CORRECT: Writing valid JSON with all required fields
|
|
991
|
-
|
|
992
|
-
---
|
|
993
|
-
|
|
994
|
-
### Batch Processing Details
|
|
995
|
-
|
|
996
|
-
#### get-batch Script Output Format
|
|
997
|
-
|
|
998
|
-
```json
|
|
999
|
-
{
|
|
1000
|
-
"action": "process|done",
|
|
1001
|
-
"batch": [
|
|
1002
|
-
{
|
|
1003
|
-
"id": "feature-001",
|
|
1004
|
-
"fileName": "UserController",
|
|
1005
|
-
"sourcePath": "controller/admin/user/UserController.java",
|
|
1006
|
-
"module": "user",
|
|
1007
|
-
"documentPath": "speccrew-workspace/knowledges/bizs/backend-system/user/UserController.md",
|
|
1008
|
-
"platformType": "backend",
|
|
1009
|
-
"platformSubtype": "spring",
|
|
1010
|
-
"platformId": "backend-system",
|
|
1011
|
-
"sourceFile": "features-backend-system.json"
|
|
1012
|
-
}
|
|
1013
|
-
]
|
|
1014
|
-
}
|
|
1015
|
-
```
|
|
1016
|
-
|
|
1017
|
-
#### process-results Script Behavior
|
|
1018
|
-
|
|
1019
|
-
- Scans `.done.json` files → updates feature status to `completed` in features-*.json
|
|
1020
|
-
- Scans `.graph-done.json` files → confirms graph data generation complete
|
|
1021
|
-
- Scans `.graph.json` files → writes graph data (nodes + edges) grouped by module
|
|
1022
|
-
- Cleans up all marker files
|
|
1023
|
-
|
|
1024
|
-
---
|
|
1025
|
-
|
|
1026
|
-
### Stateless Design
|
|
1027
|
-
|
|
1028
|
-
Dispatch adopts a fully stateless file-driven design. Re-execute loop to recover: `get-batch` auto-recovers from file state; `process-results` handles uncleaned markers. The entire flow is safely re-entrant.
|
|
1029
|
-
|
|
1030
|
-
---
|
|
1031
|
-
|
|
1032
|
-
### Large-Scale Scenario Guidance
|
|
1033
|
-
|
|
1034
|
-
For modules with >20 features: dispatch multiple Worker Agents in parallel (each handles a subset). Use `get-next-batch` for resume support across sessions. Run `process-batch-results --validateDocs` after completion to verify.
|
|
1035
|
-
|
|
1036
|
-
|