speccrew 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.speccrew/agents/speccrew-feature-designer.md +142 -0
- package/.speccrew/agents/speccrew-product-manager.md +61 -0
- package/.speccrew/agents/speccrew-system-designer.md +200 -0
- package/.speccrew/agents/speccrew-system-developer.md +238 -0
- package/.speccrew/agents/speccrew-task-worker.md +80 -0
- package/.speccrew/agents/speccrew-team-leader.md +92 -0
- package/.speccrew/agents/speccrew-test-manager.md +313 -0
- package/.speccrew/skills/speccrew-create-agents/SKILL.md +98 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/designer-agent.md +54 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/dev-agent.md +79 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/test-agent.md +80 -0
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +205 -0
- package/.speccrew/skills/speccrew-dev-backend/templates/TASK-RECORD-TEMPLATE.md +118 -0
- package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +258 -0
- package/.speccrew/skills/speccrew-dev-desktop/templates/TASK-RECORD-TEMPLATE.md +161 -0
- package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +202 -0
- package/.speccrew/skills/speccrew-dev-frontend/templates/TASK-RECORD-TEMPLATE.md +115 -0
- package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +200 -0
- package/.speccrew/skills/speccrew-dev-mobile/templates/TASK-RECORD-TEMPLATE.md +125 -0
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +73 -0
- package/.speccrew/skills/speccrew-fd-api-contract/templates/API-CONTRACT-TEMPLATE.md +96 -0
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +395 -0
- package/.speccrew/skills/speccrew-fd-feature-design/templates/FEATURE-SPEC-TEMPLATE.md +387 -0
- package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +80 -0
- package/.speccrew/skills/speccrew-get-timestamp/scripts/get-timestamp.js +35 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +1116 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-FASTAPI.md +462 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-JAVA.md +480 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-NET.md +464 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE.md +480 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/MODULE-OVERVIEW-TEMPLATE.md +367 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +667 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +74 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/batch-orchestrator.js +176 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-next-batch.js +150 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-pending-features.js +106 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/mark-stale.js +249 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +848 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js +226 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +264 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/examples/features.json +34 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +867 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/test-inventory.js +26 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +165 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/apply-module-mapping.js +208 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/extract-module-summary.js +180 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/reindex-modules.js +358 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +1055 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-DESKTOP.md +303 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-ELECTRON.md +327 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MINIAPP.md +292 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MOBILE.md +281 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI.md +324 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +270 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/COMPONENT-PATTERN-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/LAYOUT-PATTERN-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/PAGE-TYPE-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +229 -0
- package/.speccrew/skills/speccrew-knowledge-graph-query/scripts/graph-query.js +549 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +181 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/scripts/graph-write.js +651 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +305 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/templates/MODULE-OVERVIEW-TEMPLATE.md +400 -0
- package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +351 -0
- package/.speccrew/skills/speccrew-knowledge-system-summarize/templates/SYSTEM-OVERVIEW-TEMPLATE.md +294 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +683 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/STATUS-FORMATS.md +550 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/templates/techs-manifest-EXAMPLE.json +35 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +1087 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/ARCHITECTURE-TEMPLATE.md +240 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COLOR-SYSTEM-TEMPLATE.md +68 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COMPONENT-LIBRARY-TEMPLATE.md +86 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-BUILD-TEMPLATE.md +466 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DATA-TEMPLATE.md +432 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DESIGN-TEMPLATE.md +1209 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DEV-TEMPLATE.md +1433 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-SYSTEM-TEST-TEMPLATE.md +1052 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-UNIT-TEST-TEMPLATE.md +946 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/INDEX-TEMPLATE.md +29 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-LAYOUTS-TEMPLATE.md +69 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +74 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/TECH-STACK-TEMPLATE.md +232 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +628 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +392 -0
- package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +489 -0
- package/.speccrew/skills/speccrew-knowledge-techs-index/templates/INDEX-TEMPLATE.md +243 -0
- package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +269 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +562 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/BUSINESS-COMPONENTS-TEMPLATE.md +171 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMMON-COMPONENTS-TEMPLATE.md +177 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-INDIVIDUAL-TEMPLATE.md +80 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-LIBRARY-TEMPLATE.md +118 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-INDIVIDUAL-TEMPLATE.md +97 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-PATTERNS-TEMPLATE.md +208 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/NAVIGATION-PATTERNS-TEMPLATE.md +157 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-INDIVIDUAL-TEMPLATE.md +123 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +58 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/SPACING-TEMPLATE.md +119 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/STYLE-SYSTEM-TEMPLATE.md +117 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/TYPOGRAPHY-TEMPLATE.md +107 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/UI-STYLE-GUIDE-TEMPLATE.md +171 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +434 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md +332 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +200 -0
- package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +195 -0
- package/.speccrew/skills/speccrew-project-diagnosis/SKILL.md +208 -0
- package/.speccrew/skills/speccrew-project-diagnosis/templates/DIAGNOSIS-REPORT-TEMPLATE.md +202 -0
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +188 -0
- package/.speccrew/skills/speccrew-sd-backend/templates/INDEX-TEMPLATE.md +85 -0
- package/.speccrew/skills/speccrew-sd-backend/templates/SD-BACKEND-TEMPLATE.md +269 -0
- package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +192 -0
- package/.speccrew/skills/speccrew-sd-desktop/templates/INDEX-TEMPLATE.md +271 -0
- package/.speccrew/skills/speccrew-sd-desktop/templates/SD-DESKTOP-TEMPLATE.md +673 -0
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +176 -0
- package/.speccrew/skills/speccrew-sd-frontend/templates/INDEX-TEMPLATE.md +184 -0
- package/.speccrew/skills/speccrew-sd-frontend/templates/SD-FRONTEND-TEMPLATE.md +382 -0
- package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +189 -0
- package/.speccrew/skills/speccrew-sd-mobile/templates/INDEX-TEMPLATE.md +219 -0
- package/.speccrew/skills/speccrew-sd-mobile/templates/SD-MOBILE-TEMPLATE.md +534 -0
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +284 -0
- package/.speccrew/skills/speccrew-test-case-design/templates/TEST-CASE-DESIGN-TEMPLATE.md +263 -0
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +313 -0
- package/.speccrew/skills/speccrew-test-code-gen/templates/TEST-CODE-PLAN-TEMPLATE.md +180 -0
- package/.speccrew/skills/speccrew-test-execute/SKILL.md +283 -0
- package/.speccrew/skills/speccrew-test-execute/templates/BUG-REPORT-TEMPLATE.md +50 -0
- package/.speccrew/skills/speccrew-test-execute/templates/TEST-REPORT-TEMPLATE.md +57 -0
- package/.speccrew/skills/speccrew-workflow-diagnose/SKILL.md +155 -0
- package/LICENSE +21 -0
- package/README.ar.md +318 -0
- package/README.en.md +318 -0
- package/README.es.md +318 -0
- package/README.md +340 -0
- package/bin/cli.js +62 -0
- package/lib/commands/doctor.js +138 -0
- package/lib/commands/init.js +231 -0
- package/lib/commands/list.js +114 -0
- package/lib/commands/uninstall.js +117 -0
- package/lib/commands/update.js +351 -0
- package/lib/ide-adapters.js +73 -0
- package/lib/utils.js +104 -0
- package/package.json +28 -0
- package/workspace-template/docs/configs/document-templates.json +667 -0
- package/workspace-template/docs/configs/platform-mapping.json +194 -0
- package/workspace-template/docs/configs/tech-stack-mappings.json +313 -0
- package/workspace-template/docs/configs/validation-rules.json +87 -0
- package/workspace-template/docs/rules/mermaid-rule.md +114 -0
- package/workspace-template/docs/solutions/Agent/346/212/200/350/203/275/345/256/232/344/271/211+/351/234/200/346/261/202/346/226/207/346/241/243+UML/344/275/277/347/224/250/346/250/241/346/235/277/357/274/210ISA-95/345/205/255/346/256/265/345/274/217/350/236/215/345/220/210/347/211/210/357/274/211.md +586 -0
- package/workspace-template/docs/solutions/agent-knowledge-map.md +238 -0
- package/workspace-template/docs/solutions/bizs-knowledge-pipeline.md +678 -0
- package/workspace-template/docs/solutions/harness.md +410 -0
- package/workspace-template/docs/solutions/knowledge-incremental-sync-spec.md +943 -0
- package/workspace-template/docs/solutions/techs-knowledge-pipeline.md +803 -0
- package/workspace-template/docs/solutions/workspace-structure.md +318 -0
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: speccrew-pm-requirement-analysis
|
|
3
|
+
description: PRD Writing SOP with ISA-95 business modeling. Guide PM Agent through requirements clarification, business domain analysis, and PRD document generation. For complex requirements, applies ISA-95 six-stage methodology for structured domain modeling before PRD writing. Use when PM needs to write PRD, organize requirements, model business domains, or create structured requirement documents.
|
|
4
|
+
tools: Read, Write, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Trigger Scenarios
|
|
8
|
+
|
|
9
|
+
- PM Agent receives user requirement description
|
|
10
|
+
- User requests "Write a PRD" or "Help organize requirements" or "New feature requirements"
|
|
11
|
+
- User requests "Create business model" or "Model business requirements"
|
|
12
|
+
- User needs structured requirement document with UML diagrams
|
|
13
|
+
|
|
14
|
+
# Workflow
|
|
15
|
+
|
|
16
|
+
## Step 1: Requirements Clarification (Progressive Multi-Round)
|
|
17
|
+
|
|
18
|
+
Use progressive questioning to clarify requirements. Do NOT ask all questions at once.
|
|
19
|
+
|
|
20
|
+
### Round 1: Core Understanding
|
|
21
|
+
|
|
22
|
+
Ask these first (2-3 questions max per round):
|
|
23
|
+
|
|
24
|
+
| Question | Purpose |
|
|
25
|
+
|----------|---------|
|
|
26
|
+
| What problem does this feature solve? What is the business context? | Confirm background and motivation |
|
|
27
|
+
| Who are the target users and what are the core usage scenarios? | Identify user scope and mainstream use cases |
|
|
28
|
+
|
|
29
|
+
### Round 2: Scope & Boundaries
|
|
30
|
+
|
|
31
|
+
Based on Round 1 answers, ask:
|
|
32
|
+
|
|
33
|
+
| Question | Purpose |
|
|
34
|
+
|----------|---------|
|
|
35
|
+
| What is explicitly out of scope? | Clarify boundaries |
|
|
36
|
+
| Does this overlap with any existing system capabilities? | Identify reuse vs new build |
|
|
37
|
+
| Are there constraints (timeline, technology, budget)? | Clarify constraints early |
|
|
38
|
+
|
|
39
|
+
### Round 3: Detail & Acceptance (if needed)
|
|
40
|
+
|
|
41
|
+
| Question | Purpose |
|
|
42
|
+
|----------|---------|
|
|
43
|
+
| What does "done" look like? Any specific acceptance criteria? | Confirm definition of done |
|
|
44
|
+
| Are there non-functional requirements (performance, security)? | Identify NFRs |
|
|
45
|
+
| What is the priority relative to other work? | Confirm priority |
|
|
46
|
+
|
|
47
|
+
### Sufficiency Check
|
|
48
|
+
|
|
49
|
+
After each round, evaluate whether collected information is sufficient to proceed:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Sufficient to proceed when ALL of:
|
|
53
|
+
- [ ] Business problem is clearly understood
|
|
54
|
+
- [ ] Target users and core scenarios identified
|
|
55
|
+
- [ ] Scope boundaries (in/out) are defined
|
|
56
|
+
- [ ] Relationship to existing system is understood
|
|
57
|
+
|
|
58
|
+
If ANY is unclear → ask follow-up questions targeting the gap
|
|
59
|
+
If ALL are clear → proceed to Step 2
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Principles:**
|
|
63
|
+
- Ask 2-3 questions per round, not 5+ at once
|
|
64
|
+
- Adapt questions based on previous answers (skip what's already clear)
|
|
65
|
+
- For vague inputs like "Build a WMS system", Round 1 may need extra probing: "What specific pain points in your current warehouse operations?" / "Which warehouse processes are highest priority?"
|
|
66
|
+
- Never assume — if uncertain, ask
|
|
67
|
+
|
|
68
|
+
## Step 2: Load System Knowledge
|
|
69
|
+
|
|
70
|
+
### 2.1 Read System Overview
|
|
71
|
+
|
|
72
|
+
Read the file to understand system context:
|
|
73
|
+
```
|
|
74
|
+
speccrew-workspace/knowledges/bizs/system-overview.md
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 2.2 Load Related Module Overviews
|
|
78
|
+
|
|
79
|
+
Based on user input, identify related modules and read their overview files:
|
|
80
|
+
```
|
|
81
|
+
speccrew-workspace/knowledges/bizs/{module-name}/{module-name}-overview.md
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 2.3 Query Knowledge Graph (Optional)
|
|
85
|
+
|
|
86
|
+
If cross-module relationships need analysis, use `speccrew-knowledge-graph-query` skill:
|
|
87
|
+
|
|
88
|
+
| Action | Use Case |
|
|
89
|
+
|--------|----------|
|
|
90
|
+
| `query-nodes` | Find all nodes in a module |
|
|
91
|
+
| `search` | Find related entities by keyword |
|
|
92
|
+
| `trace-upstream` | Impact analysis for existing entities |
|
|
93
|
+
| `trace-downstream` | Dependency analysis |
|
|
94
|
+
|
|
95
|
+
## Step 3: Confirm Business Boundaries
|
|
96
|
+
|
|
97
|
+
After loading knowledge, confirm:
|
|
98
|
+
|
|
99
|
+
- [ ] Does the requirement overlap with existing modules? If so, is it an extension or new build?
|
|
100
|
+
- [ ] Which existing business processes does the requirement involve?
|
|
101
|
+
- [ ] Are there relevant industry standards to reference? (If yes, read `domain/standards/`)
|
|
102
|
+
|
|
103
|
+
### 3.1 Check Active Iterations
|
|
104
|
+
|
|
105
|
+
Before creating a new PRD, check if there are ongoing iterations with similar requirements:
|
|
106
|
+
|
|
107
|
+
1. List the `speccrew-workspace/iterations/` directory
|
|
108
|
+
2. Review PRD files in active iterations (non-archived)
|
|
109
|
+
3. Compare current requirements with existing iteration PRDs
|
|
110
|
+
|
|
111
|
+
**If similar requirements found:**
|
|
112
|
+
|
|
113
|
+
| Scenario | Action |
|
|
114
|
+
|----------|--------|
|
|
115
|
+
| Same feature, different scope | Ask user: "Found similar PRD in iteration XXX. Create new iteration or extend existing?" |
|
|
116
|
+
| Same feature, same scope | Ask user: "This requirement already exists in iteration XXX. Skip or update existing PRD?" |
|
|
117
|
+
| Related feature, same module | Ask user: "Found related feature in iteration XXX. Create new iteration or merge requirements?" |
|
|
118
|
+
|
|
119
|
+
**Decision options:**
|
|
120
|
+
- **New iteration**: Create a new iteration directory for this requirement
|
|
121
|
+
- **Extend existing**: Update the existing PRD with additional requirements
|
|
122
|
+
- **Merge**: Combine requirements into a single PRD
|
|
123
|
+
|
|
124
|
+
**Principle**: Avoid duplicate or conflicting PRDs for the same feature.
|
|
125
|
+
|
|
126
|
+
## Step 4: Determine Complexity & Select Approach
|
|
127
|
+
|
|
128
|
+
Evaluate requirement complexity to determine the appropriate workflow path:
|
|
129
|
+
|
|
130
|
+
| Criteria | Simple | Complex |
|
|
131
|
+
|----------|--------|---------|
|
|
132
|
+
| Modules involved | 1 module | 2+ modules or new domain |
|
|
133
|
+
| Domain clarity | Well-understood domain | New/unclear domain |
|
|
134
|
+
| Cross-module deps | None or minimal | Significant |
|
|
135
|
+
| Template | PRD-TEMPLATE.md only | BIZS-MODELING-TEMPLATE.md + PRD-TEMPLATE.md |
|
|
136
|
+
|
|
137
|
+
**Workflow Path:**
|
|
138
|
+
- **Simple path**: Skip to Step 7 (Read PRD Template)
|
|
139
|
+
- **Complex path**: Proceed to Step 5 (ISA-95 Business Modeling) → Step 6 (Module Decomposition)
|
|
140
|
+
|
|
141
|
+
## Step 5: ISA-95 Business Modeling (Complex Requirements Only)
|
|
142
|
+
|
|
143
|
+
Read the modeling template:
|
|
144
|
+
```
|
|
145
|
+
speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Execute ISA-95 six stages **in condensed form**:
|
|
149
|
+
|
|
150
|
+
### 5.1 Stage 1 - Domain Description
|
|
151
|
+
- Define domain boundary (in-scope, out-of-scope)
|
|
152
|
+
- Identify external participants (users, systems, agents)
|
|
153
|
+
- Create domain glossary
|
|
154
|
+
- Draw system context diagram (graph TD)
|
|
155
|
+
|
|
156
|
+
**Checkpoint A: Briefly confirm domain boundary with user before proceeding.**
|
|
157
|
+
Ask: "Here is the domain boundary and key participants. Does this match your understanding?"
|
|
158
|
+
|
|
159
|
+
### 5.2 Stage 2 - Functions in Domain
|
|
160
|
+
- Create WBS decomposition (graph TD)
|
|
161
|
+
- Map functions to business capabilities
|
|
162
|
+
- Select UML visualization as needed (Use Case / Activity / State Machine)
|
|
163
|
+
|
|
164
|
+
### 5.3 Stage 3 - Functions of Interest
|
|
165
|
+
- Apply MoSCoW prioritization
|
|
166
|
+
- Create focused use case diagram (graph TB)
|
|
167
|
+
- Document non-core functions and their iteration plan
|
|
168
|
+
|
|
169
|
+
**Checkpoint B: Confirm MVP scope with user before proceeding.**
|
|
170
|
+
Ask: "Here are the core functions (Must have) and deferred functions. Is the MVP scope correct?"
|
|
171
|
+
|
|
172
|
+
### 5.4 Stage 4 - Information Flows
|
|
173
|
+
- Document core information flows
|
|
174
|
+
- Create sequence diagram (sequenceDiagram)
|
|
175
|
+
- Create Data Flow Diagram (graph TD)
|
|
176
|
+
- List interface interactions
|
|
177
|
+
|
|
178
|
+
### 5.5 Stage 5 - Categories of Information
|
|
179
|
+
- Define information categories
|
|
180
|
+
- Create data dictionary
|
|
181
|
+
- Draw conceptual class diagram (classDiagram)
|
|
182
|
+
|
|
183
|
+
### 5.6 Stage 6 - Information Descriptions
|
|
184
|
+
- Create design class diagram with technical details
|
|
185
|
+
- Create component diagram (graph TB)
|
|
186
|
+
- Document implementation standards
|
|
187
|
+
|
|
188
|
+
**Checkpoint C: Present complete modeling results (Stages 4-6) to user for final confirmation.**
|
|
189
|
+
|
|
190
|
+
**Key rules for this step:**
|
|
191
|
+
- Use 3 checkpoints (A/B/C) for progressive confirmation, not all-at-once
|
|
192
|
+
- All Mermaid diagrams MUST follow mermaid-rule.md:
|
|
193
|
+
- No HTML tags (`<br/>`)
|
|
194
|
+
- No nested subgraphs
|
|
195
|
+
- No `direction` keyword
|
|
196
|
+
- No `style` definitions
|
|
197
|
+
- No special characters in node text
|
|
198
|
+
- Save modeling document to: `iterations/{number}/01.product-requirement/{feature-name}-bizs-modeling.md`
|
|
199
|
+
|
|
200
|
+
**ISA-95 Quick Reference:**
|
|
201
|
+
|
|
202
|
+
| Stage | Focus | Key Output | UML Type |
|
|
203
|
+
|-------|-------|------------|----------|
|
|
204
|
+
| 1. Domain Description | Boundary, terminology | System context diagram | graph TD |
|
|
205
|
+
| 2. Functions in Domain | All functions | WBS, use case diagram | graph TD, graph TB |
|
|
206
|
+
| 3. Functions of Interest | Core functions (MVP) | MoSCoW table | graph TB |
|
|
207
|
+
| 4. Information Flows | Interactions, interfaces | Sequence diagram, DFD | sequenceDiagram, graph TD |
|
|
208
|
+
| 5. Categories of Information | Entities, data dictionary | Conceptual class diagram | classDiagram |
|
|
209
|
+
| 6. Information Descriptions | Design details | Design class diagram | classDiagram, graph TB |
|
|
210
|
+
|
|
211
|
+
## Step 6: Module Decomposition & Ordering (Complex Requirements Only)
|
|
212
|
+
|
|
213
|
+
Map WBS Level-1 nodes from Stage 2 into independent modules. For each module:
|
|
214
|
+
|
|
215
|
+
### 6.1 Define Module List
|
|
216
|
+
|
|
217
|
+
| Module | Scope | Key Entities | Owner Domain |
|
|
218
|
+
|--------|-------|-------------|--------------|
|
|
219
|
+
| {module} | {what it covers} | {core entities} | {business domain} |
|
|
220
|
+
|
|
221
|
+
### 6.2 Cross-Module Dependency Matrix
|
|
222
|
+
|
|
223
|
+
Extract dependencies from Stage 4 information flows and graph query results:
|
|
224
|
+
|
|
225
|
+
| Module | Depends On | Dependency Type | Shared Entities |
|
|
226
|
+
|--------|-----------|-----------------|-----------------|
|
|
227
|
+
| {module A} | {module B} | Data / API / Event | {entities} |
|
|
228
|
+
|
|
229
|
+
### 6.3 Implementation Order
|
|
230
|
+
|
|
231
|
+
Based on dependency matrix, determine module priority:
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
Phase 1 (Foundation): Modules with no upstream dependencies
|
|
235
|
+
Phase 2 (Core): Modules depending only on Phase 1
|
|
236
|
+
Phase 3 (Extension): Remaining modules
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Present module decomposition to user for confirmation before proceeding.**
|
|
240
|
+
|
|
241
|
+
## Step 7: Read PRD Template
|
|
242
|
+
|
|
243
|
+
Read the template file:
|
|
244
|
+
```
|
|
245
|
+
speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
After reading the template, check if any required information is missing based on:
|
|
249
|
+
- Template structure requirements
|
|
250
|
+
- Previously clarified requirements from Step 1
|
|
251
|
+
|
|
252
|
+
If there are gaps or unclear points, ask the user to confirm before proceeding.
|
|
253
|
+
|
|
254
|
+
## Step 8: Determine PRD Structure
|
|
255
|
+
|
|
256
|
+
Before writing, determine the PRD structure based on requirement complexity:
|
|
257
|
+
|
|
258
|
+
### Simple Requirements (Single Document)
|
|
259
|
+
- Single feature with clear boundaries
|
|
260
|
+
- Minimal dependencies on existing modules
|
|
261
|
+
- Can be completed in 1-2 iterations
|
|
262
|
+
|
|
263
|
+
### Complex Requirements (Master-Sub Structure)
|
|
264
|
+
- Multiple related features or sub-modules
|
|
265
|
+
- Cross-domain changes involving multiple modules
|
|
266
|
+
- Requires phased implementation
|
|
267
|
+
|
|
268
|
+
**Master-Sub Structure:**
|
|
269
|
+
```
|
|
270
|
+
01.product-requirement/
|
|
271
|
+
├── [feature-name]-prd.md # Master PRD
|
|
272
|
+
├── [feature-name]-sub-[module1].md # Sub-PRD: Module 1
|
|
273
|
+
├── [feature-name]-sub-[module2].md # Sub-PRD: Module 2
|
|
274
|
+
└── ...
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Master PRD MUST include:**
|
|
278
|
+
- Overall background, goals, and success metrics
|
|
279
|
+
- System architecture overview (Mermaid graph TB)
|
|
280
|
+
- Module list with scope boundaries (from Step 6.1)
|
|
281
|
+
- Cross-module dependency matrix (from Step 6.2)
|
|
282
|
+
- Implementation phases and ordering (from Step 6.3)
|
|
283
|
+
- Shared entities and data contracts across modules
|
|
284
|
+
- Global non-functional requirements (performance, security, scalability)
|
|
285
|
+
|
|
286
|
+
**Each Sub-PRD covers ONE module:**
|
|
287
|
+
- Module-specific user stories and functional requirements
|
|
288
|
+
- Module-internal process flows and use cases
|
|
289
|
+
- Module-specific acceptance criteria
|
|
290
|
+
- Interface contracts with other modules (referencing Master PRD dependency matrix)
|
|
291
|
+
|
|
292
|
+
## Step 9: Write PRD
|
|
293
|
+
|
|
294
|
+
Fill in according to the template structure, requirements:
|
|
295
|
+
- **Background & Goals**: Explain why we're doing this and what success looks like
|
|
296
|
+
- **User Stories**: `As a [user role], I want [to do something], so that [I can achieve some goal]`
|
|
297
|
+
- **Functional Requirements**: Group by priority (P0 Core / P1 Important / P2 Optional)
|
|
298
|
+
- **Non-functional Requirements**: Performance, security, compatibility, etc.
|
|
299
|
+
- **Acceptance Criteria**: Quantifiable, verifiable definition of done
|
|
300
|
+
- **Boundary Description**: Clearly define Not In Scope content
|
|
301
|
+
- **Assumptions & Dependencies**: Prerequisites, external dependencies
|
|
302
|
+
|
|
303
|
+
### Marking Existing vs New Features
|
|
304
|
+
|
|
305
|
+
When the requirement involves modifying existing system functions, clearly mark each item:
|
|
306
|
+
|
|
307
|
+
| Marker | Meaning | Example |
|
|
308
|
+
|--------|---------|---------|
|
|
309
|
+
| `[EXISTING]` | Current system capability being reused | `[EXISTING] User authentication via OAuth` |
|
|
310
|
+
| `[MODIFIED]` | Existing feature being enhanced/changed | `[MODIFIED] Add email field to user profile` |
|
|
311
|
+
| `[NEW]` | Brand new functionality | `[NEW] Export report to PDF` |
|
|
312
|
+
|
|
313
|
+
**Apply markers in:**
|
|
314
|
+
- User stories (prefix the story)
|
|
315
|
+
- Functional requirements (prefix each requirement)
|
|
316
|
+
- UI mockups descriptions
|
|
317
|
+
- API specifications
|
|
318
|
+
|
|
319
|
+
**Example:**
|
|
320
|
+
```markdown
|
|
321
|
+
## Functional Requirements
|
|
322
|
+
|
|
323
|
+
### P0 Core
|
|
324
|
+
- [EXISTING] User login system - reuse current JWT-based auth
|
|
325
|
+
- [MODIFIED] User profile page - add "Department" dropdown field
|
|
326
|
+
- [NEW] Department management module - CRUD operations for departments
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
## Step 10: Task Granularity Check
|
|
330
|
+
|
|
331
|
+
After PRD completion, check if each user story's granularity aligns with the "single iteration completable" principle.
|
|
332
|
+
|
|
333
|
+
**Appropriate Granularity (completable in one iteration)**:
|
|
334
|
+
- Add a database field and write migration
|
|
335
|
+
- Add a UI component in an existing page
|
|
336
|
+
- Modify existing server-side logic
|
|
337
|
+
- Add a filter condition to a list page
|
|
338
|
+
|
|
339
|
+
**Granularity Requiring Splitting (too large)**:
|
|
340
|
+
- Implement a complete dashboard
|
|
341
|
+
- Add a whole authentication/login system
|
|
342
|
+
- Overall refactoring of existing APIs
|
|
343
|
+
- Cross-domain changes involving multiple modules
|
|
344
|
+
|
|
345
|
+
**Splitting Strategy**:
|
|
346
|
+
- Break large user stories into multiple small user stories
|
|
347
|
+
- Each small user story has independent acceptance criteria
|
|
348
|
+
- Mark dependencies between user stories
|
|
349
|
+
|
|
350
|
+
If stories need splitting, update the PRD before proceeding.
|
|
351
|
+
|
|
352
|
+
## Step 11: Determine Storage Path
|
|
353
|
+
|
|
354
|
+
Ask the user for the current iteration number and determine the file path:
|
|
355
|
+
|
|
356
|
+
### Single PRD Structure
|
|
357
|
+
```
|
|
358
|
+
speccrew-workspace/iterations/{number}-{type}-{name}/01.product-requirement/[feature-name]-prd.md
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
### Master-Sub PRD Structure
|
|
362
|
+
```
|
|
363
|
+
speccrew-workspace/iterations/{number}-{type}-{name}/01.product-requirement/
|
|
364
|
+
├── [feature-name]-prd.md
|
|
365
|
+
├── [feature-name]-sub-[module1].md
|
|
366
|
+
├── [feature-name]-sub-[module2].md
|
|
367
|
+
└── ...
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
If the iteration directory does not exist, refer to the `000-sample` directory structure to create it.
|
|
371
|
+
|
|
372
|
+
## Step 12: Write File and Request Confirmation
|
|
373
|
+
|
|
374
|
+
After writing files, show summary and request user confirmation:
|
|
375
|
+
|
|
376
|
+
### Simple PRD Output
|
|
377
|
+
```
|
|
378
|
+
PRD generated: speccrew-workspace/iterations/XXX-{type}-{name}/01.product-requirement/[feature-name]-prd.md
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### Complex PRD Output (with modeling)
|
|
382
|
+
```
|
|
383
|
+
Business Modeling generated: speccrew-workspace/iterations/XXX-{type}-{name}/01.product-requirement/[feature-name]-bizs-modeling.md
|
|
384
|
+
PRD generated: speccrew-workspace/iterations/XXX-{type}-{name}/01.product-requirement/[feature-name]-prd.md
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
### Master-Sub PRD Output
|
|
388
|
+
```
|
|
389
|
+
Master PRD generated: speccrew-workspace/iterations/XXX-{type}-{name}/01.product-requirement/[feature-name]-prd.md
|
|
390
|
+
Sub-PRDs generated:
|
|
391
|
+
- [feature-name]-sub-[module1].md
|
|
392
|
+
- [feature-name]-sub-[module2].md
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
Please confirm the following key points:
|
|
396
|
+
1. Is the feature boundary accurate?
|
|
397
|
+
2. Are the acceptance criteria quantifiable?
|
|
398
|
+
3. Is the Not In Scope complete?
|
|
399
|
+
4. **[For complex requirements]** Is the Master-Sub structure appropriate?
|
|
400
|
+
5. **[For existing features]** Are the [EXISTING]/[MODIFIED]/[NEW] markers accurate?
|
|
401
|
+
|
|
402
|
+
After confirmation, you can start the Solution Agent for solution planning.
|
|
403
|
+
|
|
404
|
+
# Knowledge Loading Strategy
|
|
405
|
+
|
|
406
|
+
1. **First**: Read `system-overview.md` for system context
|
|
407
|
+
2. **Then**: Load related `{module}-overview.md` files
|
|
408
|
+
3. **As needed**: Query graph for cross-module relationships
|
|
409
|
+
|
|
410
|
+
# Checklist
|
|
411
|
+
|
|
412
|
+
- [ ] All unclear requirements have been clarified with the user (progressive multi-round)
|
|
413
|
+
- [ ] Sufficiency check passed: problem, users, scenarios, scope, existing system relationship all clear
|
|
414
|
+
- [ ] System overview and related module overviews loaded
|
|
415
|
+
- [ ] Business module boundaries confirmed with existing features
|
|
416
|
+
- [ ] Active iterations have been checked for similar/related requirements
|
|
417
|
+
- [ ] **[If similar requirements found]** User has confirmed whether to create new iteration or extend existing
|
|
418
|
+
- [ ] Complexity assessed and appropriate workflow path selected
|
|
419
|
+
- [ ] **[Complex path]** ISA-95 Checkpoint A passed: domain boundary confirmed
|
|
420
|
+
- [ ] **[Complex path]** ISA-95 Checkpoint B passed: MVP scope confirmed
|
|
421
|
+
- [ ] **[Complex path]** ISA-95 Checkpoint C passed: complete modeling confirmed
|
|
422
|
+
- [ ] **[Complex path]** All Mermaid diagrams follow mermaid-rule.md
|
|
423
|
+
- [ ] **[Complex path]** Module decomposition completed: module list, dependency matrix, implementation order
|
|
424
|
+
- [ ] **[Complex path]** Module decomposition confirmed with user
|
|
425
|
+
- [ ] PRD structure (single vs master-sub) determined appropriately
|
|
426
|
+
- [ ] **[Master-Sub]** Master PRD includes architecture overview, module list, dependency matrix, implementation phases
|
|
427
|
+
- [ ] **[Master-Sub]** Each Sub-PRD covers exactly one module with interface contracts
|
|
428
|
+
- [ ] PRD completely filled according to template structure
|
|
429
|
+
- [ ] User story granularity aligns with "single iteration completable" principle
|
|
430
|
+
- [ ] Acceptance criteria are quantifiable and verifiable
|
|
431
|
+
- [ ] Boundary description includes clear Not In Scope
|
|
432
|
+
- [ ] **[If modifying existing features]** All changes marked with [EXISTING]/[MODIFIED]/[NEW]
|
|
433
|
+
- [ ] Files written to correct paths
|
|
434
|
+
- [ ] Summary shown to user and confirmation requested
|