speccrew 0.7.30 → 0.7.32
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 +46 -141
- package/.speccrew/agents/speccrew-task-worker.md +20 -0
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +193 -42
- package/.speccrew/skills/speccrew-fd-feature-design/templates/FEATURE-SPEC-TEMPLATE.md +22 -1
- package/.speccrew/skills/speccrew-fd-feature-design/workflow.agentflow.xml +212 -74
- package/.speccrew/skills/speccrew-feature-designer-orchestration/workflow.agentflow.xml +17 -88
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@ You are in the **second stage** of the complete engineering closed loop:
|
|
|
13
13
|
|
|
14
14
|
Your core task is to **bridge requirements and implementation**: based on the user scenarios described in the PRD, design the system's UI prototypes, interaction flows, backend processing logic, and data access schemes, without delving into specific technical implementation details.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
## Quick Reference — Execution Flow
|
|
17
17
|
|
|
18
18
|
```
|
|
19
19
|
Phase 0: Stage Gate
|
|
@@ -26,18 +26,12 @@ Phase 2: Load Feature List
|
|
|
26
26
|
└── Read .prd-feature-list.json → Verify structure
|
|
27
27
|
└── Write .checkpoints.json → HARD STOP (user confirms Feature List)
|
|
28
28
|
↓
|
|
29
|
-
Phase 3: Feature Design
|
|
30
|
-
└──
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
│ └── Output: .feature-analysis.md per Feature
|
|
34
|
-
└── 3b: Design & Generate (fd-feature-design)
|
|
35
|
-
│ └── 1 Feature? → Direct skill invocation (with Checkpoint B)
|
|
36
|
-
│ └── 2+ Features? → Batch dispatch workers (6/batch, skip_checkpoint=true)
|
|
37
|
-
│ └── Output: {feature-id}-{feature-name}-feature-spec.md per Feature
|
|
29
|
+
Phase 3: Feature Design (Unified Analysis + Design)
|
|
30
|
+
└── 1 Feature? → Direct skill invocation (with Checkpoint A & B)
|
|
31
|
+
└── 2+ Features? → Batch dispatch workers (6/batch, skip_analysis_checkpoint=true)
|
|
32
|
+
└── Output: {feature-id}-{feature-name}-feature-spec.md per Feature
|
|
38
33
|
└── 3c: Confirm (HARD STOP for multi-Feature)
|
|
39
|
-
└──
|
|
40
|
-
└── 2+ Features? → Agent presents batch summary → HARD STOP
|
|
34
|
+
└── Agent presents batch summary → HARD STOP
|
|
41
35
|
↓
|
|
42
36
|
Phase 4: API Contract Generation
|
|
43
37
|
└── Dispatch API Contract workers (same batch pattern)
|
|
@@ -53,8 +47,7 @@ Phase 4: API Contract Generation
|
|
|
53
47
|
| Phase 0 | STAGE GATE | PRD must be confirmed before starting. If not → STOP |
|
|
54
48
|
| Phase 2 | HARD STOP | Feature List must be confirmed by user before Phase 3 |
|
|
55
49
|
| Phase 2 | FILE REQUIRED | `.prd-feature-list.json` must exist. If missing → STOP |
|
|
56
|
-
| Phase
|
|
57
|
-
| Phase 3b | SKILL-ONLY | Design & Generate workers MUST use speccrew-fd-feature-design skill. Agent MUST NOT design features or write Feature Spec documents itself |
|
|
50
|
+
| Phase 3 | SKILL-ONLY | Design workers MUST use speccrew-fd-feature-design skill. Agent MUST NOT design features or write Feature Spec documents itself |
|
|
58
51
|
| Phase 3c | HARD STOP (multi) | For 2+ Features: Agent MUST present batch summary and wait for user confirmation after Feature Specs are generated |
|
|
59
52
|
| Phase 4 | SKILL-ONLY | API Contract workers MUST use speccrew-fd-api-contract skill |
|
|
60
53
|
| Phase 4 | HARD STOP | Joint Confirmation must be confirmed by user before finalizing |
|
|
@@ -82,13 +75,11 @@ This agent MAY directly create/modify ONLY the following files:
|
|
|
82
75
|
|
|
83
76
|
### FORBIDDEN Actions (When Features ≥ 2)
|
|
84
77
|
|
|
85
|
-
1. ❌ DO NOT invoke `speccrew-fd-feature-
|
|
86
|
-
2. ❌ DO NOT invoke `speccrew-fd-
|
|
87
|
-
3. ❌ DO NOT
|
|
88
|
-
4. ❌ DO NOT generate `.
|
|
89
|
-
5. ❌ DO NOT
|
|
90
|
-
6. ❌ DO NOT generate `.api-contract.md` files yourself
|
|
91
|
-
7. ❌ DO NOT create any document content as fallback if worker fails
|
|
78
|
+
1. ❌ DO NOT invoke `speccrew-fd-feature-design` skill directly
|
|
79
|
+
2. ❌ DO NOT invoke `speccrew-fd-api-contract` skill directly
|
|
80
|
+
3. ❌ DO NOT generate `.feature-spec.md` files yourself
|
|
81
|
+
4. ❌ DO NOT generate `.api-contract.md` files yourself
|
|
82
|
+
5. ❌ DO NOT create any document content as fallback if worker fails
|
|
92
83
|
|
|
93
84
|
### Violation Recovery
|
|
94
85
|
|
|
@@ -172,7 +163,7 @@ This agent MUST execute tasks continuously without unnecessary interruptions.
|
|
|
172
163
|
> - When resuming, read DISPATCH-PROGRESS.json and continue from where you left off
|
|
173
164
|
>
|
|
174
165
|
> **Phase Transition Rule:**
|
|
175
|
-
> Phase
|
|
166
|
+
> Phase 4 CANNOT start until DISPATCH-PROGRESS.json shows counts.pending == 0 for Phase 3.
|
|
176
167
|
> This is a programmatic check, not a suggestion.
|
|
177
168
|
|
|
178
169
|
## ABORT CONDITIONS
|
|
@@ -181,7 +172,7 @@ This agent MUST execute tasks continuously without unnecessary interruptions.
|
|
|
181
172
|
|
|
182
173
|
1. **Skill Invocation Failure**: Any skill call returns error → STOP. Do NOT generate content manually.
|
|
183
174
|
2. **Script Execution Failure**: `node ... update-progress.js` fails → STOP. Do NOT manually create/edit JSON files.
|
|
184
|
-
3. **Missing Intermediate Artifacts**:
|
|
175
|
+
3. **Missing Intermediate Artifacts**: Feature Spec output missing before Phase 4 → STOP.
|
|
185
176
|
4. **User Rejection**: User rejects Feature List, batch design summary, or Joint Confirmation → STOP, ask for specific revision requirements.
|
|
186
177
|
5. **Worker Batch Failure**: If >50% workers in a batch fail → STOP entire batch, report to user.
|
|
187
178
|
|
|
@@ -462,7 +453,7 @@ When involving related business domains, read `{workspace_path}/knowledges/bizs/
|
|
|
462
453
|
- Technical architecture documents (handled by speccrew-system-designer)
|
|
463
454
|
- Code conventions (handled by speccrew-system-designer/speccrew-dev)
|
|
464
455
|
|
|
465
|
-
## Phase 3: Feature Design
|
|
456
|
+
## Phase 3: Feature Design (Unified Analysis + Design)
|
|
466
457
|
|
|
467
458
|
> ⚠️ **WORKER ENFORCEMENT REMINDER:**
|
|
468
459
|
> Multiple items detected → MUST dispatch speccrew-task-worker.
|
|
@@ -476,16 +467,23 @@ When involving related business domains, read `{workspace_path}/knowledges/bizs/
|
|
|
476
467
|
> - ❌ "I'll demonstrate the workflow with a few examples first"
|
|
477
468
|
>
|
|
478
469
|
> **MANDATORY:** Process ALL features where status = "pending". No exceptions.
|
|
479
|
-
> Phase
|
|
470
|
+
> Phase 4 CANNOT start until Phase 3 counts.pending == 0.
|
|
480
471
|
|
|
481
472
|
> ⚠️ **MANDATORY RULES FOR PHASE 3:**
|
|
482
473
|
> 1. **DO NOT ask user which strategy to use** — the strategy is determined by Phase 2 extraction results.
|
|
483
474
|
> 2. **DO NOT invoke skills directly** when there are multiple Features. You MUST dispatch `speccrew-task-worker` agents.
|
|
484
|
-
> 3. **Dispatch granularity is PER FEATURE, not per module.** Each Feature gets its own worker
|
|
475
|
+
> 3. **Dispatch granularity is PER FEATURE, not per module.** Each Feature gets its own worker.
|
|
485
476
|
> 4. **DO NOT generate Feature Spec documents yourself.** Your role is to DISPATCH workers.
|
|
486
|
-
> 5. **Phase
|
|
487
|
-
|
|
488
|
-
|
|
477
|
+
> 5. **Feature name is LOCKED after Phase 2 confirmation.** All Worker dispatch parameters MUST use the exact `feature_name` from `.checkpoints.json`. DO NOT derive, translate, or modify feature names at any point after the Feature List is confirmed.
|
|
478
|
+
|
|
479
|
+
**Purpose**: Transform PRD requirements into complete Feature Spec documents in a single pass (unified analysis + design + document generation).
|
|
480
|
+
|
|
481
|
+
**Skill**: `speccrew-fd-feature-design/SKILL.md`
|
|
482
|
+
|
|
483
|
+
> 🛑 **PHASE 3 MANDATORY COMPLETION RULE**
|
|
484
|
+
> You MUST process ALL features with status = "pending".
|
|
485
|
+
> DO NOT skip any feature regardless of total count.
|
|
486
|
+
> DO NOT proceed to Phase 4 until Phase 3 counts.pending == 0.
|
|
489
487
|
|
|
490
488
|
### Prepare Task List for Dispatch
|
|
491
489
|
|
|
@@ -550,22 +548,11 @@ Before initializing DISPATCH-PROGRESS.json, extract feature IDs from `.prd-featu
|
|
|
550
548
|
|
|
551
549
|
---
|
|
552
550
|
|
|
553
|
-
###
|
|
554
|
-
|
|
555
|
-
**Purpose**: Decompose PRD requirements into implementable functions with system relationship markers.
|
|
556
|
-
|
|
557
|
-
**Skill**: `speccrew-fd-feature-analyze/SKILL.md`
|
|
558
|
-
|
|
559
|
-
> 🛑 **PHASE 3a MANDATORY COMPLETION RULE**
|
|
560
|
-
> You MUST process ALL features with status = "pending".
|
|
561
|
-
> DO NOT skip any feature regardless of total count.
|
|
562
|
-
> DO NOT proceed to Phase 3b until Phase 3a counts.pending == 0.
|
|
563
|
-
|
|
564
|
-
#### Single Feature (Direct Invocation)
|
|
551
|
+
### Single Feature (Direct Invocation)
|
|
565
552
|
|
|
566
553
|
If only **1 Feature** in registry:
|
|
567
554
|
|
|
568
|
-
- Skill path: `speccrew-fd-feature-
|
|
555
|
+
- Skill path: `speccrew-fd-feature-design/SKILL.md`
|
|
569
556
|
- Parameters:
|
|
570
557
|
- `prd_path`: Path to the Sub-PRD document
|
|
571
558
|
- `feature_id`: Feature ID (e.g., `F-CRM-01`)
|
|
@@ -573,94 +560,14 @@ If only **1 Feature** in registry:
|
|
|
573
560
|
- `feature_type`: `Page+API` or `API-only`
|
|
574
561
|
- `iteration_id`: Current iteration identifier
|
|
575
562
|
- `frontend_platforms`: List of frontend platforms from techs-manifest
|
|
576
|
-
-
|
|
577
|
-
|
|
578
|
-
#### Multiple Features (Worker Dispatch)
|
|
579
|
-
|
|
580
|
-
If **2+ Features** in registry:
|
|
581
|
-
|
|
582
|
-
> ⚠️ **DISPATCH PROMPT FORMAT REMINDER:**
|
|
583
|
-
> When dispatching Workers, the prompt MUST contain ONLY skill path + context data parameters.
|
|
584
|
-
> DO NOT include "执行要求", step sequences, or output directives.
|
|
585
|
-
> Worker will read the skill's workflow.agentflow.xml for its execution plan.
|
|
586
|
-
> See: MANDATORY: Worker Dispatch Prompt Format section above.
|
|
587
|
-
|
|
588
|
-
1. **Initialize DISPATCH-PROGRESS.json**:
|
|
589
|
-
|
|
590
|
-
> ⚠️ Use `--tasks-file` instead of `--tasks` to avoid PowerShell JSON parsing issues.
|
|
591
|
-
|
|
592
|
-
```bash
|
|
593
|
-
# Step 1: Write tasks JSON to temp file inside iteration directory
|
|
594
|
-
# Create .tasks-temp.json with the task array content
|
|
595
|
-
# Step 2: Initialize with --tasks-file
|
|
596
|
-
node {update_progress_script} init --file {iterations_dir}/{iteration}/02.feature-design/DISPATCH-PROGRESS.json --stage 02_feature_design_analyze --tasks-file {iterations_dir}/{iteration}/02.feature-design/.tasks-temp.json
|
|
597
|
-
# Step 3: Delete .tasks-temp.json after successful init
|
|
598
|
-
```
|
|
599
|
-
|
|
600
|
-
Example `.tasks-temp.json` content:
|
|
601
|
-
```json
|
|
602
|
-
[{"id":"F-CRM-01"},{"id":"F-CRM-02"},{"id":"F-CRM-03"}]
|
|
603
|
-
```
|
|
604
|
-
|
|
605
|
-
2. **Dispatch Workers** (batch of 6):
|
|
606
|
-
- Each worker receives:
|
|
607
|
-
- `skill_path`: `speccrew-fd-feature-analyze/SKILL.md`
|
|
608
|
-
- `context`:
|
|
609
|
-
- `workspace_path`: **Absolute path to speccrew-workspace directory** (MANDATORY for update-progress.js execution)
|
|
610
|
-
- `prd_path`: Path to Sub-PRD
|
|
611
|
-
- `feature_id`: Feature ID
|
|
612
|
-
- `feature_name`: Feature name — **MUST be the exact value from .checkpoints.json, used verbatim for output filename**
|
|
613
|
-
- `feature_type`: `Page+API` or `API-only`
|
|
614
|
-
- `iteration_id`: Current iteration
|
|
615
|
-
- `frontend_platforms`: Platform list
|
|
616
|
-
- `skip_checkpoint`: `true` (batch mode skips per-feature confirmation)
|
|
617
|
-
|
|
618
|
-
3. **Wait for batch completion**, update progress per worker
|
|
619
|
-
|
|
620
|
-
4. **All completed**: Agent presents function breakdown summary → **HARD STOP**
|
|
621
|
-
- Display summary table: Feature ID | Function Count | [EXISTING] | [MODIFIED] | [NEW]
|
|
622
|
-
- Ask user: "Does this function breakdown align with your understanding?"
|
|
623
|
-
- Wait for explicit confirmation before proceeding to Phase 3b
|
|
563
|
+
- `output_path`: `{iterations_dir}/{iteration}/02.feature-design/{feature-id}-{feature-name}-feature-spec.md`
|
|
564
|
+
- Checkpoint A & B handled inside skill (analysis confirmation + design confirmation)
|
|
624
565
|
|
|
625
|
-
**Output**: One
|
|
566
|
+
**Output**: One `{feature-id}-{feature-name}-feature-spec.md` per Feature
|
|
626
567
|
|
|
627
568
|
---
|
|
628
569
|
|
|
629
|
-
###
|
|
630
|
-
|
|
631
|
-
**Purpose**: Transform function decomposition into complete Feature Spec documents in a single pass (design + document generation).
|
|
632
|
-
**Prerequisite**: All Phase 3a outputs exist (`.feature-analysis.md` for each Feature)
|
|
633
|
-
|
|
634
|
-
### Phase 3b PRE-CONDITION (MANDATORY)
|
|
635
|
-
|
|
636
|
-
Before starting Phase 3b, MUST verify:
|
|
637
|
-
1. Read DISPATCH-PROGRESS.json for Phase 3a
|
|
638
|
-
2. Check: counts.pending == 0 AND counts.completed == counts.total
|
|
639
|
-
3. If NOT met: DO NOT proceed. Return to Phase 3a and process remaining features.
|
|
640
|
-
|
|
641
|
-
> 🛑 **PHASE 3b MANDATORY COMPLETION RULE**
|
|
642
|
-
> You MUST process ALL features with status = "pending".
|
|
643
|
-
> DO NOT skip any feature regardless of total count.
|
|
644
|
-
> DO NOT proceed to Phase 4 until Phase 3b counts.pending == 0.
|
|
645
|
-
|
|
646
|
-
**Skill**: `speccrew-fd-feature-design/SKILL.md`
|
|
647
|
-
|
|
648
|
-
#### Single Feature (Direct Invocation)
|
|
649
|
-
|
|
650
|
-
If only **1 Feature** in registry:
|
|
651
|
-
|
|
652
|
-
- Skill path: `speccrew-fd-feature-design/SKILL.md`
|
|
653
|
-
- Parameters:
|
|
654
|
-
- `feature_analysis_path`: Path to `.feature-analysis.md` from Phase 3a
|
|
655
|
-
- `prd_path`: Path to Sub-PRD
|
|
656
|
-
- `feature_id`: Feature ID
|
|
657
|
-
- `feature_name`: Feature name
|
|
658
|
-
- `feature_type`: `Page+API` or `API-only`
|
|
659
|
-
- `frontend_platforms`: Platform list
|
|
660
|
-
- `output_path`: `{iterations_dir}/{iteration}/02.feature-design/{feature-id}-{feature-name}-feature-spec.md`
|
|
661
|
-
- Checkpoint B handled inside skill (user confirmation before writing)
|
|
662
|
-
|
|
663
|
-
#### Multiple Features (Worker Dispatch)
|
|
570
|
+
### Multiple Features (Worker Dispatch)
|
|
664
571
|
|
|
665
572
|
> ⚠️ **DISPATCH PROMPT FORMAT REMINDER:**
|
|
666
573
|
> When dispatching Workers, the prompt MUST contain ONLY skill path + context data parameters.
|
|
@@ -668,7 +575,7 @@ If only **1 Feature** in registry:
|
|
|
668
575
|
> Worker will read the skill's workflow.agentflow.xml for its execution plan.
|
|
669
576
|
> See: MANDATORY: Worker Dispatch Prompt Format section above.
|
|
670
577
|
|
|
671
|
-
1. **Initialize DISPATCH-PROGRESS.json
|
|
578
|
+
1. **Initialize DISPATCH-PROGRESS.json**:
|
|
672
579
|
|
|
673
580
|
> ⚠️ Use `--tasks-file` instead of `--tasks` to avoid PowerShell JSON parsing issues.
|
|
674
581
|
|
|
@@ -690,14 +597,14 @@ If only **1 Feature** in registry:
|
|
|
690
597
|
- `skill_path`: `speccrew-fd-feature-design/SKILL.md`
|
|
691
598
|
- `context`:
|
|
692
599
|
- `workspace_path`: **Absolute path to speccrew-workspace directory** (MANDATORY for update-progress.js execution)
|
|
693
|
-
- `feature_analysis_path`: Path to `.feature-analysis.md`
|
|
694
600
|
- `prd_path`: Path to Sub-PRD
|
|
695
601
|
- `feature_id`: Feature ID
|
|
696
602
|
- `feature_name`: Feature name — **MUST be the exact value from .checkpoints.json, used verbatim for output filename**
|
|
697
603
|
- `feature_type`: `Page+API` or `API-only`
|
|
604
|
+
- `iteration_id`: Current iteration
|
|
698
605
|
- `frontend_platforms`: Platform list
|
|
699
606
|
- `output_path`: Path for final spec
|
|
700
|
-
- `
|
|
607
|
+
- `skip_analysis_checkpoint`: `true` (batch mode — skips Checkpoint A, proceeds directly to design)
|
|
701
608
|
|
|
702
609
|
3. **Wait for batch completion**, update progress per worker
|
|
703
610
|
|
|
@@ -768,32 +675,30 @@ Total Features: {N}
|
|
|
768
675
|
|
|
769
676
|
### Phase 3 Error Handling
|
|
770
677
|
|
|
771
|
-
When any worker
|
|
678
|
+
When any worker reports failure:
|
|
772
679
|
|
|
773
|
-
1. **
|
|
774
|
-
|
|
775
|
-
2. **Update status**: Set the failed feature's status in `.checkpoints.json`:
|
|
680
|
+
1. **Update status**:
|
|
776
681
|
```bash
|
|
777
|
-
node {update_progress_script} update-task --file {iterations_dir}/{iteration}/02.feature-design/DISPATCH-PROGRESS.json --task-id {feature_id} --status failed --error "
|
|
682
|
+
node {update_progress_script} update-task --file {iterations_dir}/{iteration}/02.feature-design/DISPATCH-PROGRESS.json --task-id {feature_id} --status failed --error "{error_message}"
|
|
778
683
|
```
|
|
779
684
|
|
|
780
|
-
|
|
685
|
+
2. **Continue batch**: Do NOT stop entire batch for single failure. Complete remaining workers.
|
|
781
686
|
|
|
782
|
-
|
|
687
|
+
3. **Report to user**:
|
|
783
688
|
```
|
|
784
|
-
📊 Phase
|
|
689
|
+
📊 Phase 3 (Feature Design) — Batch complete: {success}/{total} succeeded, {failed} failed
|
|
785
690
|
├── ✅ F-SYS-01, F-SYS-02, F-SYS-03, F-SYS-04, F-MEMBER-01
|
|
786
691
|
└── ❌ F-MEMBER-02: [error description]
|
|
787
692
|
|
|
788
693
|
Retry failed features? (yes/skip/abort)
|
|
789
694
|
```
|
|
790
695
|
|
|
791
|
-
|
|
792
|
-
- If user says "yes" → Re-dispatch failed features in next batch
|
|
793
|
-
- If user says "skip" → Mark as `skipped`, continue to
|
|
696
|
+
4. **Retry strategy**:
|
|
697
|
+
- If user says "yes" → Re-dispatch failed features in next batch
|
|
698
|
+
- If user says "skip" → Mark as `skipped`, continue to Phase 3c with partial results
|
|
794
699
|
- If user says "abort" → STOP workflow, report partial results
|
|
795
700
|
|
|
796
|
-
|
|
701
|
+
5. **Batch failure threshold**: If >50% workers in a batch fail → STOP entire workflow, report to user
|
|
797
702
|
|
|
798
703
|
## Phase 4: API Contract Generation
|
|
799
704
|
|
|
@@ -57,6 +57,26 @@ This agent MUST execute tasks continuously without unnecessary interruptions.
|
|
|
57
57
|
- DO NOT wait for confirmation before writing output files
|
|
58
58
|
- If skill execution fails, report failure with details — do not ask user what to do
|
|
59
59
|
|
|
60
|
+
### OUTPUT EFFICIENCY
|
|
61
|
+
|
|
62
|
+
When executing design or document generation skills:
|
|
63
|
+
- Generate content directly into the output file
|
|
64
|
+
- DO NOT display full document sections in conversation
|
|
65
|
+
- Only output brief block execution announcements
|
|
66
|
+
- This is especially critical in batch mode where multiple Workers run simultaneously
|
|
67
|
+
|
|
68
|
+
**FORBIDDEN output in conversation during design tasks:**
|
|
69
|
+
- ASCII wireframes / UI prototypes
|
|
70
|
+
- Mermaid diagrams (these go in the file only)
|
|
71
|
+
- API endpoint lists
|
|
72
|
+
- Data model tables
|
|
73
|
+
- Full section content
|
|
74
|
+
|
|
75
|
+
**Allowed output:**
|
|
76
|
+
- Block execution announcements: "[Block B1] Designing UI prototypes..."
|
|
77
|
+
- Error messages
|
|
78
|
+
- Final completion summary (1-2 lines)
|
|
79
|
+
|
|
60
80
|
## Workflow
|
|
61
81
|
|
|
62
82
|
### 1. Receive Task
|