speccrew 0.7.74 → 0.7.76
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-feature-designer.md +4 -647
- package/.speccrew/agents/speccrew-product-manager.md +5 -480
- package/.speccrew/agents/speccrew-system-deployer.md +6 -457
- package/.speccrew/agents/speccrew-system-developer.md +9 -913
- package/.speccrew/agents/speccrew-test-manager.md +403 -1112
- package/.speccrew/skills/speccrew-agentflow-manager/SKILL.md +6 -149
- package/.speccrew/skills/speccrew-deploy-build/SKILL.md +2 -59
- package/.speccrew/skills/speccrew-deploy-migrate/SKILL.md +2 -64
- package/.speccrew/skills/speccrew-deploy-smoke-test/SKILL.md +2 -75
- package/.speccrew/skills/speccrew-deploy-startup/SKILL.md +2 -70
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +2 -381
- package/.speccrew/skills/speccrew-dev-desktop-electron/SKILL.md +2 -369
- package/.speccrew/skills/speccrew-dev-desktop-tauri/SKILL.md +2 -362
- package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +2 -304
- package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +2 -294
- package/.speccrew/skills/speccrew-dev-review-backend/SKILL.md +2 -204
- package/.speccrew/skills/speccrew-dev-review-desktop/SKILL.md +2 -173
- package/.speccrew/skills/speccrew-dev-review-frontend/SKILL.md +2 -169
- package/.speccrew/skills/speccrew-dev-review-mobile/SKILL.md +2 -173
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +2 -251
- package/.speccrew/skills/speccrew-fd-feature-analyze/SKILL.md +2 -254
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +2 -748
- package/.speccrew/skills/speccrew-feature-designer-orchestration/SKILL.md +6 -105
- package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +6 -33
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +3 -138
- package/.speccrew/skills/speccrew-knowledge-bizs-api-graph/SKILL.md +3 -283
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +3 -1014
- package/.speccrew/skills/speccrew-knowledge-bizs-identify-entries/SKILL.md +4 -343
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +4 -235
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +6 -72
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +3 -534
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-graph/SKILL.md +3 -432
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +4 -391
- package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +3 -98
- package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +3 -92
- package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +3 -181
- package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +3 -148
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +3 -330
- package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +6 -159
- package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +3 -142
- package/.speccrew/skills/speccrew-knowledge-techs-generate-quality/SKILL.md +3 -568
- package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +3 -180
- package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +3 -154
- package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +3 -176
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +3 -135
- package/.speccrew/skills/speccrew-pm-knowledge-detector/SKILL.md +4 -88
- package/.speccrew/skills/speccrew-pm-module-initializer/SKILL.md +4 -178
- package/.speccrew/skills/speccrew-pm-module-matcher/SKILL.md +3 -102
- package/.speccrew/skills/speccrew-pm-phase0-init/SKILL.md +5 -78
- package/.speccrew/skills/speccrew-pm-phase1-knowledge-check/SKILL.md +5 -85
- package/.speccrew/skills/speccrew-pm-phase2-complexity-assess/SKILL.md +4 -100
- package/.speccrew/skills/speccrew-pm-phase5-subprd-dispatch/SKILL.md +14 -106
- package/.speccrew/skills/speccrew-pm-phase6-verify-confirm/SKILL.md +7 -84
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +6 -66
- package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +4 -96
- package/.speccrew/skills/speccrew-pm-requirement-clarify/SKILL.md +4 -131
- package/.speccrew/skills/speccrew-pm-requirement-model/SKILL.md +6 -79
- package/.speccrew/skills/speccrew-pm-requirement-simple/SKILL.md +4 -76
- package/.speccrew/skills/speccrew-pm-sub-prd-generate/SKILL.md +3 -281
- package/.speccrew/skills/speccrew-product-manager-orchestration/SKILL.md +6 -165
- package/.speccrew/skills/speccrew-system-deployer-orchestration/SKILL.md +6 -79
- package/.speccrew/skills/speccrew-system-designer-orchestration/SKILL.md +2 -35
- package/.speccrew/skills/speccrew-system-developer-orchestration/SKILL.md +6 -98
- package/.speccrew/skills/speccrew-task-worker-execution/SKILL.md +6 -94
- package/.speccrew/skills/speccrew-team-leader-routing/SKILL.md +6 -79
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +2 -58
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +2 -61
- package/.speccrew/skills/speccrew-test-manager-orchestration/SKILL.md +6 -94
- package/.speccrew/skills/speccrew-test-reporter/SKILL.md +2 -102
- package/.speccrew/skills/speccrew-test-runner/SKILL.md +3 -121
- package/package.json +1 -1
|
@@ -14,365 +14,5 @@ tools: Read, Write, Glob, Grep, Bash
|
|
|
14
14
|
|
|
15
15
|
<!-- @agentflow: SKILL.xml -->
|
|
16
16
|
|
|
17
|
-
> **REQUIRED**: Before executing this workflow, read the XML workflow specification:
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Workflow
|
|
22
|
-
|
|
23
|
-
### Absolute Constraints
|
|
24
|
-
|
|
25
|
-
> **These rules apply to Task Record document generation. Violation = task failure.**
|
|
26
|
-
|
|
27
|
-
1. **FORBIDDEN: Full-file rewrite for Task Record** — After the Task Record is initially created in Step 3.1a, NEVER use `create_file` or full-content overwrite on it. All subsequent updates MUST use targeted `search_replace` on specific sections.
|
|
28
|
-
|
|
29
|
-
2. **FORBIDDEN: Full-file rewrite** — NEVER replace the entire Task Record content in a single operation. Always use targeted `search_replace` on specific sections.
|
|
30
|
-
|
|
31
|
-
3. **MANDATORY: Template-first workflow** — Copy template MUST execute before fill sections. Skipping copy and writing content directly is FORBIDDEN.
|
|
32
|
-
|
|
33
|
-
4. **CLARIFICATION: Source code is NOT template-filled** — Actual source code files are written directly based on design blueprints. The template-fill workflow applies ONLY to the Task Record document.
|
|
34
|
-
|
|
35
|
-
## Step 1: Read Design Documents
|
|
36
|
-
|
|
37
|
-
**Input**: Single module design document path `design_doc_path` (provided by upstream system-developer agent).
|
|
38
|
-
|
|
39
|
-
Read in order:
|
|
40
|
-
|
|
41
|
-
1. **Module design document**: `design_doc_path` (single module design document)
|
|
42
|
-
2. **API Contract**: `speccrew-workspace/iterations/{number}-{type}-{name}/03.api-contract/[feature-name]-api-contract.md`
|
|
43
|
-
3. **Techs Knowledge** (paths from agent context):
|
|
44
|
-
- `speccrew-workspace/knowledges/techs/{platform_id}/tech-stack.md`
|
|
45
|
-
- `speccrew-workspace/knowledges/techs/{platform_id}/architecture.md`
|
|
46
|
-
- `speccrew-workspace/knowledges/techs/{platform_id}/conventions-design.md`
|
|
47
|
-
- `speccrew-workspace/knowledges/techs/{platform_id}/conventions-dev.md`
|
|
48
|
-
|
|
49
|
-
## Step 2: Analyze Existing Code Structure
|
|
50
|
-
|
|
51
|
-
Use Glob/Grep to understand current Tauri codebase:
|
|
52
|
-
|
|
53
|
-
| Target | Glob Pattern | Purpose |
|
|
54
|
-
|--------|-------------|---------|
|
|
55
|
-
| Rust commands | `src-tauri/src/**/*.rs` | Understand Tauri command structure |
|
|
56
|
-
| Frontend integration | `src/**/*.{tsx,vue}` | Understand frontend structure |
|
|
57
|
-
| Tauri commands | `src-tauri/src/commands/**/*.rs` | Understand command patterns |
|
|
58
|
-
| Window management | `src-tauri/src/window/**/*.rs` | Understand window patterns |
|
|
59
|
-
| State management | `src/stores/**/*` | Understand store pattern |
|
|
60
|
-
| API layer | `src/apis/**/*` | Understand API encapsulation |
|
|
61
|
-
| Configuration files | `package.json`, `tauri.conf.json` | Build and config patterns |
|
|
62
|
-
| Cargo.toml | `src-tauri/Cargo.toml` | Rust dependencies |
|
|
63
|
-
|
|
64
|
-
Document findings for reference in later steps.
|
|
65
|
-
|
|
66
|
-
## Step 3: Extract Task List and Create Task Record
|
|
67
|
-
|
|
68
|
-
### 3.1 Create Task Record File Using Template-Fill Workflow
|
|
69
|
-
|
|
70
|
-
**Path**: `speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/[feature-name]-task.md`
|
|
71
|
-
|
|
72
|
-
#### 3.1a Copy Template to Task Record Path
|
|
73
|
-
|
|
74
|
-
> Note: This is the ONLY step where `create_file` is allowed for the Task Record. All later updates in Step 4-6 MUST use `search_replace` on individual sections.
|
|
75
|
-
|
|
76
|
-
1. **Read the template file**: `templates/TASK-RECORD-TEMPLATE.md`
|
|
77
|
-
2. **Replace top-level placeholders** (feature name, platform ID, iteration info)
|
|
78
|
-
3. **Create the document** using `create_file`:
|
|
79
|
-
- Target path: `speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/[feature-name]-task.md`
|
|
80
|
-
- Content: Template with top-level placeholders replaced
|
|
81
|
-
4. **Verify**: Document has complete section structure ready for filling
|
|
82
|
-
|
|
83
|
-
#### 3.1b Fill Task Record Sections Using search_replace
|
|
84
|
-
|
|
85
|
-
Fill each section with task checklist and design metadata extracted from input documents.
|
|
86
|
-
|
|
87
|
-
> ⚠️ **CRITICAL CONSTRAINTS:**
|
|
88
|
-
> - **FORBIDDEN: `create_file` to rewrite the entire document**
|
|
89
|
-
> - **MUST use `search_replace` to fill each section individually**
|
|
90
|
-
> - **All section titles MUST be preserved**
|
|
91
|
-
|
|
92
|
-
### 3.2 Tauri-Specific Task Types
|
|
93
|
-
|
|
94
|
-
**Conditional Task Selection:**
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
IF task involves Rust backend logic THEN
|
|
98
|
-
→ Create Tauri Command task
|
|
99
|
-
IF task involves UI components in frontend THEN
|
|
100
|
-
→ Create Frontend Component task
|
|
101
|
-
IF task involves process communication THEN
|
|
102
|
-
→ Create Tauri Command + Frontend Invoke task
|
|
103
|
-
IF task involves native APIs THEN
|
|
104
|
-
→ Create Native Integration task
|
|
105
|
-
IF task involves menus or shortcuts THEN
|
|
106
|
-
→ Create Menu/Shortcut task
|
|
107
|
-
IF task involves auto-update THEN
|
|
108
|
-
→ Create Auto-Update task
|
|
109
|
-
IF task involves security configuration THEN
|
|
110
|
-
→ Create Security Hardening task
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
| Task Type | Description | Example |
|
|
114
|
-
|-----------|-------------|---------|
|
|
115
|
-
| Tauri Command | Rust backend command | `#[tauri::command]` functions |
|
|
116
|
-
| Frontend Component | UI components | React/Vue components, pages |
|
|
117
|
-
| Command Handler | Frontend-to-Rust communication | `invoke()` calls |
|
|
118
|
-
| Window Management | Window creation, lifecycle | `WindowBuilder`, window config |
|
|
119
|
-
| Native Integration | File system, notifications | `std::fs`, `tauri::api` |
|
|
120
|
-
| Menu/Shortcut | Application menus, shortcuts | Menu templates, accelerators |
|
|
121
|
-
| Auto-Update | Update mechanism | `tauri-updater` |
|
|
122
|
-
| Security Hardening | CSP, permissions | `tauri.conf.json` security |
|
|
123
|
-
|
|
124
|
-
### Task ID Prefix
|
|
125
|
-
|
|
126
|
-
Use `TR-` prefix for Tauri tasks: `TR-001`, `TR-002`, etc.
|
|
127
|
-
|
|
128
|
-
### Task Checklist Table
|
|
129
|
-
|
|
130
|
-
| Task ID | Module | Description | Target Files | Command Name | Native Integration | Dependencies | Status |
|
|
131
|
-
|---------|--------|-------------|--------------|--------------|-------------------|--------------|--------|
|
|
132
|
-
| TR-001 | Commands | Create file operations command | `src-tauri/src/commands/file.rs` | `read_file`, `write_file` | File system | - | Pending |
|
|
133
|
-
| TR-002 | Frontend | Create main window UI | `src/pages/Main.tsx` | `file:*` | - | TR-001 | Pending |
|
|
134
|
-
|
|
135
|
-
**Status**: Pending / In Progress / Completed / Blocked
|
|
136
|
-
|
|
137
|
-
**Proceed directly to implementation — no user confirmation required.**
|
|
138
|
-
|
|
139
|
-
## Step 4: Implement Tasks
|
|
140
|
-
|
|
141
|
-
### 4.1 Implementation Order
|
|
142
|
-
|
|
143
|
-
Follow dependency order:
|
|
144
|
-
1. Tauri commands (Rust backend)
|
|
145
|
-
2. Frontend integration
|
|
146
|
-
3. Native integrations
|
|
147
|
-
4. Security configurations
|
|
148
|
-
5. Auto-update mechanism
|
|
149
|
-
|
|
150
|
-
### 4.2 Coding Standards
|
|
151
|
-
|
|
152
|
-
- **Rust Commands**: Follow conventions-dev.md for Tauri backend code
|
|
153
|
-
- **Frontend**: Follow frontend conventions (React/Vue/etc.)
|
|
154
|
-
- **Command Names**: Use exact names from design document
|
|
155
|
-
- **Types**: Use TypeScript types defined in design document
|
|
156
|
-
- **Error Handling**: Use `Result<T, String>` for command returns
|
|
157
|
-
|
|
158
|
-
### 4.3 Status Markers
|
|
159
|
-
|
|
160
|
-
Use markers from design document:
|
|
161
|
-
|
|
162
|
-
| Marker | Meaning | Action |
|
|
163
|
-
|--------|---------|--------|
|
|
164
|
-
| `[EXISTING]` | Reuse current code | Verify compatibility, no modification needed |
|
|
165
|
-
| `[MODIFIED]` | Enhance existing code | Implement changes carefully |
|
|
166
|
-
| `[NEW]` | Create brand new | Full implementation required |
|
|
167
|
-
|
|
168
|
-
## Step 5: Local Checks (Per Task)
|
|
169
|
-
|
|
170
|
-
After completing each task, run the following checks:
|
|
171
|
-
|
|
172
|
-
### 5.1 Rust Checks
|
|
173
|
-
|
|
174
|
-
```bash
|
|
175
|
-
cd src-tauri
|
|
176
|
-
cargo check
|
|
177
|
-
cargo clippy
|
|
178
|
-
cargo test
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### 5.2 Frontend Build Verification
|
|
182
|
-
|
|
183
|
-
```bash
|
|
184
|
-
npm run build
|
|
185
|
-
# or
|
|
186
|
-
npm run tauri build --debug
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### 5.3 Lint Check
|
|
190
|
-
|
|
191
|
-
```bash
|
|
192
|
-
npm run lint
|
|
193
|
-
# or
|
|
194
|
-
npx eslint [modified-files]
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
### 5.4 Type Check (TypeScript projects)
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
npx tsc --noEmit
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### 5.5 Quick Verify
|
|
204
|
-
|
|
205
|
-
- Application window launches without crash
|
|
206
|
-
- No console errors in DevTools
|
|
207
|
-
- Tauri commands respond correctly
|
|
208
|
-
- Native integrations work as expected
|
|
209
|
-
|
|
210
|
-
**If checks fail**: Fix issues before marking task complete. Record complex issues in task file.
|
|
211
|
-
|
|
212
|
-
## Step 6: Record Deviations
|
|
213
|
-
|
|
214
|
-
If implementation deviates from design document:
|
|
215
|
-
|
|
216
|
-
1. Stop and document the deviation
|
|
217
|
-
2. Explain reason for deviation
|
|
218
|
-
3. Get user confirmation or proceed with documented reason
|
|
219
|
-
|
|
220
|
-
**Record in task file**:
|
|
221
|
-
```markdown
|
|
222
|
-
### Deviation Log
|
|
223
|
-
- TR-002: Changed command return type from {original} to {new} because {reason}
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
## Step 7: Record Technical Debt
|
|
227
|
-
|
|
228
|
-
If technical debt is identified:
|
|
229
|
-
|
|
230
|
-
**Write to**: `speccrew-workspace/iterations/{number}-{type}-{name}/tech-debt/[feature-name]-tech-debt.md`
|
|
231
|
-
|
|
232
|
-
**Categories**:
|
|
233
|
-
- Security: Temporary security relaxations
|
|
234
|
-
- Performance: Known performance issues
|
|
235
|
-
- Refactoring: Code that needs cleanup
|
|
236
|
-
- Dependencies: Version constraints or workarounds
|
|
237
|
-
|
|
238
|
-
## Step 8: Complete Notification
|
|
239
|
-
|
|
240
|
-
After all tasks complete, present summary:
|
|
241
|
-
|
|
242
|
-
```
|
|
243
|
-
Tauri Development Complete: {feature-name}
|
|
244
|
-
Platform: {platform_id}
|
|
245
|
-
Framework: Tauri
|
|
246
|
-
|
|
247
|
-
Tasks Completed: {count}
|
|
248
|
-
├── Tauri Commands: {count}
|
|
249
|
-
├── Frontend Integration: {count}
|
|
250
|
-
├── Native Integration: {count}
|
|
251
|
-
└── Security/Other: {count}
|
|
252
|
-
|
|
253
|
-
Deviations Recorded: {count}
|
|
254
|
-
Technical Debt Items: {count}
|
|
255
|
-
|
|
256
|
-
Task Record: speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/[feature-name]-task.md
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
## Task Completion Report
|
|
260
|
-
|
|
261
|
-
At the end of Step 8 (or if the skill fails at any point), output a structured Task Completion Report:
|
|
262
|
-
|
|
263
|
-
### Success Report
|
|
264
|
-
|
|
265
|
-
```
|
|
266
|
-
## Task Completion Report
|
|
267
|
-
- **Status**: SUCCESS
|
|
268
|
-
- **Task ID**: {task_id from dispatch context}
|
|
269
|
-
- **Platform**: {platform_id}
|
|
270
|
-
- **Module**: {module_name}
|
|
271
|
-
- **Output Files**:
|
|
272
|
-
- {file_path_1}
|
|
273
|
-
- {file_path_2}
|
|
274
|
-
- ...
|
|
275
|
-
- **Summary**: Tauri module {module_name} implemented with {X} tasks completed
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
### Failure Report
|
|
279
|
-
|
|
280
|
-
If the skill fails at any step:
|
|
281
|
-
|
|
282
|
-
```
|
|
283
|
-
## Task Completion Report
|
|
284
|
-
- **Status**: FAILED
|
|
285
|
-
- **Task ID**: {task_id from dispatch context}
|
|
286
|
-
- **Platform**: {platform_id}
|
|
287
|
-
- **Module**: {module_name}
|
|
288
|
-
- **Output Files**: {list of partially generated files, or "None"}
|
|
289
|
-
- **Summary**: {one-line description of what was attempted}
|
|
290
|
-
- **Error**: {detailed error description}
|
|
291
|
-
- **Error Category**: {DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED}
|
|
292
|
-
- **Partial Outputs**: {list of files that were generated before failure, or "None"}
|
|
293
|
-
- **Recovery Hint**: {suggestion for how to resolve and retry}
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
**Error Category Definitions**:
|
|
297
|
-
- `DEPENDENCY_MISSING`: Required Rust crate or Node.js dependency not available
|
|
298
|
-
- `BUILD_FAILURE`: Tauri build error, Rust compilation failure
|
|
299
|
-
- `VALIDATION_ERROR`: Clippy, ESLint, TypeScript type check, or test failure
|
|
300
|
-
- `RUNTIME_ERROR`: App crash on launch, runtime exception, command invocation failure
|
|
301
|
-
- `BLOCKED`: Blocked by external dependency or unresolved design issue
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
# Reference Guides
|
|
306
|
-
|
|
307
|
-
## Security Audit Checklist
|
|
308
|
-
|
|
309
|
-
| Check | Method |
|
|
310
|
-
|-------|--------|
|
|
311
|
-
| CSP | Verify `csp` in `tauri.conf.json` |
|
|
312
|
-
| Dangerous APIs | Check `allowlist` scope |
|
|
313
|
-
| Command Validation | Verify input validation in commands |
|
|
314
|
-
|
|
315
|
-
---
|
|
316
|
-
|
|
317
|
-
## OUTPUT EFFICIENCY RULES
|
|
318
|
-
|
|
319
|
-
When executing this skill:
|
|
320
|
-
|
|
321
|
-
1. **Direct-to-File Output**: All implementation code, task records, and helper scripts MUST be written directly to output files
|
|
322
|
-
2. **Minimal Conversation Output**: Only output:
|
|
323
|
-
- Block execution announcements (1 line each): `"[Block XX] Implementing..."`
|
|
324
|
-
- Error messages requiring attention
|
|
325
|
-
- Task Completion Report (final summary)
|
|
326
|
-
3. **FORBIDDEN in conversation**:
|
|
327
|
-
- ❌ Full source code blocks or file contents
|
|
328
|
-
- ❌ Complete implementation listings
|
|
329
|
-
- ❌ Large configuration file dumps
|
|
330
|
-
- ❌ Architecture diagrams displayed in chat
|
|
331
|
-
- ❌ API endpoint listings longer than 3 lines
|
|
332
|
-
4. **Rationale**: Workers run in batch mode (up to 6 concurrent). Displaying code content in conversation wastes context window and provides no value since content goes to files anyway.
|
|
333
|
-
|
|
334
|
-
## ABORT CONDITIONS
|
|
335
|
-
|
|
336
|
-
When script execution or build/compile fails:
|
|
337
|
-
|
|
338
|
-
1. **STOP immediately** — Report: Task ID, error message, failed command
|
|
339
|
-
2. **FORBIDDEN responses on failure**:
|
|
340
|
-
- ❌ DO NOT provide A/B/C alternative options
|
|
341
|
-
- ❌ DO NOT suggest "skip this step and continue"
|
|
342
|
-
- ❌ DO NOT run ad-hoc PowerShell/Bash commands as workaround
|
|
343
|
-
- ❌ DO NOT create temporary scripts to work around the issue
|
|
344
|
-
3. **ONLY correct response**: Report the failure in Task Completion Report with status FAILED and error details
|
|
345
|
-
|
|
346
|
-
# Key Rules
|
|
347
|
-
|
|
348
|
-
| Rule | Description |
|
|
349
|
-
|------|-------------|
|
|
350
|
-
| **Design Document READ-ONLY** | Design documents are reference only - do not modify. Record deviations in task file. |
|
|
351
|
-
| **Actual Framework Syntax** | All code MUST use actual Tauri/Rust API syntax |
|
|
352
|
-
| **Status Markers Required** | Use [EXISTING], [MODIFIED], [NEW] markers for all components and commands |
|
|
353
|
-
| **Follow Techs Conventions** | Naming, directory structure, patterns must follow techs knowledge |
|
|
354
|
-
| **Security First** | Minimize dangerous API allowlist scope |
|
|
355
|
-
| **Error Handling** | All commands must return `Result<T, E>` |
|
|
356
|
-
| **Task Per File Group** | Each task should map to a logical file group or component |
|
|
357
|
-
| **Local Checks Mandatory** | Run cargo check, lint, and quick verify before marking task complete |
|
|
358
|
-
| **Tech Debt Recorded** | All technical debt must be written to iterations/{iter}/tech-debt/ |
|
|
359
|
-
|
|
360
|
-
# Checklist
|
|
361
|
-
|
|
362
|
-
- [ ] Design document loaded before implementation (single module design_doc_path)
|
|
363
|
-
- [ ] Existing code structure analyzed via Glob/Grep
|
|
364
|
-
- [ ] Task record created with complete checklist
|
|
365
|
-
- [ ] Task list extracted and recorded in task file
|
|
366
|
-
- [ ] All modules in the design document covered in task list
|
|
367
|
-
- [ ] All Tauri commands from design implemented
|
|
368
|
-
- [ ] CSP configured in tauri.conf.json
|
|
369
|
-
- [ ] Command input validation implemented
|
|
370
|
-
- [ ] Native integrations follow security best practices
|
|
371
|
-
- [ ] Rust checks pass (cargo check, clippy, test)
|
|
372
|
-
- [ ] Frontend build verification passes
|
|
373
|
-
- [ ] Lint check passes with no errors
|
|
374
|
-
- [ ] Type check passes (TypeScript projects)
|
|
375
|
-
- [ ] Quick verify: App launches without crash
|
|
376
|
-
- [ ] All deviations recorded in task file
|
|
377
|
-
- [ ] Technical debt recorded in tech-debt/ directory
|
|
378
|
-
- [ ] Task record status updated to complete
|
|
17
|
+
> **REQUIRED**: Before executing this workflow, read the XML workflow specification: speccrew-workspace/docs/rules/agentflow-spec.md
|
|
18
|
+
> Then read and execute the XML workflow in SKILL.xml block-by-block as the authoritative execution plan.
|
|
@@ -14,307 +14,5 @@ tools: Bash, Edit, Write, Glob, Grep, Read
|
|
|
14
14
|
|
|
15
15
|
<!-- @agentflow: SKILL.xml -->
|
|
16
16
|
|
|
17
|
-
> **REQUIRED**: Before executing this workflow, read the XML workflow specification:
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Workflow
|
|
22
|
-
|
|
23
|
-
### Absolute Constraints
|
|
24
|
-
|
|
25
|
-
> **These rules apply to Task Record document generation. Violation = task failure.**
|
|
26
|
-
|
|
27
|
-
1. **FORBIDDEN: `create_file` for Task Record** — NEVER use `create_file` to write the Task Record document. It MUST be created by copying the template then filling sections with `search_replace`. `create_file` produces truncated output on large files.
|
|
28
|
-
|
|
29
|
-
2. **FORBIDDEN: Full-file rewrite** — NEVER replace the entire Task Record content in a single operation. Always use targeted `search_replace` on specific sections.
|
|
30
|
-
|
|
31
|
-
3. **MANDATORY: Template-first workflow** — Copy template MUST execute before fill sections. Skipping copy and writing content directly is FORBIDDEN.
|
|
32
|
-
|
|
33
|
-
4. **CLARIFICATION: Source code is NOT template-filled** — Actual source code files are written directly based on design blueprints. The template-fill workflow applies ONLY to the Task Record document.
|
|
34
|
-
|
|
35
|
-
## Step 1: Read Design Documents
|
|
36
|
-
|
|
37
|
-
Input: `design_doc_path` — Path to a single module design document (passed by upstream system-developer agent).
|
|
38
|
-
|
|
39
|
-
Read in order:
|
|
40
|
-
|
|
41
|
-
1. **Platform INDEX**: `speccrew-workspace/iterations/{number}-{type}-{name}/03.system-design/{platform_id}/INDEX.md`
|
|
42
|
-
2. **Module Design Document**: The `design_doc_path` provided (single module's design)
|
|
43
|
-
3. **API Contract**: `speccrew-workspace/iterations/{number}-{type}-{name}/03.api-contract/*-api-contract.md`
|
|
44
|
-
4. **Task record template**: `speccrew-dev-frontend/templates/TASK-RECORD-TEMPLATE.md`
|
|
45
|
-
|
|
46
|
-
## Step 2: Read Techs Knowledge
|
|
47
|
-
|
|
48
|
-
Read platform-specific techs knowledge:
|
|
49
|
-
|
|
50
|
-
| Document | Path | Purpose |
|
|
51
|
-
|----------|------|---------|
|
|
52
|
-
| Development conventions | `speccrew-workspace/knowledges/techs/{platform_id}/conventions-dev.md` | Naming, patterns, code style |
|
|
53
|
-
| Architecture | `speccrew-workspace/knowledges/techs/{platform_id}/architecture.md` | State management, patterns |
|
|
54
|
-
| Tech stack | `speccrew-workspace/knowledges/techs/{platform_id}/tech-stack.md` | Framework versions, libraries |
|
|
55
|
-
| UI style guide | `speccrew-workspace/knowledges/techs/{platform_id}/ui-style/ui-style-guide.md` | Visual design tokens |
|
|
56
|
-
| UI patterns | `speccrew-workspace/knowledges/techs/{platform_id}/ui-style-patterns/` | Reusable UI patterns |
|
|
57
|
-
|
|
58
|
-
## Step 3: Extract Task List
|
|
59
|
-
|
|
60
|
-
From design documents, extract ALL implementation items into a task checklist.
|
|
61
|
-
|
|
62
|
-
### 3.1 Parse Module Design
|
|
63
|
-
|
|
64
|
-
From the module design document, identify:
|
|
65
|
-
|
|
66
|
-
| Item Type | Markers | Example |
|
|
67
|
-
|-----------|---------|---------|
|
|
68
|
-
| Components | [NEW], [MODIFIED], [EXISTING] | `[NEW] ProductDetailDrawer` |
|
|
69
|
-
| Store modules | [NEW], [MODIFIED], [EXISTING] | `[MODIFIED] useCartStore` |
|
|
70
|
-
| API integration | API calls in pseudo-code | `api.getProduct(id)` |
|
|
71
|
-
| Routes | Route configurations | `/products/:id` |
|
|
72
|
-
| Styles | Layout/styling work | Flex layout, spacing |
|
|
73
|
-
|
|
74
|
-
### 3.2 Generate Task Table
|
|
75
|
-
|
|
76
|
-
<!-- AI-NOTE: Create one row per implementation task. Dependencies must reference other Task IDs. -->
|
|
77
|
-
|
|
78
|
-
| Task ID | Module | Description | Target Files | Dependencies | Status |
|
|
79
|
-
|---------|--------|-------------|--------------|--------------|--------|
|
|
80
|
-
| FE-001 | {module} | {description} | {file paths from design} | {depends on} | Pending |
|
|
81
|
-
| FE-002 | {module} | {description} | {file paths from design} | {depends on} | Pending |
|
|
82
|
-
|
|
83
|
-
### 3.3 Write Initial Task Record
|
|
84
|
-
|
|
85
|
-
Create the task record using template-fill workflow:
|
|
86
|
-
|
|
87
|
-
**Target Path**: `speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/{feature-name}-tasks.md`
|
|
88
|
-
|
|
89
|
-
#### 3.4a Copy Template to Task Record Path
|
|
90
|
-
|
|
91
|
-
1. **Read the template file**: `speccrew-dev-frontend/templates/TASK-RECORD-TEMPLATE.md` (from Step 1)
|
|
92
|
-
2. **Replace top-level placeholders** (feature name, platform ID, iteration info)
|
|
93
|
-
3. **Create the document** using `create_file`:
|
|
94
|
-
- Target path: `speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/{feature-name}-tasks.md`
|
|
95
|
-
- Content: Template with top-level placeholders replaced
|
|
96
|
-
4. **Verify**: Document has complete section structure ready for filling
|
|
97
|
-
|
|
98
|
-
#### 3.4b Fill Task Record Sections Using search_replace
|
|
99
|
-
|
|
100
|
-
Fill each section with task checklist and design metadata.
|
|
101
|
-
|
|
102
|
-
> ⚠️ **CRITICAL CONSTRAINTS:**
|
|
103
|
-
> - **FORBIDDEN: `create_file` to rewrite the entire document**
|
|
104
|
-
> - **MUST use `search_replace` to fill each section individually**
|
|
105
|
-
> - **All section titles MUST be preserved**
|
|
106
|
-
|
|
107
|
-
## Step 4: Execute Tasks
|
|
108
|
-
|
|
109
|
-
For each task in checklist order (respecting dependencies):
|
|
110
|
-
|
|
111
|
-
### 4.1 Read Design Section
|
|
112
|
-
|
|
113
|
-
Re-read the corresponding module design document section for this task.
|
|
114
|
-
|
|
115
|
-
### 4.2 Implement According to Blueprint
|
|
116
|
-
|
|
117
|
-
<!-- AI-NOTE: Dev skill does NOT use template filling. Write actual source code following the design blueprint directly. -->
|
|
118
|
-
|
|
119
|
-
| Aspect | Implementation Rule |
|
|
120
|
-
|--------|---------------------|
|
|
121
|
-
| Framework syntax | Use actual syntax from conventions-dev.md |
|
|
122
|
-
| Architecture patterns | Follow architecture.md patterns |
|
|
123
|
-
| Component reuse | Use [EXISTING] components as marked in design |
|
|
124
|
-
| Naming | Follow conventions strictly |
|
|
125
|
-
| File paths | Use paths specified in design document |
|
|
126
|
-
|
|
127
|
-
### 4.3 Update Task Status
|
|
128
|
-
|
|
129
|
-
After each task completion:
|
|
130
|
-
|
|
131
|
-
1. Update task status to "Done" in task record
|
|
132
|
-
2. If deviation from design: record in Deviation Log section
|
|
133
|
-
3. Continue to next task
|
|
134
|
-
|
|
135
|
-
### 4.4 Handle Design Issues
|
|
136
|
-
|
|
137
|
-
If design issue discovered during implementation:
|
|
138
|
-
|
|
139
|
-
1. **Stop current task**
|
|
140
|
-
2. **Report issue to user clearly** with:
|
|
141
|
-
- Task ID affected
|
|
142
|
-
- Design document reference
|
|
143
|
-
- Problem description
|
|
144
|
-
- Suggested resolution
|
|
145
|
-
3. **Wait for user decision**:
|
|
146
|
-
- Backtrack to design phase, OR
|
|
147
|
-
- Proceed with explanation
|
|
148
|
-
|
|
149
|
-
## Step 5: Local Checks
|
|
150
|
-
|
|
151
|
-
After each task (or batch of related tasks):
|
|
152
|
-
|
|
153
|
-
### 5.1 Lint Check
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
npm run lint
|
|
157
|
-
# OR
|
|
158
|
-
npx eslint {modified files}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### 5.2 Type Check (if TypeScript)
|
|
162
|
-
|
|
163
|
-
```bash
|
|
164
|
-
npx tsc --noEmit
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### 5.3 Unit Tests
|
|
168
|
-
|
|
169
|
-
Run relevant unit tests, ensure no regressions.
|
|
170
|
-
|
|
171
|
-
### 5.4 Quick Verify
|
|
172
|
-
|
|
173
|
-
- Page renders without console errors
|
|
174
|
-
- No runtime exceptions
|
|
175
|
-
|
|
176
|
-
### 5.5 Handle Failures
|
|
177
|
-
|
|
178
|
-
| Scenario | Action |
|
|
179
|
-
|----------|--------|
|
|
180
|
-
| Checks pass | Mark task complete |
|
|
181
|
-
| Simple fix | Fix immediately, then mark complete |
|
|
182
|
-
| Complex issue | Record in task file "Issues" section, continue if possible |
|
|
183
|
-
|
|
184
|
-
## Step 6: Complete Task Record
|
|
185
|
-
|
|
186
|
-
### 6.1 Update Final Statuses
|
|
187
|
-
|
|
188
|
-
Update task record file with final statuses for all tasks.
|
|
189
|
-
|
|
190
|
-
### 6.2 Record Deviations
|
|
191
|
-
|
|
192
|
-
Ensure all deviations are recorded with reasons:
|
|
193
|
-
|
|
194
|
-
| Task ID | Design Intent | Actual Implementation | Reason |
|
|
195
|
-
|---------|---------------|----------------------|--------|
|
|
196
|
-
| FE-002 | Use A pattern | Used B pattern | [reason] |
|
|
197
|
-
|
|
198
|
-
### 6.3 Write Tech Debt (if any)
|
|
199
|
-
|
|
200
|
-
If tech debt identified, write to:
|
|
201
|
-
|
|
202
|
-
`speccrew-workspace/iterations/{number}-{type}-{name}/tech-debt/{debt-id}.md`
|
|
203
|
-
|
|
204
|
-
### 6.4 Present Completion Summary
|
|
205
|
-
|
|
206
|
-
```
|
|
207
|
-
Frontend Development Complete: {feature-name}
|
|
208
|
-
Platform: {platform_id}
|
|
209
|
-
|
|
210
|
-
Tasks: {completed}/{total} completed
|
|
211
|
-
Deviations: {count}
|
|
212
|
-
Tech Debt: {count}
|
|
213
|
-
|
|
214
|
-
Task Record: speccrew-workspace/iterations/{number}-{type}-{name}/04.development/{platform_id}/{feature-name}-tasks.md
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
#### Helper Scripts Output
|
|
218
|
-
|
|
219
|
-
All temporary/helper scripts (validation, data init, environment setup, mock data, etc.) MUST be saved to:
|
|
220
|
-
```
|
|
221
|
-
iterations/{iter}/04.development/{platform_id}/scripts/
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
**Exception**: Application source scripts (build configs, etc.) go to the project source directory per conventions-dev.md.
|
|
225
|
-
|
|
226
|
-
Include all generated scripts in the Task Record "Generated Scripts" section with path and purpose.
|
|
227
|
-
|
|
228
|
-
## Task Completion Report
|
|
229
|
-
|
|
230
|
-
At the end of Step 6 (or if the skill fails at any point), output a structured Task Completion Report:
|
|
231
|
-
|
|
232
|
-
### Success Report
|
|
233
|
-
|
|
234
|
-
```
|
|
235
|
-
## Task Completion Report
|
|
236
|
-
- **Status**: SUCCESS
|
|
237
|
-
- **Task ID**: {task_id from dispatch context}
|
|
238
|
-
- **Platform**: {platform_id}
|
|
239
|
-
- **Module**: {module_name}
|
|
240
|
-
- **Output Files**:
|
|
241
|
-
- {file_path_1}
|
|
242
|
-
- {file_path_2}
|
|
243
|
-
- ...
|
|
244
|
-
- **Summary**: Frontend module {module_name} implemented with {X} tasks completed
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### Failure Report
|
|
248
|
-
|
|
249
|
-
If the skill fails at any step:
|
|
250
|
-
|
|
251
|
-
```
|
|
252
|
-
## Task Completion Report
|
|
253
|
-
- **Status**: FAILED
|
|
254
|
-
- **Task ID**: {task_id from dispatch context}
|
|
255
|
-
- **Platform**: {platform_id}
|
|
256
|
-
- **Module**: {module_name}
|
|
257
|
-
- **Output Files**: {list of partially generated files, or "None"}
|
|
258
|
-
- **Summary**: {one-line description of what was attempted}
|
|
259
|
-
- **Error**: {detailed error description}
|
|
260
|
-
- **Error Category**: {DEPENDENCY_MISSING | BUILD_FAILURE | VALIDATION_ERROR | RUNTIME_ERROR | BLOCKED}
|
|
261
|
-
- **Partial Outputs**: {list of files that were generated before failure, or "None"}
|
|
262
|
-
- **Recovery Hint**: {suggestion for how to resolve and retry}
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
**Error Category Definitions**:
|
|
266
|
-
- `DEPENDENCY_MISSING`: Required Node.js/npm dependency not available
|
|
267
|
-
- `BUILD_FAILURE`: Vite/Webpack build error, compilation failure
|
|
268
|
-
- `VALIDATION_ERROR`: ESLint, TypeScript type check, or test failure
|
|
269
|
-
- `RUNTIME_ERROR`: Runtime exception in browser/dev server
|
|
270
|
-
- `BLOCKED`: Blocked by external dependency or unresolved design issue
|
|
271
|
-
|
|
272
|
-
## OUTPUT EFFICIENCY RULES
|
|
273
|
-
|
|
274
|
-
When executing this skill:
|
|
275
|
-
|
|
276
|
-
1. **Direct-to-File Output**: All implementation code, task records, and helper scripts MUST be written directly to output files
|
|
277
|
-
2. **Minimal Conversation Output**: Only output:
|
|
278
|
-
- Block execution announcements (1 line each): `"[Block XX] Implementing..."`
|
|
279
|
-
- Error messages requiring attention
|
|
280
|
-
- Task Completion Report (final summary)
|
|
281
|
-
3. **FORBIDDEN in conversation**:
|
|
282
|
-
- ❌ Full source code blocks or file contents
|
|
283
|
-
- ❌ Complete implementation listings
|
|
284
|
-
- ❌ Large configuration file dumps
|
|
285
|
-
- ❌ Architecture diagrams displayed in chat
|
|
286
|
-
- ❌ API endpoint listings longer than 3 lines
|
|
287
|
-
4. **Rationale**: Workers run in batch mode (up to 6 concurrent). Displaying code content in conversation wastes context window and provides no value since content goes to files anyway.
|
|
288
|
-
|
|
289
|
-
## ABORT CONDITIONS
|
|
290
|
-
|
|
291
|
-
When script execution or build/compile fails:
|
|
292
|
-
|
|
293
|
-
1. **STOP immediately** — Report: Task ID, error message, failed command
|
|
294
|
-
2. **FORBIDDEN responses on failure**:
|
|
295
|
-
- ❌ DO NOT provide A/B/C alternative options
|
|
296
|
-
- ❌ DO NOT suggest "skip this step and continue"
|
|
297
|
-
- ❌ DO NOT run ad-hoc PowerShell/Bash commands as workaround
|
|
298
|
-
- ❌ DO NOT create temporary scripts to work around the issue
|
|
299
|
-
3. **ONLY correct response**: Report the failure in Task Completion Report with status FAILED and error details
|
|
300
|
-
|
|
301
|
-
# Key Rules
|
|
302
|
-
|
|
303
|
-
| Rule | Description |
|
|
304
|
-
|------|-------------|
|
|
305
|
-
| **Design Blueprint First** | All code MUST follow the system design documents — do not invent architecture |
|
|
306
|
-
| **Task Checklist Mandatory** | MUST extract and confirm task list before writing any code |
|
|
307
|
-
| **Conventions Compliance** | Naming, patterns, directory structure MUST follow techs knowledge |
|
|
308
|
-
| **Deviation Recording** | ANY difference from design MUST be recorded with reason |
|
|
309
|
-
| **Local Check Gate** | Code MUST pass lint/type/test before task completion |
|
|
310
|
-
|
|
311
|
-
# Checklist
|
|
312
|
-
|
|
313
|
-
- [ ] All design documents loaded before implementation
|
|
314
|
-
- [ ] Task checklist extracted and recorded
|
|
315
|
-
- [ ] Task record file created at `04.development/{platform_id}/`
|
|
316
|
-
- [ ] Each task implemented following design blueprint
|
|
317
|
-
- [ ] Local checks passed (lint, type, test) for each task
|
|
318
|
-
- [ ] All deviations recorded with reasons
|
|
319
|
-
- [ ] Tech debt items written to `tech-debt/` directory
|
|
320
|
-
- [ ] Task record updated with final completion status
|
|
17
|
+
> **REQUIRED**: Before executing this workflow, read the XML workflow specification: speccrew-workspace/docs/rules/agentflow-spec.md
|
|
18
|
+
> Then read and execute the XML workflow in SKILL.xml block-by-block as the authoritative execution plan.
|