speccrew 0.7.63 → 0.7.64
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/skills/speccrew-sd-design-overview-generate/SKILL.md +1 -224
- package/.speccrew/skills/speccrew-sd-design-overview-generate/SKILL.xml +40 -0
- package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +1 -282
- package/.speccrew/skills/speccrew-sd-desktop/SKILL.xml +309 -52
- package/.speccrew/skills/speccrew-sd-framework-evaluate/SKILL.md +1 -245
- package/.speccrew/skills/speccrew-sd-framework-evaluate/SKILL.xml +39 -0
- package/package.json +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: speccrew-sd-design-overview-generate
|
|
3
|
-
version: 1.0.0
|
|
4
3
|
description: Design Overview Generation Skill for System Designer. Reads Feature Registry, techs-manifest platforms, and framework evaluation results to generate a comprehensive DESIGN-OVERVIEW.md with Feature×Platform matrix index. Invoked by System Designer Agent during Phase 4 via worker dispatch.
|
|
5
4
|
tools: Read, Write, Glob, Grep
|
|
6
5
|
---
|
|
@@ -15,226 +14,4 @@ tools: Read, Write, Glob, Grep
|
|
|
15
14
|
|
|
16
15
|
<!-- @agentflow: SKILL.xml -->
|
|
17
16
|
|
|
18
|
-
> **REQUIRED**:
|
|
19
|
-
|
|
20
|
-
## Workflow
|
|
21
|
-
|
|
22
|
-
## Absolute Constraints
|
|
23
|
-
|
|
24
|
-
> **These rules apply to ALL steps. Violation = task failure.**
|
|
25
|
-
|
|
26
|
-
1. **READ-ONLY on Feature Spec and API Contract** — NEVER modify Feature Spec or API Contract documents. Only read for reference.
|
|
27
|
-
2. **READ-ONLY on techs-manifest.json** — NEVER modify the techs manifest. Only read for platform information.
|
|
28
|
-
3. **READ-ONLY on framework-evaluation.md** — NEVER modify the framework evaluation report. Only read for technology decisions.
|
|
29
|
-
4. **Single Output Only** — Only create DESIGN-OVERVIEW.md at the specified output_path. No other files.
|
|
30
|
-
5. **Direct-to-File Output** — Write all content directly to DESIGN-OVERVIEW.md. DO NOT display document content in conversation.
|
|
31
|
-
|
|
32
|
-
## Step 1: Read Inputs
|
|
33
|
-
|
|
34
|
-
**Input Parameters** (from agent context):
|
|
35
|
-
|
|
36
|
-
| Parameter | Type | Required | Description |
|
|
37
|
-
|-----------|------|----------|-------------|
|
|
38
|
-
| `workspace_path` | string | Yes | speccrew-workspace root directory path |
|
|
39
|
-
| `iteration_path` | string | Yes | Current iteration directory path |
|
|
40
|
-
| `feature_registry_path` | string | Yes | Path to .prd-feature-list.json |
|
|
41
|
-
| `techs_manifest_path` | string | Yes | Path to techs-manifest.json |
|
|
42
|
-
| `framework_evaluation_path` | string | Yes | Path to framework-evaluation.md |
|
|
43
|
-
| `output_path` | string | No | Output file path (default: iteration_path/03.system-design/DESIGN-OVERVIEW.md) |
|
|
44
|
-
|
|
45
|
-
Read in order:
|
|
46
|
-
|
|
47
|
-
1. **Read .prd-feature-list.json** — Extract features array:
|
|
48
|
-
- `feature_id` (e.g., F-CRM-01) or `module_name` for legacy format
|
|
49
|
-
- `feature_name` or `module_name`
|
|
50
|
-
- `feature_spec` path
|
|
51
|
-
- `api_contract` path
|
|
52
|
-
- `module`
|
|
53
|
-
- `type`
|
|
54
|
-
|
|
55
|
-
2. **Read techs-manifest.json** — Extract platforms array:
|
|
56
|
-
- `platform_id` (e.g., web-react, backend-nodejs)
|
|
57
|
-
- `friendly_name`
|
|
58
|
-
- `tech_stack`
|
|
59
|
-
|
|
60
|
-
3. **Read framework-evaluation.md** — Extract Technology Decisions:
|
|
61
|
-
- Framework evaluation results
|
|
62
|
-
- New dependencies introduced (if any)
|
|
63
|
-
- Version constraints
|
|
64
|
-
|
|
65
|
-
## Step 2: Build Feature×Platform Matrix
|
|
66
|
-
|
|
67
|
-
For each feature × platform combination, generate one matrix row:
|
|
68
|
-
|
|
69
|
-
| Field | Source |
|
|
70
|
-
|-------|--------|
|
|
71
|
-
| `feature_id` | feature.feature_id (or "-" for legacy format) |
|
|
72
|
-
| `feature_name` | feature.feature_name (or feature.module_name for legacy) |
|
|
73
|
-
| `platform` | platform.friendly_name |
|
|
74
|
-
| `platform_id` | platform.platform_id |
|
|
75
|
-
| `skill` | Map platform_id prefix → speccrew-sd-{type} (see below) |
|
|
76
|
-
| `design_directory` | {platform_id}/{feature_id}-{feature_name}-design.md (new) or {platform_id}/{module}-design.md (legacy) |
|
|
77
|
-
| `status` | Always "pending" |
|
|
78
|
-
|
|
79
|
-
### Platform ID Prefix → Skill Mapping
|
|
80
|
-
|
|
81
|
-
| Platform ID Prefix | Target Skill |
|
|
82
|
-
|-------------------|--------------|
|
|
83
|
-
| web-* | speccrew-sd-frontend |
|
|
84
|
-
| backend-* | speccrew-sd-backend |
|
|
85
|
-
| mobile-* | speccrew-sd-mobile |
|
|
86
|
-
| desktop-* | speccrew-sd-desktop |
|
|
87
|
-
|
|
88
|
-
### Legacy Format Compatibility
|
|
89
|
-
|
|
90
|
-
If a feature does NOT have a Feature ID (no "F-" prefix):
|
|
91
|
-
- Feature ID column displays `-`
|
|
92
|
-
- Use `module_name` as Feature Name
|
|
93
|
-
- Design Directory uses `{platform_id}/{module_name}-design.md` (legacy format)
|
|
94
|
-
|
|
95
|
-
## Step 3: Generate DESIGN-OVERVIEW.md
|
|
96
|
-
|
|
97
|
-
Write the design overview document to `output_path`.
|
|
98
|
-
|
|
99
|
-
### Document Structure
|
|
100
|
-
|
|
101
|
-
```markdown
|
|
102
|
-
# System Design Overview - {Iteration Name}
|
|
103
|
-
|
|
104
|
-
## 1. Design Scope
|
|
105
|
-
|
|
106
|
-
- **Iteration**: {iteration_identifier}
|
|
107
|
-
- **Platforms**: {platform_list}
|
|
108
|
-
- **Features**: {count} features discovered
|
|
109
|
-
|
|
110
|
-
### 1.1 Feature List
|
|
111
|
-
|
|
112
|
-
| Feature ID | Feature Name | Feature Spec | API Contract |
|
|
113
|
-
|------------|--------------|--------------|--------------|
|
|
114
|
-
| (from feature registry, one row per feature) |
|
|
115
|
-
|
|
116
|
-
> **Legacy Format Compatibility**: If file uses legacy format (no Feature ID), Feature ID column shows `-`, using module name as Feature Name
|
|
117
|
-
|
|
118
|
-
## 2. Technology Decisions
|
|
119
|
-
|
|
120
|
-
(from framework-evaluation.md - Phase 3 results)
|
|
121
|
-
|
|
122
|
-
- Framework evaluation results
|
|
123
|
-
- New dependencies introduced (if any)
|
|
124
|
-
- Version constraints
|
|
125
|
-
|
|
126
|
-
## 3. Platform Design Index
|
|
127
|
-
|
|
128
|
-
| Feature ID | Feature Name | Platform | Platform ID | Skill | Design Directory | Status |
|
|
129
|
-
|------------|--------------|----------|-------------|-------|------------------|--------|
|
|
130
|
-
| (Feature × Platform matrix from Step 2) |
|
|
131
|
-
|
|
132
|
-
> **Notes**:
|
|
133
|
-
> - New Format: Design Directory contains `{feature-id}-{feature-name}` (e.g., `F-CRM-01-customer-list-design.md`)
|
|
134
|
-
> - Legacy Format: Design Directory uses `{module}-design.md`
|
|
135
|
-
|
|
136
|
-
## 4. Feature Summary (Optional - when Feature count > 5)
|
|
137
|
-
|
|
138
|
-
### 4.1 Feature by Module
|
|
139
|
-
|
|
140
|
-
| Module | Feature Count | Feature IDs |
|
|
141
|
-
|--------|---------------|-------------|
|
|
142
|
-
| (group features by module) |
|
|
143
|
-
|
|
144
|
-
### 4.2 Feature Type Distribution
|
|
145
|
-
|
|
146
|
-
| Type | Count | Features |
|
|
147
|
-
|------|-------|----------|
|
|
148
|
-
| (group features by type) |
|
|
149
|
-
|
|
150
|
-
## 5. Cross-Platform Concerns
|
|
151
|
-
|
|
152
|
-
- Shared data structures
|
|
153
|
-
- Cross-platform API contracts
|
|
154
|
-
- Authentication/authorization strategy
|
|
155
|
-
- Error handling conventions
|
|
156
|
-
|
|
157
|
-
## 6. Design Constraints
|
|
158
|
-
|
|
159
|
-
- API Contract is READ-ONLY — do not modify
|
|
160
|
-
- All pseudo-code must use actual framework syntax from techs knowledge
|
|
161
|
-
- Each module design document maps 1:1 to a Feature Spec function
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Step 4: Validate Output
|
|
165
|
-
|
|
166
|
-
After writing DESIGN-OVERVIEW.md, verify:
|
|
167
|
-
|
|
168
|
-
- [ ] File exists at output_path
|
|
169
|
-
- [ ] Contains "## 1. Design Scope" section
|
|
170
|
-
- [ ] Contains "## 2. Technology Decisions" section
|
|
171
|
-
- [ ] Contains "## 3. Platform Design Index" table
|
|
172
|
-
- [ ] Platform Design Index covers all Feature × Platform combinations
|
|
173
|
-
- [ ] Feature count matches feature registry
|
|
174
|
-
- [ ] Platform count matches techs-manifest
|
|
175
|
-
- [ ] All index entries have status "pending"
|
|
176
|
-
|
|
177
|
-
## Step 5: Output Task Completion Report
|
|
178
|
-
|
|
179
|
-
After validation, output:
|
|
180
|
-
|
|
181
|
-
```
|
|
182
|
-
--- TASK COMPLETION REPORT ---
|
|
183
|
-
Task: Design Overview Generation
|
|
184
|
-
Status: SUCCESS
|
|
185
|
-
Output: {output_path}
|
|
186
|
-
Features: {feature_count}
|
|
187
|
-
Platforms: {platform_count}
|
|
188
|
-
Matrix Entries: {feature_count × platform_count}
|
|
189
|
-
--- END REPORT ---
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
If any step fails:
|
|
193
|
-
|
|
194
|
-
```
|
|
195
|
-
--- TASK COMPLETION REPORT ---
|
|
196
|
-
Task: Design Overview Generation
|
|
197
|
-
Status: FAILED
|
|
198
|
-
Error: {specific error description}
|
|
199
|
-
Failed At: Step {N}
|
|
200
|
-
--- END REPORT ---
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
## OUTPUT EFFICIENCY RULES
|
|
204
|
-
|
|
205
|
-
When executing this skill:
|
|
206
|
-
|
|
207
|
-
1. **Direct-to-File Output**: All design overview content MUST be written directly to DESIGN-OVERVIEW.md
|
|
208
|
-
2. **Minimal Conversation Output**: Only output:
|
|
209
|
-
- Block execution announcements (1 line each): `[Block XX] Building matrix...`
|
|
210
|
-
- Error messages requiring attention
|
|
211
|
-
- Task Completion Report (final summary)
|
|
212
|
-
3. **FORBIDDEN in conversation**:
|
|
213
|
-
- Full document sections or drafts
|
|
214
|
-
- Feature × Platform matrix tables
|
|
215
|
-
- Feature list tables
|
|
216
|
-
- Technology decision excerpts longer than 2 lines
|
|
217
|
-
4. **Rationale**: Workers run in batch mode. Displaying design content in conversation wastes context window and provides no value since content goes to file anyway.
|
|
218
|
-
|
|
219
|
-
# Key Rules
|
|
220
|
-
|
|
221
|
-
| Rule | Description |
|
|
222
|
-
|------|-------------|
|
|
223
|
-
| **FORBIDDEN: Input Modification** | Do NOT modify feature specs, API contracts, techs-manifest, or framework-evaluation |
|
|
224
|
-
| **FORBIDDEN: Extra Files** | Do NOT create any files other than DESIGN-OVERVIEW.md |
|
|
225
|
-
| **FORBIDDEN: Conversation Output** | Do NOT display DESIGN-OVERVIEW content in conversation — write directly to file |
|
|
226
|
-
| **MANDATORY: Complete Matrix** | Platform Design Index MUST cover ALL Feature × Platform combinations |
|
|
227
|
-
| **MANDATORY: Pending Status** | ALL Platform Design Index entries MUST have status "pending" |
|
|
228
|
-
|
|
229
|
-
# Checklist
|
|
230
|
-
|
|
231
|
-
- [ ] .prd-feature-list.json read and features array extracted
|
|
232
|
-
- [ ] techs-manifest.json read and platforms array extracted
|
|
233
|
-
- [ ] framework-evaluation.md read and technology decisions extracted
|
|
234
|
-
- [ ] Feature format detected (new or legacy)
|
|
235
|
-
- [ ] Feature × Platform matrix built with all combinations
|
|
236
|
-
- [ ] Platform ID prefix correctly mapped to target skills
|
|
237
|
-
- [ ] DESIGN-OVERVIEW.md generated with all required sections
|
|
238
|
-
- [ ] Feature Summary section included only when feature count > 5
|
|
239
|
-
- [ ] Output validated against checklist
|
|
240
|
-
- [ ] Task Completion Report output
|
|
17
|
+
> **REQUIRED**: Read and execute the XML workflow above. The XML contains the complete workflow definition including all steps, rules, conditions, and checklist.
|
|
@@ -32,6 +32,19 @@
|
|
|
32
32
|
<field name="text">Platform Design Index MUST cover ALL Feature × Platform combinations. No feature or platform may be omitted.</field>
|
|
33
33
|
</block>
|
|
34
34
|
|
|
35
|
+
<block type="rule" id="R5" level="mandatory" desc="Direct-to-File Output">
|
|
36
|
+
<field name="text">All design overview content MUST be written directly to DESIGN-OVERVIEW.md</field>
|
|
37
|
+
</block>
|
|
38
|
+
|
|
39
|
+
<block type="rule" id="R6" level="mandatory" desc="Minimal Conversation Output">
|
|
40
|
+
<field name="text">Only output block execution announcements, error messages, and Task Completion Report</field>
|
|
41
|
+
</block>
|
|
42
|
+
|
|
43
|
+
<block type="rule" id="R7" level="forbidden" desc="No conversation document output">
|
|
44
|
+
<field name="text">NEVER display DESIGN-OVERVIEW content, Feature × Platform matrix tables, or Feature list tables in conversation</field>
|
|
45
|
+
<field name="text">NEVER display technology decision excerpts longer than 2 lines in conversation</field>
|
|
46
|
+
</block>
|
|
47
|
+
|
|
35
48
|
<!-- ============================================================
|
|
36
49
|
Main Processing Sequence
|
|
37
50
|
============================================================ -->
|
|
@@ -146,8 +159,35 @@ Matrix Entries: ${feature_registry.features.length * techs_manifest.platforms.le
|
|
|
146
159
|
--- END REPORT ---</field>
|
|
147
160
|
</block>
|
|
148
161
|
|
|
162
|
+
<block type="checkpoint" id="CP2" name="final_checklist" desc="Design Overview Generation Final Checklist">
|
|
163
|
+
<field name="conditions">
|
|
164
|
+
feature_registry_read: .prd-feature-list.json read and features array extracted,
|
|
165
|
+
techs_manifest_read: techs-manifest.json read and platforms array extracted,
|
|
166
|
+
framework_evaluation_read: framework-evaluation.md read and technology decisions extracted,
|
|
167
|
+
feature_format_detected: feature format detected (new or legacy),
|
|
168
|
+
matrix_complete: Feature × Platform matrix built with all combinations,
|
|
169
|
+
platform_prefix_mapped: platform ID prefix correctly mapped to target skills,
|
|
170
|
+
design_overview_generated: DESIGN-OVERVIEW.md generated with all required sections,
|
|
171
|
+
feature_summary_included: feature summary section included only when feature count > 5,
|
|
172
|
+
output_validated: output validated against checklist,
|
|
173
|
+
task_completion_report_output: task completion report output
|
|
174
|
+
</field>
|
|
175
|
+
</block>
|
|
176
|
+
|
|
149
177
|
</sequence>
|
|
150
178
|
|
|
179
|
+
<!-- ============================================================
|
|
180
|
+
Failure Report Format
|
|
181
|
+
============================================================ -->
|
|
182
|
+
<block type="event" id="E6" action="log" level="error" desc="Task failure report">
|
|
183
|
+
<field name="message">--- TASK COMPLETION REPORT ---
|
|
184
|
+
Task: Design Overview Generation
|
|
185
|
+
Status: FAILED
|
|
186
|
+
Error: {specific error description}
|
|
187
|
+
Failed At: Step {N}
|
|
188
|
+
--- END REPORT ---</field>
|
|
189
|
+
</block>
|
|
190
|
+
|
|
151
191
|
<!-- ============================================================
|
|
152
192
|
Output Results
|
|
153
193
|
============================================================ -->
|
|
@@ -14,285 +14,4 @@ tools: Read, Write, Glob, Grep
|
|
|
14
14
|
|
|
15
15
|
<!-- @agentflow: SKILL.xml -->
|
|
16
16
|
|
|
17
|
-
> **REQUIRED**:
|
|
18
|
-
|
|
19
|
-
## Workflow
|
|
20
|
-
|
|
21
|
-
## Absolute Constraints
|
|
22
|
-
|
|
23
|
-
> **These rules apply to ALL steps. Violation = task failure.**
|
|
24
|
-
|
|
25
|
-
1. **FORBIDDEN: `create_file` for documents** — NEVER use `create_file` to write design documents or INDEX. Documents MUST be created by copying the template (Step 4.2a / Step 5.2a) then filling sections with `search_replace` (Step 4.2b / Step 5.2b). `create_file` produces truncated output on large files.
|
|
26
|
-
|
|
27
|
-
2. **FORBIDDEN: Full-file rewrite** — NEVER replace the entire document content in a single operation. Always use targeted `search_replace` on specific sections.
|
|
28
|
-
|
|
29
|
-
3. **MANDATORY: Template-first workflow** — Copy template MUST execute before fill sections. Skipping copy and writing content directly is FORBIDDEN.
|
|
30
|
-
|
|
31
|
-
## Step 1: Read Inputs
|
|
32
|
-
|
|
33
|
-
Read in order:
|
|
34
|
-
|
|
35
|
-
1. **Feature Spec document(s)**: `speccrew-workspace/iterations/{number}-{type}-{name}/02.feature-design/[feature-name]-feature-spec.md`
|
|
36
|
-
2. **API Contract**: `speccrew-workspace/iterations/{number}-{type}-{name}/03.api-contract/[feature-name]-api-contract.md`
|
|
37
|
-
3. **Desktop techs knowledge** (paths from agent context):
|
|
38
|
-
- `speccrew-workspace/knowledges/techs/{platform_id}/tech-stack.md`
|
|
39
|
-
- `speccrew-workspace/knowledges/techs/{platform_id}/architecture.md`
|
|
40
|
-
- `speccrew-workspace/knowledges/techs/{platform_id}/conventions-design.md`
|
|
41
|
-
- `speccrew-workspace/knowledges/techs/{platform_id}/conventions-dev.md`
|
|
42
|
-
4. **Design template**: `speccrew-sd-desktop/templates/SD-DESKTOP-TEMPLATE.md`
|
|
43
|
-
5. **Index template**: `speccrew-sd-desktop/templates/INDEX-TEMPLATE.md`
|
|
44
|
-
|
|
45
|
-
## Step 2: Analyze Existing Code Structure
|
|
46
|
-
|
|
47
|
-
Use Glob/Grep to understand current codebase:
|
|
48
|
-
|
|
49
|
-
| Target | Glob Pattern | Purpose |
|
|
50
|
-
|--------|-------------|---------|
|
|
51
|
-
| Main process | `src/main/**/*.{ts,js}` or `src-tauri/src/**/*.rs` | Understand main process structure |
|
|
52
|
-
| Renderer process | `src/renderer/**/*.{tsx,vue,html}` or `src/**/*.{tsx,vue}` | Understand renderer structure |
|
|
53
|
-
| IPC definitions | `src/main/ipc/**/*` or `src-tauri/src/commands/**/*.rs` | Understand IPC channel patterns |
|
|
54
|
-
| Window management | `src/main/window/**/*` or patterns with `BrowserWindow` | Understand window patterns |
|
|
55
|
-
| Preload scripts | `src/preload/**/*` or `preload.{ts,js}` | Understand preload patterns |
|
|
56
|
-
| Native modules | `src/main/native/**/*` or binding files | Identify native dependencies |
|
|
57
|
-
| State management | `src/renderer/stores/**/*` or `src/stores/**/*` | Understand store pattern |
|
|
58
|
-
| API layer | `src/renderer/apis/**/*` or `src/apis/**/*` | Understand API encapsulation |
|
|
59
|
-
|
|
60
|
-
Document findings for reference in later steps.
|
|
61
|
-
|
|
62
|
-
## Step 3: Extract Functions from Feature Spec
|
|
63
|
-
|
|
64
|
-
Parse Feature Spec to identify all functions (Section 2.N pattern).
|
|
65
|
-
|
|
66
|
-
For each function, extract:
|
|
67
|
-
|
|
68
|
-
| Aspect | Content to Extract |
|
|
69
|
-
|--------|-------------------|
|
|
70
|
-
| UI prototype | ASCII wireframe or description from Feature Spec |
|
|
71
|
-
| Interaction flow | User actions and system responses |
|
|
72
|
-
| Backend API calls | Required API endpoints from API Contract |
|
|
73
|
-
| Local operations | File system, native API, or local DB operations |
|
|
74
|
-
| Data requirements | Fields and structures needed |
|
|
75
|
-
|
|
76
|
-
Mark each function's components/modules as:
|
|
77
|
-
|
|
78
|
-
| Marker | Meaning | Example |
|
|
79
|
-
|--------|---------|---------|
|
|
80
|
-
| `[EXISTING]` | Reuse current component/module | `[EXISTING] UserSelect component` |
|
|
81
|
-
| `[MODIFIED]` | Enhance/change existing | `[MODIFIED] WindowManager - add new window type` |
|
|
82
|
-
| `[NEW]` | Create brand new | `[NEW] FileSyncWorker` |
|
|
83
|
-
|
|
84
|
-
**Checkpoint A: Present function extraction summary to user for confirmation.**
|
|
85
|
-
|
|
86
|
-
## Step 4: Generate Module Design Documents
|
|
87
|
-
|
|
88
|
-
For each function (or logical group of closely related functions = one module):
|
|
89
|
-
|
|
90
|
-
### 4.1 Read Template
|
|
91
|
-
|
|
92
|
-
Read `SD-DESKTOP-TEMPLATE.md` for document structure.
|
|
93
|
-
|
|
94
|
-
### 4.2a Copy Template to Document Path
|
|
95
|
-
|
|
96
|
-
1. **Read the design template**: `templates/SD-DESKTOP-TEMPLATE.md`
|
|
97
|
-
2. **Replace top-level placeholders** with known variables:
|
|
98
|
-
- Module name, feature name, platform ID, etc.
|
|
99
|
-
3. **Create the document file** using `create_file`:
|
|
100
|
-
- Target path: `speccrew-workspace/iterations/{number}-{type}-{name}/03.system-design/{platform_id}/{module}-design.md`
|
|
101
|
-
- Content: Template with top-level placeholders replaced
|
|
102
|
-
4. **Verify**: Document should have complete section structure ready for filling
|
|
103
|
-
|
|
104
|
-
### 4.2b Fill Each Section Using search_replace
|
|
105
|
-
|
|
106
|
-
Fill each section with technology-specific implementation details.
|
|
107
|
-
|
|
108
|
-
> ⚠️ **CRITICAL CONSTRAINTS:**
|
|
109
|
-
> - **FORBIDDEN: `create_file` to rewrite the entire document** — it destroys template structure
|
|
110
|
-
> - **MUST use `search_replace` to fill each section individually**
|
|
111
|
-
> - **All section titles and numbering MUST be preserved**
|
|
112
|
-
> - If a section has no applicable content, keep the section title and replace placeholder with "N/A"
|
|
113
|
-
|
|
114
|
-
| Section | Technology-Specific Content |
|
|
115
|
-
|---------|----------------------------|
|
|
116
|
-
| Process architecture | Main/Renderer split (Electron) or Rust Core/WebView (Tauri) |
|
|
117
|
-
| IPC channels | Actual channel names and payload types |
|
|
118
|
-
| Window design | Window types, sizes, frame options |
|
|
119
|
-
| Native integration | File system APIs, system tray, menus |
|
|
120
|
-
| Local storage | SQLite/LevelDB/electron-store patterns |
|
|
121
|
-
| Security | Context isolation, preload scripts, CSP |
|
|
122
|
-
| Auto-update | electron-updater or tauri-updater patterns |
|
|
123
|
-
| Pseudo-code | MUST use actual framework syntax from techs knowledge |
|
|
124
|
-
|
|
125
|
-
**Key Rules for Pseudo-code**:
|
|
126
|
-
- MUST use actual framework API syntax from techs knowledge
|
|
127
|
-
- NOT generic pseudo-code
|
|
128
|
-
- Include actual import statements
|
|
129
|
-
- Use actual IPC/store/API patterns from conventions
|
|
130
|
-
- For Electron: use `ipcMain.handle`, `ipcRenderer.invoke`, `BrowserWindow`
|
|
131
|
-
- For Tauri: use `#[tauri::command]`, `invoke()`, `Window`
|
|
132
|
-
|
|
133
|
-
### 4.3 Verify Output
|
|
134
|
-
|
|
135
|
-
Verify the completed design document:
|
|
136
|
-
- All sections filled with actual content (no remaining placeholders)
|
|
137
|
-
- Mermaid diagrams render correctly
|
|
138
|
-
- Pseudo-code uses actual framework syntax from techs knowledge
|
|
139
|
-
|
|
140
|
-
## Step 5: Generate Platform INDEX.md
|
|
141
|
-
|
|
142
|
-
After all module designs are complete:
|
|
143
|
-
|
|
144
|
-
### 5.1 Read Template
|
|
145
|
-
|
|
146
|
-
Read `INDEX-TEMPLATE.md` for document structure.
|
|
147
|
-
|
|
148
|
-
### 5.2a Copy Index Template to Document Path
|
|
149
|
-
|
|
150
|
-
1. **Read the index template**: `templates/INDEX-TEMPLATE.md`
|
|
151
|
-
2. **Replace top-level placeholders** (platform name, feature name, etc.)
|
|
152
|
-
3. **Create the document file** using `create_file`:
|
|
153
|
-
- Target path: `speccrew-workspace/iterations/{number}-{type}-{name}/03.system-design/{platform_id}/INDEX.md`
|
|
154
|
-
- Content: Template with top-level placeholders replaced
|
|
155
|
-
|
|
156
|
-
### 5.2b Fill Index Sections Using search_replace
|
|
157
|
-
|
|
158
|
-
> ⚠️ **CRITICAL CONSTRAINTS:**
|
|
159
|
-
> - **FORBIDDEN: `create_file` to rewrite the entire document** — it destroys template structure
|
|
160
|
-
> - **MUST use `search_replace` to fill each section individually**
|
|
161
|
-
> - **All section titles and numbering MUST be preserved**
|
|
162
|
-
|
|
163
|
-
| Section | Content Source |
|
|
164
|
-
|---------|---------------|
|
|
165
|
-
| Tech stack summary | tech-stack.md |
|
|
166
|
-
| Target operating systems | tech-stack.md OS support |
|
|
167
|
-
| Shared design decisions | architecture.md, conventions-design.md |
|
|
168
|
-
| Process architecture strategy | architecture.md process model |
|
|
169
|
-
| IPC patterns | conventions-design.md IPC section |
|
|
170
|
-
| Security model | architecture.md security section |
|
|
171
|
-
| Native dependencies | tech-stack.md dependencies |
|
|
172
|
-
| Packaging & distribution | architecture.md distribution section |
|
|
173
|
-
|
|
174
|
-
### 5.3 Build Module List
|
|
175
|
-
|
|
176
|
-
Create table with links to each module design document.
|
|
177
|
-
|
|
178
|
-
### 5.4 Verify Output
|
|
179
|
-
|
|
180
|
-
Verify the completed INDEX.md:
|
|
181
|
-
- All sections filled with actual content (no remaining placeholders)
|
|
182
|
-
- All module design documents are correctly linked
|
|
183
|
-
- Platform-level summary is complete
|
|
184
|
-
|
|
185
|
-
## Step 6: Present Summary
|
|
186
|
-
|
|
187
|
-
Present to user:
|
|
188
|
-
|
|
189
|
-
```
|
|
190
|
-
Desktop System Design Summary for: {feature-name}
|
|
191
|
-
Platform: {platform_id}
|
|
192
|
-
Framework: {Electron/Tauri/Qt}
|
|
193
|
-
|
|
194
|
-
Module Design Documents: {count}
|
|
195
|
-
├── {module1}-design.md
|
|
196
|
-
├── {module2}-design.md
|
|
197
|
-
└── ...
|
|
198
|
-
|
|
199
|
-
Key Design Decisions:
|
|
200
|
-
- Process Architecture: {approach}
|
|
201
|
-
- IPC Strategy: {approach}
|
|
202
|
-
- State Management: {approach}
|
|
203
|
-
- Security Model: {approach}
|
|
204
|
-
- Auto-Update: {approach}
|
|
205
|
-
|
|
206
|
-
Concerns/Trade-offs:
|
|
207
|
-
- {list any concerns}
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
**Ask user to confirm:**
|
|
211
|
-
1. Are the process architectures appropriate?
|
|
212
|
-
2. Is the IPC communication design correct?
|
|
213
|
-
3. Do the pseudo-code patterns match project conventions?
|
|
214
|
-
4. Are all API calls from API Contract covered?
|
|
215
|
-
5. Is the native integration approach suitable?
|
|
216
|
-
|
|
217
|
-
## Step 7: Task Completion Report
|
|
218
|
-
|
|
219
|
-
After completing all steps, output a structured completion report for the System Designer Agent to parse and update DISPATCH-PROGRESS.json:
|
|
220
|
-
|
|
221
|
-
### On Success
|
|
222
|
-
|
|
223
|
-
```
|
|
224
|
-
## Task Completion Report
|
|
225
|
-
- **Status**: SUCCESS
|
|
226
|
-
- **Task ID**: {task_id from context}
|
|
227
|
-
- **Platform**: {platform_id}
|
|
228
|
-
- **Feature**: {feature_name}
|
|
229
|
-
- **Output Files**:
|
|
230
|
-
- speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/INDEX.md
|
|
231
|
-
- speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module1}-design.md
|
|
232
|
-
- speccrew-workspace/iterations/{iter}/03.system-design/{platform_id}/{module2}-design.md
|
|
233
|
-
- **Summary**: Desktop system design completed for {feature_name} on {platform_id} with {count} module designs
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
### On Failure
|
|
237
|
-
|
|
238
|
-
```
|
|
239
|
-
## Task Completion Report
|
|
240
|
-
- **Status**: FAILED
|
|
241
|
-
- **Task ID**: {task_id from context}
|
|
242
|
-
- **Platform**: {platform_id}
|
|
243
|
-
- **Feature**: {feature_name}
|
|
244
|
-
- **Output Files**: []
|
|
245
|
-
- **Error**: {description of what went wrong}
|
|
246
|
-
- **Error Category**: DEPENDENCY_MISSING | VALIDATION_ERROR | BLOCKED
|
|
247
|
-
- **Recovery Hint**: {suggestion for how to resolve or retry}
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
**Error Categories:**
|
|
251
|
-
- `DEPENDENCY_MISSING`: Required input file or knowledge document not found
|
|
252
|
-
- `VALIDATION_ERROR`: Input validation failed (e.g., invalid Feature Spec format)
|
|
253
|
-
- `BLOCKED`: Blocked by external dependency or prerequisite not met
|
|
254
|
-
|
|
255
|
-
## OUTPUT EFFICIENCY RULES
|
|
256
|
-
|
|
257
|
-
When executing this skill:
|
|
258
|
-
|
|
259
|
-
1. **Direct-to-File Output**: All design content (architecture diagrams, API mappings, component specifications, data models) MUST be written directly to the output file
|
|
260
|
-
2. **Minimal Conversation Output**: Only output:
|
|
261
|
-
- Block execution announcements (1 line each): `"[Block XX] Designing..."`
|
|
262
|
-
- Error messages requiring attention
|
|
263
|
-
- Task Completion Report (final summary)
|
|
264
|
-
3. **FORBIDDEN in conversation**:
|
|
265
|
-
- ❌ Full document sections or drafts
|
|
266
|
-
- ❌ Mermaid diagrams displayed in chat
|
|
267
|
-
- ❌ API endpoint listings
|
|
268
|
-
- ❌ Data model tables
|
|
269
|
-
- ❌ Architecture descriptions longer than 2 lines
|
|
270
|
-
4. **Rationale**: Workers run in batch mode. Displaying design content in conversation wastes context window and provides no value since content goes to file anyway.
|
|
271
|
-
|
|
272
|
-
# Key Rules
|
|
273
|
-
|
|
274
|
-
| Rule | Description |
|
|
275
|
-
|------|-------------|
|
|
276
|
-
| **Actual Framework Syntax** | All pseudo-code MUST use actual framework/library syntax from techs knowledge, NOT generic code |
|
|
277
|
-
| **API Contract READ-ONLY** | API Contract is reference only - do not modify |
|
|
278
|
-
| **One Module Per Function Group** | Each module design document maps to one or more related Feature Spec functions |
|
|
279
|
-
| **Status Markers Required** | Use [EXISTING], [MODIFIED], [NEW] markers for all components, modules, and IPC handlers |
|
|
280
|
-
| **Follow Techs Conventions** | Naming, directory structure, patterns must follow techs knowledge |
|
|
281
|
-
| **Desktop-Specific Concerns** | Must address process architecture, IPC, native integration, local storage, auto-update |
|
|
282
|
-
|
|
283
|
-
# Checklist
|
|
284
|
-
|
|
285
|
-
- [ ] All techs knowledge documents loaded before design
|
|
286
|
-
- [ ] Existing code structure analyzed via Glob/Grep
|
|
287
|
-
- [ ] Every Feature Spec function covered in a module design
|
|
288
|
-
- [ ] All API calls from API Contract referenced correctly
|
|
289
|
-
- [ ] Pseudo-code uses actual framework syntax (not generic)
|
|
290
|
-
- [ ] Process architecture follows conventions-design.md
|
|
291
|
-
- [ ] IPC channels follow naming conventions from techs
|
|
292
|
-
- [ ] Window management follows existing patterns
|
|
293
|
-
- [ ] Native integration uses correct APIs
|
|
294
|
-
- [ ] Security design includes context isolation and CSP
|
|
295
|
-
- [ ] Auto-update mechanism specified
|
|
296
|
-
- [ ] INDEX.md generated with complete module list
|
|
297
|
-
- [ ] All files written to correct paths under 03.system-design/{platform_id}/
|
|
298
|
-
- [ ] Checkpoint A passed: function extraction confirmed with user
|
|
17
|
+
> **REQUIRED**: Read and execute the XML workflow above. The XML contains the complete workflow definition including all steps, rules, conditions, and checklist.
|