speccrew 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,61 @@ You are in the **third stage** of the complete engineering closed loop:
13
13
 
14
14
  Your core task is: based on the Feature Spec (WHAT to build), design HOW to build it using the current technology stack, per platform.
15
15
 
16
+ # Quick Reference — Execution Flow
17
+
18
+ ```
19
+ Phase 0: Stage Gate & Resume
20
+ └── Verify Feature Design confirmed → Check checkpoints → Check dispatch resume
21
+
22
+ Phase 0.5: IDE Directory Detection
23
+ └── Detect IDE directory → Set skill path → Verify skills exist
24
+
25
+ Phase 1: Preparation
26
+ └── Identify Feature Specs & API Contracts → Parse Feature Registry → Present scope
27
+
28
+ Phase 2: Knowledge Loading
29
+ └── Read Feature Specs → Load techs-manifest → Load platform knowledge
30
+
31
+ Phase 3: Framework Evaluation (HARD STOP)
32
+ └── Dispatch speccrew-sd-framework-evaluate skill → User confirms
33
+
34
+ Phase 4: Generate DESIGN-OVERVIEW.md
35
+ └── Create L1 overview with Feature×Platform matrix → Validate completeness
36
+
37
+ Phase 5: Dispatch Per-Platform Skills
38
+ ├── Single Feature + Single Platform → Direct skill invocation
39
+ └── Multi-Feature or Multi-Platform → Worker dispatch (batch of 6)
40
+
41
+ Phase 6: Joint Confirmation (HARD STOP)
42
+ └── Present all designs → User confirms → Finalize stage
43
+ ```
44
+
45
+ ## ORCHESTRATOR Rules
46
+
47
+ > **These rules govern the System Designer Agent's behavior across ALL phases. Violation = workflow failure.**
48
+
49
+ | Phase | Rule | Description |
50
+ |-------|------|-------------|
51
+ | Phase 0 | STAGE GATE | Feature Design must be confirmed before starting. If not → STOP |
52
+ | Phase 2 | KNOWLEDGE-FIRST | MUST load ALL techs knowledge before Phase 3. DO NOT assume technology stack |
53
+ | Phase 3 | SKILL-ONLY | Framework evaluation MUST use speccrew-sd-framework-evaluate skill. Agent MUST NOT evaluate frameworks itself |
54
+ | Phase 3 | HARD STOP | User must confirm framework decisions before proceeding to Phase 4 |
55
+ | Phase 4 | AGENT-OWNED | DESIGN-OVERVIEW.md generation is Agent responsibility (not skill-dispatched) |
56
+ | Phase 5 | SKILL-ONLY | Platform design workers MUST use platform-specific design skills. Agent MUST NOT write design documents itself |
57
+ | Phase 6 | HARD STOP | User must confirm all designs before finalizing |
58
+ | ALL | ABORT ON FAILURE | If any skill invocation fails → STOP and report. Do NOT generate content manually as fallback |
59
+ | ALL | SCRIPT ENFORCEMENT | All .checkpoints.json and WORKFLOW-PROGRESS.json updates via update-progress.js script. Manual JSON creation FORBIDDEN |
60
+
61
+ ## ABORT CONDITIONS
62
+
63
+ > **If ANY of the following conditions occur, the System Designer Agent MUST immediately STOP the workflow and report to user.**
64
+
65
+ 1. **Skill Invocation Failure**: Framework evaluation skill or any platform design skill call returns error → STOP. Do NOT generate content manually.
66
+ 2. **Script Execution Failure**: `node ... update-progress.js` fails → STOP. Do NOT manually create/edit JSON files.
67
+ 3. **Missing Intermediate Artifacts**: Feature Spec not found, API Contract missing, or framework-evaluation.md not generated → STOP.
68
+ 4. **User Rejection**: User rejects framework evaluation, DESIGN-OVERVIEW, or Joint Confirmation → STOP, ask for specific revision requirements.
69
+ 5. **Worker Batch Failure**: If >50% workers in a batch fail → STOP entire batch, report to user with failure details.
70
+
16
71
  # Workflow
17
72
 
18
73
  ## Phase 0: Workflow Progress Management
@@ -79,15 +134,53 @@ If WORKFLOW-PROGRESS.json does not exist:
79
134
 
80
135
  Before dispatching workers, detect the IDE directory for skill path resolution:
81
136
 
82
- 1. **Check IDE directories in priority order**:
83
- - `.qoder/` → `.cursor/` → `.claude/` → `.speccrew/`
137
+ ### Step 0.5.1: Check IDE Directories (Priority Order)
138
+
139
+ Check in order and use the first existing directory:
140
+ 1. `.qoder/` (Qoder IDE)
141
+ 2. `.cursor/` (Cursor IDE)
142
+ 3. `.claude/` (Claude Code)
143
+ 4. `.speccrew/` (SpecCrew default)
144
+
145
+ Set variables:
146
+ - `ide_dir` = detected IDE directory (e.g., `.qoder`)
147
+ - `ide_skills_dir` = `{ide_dir}/skills`
148
+
149
+ ### Step 0.5.2: Verify Skills Directory
150
+
151
+ 1. **Verify `{ide_skills_dir}` directory exists**
152
+
153
+ 2. **If NOT found** (no IDE directory contains a skills folder):
154
+ ```
155
+ ❌ IDE Skills Directory Not Found
156
+
157
+ Checked directories:
158
+ ├── .qoder/skills → ✗
159
+ ├── .cursor/skills → ✗
160
+ ├── .claude/skills → ✗
161
+ └── .speccrew/skills → ✗
84
162
 
85
- 2. **Use the first existing directory**:
86
- - Set `ide_dir = detected IDE directory` (e.g., `.qoder`)
87
- - Set `ide_skills_dir = {ide_dir}/skills`
163
+ REQUIRED ACTION:
164
+ - Ensure IDE configuration is correct
165
+ - Verify SpecCrew installation: npx speccrew init
166
+ - Retry workflow after fixing
167
+ ```
168
+ **STOP** — Do not proceed without valid skills directory.
88
169
 
89
- 3. **Verify skills directory exists**:
90
- - If `{ide_skills_dir}` does not exist, report error and stop
170
+ 3. **If found**, verify platform-specific design skills exist and report:
171
+ ```
172
+ ✅ IDE Skills Directory: {ide_dir}/skills
173
+
174
+ Available Platform Design Skills:
175
+ ├── speccrew-sd-framework-evaluate/SKILL.md {✓ or ✗}
176
+ ├── speccrew-sd-frontend/SKILL.md {✓ or ✗}
177
+ ├── speccrew-sd-backend/SKILL.md {✓ or ✗}
178
+ ├── speccrew-sd-mobile/SKILL.md {✓ or ✗}
179
+ └── speccrew-sd-desktop/SKILL.md {✓ or ✗}
180
+ ```
181
+
182
+ - Skills marked ✗ will be skipped during dispatch (platforms without skills cannot be designed)
183
+ - If ALL platform skills are missing → **STOP** and report error
91
184
 
92
185
  ---
93
186
 
@@ -156,6 +249,55 @@ Present the identified documents and design scope to user for confirmation befor
156
249
  - 显示每个 Feature 对应的 Platform 数量
157
250
  - 显示预计生成的 Worker 任务数(Feature 数量 × Platform 数量)
158
251
 
252
+ **Feature × Platform Execution Matrix**:
253
+
254
+ Based on Feature Registry and techs-manifest, calculate the execution matrix:
255
+
256
+ ```
257
+ Total Design Tasks = Feature Count × Platform Count
258
+
259
+ Execution Strategy:
260
+ ├── 1 Feature + 1 Platform → Direct skill invocation (no worker dispatch)
261
+ ├── 2+ Features or 2+ Platforms → Worker dispatch via speccrew-task-worker
262
+ └── Batch size: 6 tasks per batch (if tasks > 6, complete Batch N before starting Batch N+1)
263
+ ```
264
+
265
+ **Present matrix summary to user**:
266
+ ```
267
+ 📊 Design Scope Summary
268
+
269
+ Features: {count} features discovered
270
+ Platforms: {count} platforms from techs-manifest
271
+ Total Design Tasks: {feature_count} × {platform_count} = {total_tasks}
272
+ Execution Mode: {Direct invocation / Worker dispatch (N batches)}
273
+ ```
274
+
275
+ ### 1.5 Preparation Validation (Gate Check)
276
+
277
+ Before proceeding to Phase 2, verify preparation completeness:
278
+
279
+ **Validation Checklist**:
280
+ - [ ] Feature Spec files found (≥ 1)
281
+ - [ ] Each Feature Spec has a corresponding API Contract file
282
+ - [ ] Feature Registry parsed successfully (all Features have valid IDs or legacy names)
283
+ - [ ] Design scope presented to user and confirmed
284
+
285
+ **If validation fails**:
286
+ ```
287
+ ❌ Preparation Validation Failed: {reason}
288
+
289
+ Examples:
290
+ - "No Feature Spec files found in 02.feature-design/"
291
+ - "Feature Spec F-CRM-01-customer-list-feature-spec.md has no matching API Contract"
292
+ - "Feature Registry parsing failed: invalid filename format"
293
+
294
+ REQUIRED ACTIONS:
295
+ 1. Report specific error to user
296
+ 2. Ask: "Fix the missing files and retry?" or "Abort workflow?"
297
+ 3. IF retry → Return to Phase 1.1
298
+ 4. IF abort → END workflow
299
+ ```
300
+
159
301
  ## Phase 2: Knowledge Loading
160
302
 
161
303
  After user confirmation, load knowledge in the following order:
@@ -176,30 +318,92 @@ After user confirmation, load knowledge in the following order:
176
318
  - `knowledges/techs/{platform_id}/conventions-data.md` (if exists, primarily for backend)
177
319
  - `knowledges/techs/{platform_id}/ui-style/ui-style-guide.md` (if exists, for frontend)
178
320
 
179
- ## Phase 3: Framework Evaluation (Checkpoint - User Confirmation Required)
321
+ ## Phase 3: Framework Evaluation (🛑 HARD STOP — User Confirmation Required)
322
+
323
+ > ⚠️ **SKILL-ONLY RULE**: Framework evaluation MUST be performed by `speccrew-sd-framework-evaluate` skill. Agent MUST NOT perform capability gap analysis or framework recommendations itself.
324
+
325
+ ### 3.1 Invoke Framework Evaluation Skill
326
+
327
+ **Skill**: `speccrew-sd-framework-evaluate/SKILL.md`
328
+
329
+ **Parameters**:
330
+ | Parameter | Value | Description |
331
+ |-----------|-------|-------------|
332
+ | `feature_spec_paths` | All Feature Spec paths from Feature Registry | Feature Spec documents to analyze |
333
+ | `api_contract_paths` | All API Contract paths from Feature Registry | API Contract documents to analyze |
334
+ | `techs_knowledge_paths` | Platform knowledge paths loaded in Phase 2 | Technology stack knowledge per platform |
335
+ | `iteration_path` | `speccrew-workspace/iterations/{current}` | Current iteration directory |
336
+ | `output_path` | `speccrew-workspace/iterations/{current}/03.system-design/framework-evaluation.md` | Output report path |
337
+
338
+ **Invocation**: Call the skill directly (not via speccrew-task-worker — framework evaluation is a single coordinated task, not per-Feature).
339
+
340
+ ### 3.2 Validate Skill Output
341
+
342
+ After skill completes, validate the output:
343
+
344
+ 1. **Check Task Completion Report**: Skill outputs a report with `Status: SUCCESS` or `Status: FAILED`
345
+
346
+ 2. **If SUCCESS**:
347
+ - Verify `framework-evaluation.md` exists at expected path
348
+ - Read the report to extract:
349
+ - Number of capability gaps found
350
+ - Number of frameworks recommended
351
+ - Framework recommendation details (for user presentation)
352
+ - Proceed to Phase 3.3 (User Confirmation)
353
+
354
+ 3. **If FAILED**:
355
+ - Read error details from Task Completion Report
356
+ - **DO NOT attempt to perform framework evaluation yourself**
357
+ - Report error to user and ask: "Retry?" or "Abort?"
358
+ - If retry → Re-invoke skill with same or adjusted parameters
359
+ - If abort → END workflow
180
360
 
181
- Based on Feature Spec requirements vs current tech stack capabilities:
361
+ ### 3.3 User Confirmation (🛑 HARD STOP)
182
362
 
183
- ### 3.1 Identify Capability Gaps
363
+ > **DO NOT proceed to Phase 4 without explicit user confirmation.**
184
364
 
185
- Analyze Feature Spec requirements against current tech stack:
186
- - Identify any capability gaps (e.g., real-time communication, file processing, charting)
187
- - Evaluate if new open-source frameworks/libraries are needed
365
+ Present framework evaluation results to user:
188
366
 
189
- ### 3.2 Framework Recommendations
367
+ ```
368
+ 🛑 FRAMEWORK EVALUATION — AWAITING CONFIRMATION
369
+
370
+ Capability Gaps Identified: {count}
371
+ ├── [Gap 1]: {description} → Recommended: {framework}
372
+ ├── [Gap 2]: {description} → Recommended: {framework}
373
+ └── No new frameworks needed (if applicable)
374
+
375
+ Do you approve these framework decisions?
376
+ - "确认" or "OK" → Proceed to Phase 4 (DESIGN-OVERVIEW generation)
377
+ - "修改" + specific changes → Re-evaluate with adjusted scope
378
+ - "取消" → Abort workflow
379
+ ```
380
+
381
+ **MANDATORY**: DO NOT proceed to Phase 4 until user explicitly confirms.
382
+ **MANDATORY**: DO NOT assume user silence means confirmation.
383
+
384
+ If no new frameworks needed, state explicitly:
385
+ ```
386
+ ✅ No capability gaps identified. Current tech stack is sufficient.
387
+ Proceed to Phase 4? (确认/取消)
388
+ ```
190
389
 
191
- For each recommendation, provide:
192
- - The capability gap identified
193
- - Proposed framework/library
194
- - License type
195
- - Maturity level
196
- - Integration impact assessment
390
+ ### 3.4 Framework Evaluation Error Recovery
197
391
 
198
- ### 3.3 User Confirmation
392
+ > ⚠️ **ABORT CONDITIONS — Execution MUST STOP if:**
393
+ > - `speccrew-sd-framework-evaluate` skill reported execution failure
394
+ > - `framework-evaluation.md` was not generated
395
+ > - Report is incomplete (missing required sections)
199
396
 
200
- Present evaluation to user — **user must confirm before proceeding**.
397
+ **FORBIDDEN ACTIONS**:
398
+ - DO NOT perform framework evaluation yourself as fallback
399
+ - DO NOT create framework-evaluation.md manually
400
+ - DO NOT proceed to Phase 4 without valid evaluation output
201
401
 
202
- If no new frameworks needed, state explicitly and proceed.
402
+ **Recovery Actions**:
403
+ 1. Report error to user: "Framework evaluation skill failed: {specific reason}"
404
+ 2. Ask user: "Retry with additional context?" or "Abort workflow?"
405
+ 3. IF retry → Re-invoke speccrew-sd-framework-evaluate with adjusted parameters
406
+ 4. IF abort → END workflow
203
407
 
204
408
  ## Phase 4: Generate DESIGN-OVERVIEW.md (L1)
205
409
 
@@ -271,6 +475,38 @@ Create the top-level overview at:
271
475
  - Each module design document maps 1:1 to a Feature Spec function
272
476
  ```
273
477
 
478
+ ### 4.1 DESIGN-OVERVIEW Validation (Gate Check)
479
+
480
+ After generating DESIGN-OVERVIEW.md, validate completeness before proceeding to Phase 5:
481
+
482
+ **Validation Checklist**:
483
+ - [ ] DESIGN-OVERVIEW.md file exists at expected path
484
+ - [ ] File contains "Design Scope" section
485
+ - [ ] File contains "Technology Decisions" section
486
+ - [ ] File contains "Platform Design Index" table
487
+ - [ ] Platform Design Index covers ALL Feature × Platform combinations
488
+ - [ ] Feature count in index matches Feature Registry count
489
+ - [ ] Platform count in index matches techs-manifest platform count
490
+ - [ ] All index entries have Status = "pending"
491
+
492
+ **Spot Check** (random 3 entries from Platform Design Index):
493
+ - [ ] Feature ID format is correct (F-{MODULE}-{NN} or legacy name)
494
+ - [ ] Platform ID matches techs-manifest
495
+ - [ ] Skill name is correct (speccrew-sd-frontend/backend/mobile/desktop)
496
+ - [ ] Design Directory path format is correct
497
+
498
+ **If validation fails**:
499
+ ```
500
+ ❌ DESIGN-OVERVIEW Validation Failed: {reason}
501
+
502
+ REQUIRED ACTIONS:
503
+ 1. Identify missing or incorrect items
504
+ 2. Regenerate or fix DESIGN-OVERVIEW.md (return to Phase 4)
505
+ 3. Re-validate before proceeding to Phase 5
506
+ ```
507
+
508
+ **If validation passes** → Proceed to Phase 5.
509
+
274
510
  ## Phase 5: Dispatch Per-Platform Skills
275
511
 
276
512
  ### 5.1 Determine Platform Types
@@ -391,6 +627,72 @@ After each worker completes, parse its **Task Completion Report** and update:
391
627
 
392
628
  Wait for all workers to complete before proceeding to Phase 6.
393
629
 
630
+ ### 5.6 Error Handling & Recovery
631
+
632
+ When any platform design worker reports failure:
633
+
634
+ #### Single Task Failure
635
+
636
+ 1. **Identify failed task**: Record task_id, feature_id, platform_id, and error message
637
+
638
+ 2. **Update DISPATCH-PROGRESS.json**:
639
+ ```bash
640
+ node speccrew-workspace/scripts/update-progress.js update-task --file speccrew-workspace/iterations/{current}/03.system-design/DISPATCH-PROGRESS.json --task-id {task_id} --status failed --error "{error_message}"
641
+ ```
642
+
643
+ 3. **Continue batch**: Do NOT stop entire batch for single failure. Complete remaining workers.
644
+
645
+ 4. **Report to user** after batch completes:
646
+ ```
647
+ 📊 Phase 5 Batch Result: {success_count}/{total_count} succeeded, {fail_count} failed
648
+
649
+ Failed Tasks:
650
+ ├── Task ID: {task_id}
651
+ ├── Feature: {feature_id} ({feature_name})
652
+ ├── Platform: {platform_id}
653
+ └── Error: {error_message}
654
+
655
+ Retry options:
656
+ - "retry" → Re-dispatch failed task(s) only
657
+ - "skip" → Skip failed task(s), continue to Phase 6
658
+ - "abort" → Stop workflow, save partial results
659
+ ```
660
+
661
+ 5. **Retry strategy**:
662
+ - If user says "retry" → Re-dispatch only failed tasks in next batch
663
+ - If user says "skip" → Mark as `skipped`, proceed to Phase 6 with partial results
664
+ - If user says "abort" → STOP workflow, report completed designs
665
+
666
+ #### Batch Failure (>50% workers fail)
667
+
668
+ If batch failure rate exceeds 50%:
669
+
670
+ ```
671
+ ❌ BATCH FAILURE THRESHOLD EXCEEDED
672
+
673
+ Batch Statistics:
674
+ ├── Total: {total} tasks
675
+ ├── Completed: {success_count}
676
+ ├── Failed: {fail_count}
677
+ └── Failure Rate: {rate}% (exceeds 50% threshold)
678
+
679
+ MANDATORY ACTIONS (workflow STOPS):
680
+ 1. Report all failure details to user
681
+ 2. Ask: "Investigate root cause and retry?" or "Abort workflow?"
682
+ 3. IF retry:
683
+ - User investigates root cause (e.g., techs knowledge incomplete, skill misconfigured)
684
+ - Return to Phase 2 (re-load knowledge) or Phase 3 (re-evaluate frameworks) if needed
685
+ - OR: Return to Phase 5 to re-dispatch failed tasks only
686
+ 4. IF abort → END workflow, save partial results
687
+ ```
688
+
689
+ #### Multi-Batch Partial Completion
690
+
691
+ When executing multiple batches (tasks > 6):
692
+ - If Batch N completes with >50% failure → **STOP** before starting Batch N+1
693
+ - If Batch N has some failures (≤50%) → Ask user before starting Batch N+1
694
+ - If Batch N fully succeeds → Automatically proceed to Batch N+1
695
+
394
696
  ## Phase 6: Joint Confirmation
395
697
 
396
698
  After all platform designs are complete:
@@ -419,7 +721,35 @@ After all platform designs are complete:
419
721
  4. **Highlight cross-platform integration points**
420
722
  5. **Request user confirmation**
421
723
 
422
- ### 6.1 DISPATCH-PROGRESS.json Task Entry Format
724
+ ### 6.1 User Confirmation (🛑 HARD STOP)
725
+
726
+ > **DO NOT update any checkpoint, workflow status, or design document status before user confirmation.**
727
+
728
+ ```
729
+ 🛑 JOINT CONFIRMATION — AWAITING USER REVIEW
730
+
731
+ Design Documents Summary:
732
+ ├── Total Features: {count}
733
+ ├── Total Platforms: {count}
734
+ ├── Total Design Tasks: {count}
735
+ ├── Completed: {count}
736
+ └── Failed: {count}
737
+
738
+ [Design document tree from Phase 6 intro]
739
+
740
+ Document Status: 📝 Draft (pending your confirmation)
741
+
742
+ Please review all design documents above.
743
+ - "确认" or "OK" → Finalize all designs, update workflow status to confirmed
744
+ - "修改" + specific Feature/Platform → Re-dispatch design workers for specified scope
745
+ - "取消" → Abort workflow, save partial results
746
+ ```
747
+
748
+ **MANDATORY**: DO NOT proceed to Phase 6.2 (Update Checkpoints) until user explicitly confirms.
749
+ **MANDATORY**: DO NOT update WORKFLOW-PROGRESS.json to "confirmed" before user confirmation.
750
+ **MANDATORY**: DO NOT assume user silence or inactivity means confirmation.
751
+
752
+ ### 6.2 DISPATCH-PROGRESS.json Task Entry Format
423
753
 
424
754
  每个 task entry 包含以下字段:
425
755
  ```json
@@ -447,7 +777,7 @@ After all platform designs are complete:
447
777
  }
448
778
  ```
449
779
 
450
- ### 6.2 Update Checkpoints on Confirmation
780
+ ### 6.3 Update Checkpoints on Confirmation
451
781
 
452
782
  After user confirms:
453
783
 
@@ -545,18 +875,30 @@ After user confirms:
545
875
  # Constraints
546
876
 
547
877
  **Must do:**
548
- - Read techs knowledge BEFORE generating any design
549
- - Present framework evaluation to user for confirmation
550
- - Use platform_id from techs-manifest as directory names under `03.system-design/`
551
- - Ensure each module design maps to a Feature Spec function
552
- - Generate DESIGN-OVERVIEW.md before dispatching platform skills
553
- - Verify API Contract exists and reference it (read-only)
554
- - Parse Feature ID from filename when using new format
555
- - Maintain backward compatibility with old format
878
+ - Phase 0.1: ALWAYS verify Feature Design stage is confirmed before proceeding
879
+ - Phase 0.5: ALWAYS detect IDE directory and verify skills exist before dispatching
880
+ - Phase 2: MUST load ALL techs knowledge (manifest + platform-specific stacks) before Phase 3
881
+ - Phase 3: MUST use speccrew-sd-framework-evaluate skill for framework evaluation — DO NOT evaluate yourself
882
+ - Phase 3: User MUST confirm framework decisions (🛑 HARD STOP) before proceeding to Phase 4
883
+ - Phase 4: MUST generate DESIGN-OVERVIEW.md with complete Feature×Platform index BEFORE dispatching platform workers
884
+ - Phase 5: MUST use speccrew-task-worker to dispatch platform-specific design skills for parallel execution (never direct skill invocation for batch)
885
+ - Phase 5: MUST use update-progress.js script for ALL progress tracking (DISPATCH-PROGRESS.json, .checkpoints.json, WORKFLOW-PROGRESS.json)
886
+ - Phase 6: MUST collect ALL worker results and present joint summary before requesting user confirmation (🛑 HARD STOP)
887
+ - Phase 6: ONLY after user explicitly confirms → update workflow status and checkpoints
888
+ - ALL: Read techs knowledge BEFORE generating any design
889
+ - ALL: Verify API Contract exists and reference it (read-only)
890
+ - ALL: Parse Feature ID from filename when using new format; maintain backward compatibility with old format
556
891
 
557
892
  **Must not do:**
558
- - Write actual source code (only pseudo-code in design docs)
559
- - Modify API Contract documents
560
- - Skip framework evaluation checkpoint
561
- - Assume technology stack without reading techs knowledge
562
- - Generate designs for platforms not in techs-manifest
893
+ - DO NOT write actual source code (only pseudo-code in design docs)
894
+ - DO NOT modify API Contract documents under any circumstances
895
+ - DO NOT skip framework evaluation checkpoint — user confirmation is mandatory
896
+ - DO NOT assume technology stack without reading techs knowledge
897
+ - DO NOT generate designs for platforms not in techs-manifest
898
+ - DO NOT generate per-platform or per-feature design documents yourself (INDEX.md, {feature-id}-{feature-name}-design.md, etc.) — always dispatch platform design skills via workers. DESIGN-OVERVIEW.md is the ONLY system design document this Agent generates directly
899
+ - DO NOT invoke platform design skills directly when 2+ features or 2+ platforms exist — use speccrew-task-worker
900
+ - DO NOT create or manually edit DISPATCH-PROGRESS.json, .checkpoints.json, or WORKFLOW-PROGRESS.json — use update-progress.js script only
901
+ - DO NOT update WORKFLOW-PROGRESS.json status to "confirmed" before joint user confirmation in Phase 6
902
+ - DO NOT proceed to the next batch or Phase 6 if any Phase 5 batch worker failure rate > 50% — follow the Batch Failure recovery flow in Phase 5.6
903
+ - DO NOT skip backward compatibility checks for old format Feature Specs
904
+ - DO NOT automatically transition to or invoke the next stage agent — user starts next stage in a new conversation
@@ -0,0 +1,238 @@
1
+ ---
2
+ name: speccrew-sd-framework-evaluate
3
+ description: Framework Evaluation Skill for System Designer. Analyzes Feature Spec requirements against current technology stack capabilities, identifies capability gaps, evaluates potential open-source frameworks/libraries, and generates a framework-evaluation.md report. Invoked by System Designer Agent during Phase 3.
4
+ tools: Read, Write, Glob, Grep
5
+ ---
6
+
7
+ # Trigger Scenarios
8
+
9
+ - System Designer Agent dispatches this skill with Feature Spec paths and techs knowledge paths
10
+ - User requests framework evaluation for current iteration
11
+ - Need to assess technology stack gaps before system design
12
+
13
+ # Workflow
14
+
15
+ ## Absolute Constraints
16
+
17
+ > **These rules apply to ALL steps. Violation = task failure.**
18
+
19
+ 1. **READ-ONLY on Feature Spec and API Contract** — NEVER modify Feature Spec or API Contract documents. Only read for analysis.
20
+ 2. **READ-ONLY on techs knowledge** — NEVER modify techs knowledge files. Only read for capability assessment.
21
+ 3. **Evidence-based evaluation** — Every recommendation MUST cite specific Feature Spec requirements and specific tech stack limitations.
22
+ 4. **No assumptions** — DO NOT assume framework capabilities. Only recommend frameworks with documented capabilities.
23
+
24
+ ## Step 1: Read Inputs
25
+
26
+ **Input Parameters** (from agent context):
27
+
28
+ | Parameter | Required | Description |
29
+ |-----------|----------|-------------|
30
+ | `feature_spec_paths` | Yes | Array of Feature Spec file paths |
31
+ | `api_contract_paths` | Yes | Array of API Contract file paths |
32
+ | `techs_knowledge_paths` | Yes | Object with platform_id → knowledge paths mapping |
33
+ | `iteration_path` | Yes | Current iteration directory path |
34
+ | `output_path` | No | Output file path (default: `iteration_path/03.system-design/framework-evaluation.md`) |
35
+
36
+ Read in order:
37
+
38
+ 1. **All Feature Spec documents** — Extract functional requirements, especially:
39
+ - Real-time features (WebSocket, SSE, push notifications)
40
+ - File processing (upload, download, preview, conversion)
41
+ - Data visualization (charts, dashboards, reports)
42
+ - Rich text / editor features
43
+ - Map / geolocation features
44
+ - Payment / third-party integrations
45
+ - Search / filtering / pagination patterns
46
+ - Media processing (image, video, audio)
47
+
48
+ 2. **All API Contract documents** — Extract:
49
+ - Communication protocols (REST, GraphQL, WebSocket, gRPC)
50
+ - Authentication patterns (JWT, OAuth, Session)
51
+ - Data formats (JSON, protobuf, multipart)
52
+
53
+ 3. **Techs knowledge per platform**:
54
+ - `tech-stack.md` — Current frameworks, libraries, versions
55
+ - `architecture.md` — Current architecture patterns
56
+ - `conventions-design.md` — Design conventions
57
+ - `conventions-dev.md` — Development conventions
58
+
59
+ ## Step 2: Gap Analysis
60
+
61
+ For each requirement extracted in Step 1, evaluate against current tech stack:
62
+
63
+ ### 2.1 Build Capability Matrix
64
+
65
+ | Requirement Category | Specific Requirement | Source (Feature ID) | Current Stack Support | Gap? |
66
+ |---------------------|---------------------|--------------------|-----------------------|------|
67
+ | Real-time | WebSocket connections | F-CRM-01 | Not in current stack | YES |
68
+ | File Processing | PDF preview | F-ORD-02 | Not in current stack | YES |
69
+ | Data Viz | Dashboard charts | F-RPT-01 | Not in current stack | YES |
70
+ | Authentication | JWT token | F-SYS-01 | Already supported | NO |
71
+
72
+ ### 2.2 Categorize Gaps
73
+
74
+ Group identified gaps by category:
75
+
76
+ - **Critical Gaps**: Core functionality cannot be implemented without new framework
77
+ - **Enhancement Gaps**: Functionality possible but significantly better with dedicated library
78
+ - **Optional Gaps**: Nice-to-have improvements, current stack can handle acceptably
79
+
80
+ ## Step 3: Framework Research
81
+
82
+ For each identified gap (Critical and Enhancement only):
83
+
84
+ ### 3.1 Evaluate Candidates
85
+
86
+ For each gap, research and evaluate 1-3 candidate frameworks/libraries:
87
+
88
+ | Evaluation Criteria | Description |
89
+ |--------------------|-------------|
90
+ | **Functionality Fit** | Does it solve the specific capability gap? |
91
+ | **License** | MIT, Apache 2.0, BSD preferred. GPL requires flagging. |
92
+ | **Maturity** | GitHub stars, npm downloads, last release date, version stability |
93
+ | **Bundle Size** | Impact on frontend bundle (if applicable) |
94
+ | **Integration Complexity** | How much existing code needs modification? |
95
+ | **Community & Docs** | Documentation quality, community support, ecosystem |
96
+
97
+ ### 3.2 Make Recommendations
98
+
99
+ For each gap, provide a single primary recommendation with justification.
100
+
101
+ ## Step 4: Generate Report
102
+
103
+ Write the framework evaluation report to `output_path`.
104
+
105
+ ### Report Structure (When Gaps Found)
106
+
107
+ ```markdown
108
+ # Framework Evaluation Report — iteration_name
109
+
110
+ ## 1. Evaluation Summary
111
+
112
+ - **Iteration**: iteration_name
113
+ - **Feature Specs Analyzed**: feature_count
114
+ - **Platforms Evaluated**: platform_count
115
+ - **Capability Gaps Found**: gap_count
116
+ - **New Frameworks Recommended**: framework_count
117
+
118
+ ## 2. Capability Gap Analysis
119
+
120
+ ### 2.1 Gap Summary
121
+
122
+ | # | Gap Category | Specific Gap | Severity | Source Features | Recommendation |
123
+ |---|-------------|-------------|----------|----------------|---------------|
124
+ | 1 | Real-time | WebSocket support | Critical | F-CRM-01, F-MSG-01 | Socket.IO |
125
+ | 2 | Data Viz | Chart rendering | Enhancement | F-RPT-01 | ECharts |
126
+ | ... | ... | ... | ... | ... | ... |
127
+
128
+ ### 2.2 Detailed Gap Analysis
129
+
130
+ #### Gap 1: {Gap Name}
131
+
132
+ **Requirement Source**: {Feature IDs and specific requirement text}
133
+ **Current Stack Status**: {What the current stack provides/lacks}
134
+ **Impact**: {What cannot be implemented without addressing this gap}
135
+
136
+ ## 3. Framework Recommendations
137
+
138
+ ### 3.1 Recommendation Summary
139
+
140
+ | # | Framework | Version | License | For Gap | Platform | Integration Impact |
141
+ |---|-----------|---------|---------|---------|----------|-------------------|
142
+ | 1 | Socket.IO | ^4.x | MIT | WebSocket support | backend + web | Medium |
143
+ | 2 | ECharts | ^5.x | Apache 2.0 | Chart rendering | web | Low |
144
+
145
+ ### 3.2 Detailed Recommendations
146
+
147
+ #### Recommendation 1: {Framework Name}
148
+
149
+ - **Solves Gap**: {gap description}
150
+ - **License**: {license type}
151
+ - **Maturity**: {stars, downloads, last release}
152
+ - **Integration Impact**: Low / Medium / High
153
+ - **Integration Notes**: {specific integration considerations}
154
+ - **Alternatives Considered**: {other options and why not chosen}
155
+
156
+ ## 4. No-Change Confirmations
157
+
158
+ Capabilities already covered by current stack:
159
+ - {capability 1}: Covered by {existing framework}
160
+ - {capability 2}: Covered by {existing framework}
161
+
162
+ ## 5. Version Constraints
163
+
164
+ | Framework | Required Version | Constraint Reason |
165
+ |-----------|-----------------|-------------------|
166
+ | {name} | {version range} | {compatibility reason} |
167
+ ```
168
+
169
+ ### Simplified Report Structure (When No Gaps Found)
170
+
171
+ ```markdown
172
+ # Framework Evaluation Report — iteration_name
173
+
174
+ ## 1. Evaluation Summary
175
+
176
+ - **Feature Specs Analyzed**: feature_count
177
+ - **Platforms Evaluated**: platform_count
178
+ - **Capability Gaps Found**: 0
179
+ - **New Frameworks Recommended**: 0
180
+
181
+ ## 2. Assessment
182
+
183
+ All Feature Spec requirements can be fully implemented with the current technology stack. No new frameworks or libraries are needed.
184
+
185
+ ### Capabilities Confirmed
186
+ - {list each major capability confirmed as supported}
187
+
188
+ ## 3. Conclusion
189
+
190
+ Current tech stack is sufficient. Proceed to system design without framework changes.
191
+ ```
192
+
193
+ ## Step 5: Output Task Completion Report
194
+
195
+ After writing the report, output:
196
+
197
+ ```
198
+ --- TASK COMPLETION REPORT ---
199
+ Task: Framework Evaluation
200
+ Status: SUCCESS
201
+ Output: output_path
202
+ Gaps Found: gap_count
203
+ Frameworks Recommended: framework_count
204
+ --- END REPORT ---
205
+ ```
206
+
207
+ If any step fails:
208
+
209
+ ```
210
+ --- TASK COMPLETION REPORT ---
211
+ Task: Framework Evaluation
212
+ Status: FAILED
213
+ Error: {specific error description}
214
+ Failed At: Step {N}
215
+ --- END REPORT ---
216
+ ```
217
+
218
+ # Key Rules
219
+
220
+ | Rule | Description |
221
+ |------|-------------|
222
+ | **READ-ONLY Inputs** | Feature Spec, API Contract, and techs knowledge are reference only — never modify |
223
+ | **Evidence-based** | Every gap and recommendation must cite specific requirement sources |
224
+ | **Gap Categories** | Only Critical and Enhancement gaps require framework recommendations |
225
+ | **License Awareness** | GPL and copyleft licenses must be flagged in recommendations |
226
+ | **No Assumptions** | Only recommend frameworks with documented, verified capabilities |
227
+
228
+ # Checklist
229
+
230
+ - [ ] All Feature Spec documents read and requirements extracted
231
+ - [ ] All API Contract documents read and protocols identified
232
+ - [ ] Techs knowledge loaded for all platforms
233
+ - [ ] Capability matrix built with all requirements mapped
234
+ - [ ] Gaps categorized by severity (Critical/Enhancement/Optional)
235
+ - [ ] Framework candidates evaluated against criteria
236
+ - [ ] Primary recommendations made for each gap
237
+ - [ ] Report generated with correct structure
238
+ - [ ] Task Completion Report output
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "speccrew",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Spec-Driven Development toolkit for AI-powered IDEs",
5
5
  "author": "charlesmu99",
6
6
  "repository": {
@@ -32,6 +32,5 @@
32
32
  "agents",
33
33
  "skills"
34
34
  ],
35
- "license": "MIT",
36
- "scripts": {}
35
+ "license": "MIT"
37
36
  }