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,141 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: speccrew-knowledge-techs-dispatch-xml
|
|
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
|
-
---
|
|
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
|
-
# 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-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 (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.
|
|
85
|
-
|
|
86
|
-
## Language Adaptation
|
|
87
|
-
|
|
88
|
-
**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.
|
|
89
|
-
|
|
90
|
-
- User writes in 中文 → Generate Chinese documents, pass `language: "zh"` to workers
|
|
91
|
-
- User writes in English → Generate English documents, pass `language: "en"` to workers
|
|
92
|
-
- User writes in other languages → Use appropriate language code
|
|
93
|
-
|
|
94
|
-
**All downstream skills must receive the `language` parameter and generate content in that language only.**
|
|
95
|
-
|
|
96
|
-
## Trigger Scenarios
|
|
97
|
-
|
|
98
|
-
- "Initialize techs knowledge base"
|
|
99
|
-
- "Generate technology knowledge from source code"
|
|
100
|
-
- "Dispatch techs knowledge generation"
|
|
101
|
-
|
|
102
|
-
## User
|
|
103
|
-
|
|
104
|
-
Leader Agent (speccrew-team-leader)
|
|
105
|
-
|
|
106
|
-
## Platform Naming Convention
|
|
107
|
-
|
|
108
|
-
Read `speccrew-workspace/docs/configs/platform-mapping.json` for standardized platform mapping rules.
|
|
109
|
-
|
|
110
|
-
| Concept | techs-init (techs-manifest.json) | Example (UniApp) |
|
|
111
|
-
|---------|----------------------------------|------------------|
|
|
112
|
-
| **Category** | `platform_type` | `mobile` |
|
|
113
|
-
| **Technology** | `framework` | `uniapp` |
|
|
114
|
-
| **Identifier** | `platform_id` | `mobile-uniapp` |
|
|
115
|
-
|
|
116
|
-
## Input
|
|
117
|
-
|
|
118
|
-
| Variable | Description | Default |
|
|
119
|
-
|----------|-------------|---------|
|
|
120
|
-
| `source_path` | Source code root path | project root |
|
|
121
|
-
| `language` | User's language code (e.g., "zh", "en") | **REQUIRED** |
|
|
122
|
-
|
|
123
|
-
## Output
|
|
124
|
-
|
|
125
|
-
- Platform manifest: `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/techs-manifest.json`
|
|
126
|
-
- Tech docs: `speccrew-workspace/knowledges/techs/{platform_id}/`
|
|
127
|
-
- Root index: `speccrew-workspace/knowledges/techs/INDEX.md`
|
|
128
|
-
- Status files: `speccrew-workspace/knowledges/base/sync-state/knowledge-techs/stage{N}-status.json`
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## XML Workflow Definition
|
|
133
|
-
|
|
134
|
-
> **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
|
|
135
|
-
>
|
|
136
|
-
> 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.
|
|
137
|
-
|
|
138
|
-
```xml
|
|
139
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
140
2
|
<workflow id="techs-dispatch-main" status="pending" version="1.0" desc="techs knowledge base generation 3-stage pipeline">
|
|
141
3
|
|
|
@@ -208,7 +70,7 @@ Read `speccrew-workspace/docs/configs/platform-mapping.json` for standardized pl
|
|
|
208
70
|
|
|
209
71
|
<!-- Step 2: Prepare Task Plan for techs-init -->
|
|
210
72
|
<block type="event" id="S1-E1" action="log" level="info" desc="Prepare techs-init task plan">
|
|
211
|
-
<field name="message">Stage 1: Preparing task plan for speccrew-knowledge-techs-init
|
|
73
|
+
<field name="message">Stage 1: Preparing task plan for speccrew-knowledge-techs-init
|
|
212
74
|
- Source path: ${source_path}
|
|
213
75
|
- Output path: ${sync_state_techs_dir}
|
|
214
76
|
- Language: ${language}</field>
|
|
@@ -216,7 +78,7 @@ Read `speccrew-workspace/docs/configs/platform-mapping.json` for standardized pl
|
|
|
216
78
|
|
|
217
79
|
<!-- Step 3: Prepare task specification -->
|
|
218
80
|
<block type="task" id="S1-B2" action="prepare-task" status="pending" desc="Prepare techs-init task specification">
|
|
219
|
-
<field name="skill_name">speccrew-knowledge-techs-init
|
|
81
|
+
<field name="skill_name">speccrew-knowledge-techs-init</field>
|
|
220
82
|
<field name="context">
|
|
221
83
|
<field name="source_path">${source_path}</field>
|
|
222
84
|
<field name="output_path">${sync_state_techs_dir}</field>
|
|
@@ -228,7 +90,7 @@ Read `speccrew-workspace/docs/configs/platform-mapping.json` for standardized pl
|
|
|
228
90
|
<!-- Step 4: Monitor completion -->
|
|
229
91
|
<block type="event" id="S1-E2" action="log" level="info" desc="Stage 1 task prepared">
|
|
230
92
|
<field name="message">Stage 1 task plan prepared. Waiting for calling Agent to dispatch.
|
|
231
|
-
Task: speccrew-knowledge-techs-init
|
|
93
|
+
Task: speccrew-knowledge-techs-init
|
|
232
94
|
Output: ${sync_state_techs_dir}/techs-manifest.json</field>
|
|
233
95
|
</block>
|
|
234
96
|
|
|
@@ -311,7 +173,7 @@ if (platform) {
|
|
|
311
173
|
|
|
312
174
|
<block type="loop" id="S2-L2" over="${techs_manifest.platforms}" as="platform" parallel="true" max-concurrency="${techs_manifest.platforms.length}" desc="Prepare conventions worker task for each platform">
|
|
313
175
|
<block type="task" id="S2-B2" action="prepare-task" status="pending" desc="Prepare conventions worker task specification">
|
|
314
|
-
<field name="skill_name">speccrew-knowledge-techs-generate-conventions
|
|
176
|
+
<field name="skill_name">speccrew-knowledge-techs-generate-conventions</field>
|
|
315
177
|
<field name="context">
|
|
316
178
|
<field name="platform_id">${platform.platform_id}</field>
|
|
317
179
|
<field name="platform_type">${platform.platform_type}</field>
|
|
@@ -337,7 +199,7 @@ if (platform) {
|
|
|
337
199
|
<field name="message">Skipping UI-style for backend platform: ${platform.platform_id}</field>
|
|
338
200
|
</block>
|
|
339
201
|
<block type="task" id="S2-B3" action="prepare-task" status="pending" desc="Prepare UI-style worker task specification">
|
|
340
|
-
<field name="skill_name">speccrew-knowledge-techs-generate-ui-style
|
|
202
|
+
<field name="skill_name">speccrew-knowledge-techs-generate-ui-style</field>
|
|
341
203
|
<field name="context">
|
|
342
204
|
<field name="platform_id">${platform.platform_id}</field>
|
|
343
205
|
<field name="platform_type">${platform.platform_type}</field>
|
|
@@ -406,7 +268,7 @@ if (platform) {
|
|
|
406
268
|
<!-- Prepare Quality Check Worker Task Plans -->
|
|
407
269
|
<block type="gateway" id="S2-G4" mode="guard" test="${conventions_done.status} == 'completed'" fail-action="continue" desc="Prepare quality check for conventions">
|
|
408
270
|
<block type="task" id="S2-B5a" action="prepare-task" status="pending" desc="Prepare conventions quality worker">
|
|
409
|
-
<field name="skill_name">speccrew-knowledge-techs-generate-quality
|
|
271
|
+
<field name="skill_name">speccrew-knowledge-techs-generate-quality</field>
|
|
410
272
|
<field name="context">
|
|
411
273
|
<field name="platform_dir">${workspace_path}/knowledges/techs/${platform.platform_id}/</field>
|
|
412
274
|
<field name="platform_id">${platform.platform_id}</field>
|
|
@@ -419,7 +281,7 @@ if (platform) {
|
|
|
419
281
|
|
|
420
282
|
<block type="gateway" id="S2-G5" mode="guard" test="${ui_style_done.status} == 'completed'" fail-action="continue" desc="Prepare quality check for UI-style">
|
|
421
283
|
<block type="task" id="S2-B5b" action="prepare-task" status="pending" desc="Prepare UI-style quality worker">
|
|
422
|
-
<field name="skill_name">speccrew-knowledge-techs-generate-quality
|
|
284
|
+
<field name="skill_name">speccrew-knowledge-techs-generate-quality</field>
|
|
423
285
|
<field name="context">
|
|
424
286
|
<field name="platform_dir">${workspace_path}/knowledges/techs/${platform.platform_id}/ui-style/</field>
|
|
425
287
|
<field name="platform_id">${platform.platform_id}</field>
|
|
@@ -585,7 +447,7 @@ console.log('stage2-status.json written');
|
|
|
585
447
|
|
|
586
448
|
<!-- Step 2: Prepare Task Plan for techs-index -->
|
|
587
449
|
<block type="event" id="S3-E1" action="log" level="info" desc="Prepare techs-index task plan">
|
|
588
|
-
<field name="message">Stage 3: Preparing task plan for speccrew-knowledge-techs-index
|
|
450
|
+
<field name="message">Stage 3: Preparing task plan for speccrew-knowledge-techs-index
|
|
589
451
|
- Manifest: ${sync_state_techs_dir}/techs-manifest.json
|
|
590
452
|
- Output: ${workspace_path}/knowledges/techs/
|
|
591
453
|
- Language: ${language}</field>
|
|
@@ -593,7 +455,7 @@ console.log('stage2-status.json written');
|
|
|
593
455
|
|
|
594
456
|
<!-- Step 3: Prepare task specification -->
|
|
595
457
|
<block type="task" id="S3-B2" action="prepare-task" status="pending" desc="Prepare techs-index task specification">
|
|
596
|
-
<field name="skill_name">speccrew-knowledge-techs-index
|
|
458
|
+
<field name="skill_name">speccrew-knowledge-techs-index</field>
|
|
597
459
|
<field name="context">
|
|
598
460
|
<field name="manifest_path">${sync_state_techs_dir}/techs-manifest.json</field>
|
|
599
461
|
<field name="techs_base_path">${workspace_path}/knowledges/techs/</field>
|
|
@@ -606,7 +468,7 @@ console.log('stage2-status.json written');
|
|
|
606
468
|
<!-- Step 4: Monitor completion -->
|
|
607
469
|
<block type="event" id="S3-E2" action="log" level="info" desc="Stage 3 task prepared">
|
|
608
470
|
<field name="message">Stage 3 task plan prepared. Waiting for calling Agent to dispatch.
|
|
609
|
-
Task: speccrew-knowledge-techs-index
|
|
471
|
+
Task: speccrew-knowledge-techs-index
|
|
610
472
|
Output: ${workspace_path}/knowledges/techs/INDEX.md</field>
|
|
611
473
|
</block>
|
|
612
474
|
|
|
@@ -652,206 +514,3 @@ console.log('stage3-status.json written');
|
|
|
652
514
|
</block>
|
|
653
515
|
|
|
654
516
|
</workflow>
|
|
655
|
-
```
|
|
656
|
-
|
|
657
|
-
---
|
|
658
|
-
|
|
659
|
-
## Appendix: Reference
|
|
660
|
-
|
|
661
|
-
### Worker Completion Marker Format
|
|
662
|
-
|
|
663
|
-
Each Worker MUST create a completion marker file after generating documents.
|
|
664
|
-
|
|
665
|
-
#### Conventions Worker Done File
|
|
666
|
-
|
|
667
|
-
**File**: `{completed_dir}/{platform_id}.done-conventions.json`
|
|
668
|
-
|
|
669
|
-
**Format**:
|
|
670
|
-
```json
|
|
671
|
-
{
|
|
672
|
-
"platform_id": "web-vue",
|
|
673
|
-
"worker_type": "conventions",
|
|
674
|
-
"status": "completed",
|
|
675
|
-
"documents_generated": [
|
|
676
|
-
"INDEX.md", "tech-stack.md", "architecture.md",
|
|
677
|
-
"conventions-dev.md", "conventions-design.md",
|
|
678
|
-
"conventions-unit-test.md", "conventions-build.md"
|
|
679
|
-
],
|
|
680
|
-
"analysis_file": "web-vue.analysis-conventions.json",
|
|
681
|
-
"completed_at": "2024-01-15T10:45:00Z"
|
|
682
|
-
}
|
|
683
|
-
```
|
|
684
|
-
|
|
685
|
-
#### UI-Style Worker Done File
|
|
686
|
-
|
|
687
|
-
**File**: `{completed_dir}/{platform_id}.done-ui-style.json`
|
|
688
|
-
|
|
689
|
-
**Format**:
|
|
690
|
-
```json
|
|
691
|
-
{
|
|
692
|
-
"platform_id": "web-vue",
|
|
693
|
-
"worker_type": "ui-style",
|
|
694
|
-
"status": "completed",
|
|
695
|
-
"ui_analysis_level": "full",
|
|
696
|
-
"documents_generated": [
|
|
697
|
-
"ui-style/ui-style-guide.md"
|
|
698
|
-
],
|
|
699
|
-
"analysis_file": "web-vue.analysis-ui-style.json",
|
|
700
|
-
"completed_at": "2024-01-15T10:45:00Z"
|
|
701
|
-
}
|
|
702
|
-
```
|
|
703
|
-
|
|
704
|
-
**Status values**:
|
|
705
|
-
- `completed` — All required documents generated successfully
|
|
706
|
-
- `failed` — Critical failure, required documents not generated
|
|
707
|
-
|
|
708
|
-
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.
|
|
709
|
-
|
|
710
|
-
#### Quality Worker Done File
|
|
711
|
-
|
|
712
|
-
**File**: `{completed_dir}/{platform_id}.quality-done.json`
|
|
713
|
-
|
|
714
|
-
**Format**:
|
|
715
|
-
```json
|
|
716
|
-
{
|
|
717
|
-
"platform_id": "web-vue",
|
|
718
|
-
"worker_type": "quality",
|
|
719
|
-
"status": "completed",
|
|
720
|
-
"quality_score": 85,
|
|
721
|
-
"issues_found": 2,
|
|
722
|
-
"completed_at": "2024-01-15T11:00:00Z"
|
|
723
|
-
}
|
|
724
|
-
```
|
|
725
|
-
|
|
726
|
-
---
|
|
727
|
-
|
|
728
|
-
### Platform Status Tracking Fields
|
|
729
|
-
|
|
730
|
-
Each platform entry in techs-manifest.json includes status tracking fields for monitoring the analysis pipeline progress:
|
|
731
|
-
|
|
732
|
-
| Field | Type | Values | Description |
|
|
733
|
-
|-------|------|--------|-------------|
|
|
734
|
-
| `status` | string | `pending` / `processing` / `completed` / `partial` / `failed` | Current analysis status |
|
|
735
|
-
| `startedAt` | string \| null | ISO 8601 timestamp | When the Worker started analyzing this platform |
|
|
736
|
-
| `completedAt` | string \| null | ISO 8601 timestamp | When the Worker finished analyzing this platform |
|
|
737
|
-
| `analysisLevel` | string \| null | `full` / `minimal` / `reference_only` | Depth of analysis achieved |
|
|
738
|
-
| `topicsCoverage` | number \| null | 0-100 | Percentage of domain topics covered (from analysis.json) |
|
|
739
|
-
| `workers` | object | See below | Per-worker status tracking |
|
|
740
|
-
|
|
741
|
-
**Workers Object Structure:**
|
|
742
|
-
```json
|
|
743
|
-
{
|
|
744
|
-
"platform_id": "web-vue",
|
|
745
|
-
"status": "completed",
|
|
746
|
-
"workers": {
|
|
747
|
-
"conventions": {
|
|
748
|
-
"status": "completed",
|
|
749
|
-
"skill": "speccrew-knowledge-techs-generate-conventions-xml",
|
|
750
|
-
"done_file": "web-vue.done-conventions.json"
|
|
751
|
-
},
|
|
752
|
-
"ui_style": {
|
|
753
|
-
"status": "completed",
|
|
754
|
-
"skill": "speccrew-knowledge-techs-generate-ui-style-xml",
|
|
755
|
-
"done_file": "web-vue.done-ui-style.json"
|
|
756
|
-
}
|
|
757
|
-
}
|
|
758
|
-
}
|
|
759
|
-
```
|
|
760
|
-
|
|
761
|
-
For backend platforms, `ui_style.status` is set to `"skipped"`.
|
|
762
|
-
|
|
763
|
-
**Status Lifecycle:**
|
|
764
|
-
```
|
|
765
|
-
pending → processing → completed
|
|
766
|
-
→ partial (conventions OK, ui-style failed)
|
|
767
|
-
→ failed
|
|
768
|
-
```
|
|
769
|
-
|
|
770
|
-
---
|
|
771
|
-
|
|
772
|
-
### Output per Platform
|
|
773
|
-
|
|
774
|
-
```
|
|
775
|
-
speccrew-workspace/knowledges/techs/{platform_id}/
|
|
776
|
-
├── INDEX.md # Required
|
|
777
|
-
├── tech-stack.md # Required
|
|
778
|
-
├── architecture.md # Required
|
|
779
|
-
├── conventions-design.md # Required
|
|
780
|
-
├── conventions-dev.md # Required
|
|
781
|
-
├── conventions-unit-test.md # Required
|
|
782
|
-
├── conventions-system-test.md # Required
|
|
783
|
-
├── conventions-build.md # Required
|
|
784
|
-
├── conventions-data.md # Optional — platform-specific
|
|
785
|
-
└── ui-style/ # Optional — frontend only (web/mobile/desktop)
|
|
786
|
-
├── ui-style-guide.md # Generated by techs Stage 2
|
|
787
|
-
├── page-types/ # Populated by bizs pipeline Stage 3.5 (ui-style-extract)
|
|
788
|
-
├── components/ # Populated by bizs pipeline Stage 3.5 (ui-style-extract)
|
|
789
|
-
├── layouts/ # Populated by bizs pipeline Stage 3.5 (ui-style-extract)
|
|
790
|
-
└── styles/ # Generated by techs Stage 2
|
|
791
|
-
```
|
|
792
|
-
|
|
793
|
-
**Cross-Pipeline Note for `ui-style/`**:
|
|
794
|
-
- `ui-style-guide.md` and `styles/` are generated by techs pipeline Stage 2 (technical framework-level style specs)
|
|
795
|
-
- `page-types/`, `components/`, and `layouts/` are populated by bizs pipeline Stage 3.5 (`speccrew-knowledge-bizs-ui-style-extract` skill), which aggregates patterns from analyzed feature documents
|
|
796
|
-
- These two sources are complementary: techs provides framework-level conventions, bizs adds real-page-derived design patterns
|
|
797
|
-
- If bizs pipeline has not been executed, these three subdirectories will be empty
|
|
798
|
-
|
|
799
|
-
**Optional file `conventions-data.md` rules**:
|
|
800
|
-
|
|
801
|
-
| Platform Type | Required? | Notes |
|
|
802
|
-
|----------|-----------|-------|
|
|
803
|
-
| `backend` | Required | ORM specs, data modeling, caching |
|
|
804
|
-
| `web` | Depends | Only if using ORM/data layer (Prisma, TypeORM, etc.) |
|
|
805
|
-
| `mobile` | Optional | Based on tech stack |
|
|
806
|
-
| `desktop` | Optional | Based on tech stack |
|
|
807
|
-
|
|
808
|
-
---
|
|
809
|
-
|
|
810
|
-
### Error Handling
|
|
811
|
-
|
|
812
|
-
#### Error Handling Strategy
|
|
813
|
-
|
|
814
|
-
```
|
|
815
|
-
ON Worker Failure:
|
|
816
|
-
1. Capture error message from worker_result.error
|
|
817
|
-
2. Mark platform status as "failed" in stage2-status.json
|
|
818
|
-
3. Record failed platform_id and error details
|
|
819
|
-
4. Continue processing other platforms (no retry, fail fast)
|
|
820
|
-
5. After all workers complete, evaluate overall status:
|
|
821
|
-
- IF all platforms failed → ABORT pipeline
|
|
822
|
-
- IF some platforms succeeded → CONTINUE to Stage 3 with successful platforms only
|
|
823
|
-
```
|
|
824
|
-
|
|
825
|
-
#### Stage-Level Failure Handling
|
|
826
|
-
|
|
827
|
-
| Stage | Failure Handling |
|
|
828
|
-
|-------|-----------------|
|
|
829
|
-
| Stage 1 | Abort pipeline, report error |
|
|
830
|
-
| Stage 2 | Continue with successful platforms, report failed ones |
|
|
831
|
-
| Stage 2.5 | Continue pipeline, report warnings |
|
|
832
|
-
| Stage 3 | Abort if Stage 2 had critical failures |
|
|
833
|
-
|
|
834
|
-
#### Worker Failure Details
|
|
835
|
-
|
|
836
|
-
**When a Worker Agent fails:**
|
|
837
|
-
- **No automatic retry**: Worker failures are recorded as-is
|
|
838
|
-
- **Partial success accepted**: Pipeline continues if at least one platform succeeds
|
|
839
|
-
- **Error propagation**: Failed platform details are included in stage2-status.json
|
|
840
|
-
- **Stage 3 decision**: Only platforms with status "complete" are included in root INDEX.md
|
|
841
|
-
|
|
842
|
-
---
|
|
843
|
-
|
|
844
|
-
### Checklist
|
|
845
|
-
|
|
846
|
-
- [ ] Stage 1: Platform manifest generated with techs-manifest.json
|
|
847
|
-
- [ ] Stage 2: All platforms processed in parallel
|
|
848
|
-
- [ ] Stage 2: `stage2-status.json` generated with all platform results
|
|
849
|
-
- [ ] Stage 3: Root INDEX.md generated with Agent mapping
|
|
850
|
-
- [ ] Stage 3: `stage3-status.json` generated with index info
|
|
851
|
-
|
|
852
|
-
#### Document Completeness Verification
|
|
853
|
-
- [ ] 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
|
|
854
|
-
- [ ] `conventions-data.md` exists only for appropriate platforms (backend required, others optional)
|
|
855
|
-
- [ ] All documents include file reference blocks (pure Markdown format for VS Code preview compatibility)
|
|
856
|
-
- [ ] All documents include AI-TAG and AI-CONTEXT comments
|
|
857
|
-
- [ ] techs/INDEX.md links only to existing documents
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: speccrew-knowledge-techs-generate
|
|
3
|
-
description: Stage 2 of technology knowledge initialization - Generate technology documentation for a specific platform. Extracts tech stack, architecture, and conventions from configuration files and source code. Creates INDEX.md, tech-stack.md, architecture.md, and conventions-*.md files. Used by Worker Agent in parallel for each detected platform.
|
|
3
|
+
description: Stage 2 of technology knowledge initialization - Generate technology documentation for a specific platform using XML workflow blocks. Extracts tech stack, architecture, and conventions from configuration files and source code. Creates INDEX.md, tech-stack.md, architecture.md, and conventions-*.md files. Used by Worker Agent in parallel for each detected platform.
|
|
4
4
|
tools: Read, Write, Glob, Grep, Skill
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ tools: Read, Write, Glob, Grep, Skill
|
|
|
8
8
|
>
|
|
9
9
|
> **Do NOT invoke this skill directly.** Use the specialized skills via `speccrew-knowledge-techs-dispatch` Stage 2 dual-worker orchestration.
|
|
10
10
|
|
|
11
|
-
# Stage 2: Generate Platform Technology Documents
|
|
11
|
+
# Stage 2: Generate Platform Technology Documents (XML Workflow)
|
|
12
12
|
|
|
13
13
|
Generate comprehensive technology documentation for a specific platform by analyzing its configuration files and source code structure.
|
|
14
14
|
|
|
@@ -36,155 +36,11 @@ Generate comprehensive technology documentation for a specific platform by analy
|
|
|
36
36
|
|
|
37
37
|
**Quality Assurance**: After document generation, quality checks are performed by `speccrew-knowledge-techs-generate-quality` skill.
|
|
38
38
|
|
|
39
|
-
##
|
|
40
|
-
|
|
41
|
-
```mermaid
|
|
42
|
-
flowchart TD
|
|
43
|
-
Start([Start]) --> Step0[Step 0: Read Document Templates]
|
|
44
|
-
Step0 --> Step1[Step 1: Read Configuration Files]
|
|
45
|
-
Step1 --> Step2[Step 2: Extract Technology Stack]
|
|
46
|
-
Step2 --> Step3[Step 3: Analyze Conventions]
|
|
47
|
-
Step3 --> Step4[Step 4: Invoke UI Style Analysis]
|
|
48
|
-
Step4 --> Step5[Step 5: Generate Documents]
|
|
49
|
-
Step5 --> Step6[Step 6: Write Output Files]
|
|
50
|
-
Step6 --> Step7[Step 7: Generate Analysis Coverage Report]
|
|
51
|
-
Step7 --> Step8[Step 8: Report Results]
|
|
52
|
-
Step8 --> End([End])
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Step 0: Read Document Templates
|
|
56
|
-
|
|
57
|
-
Read all template files from `templates/` directory to understand required content structure for each document type.
|
|
58
|
-
|
|
59
|
-
### Step 1: Read Configuration Files
|
|
60
|
-
|
|
61
|
-
**Primary Config Files:** package.json / pom.xml / requirements.txt / pubspec.yaml / go.mod, tsconfig.json, build configs
|
|
62
|
-
|
|
63
|
-
**Convention Files:** ESLint (.eslintrc.* / eslint.config.*), Prettier (.prettierrc.*), Testing configs, Git files
|
|
64
|
-
|
|
65
|
-
### Step 2: Extract Technology Stack
|
|
66
|
-
|
|
67
|
-
Parse configuration files to extract: Core Framework (name, version, language), Dependencies (production, dev, key versions), Build Tools (bundler, transpiler, task runner)
|
|
68
|
-
|
|
69
|
-
### Step 3: Analyze Conventions
|
|
70
|
-
|
|
71
|
-
1. Read `speccrew-workspace/docs/rules/mermaid-rule.md` for Mermaid compatibility guidelines
|
|
72
|
-
2. Extract conventions from ESLint/Prettier configs
|
|
73
|
-
3. Analyze project structure for directory conventions
|
|
74
|
-
|
|
75
|
-
#### Domain-Specific Convention Extraction (MANDATORY)
|
|
76
|
-
|
|
77
|
-
**For Frontend Platforms (web-vue, mobile-uniapp, etc.):**
|
|
78
|
-
|
|
79
|
-
| Topic | Where to Look |
|
|
80
|
-
|-------|---------------|
|
|
81
|
-
| i18n/Internationalization | `locales/`, `i18n/`, `lang/` |
|
|
82
|
-
| Authorization & Permissions | `permission/`, `router/`, `store/`, `utils/auth` |
|
|
83
|
-
| Menu Registration | `router/`, `store/`, `layout/` |
|
|
84
|
-
| Data Dictionary | `components/Dict`, `utils/dict`, `store/` |
|
|
85
|
-
| Logging | `utils/log`, `plugins/sentry` |
|
|
86
|
-
| API Request Layer | `utils/request`, `api/`, `config/` |
|
|
87
|
-
| Data Validation | `utils/validate`, form schemas |
|
|
88
|
-
| File Upload | `components/Upload`, `api/file` |
|
|
89
|
-
|
|
90
|
-
**For Backend Platforms (backend-spring, etc.):**
|
|
91
|
-
|
|
92
|
-
| Topic | Where to Look |
|
|
93
|
-
|-------|---------------|
|
|
94
|
-
| Authorization & Permissions | Security config, controller annotations |
|
|
95
|
-
| Data Dictionary | `dict/`, `system/` module |
|
|
96
|
-
| Multi-tenancy | MyBatis plugins, framework config |
|
|
97
|
-
| Backend i18n | `resources/i18n/`, `messages*.properties` |
|
|
98
|
-
| Logging | `logback*.xml`, `@OperateLog` |
|
|
99
|
-
| Exception Handling | `handler/`, `exception/`, `GlobalExceptionHandler` |
|
|
100
|
-
| Caching | `cache/`, `redis/`, `@Cacheable` annotations |
|
|
101
|
-
| Data Validation | DTO classes, `validator/` |
|
|
102
|
-
| Scheduled Jobs | `job/`, `task/`, `@Scheduled` methods |
|
|
103
|
-
| File Storage | `file/`, `infra/file/` |
|
|
104
|
-
|
|
105
|
-
**If a topic is not found**, explicitly state "Not applicable" in the corresponding section.
|
|
106
|
-
|
|
107
|
-
#### Analysis Tracking (MANDATORY)
|
|
108
|
-
|
|
109
|
-
For every topic, record: `found` / `not_found` / `partial`, and list all files analyzed. This tracking data is used in Step 7.
|
|
110
|
-
|
|
111
|
-
### Step 4: UI Style Analysis (Frontend Platforms Only)
|
|
112
|
-
|
|
113
|
-
If `platform_type` is `web`, `mobile`, or `desktop`:
|
|
114
|
-
|
|
115
|
-
**Primary Path**: Invoke `speccrew-knowledge-techs-ui-analyze` skill:
|
|
116
|
-
```
|
|
117
|
-
skill: "speccrew-knowledge-techs-ui-analyze"
|
|
118
|
-
args: "source_path={source_path};platform_id={platform_id};platform_type={platform_type};framework={framework};output_path={output_path}/ui-style/;language={language}"
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**Fallback Path** (if analyzer fails): Create minimal ui-style/ directory with:
|
|
122
|
-
- ui-style/ui-style-guide.md
|
|
123
|
-
- ui-style/page-types/page-type-summary.md
|
|
124
|
-
- ui-style/components/component-library.md
|
|
125
|
-
- ui-style/layouts/page-layouts.md
|
|
126
|
-
- ui-style/styles/color-system.md
|
|
39
|
+
## AgentFlow Definition
|
|
127
40
|
|
|
128
|
-
|
|
41
|
+
<!-- @agentflow: workflow.agentflow.xml -->
|
|
129
42
|
|
|
130
|
-
**
|
|
131
|
-
|
|
132
|
-
### Step 5: Generate Documents (MANDATORY: Copy Template + Fill)
|
|
133
|
-
|
|
134
|
-
**Decision Logic for conventions-data.md**:
|
|
135
|
-
- Backend → Always generate
|
|
136
|
-
- Other platforms → Generate only if data layer detected (prisma/typeorm/sequelize/mongoose/drizzle-orm/firebase)
|
|
137
|
-
|
|
138
|
-
**Workflow for Each Document**:
|
|
139
|
-
1. Copy template file to output path
|
|
140
|
-
2. Use `search_replace` to fill sections with analyzed data
|
|
141
|
-
3. Preserve all template section headers and structure
|
|
142
|
-
|
|
143
|
-
**MANDATORY RULES**:
|
|
144
|
-
- Do NOT use create_file to rewrite entire document
|
|
145
|
-
- Do NOT delete or skip any template section
|
|
146
|
-
- Apply Source Traceability Requirements (see below)
|
|
147
|
-
|
|
148
|
-
### Step 6: Write Output Files
|
|
149
|
-
|
|
150
|
-
Create output directory if not exists, write all generated documents.
|
|
151
|
-
|
|
152
|
-
### Step 7: Generate Analysis Coverage Report (MANDATORY)
|
|
153
|
-
|
|
154
|
-
**Output file**: `{completed_dir}/{platform_id}.analysis.json`
|
|
155
|
-
|
|
156
|
-
**Report Format**:
|
|
157
|
-
```json
|
|
158
|
-
{
|
|
159
|
-
"platform_id": "{platform_id}",
|
|
160
|
-
"platform_type": "{platform_type}",
|
|
161
|
-
"analyzed_at": "{ISO 8601 timestamp}",
|
|
162
|
-
"topics": {
|
|
163
|
-
"i18n": { "status": "found|not_found|partial", "files_analyzed": [], "notes": "" }
|
|
164
|
-
},
|
|
165
|
-
"config_files_analyzed": [],
|
|
166
|
-
"source_dirs_scanned": [],
|
|
167
|
-
"documents_generated": [],
|
|
168
|
-
"coverage_summary": { "topics_found": 0, "topics_partial": 0, "topics_not_found": 0, "topics_total": 0, "coverage_percent": 0 }
|
|
169
|
-
}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Step 8: Report Results
|
|
173
|
-
|
|
174
|
-
```
|
|
175
|
-
Platform Technology Documents Generated: {{platform_id}}
|
|
176
|
-
- INDEX.md: ✓
|
|
177
|
-
- tech-stack.md: ✓
|
|
178
|
-
- architecture.md: ✓
|
|
179
|
-
- conventions-design.md: ✓
|
|
180
|
-
- conventions-dev.md: ✓
|
|
181
|
-
- conventions-unit-test.md: ✓
|
|
182
|
-
- conventions-system-test.md: ✓
|
|
183
|
-
- conventions-build.md: ✓
|
|
184
|
-
- conventions-data.md: ✓ (or skipped)
|
|
185
|
-
- ui-style-guide.md: ✓ (frontend only, level: {{ui_style_analysis_level}})
|
|
186
|
-
- Output Directory: {{output_path}}
|
|
187
|
-
```
|
|
43
|
+
> **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/agentflow-spec.md`
|
|
188
44
|
|
|
189
45
|
---
|
|
190
46
|
|
|
@@ -203,7 +59,7 @@ Platform Technology Documents Generated: {{platform_id}}
|
|
|
203
59
|
**Relative Path Calculation**: Documents at `speccrew-workspace/knowledges/techs/{platform_id}/` are 4 levels deep. Use `../../../../` prefix to reference project root files.
|
|
204
60
|
|
|
205
61
|
**Required Elements**:
|
|
206
|
-
1. File reference block at document beginning listing referenced files
|
|
62
|
+
1. File reference block at document beginning listing referenced files
|
|
207
63
|
2. `**Diagram Source**` annotation after each Mermaid diagram
|
|
208
64
|
3. `**Section Source**` annotation at end of major sections
|
|
209
65
|
|
|
@@ -239,6 +95,8 @@ ORM/Database Tool, Data Modeling, Migrations, Query Optimization, Caching.
|
|
|
239
95
|
|
|
240
96
|
## Template Usage
|
|
241
97
|
|
|
98
|
+
Templates are located at `./templates/`:
|
|
99
|
+
|
|
242
100
|
| Template File | Purpose |
|
|
243
101
|
|---------------|---------|
|
|
244
102
|
| INDEX-TEMPLATE.md | Platform overview |
|
|
@@ -296,3 +154,15 @@ Upon completion, output the following structured report:
|
|
|
296
154
|
"next_steps": ["Run quality check via speccrew-knowledge-techs-generate-quality"]
|
|
297
155
|
}
|
|
298
156
|
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## CONTINUOUS EXECUTION RULES
|
|
161
|
+
|
|
162
|
+
This skill follows the continuous execution pattern defined in `GLOBAL-R1`:
|
|
163
|
+
|
|
164
|
+
1. **Sequential Execution**: All workflow steps must execute in the defined order without interruption.
|
|
165
|
+
2. **No User Prompts**: Worker must not pause for user confirmation between steps.
|
|
166
|
+
3. **Complete All Steps**: Worker must complete all steps before reporting results.
|
|
167
|
+
4. **Error Handling**: If any step fails, continue with remaining steps if possible, then report all errors together.
|
|
168
|
+
5. **Technology Stack Constraint**: Per `GLOBAL-R-TECHSTACK`, all generated documents must align with the detected technology stack.
|