@comfanion/workflow 4.1.2 → 4.3.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/README.md +1 -2
- package/bin/cli.js +2 -4
- package/package.json +1 -1
- package/src/build-info.json +1 -1
- package/src/opencode/ARCHITECTURE.md +7 -6
- package/src/opencode/FLOW.yaml +10 -10
- package/src/opencode/agents/coder.md +82 -0
- package/src/opencode/agents/dev.md +10 -0
- package/src/opencode/commands/architecture.md +1 -1
- package/src/opencode/commands/prd.md +1 -1
- package/src/opencode/config.yaml +1 -1
- package/src/opencode/skills/adr-writing/SKILL.md +122 -159
- package/src/opencode/skills/adr-writing/template.md +130 -0
- package/src/opencode/skills/architecture-design/SKILL.md +113 -107
- package/src/opencode/skills/architecture-design/template.md +212 -0
- package/src/opencode/skills/architecture-validation/SKILL.md +1 -1
- package/src/opencode/skills/changelog/template.md +23 -0
- package/src/opencode/skills/epic-writing/SKILL.md +116 -264
- package/src/opencode/skills/epic-writing/template.md +119 -0
- package/src/opencode/skills/prd-validation/SKILL.md +1 -1
- package/src/opencode/skills/prd-writing/SKILL.md +79 -43
- package/src/opencode/skills/prd-writing/template.md +147 -0
- package/src/opencode/skills/requirements-gathering/SKILL.md +128 -78
- package/src/opencode/skills/requirements-gathering/template.md +156 -0
- package/src/opencode/skills/story-writing/SKILL.md +106 -464
- package/src/opencode/skills/story-writing/template.md +214 -0
- package/src/opencode/skills/unit-writing/SKILL.md +185 -0
- package/src/opencode/skills/unit-writing/template.md +136 -0
- package/src/repo-structure/docs/README.md +5 -5
- package/src/repo-structure/docs/requirements/README.md +1 -1
- package/src/opencode/templates/CHANGELOG.md +0 -82
- package/src/opencode/templates/adr-template.md +0 -115
- package/src/opencode/templates/architecture-template.md +0 -362
- package/src/opencode/templates/epic-template.md +0 -166
- package/src/opencode/templates/prd-template.md +0 -479
- package/src/opencode/templates/requirements-template.md +0 -132
- package/src/opencode/templates/story-template.md +0 -182
- /package/src/opencode/{templates/prd-acceptance-criteria-template.md → skills/acceptance-criteria/template.md} +0 -0
- /package/src/opencode/{templates/change-proposal-template.md → skills/archiving/template-change-proposal.md} +0 -0
- /package/src/opencode/{templates/git-workflow-template.md → skills/coding-standards/template-git.md} +0 -0
- /package/src/opencode/{templates/testing-standards-template.md → skills/coding-standards/template-testing.md} +0 -0
- /package/src/opencode/{templates/jira-cache-template.yaml → skills/jira-integration/template-cache.yaml} +0 -0
- /package/src/opencode/{templates/module-index-template.md → skills/module-documentation/template.md} +0 -0
- /package/src/opencode/{templates/sprint-status-template.yaml → skills/sprint-planning/template.yaml} +0 -0
- /package/src/opencode/{templates/integration-tests-template.md → skills/test-design/template-integration.md} +0 -0
- /package/src/opencode/{templates/module-test-cases-template.md → skills/test-design/template-module.md} +0 -0
|
@@ -19,49 +19,80 @@ Use this skill when you need to:
|
|
|
19
19
|
|
|
20
20
|
## Template
|
|
21
21
|
|
|
22
|
-
Use the template at: `@.opencode/
|
|
22
|
+
Use the template at: `@.opencode/skills/prd-writing/template.md`
|
|
23
23
|
|
|
24
|
-
## PRD Structure
|
|
24
|
+
## PRD Structure (v2)
|
|
25
25
|
|
|
26
|
-
###
|
|
26
|
+
### 1. Executive Summary
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
Brief prose section with:
|
|
29
|
+
- What the system is and does
|
|
30
|
+
- Architecture pattern
|
|
31
|
+
- Key domains (numbered list)
|
|
32
|
+
- What makes this special (unique value)
|
|
33
|
+
- Scale (MVP and Growth targets)
|
|
32
34
|
|
|
33
|
-
2.
|
|
34
|
-
- Technical Type
|
|
35
|
-
- Domain
|
|
36
|
-
- Complexity
|
|
37
|
-
- Architecture style
|
|
35
|
+
### 2. Success Criteria
|
|
38
36
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
| Section | Content |
|
|
38
|
+
|---------|---------|
|
|
39
|
+
| MVP Success | Measurable criteria for launch |
|
|
40
|
+
| Growth Success | Measurable criteria for scale |
|
|
42
41
|
|
|
43
|
-
|
|
44
|
-
- MVP features (P0)
|
|
45
|
-
- Growth features (P1)
|
|
46
|
-
- Vision features (P2)
|
|
42
|
+
### 3. Product Scope
|
|
47
43
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
| Section | Content |
|
|
45
|
+
|---------|---------|
|
|
46
|
+
| MVP | Features by domain |
|
|
47
|
+
| Growth Features | Post-MVP enhancements |
|
|
48
|
+
| Out of Scope | Explicit exclusions |
|
|
51
49
|
|
|
52
|
-
|
|
53
|
-
- Performance (with metrics)
|
|
54
|
-
- Security
|
|
55
|
-
- Scalability
|
|
56
|
-
- Reliability
|
|
50
|
+
### 4. Functional Requirements
|
|
57
51
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
**Grouped by domain in tables:**
|
|
53
|
+
|
|
54
|
+
| ID | Requirement | Priority |
|
|
55
|
+
|----|-------------|----------|
|
|
56
|
+
| FR-001 | {{requirement}} | P0 |
|
|
57
|
+
|
|
58
|
+
With **Notes:** for business rules after each domain table.
|
|
59
|
+
|
|
60
|
+
### 5. Non-Functional Requirements
|
|
61
|
+
|
|
62
|
+
Tables for:
|
|
63
|
+
- Performance (with metrics)
|
|
64
|
+
- Security
|
|
65
|
+
- Scalability
|
|
66
|
+
|
|
67
|
+
### 6. Critical Business Rules
|
|
68
|
+
|
|
69
|
+
Numbered list with **bold rule name** — description format.
|
|
70
|
+
|
|
71
|
+
### 7. Glossary
|
|
72
|
+
|
|
73
|
+
| Term | Definition |
|
|
74
|
+
|------|------------|
|
|
75
|
+
|
|
76
|
+
### 8. References
|
|
77
|
+
|
|
78
|
+
Using `→` format:
|
|
79
|
+
```
|
|
80
|
+
→ Architecture: `docs/architecture.md`
|
|
81
|
+
→ Requirements: `docs/requirements.md`
|
|
82
|
+
```
|
|
62
83
|
|
|
63
84
|
## Writing Guidelines
|
|
64
85
|
|
|
86
|
+
### Reference Format
|
|
87
|
+
|
|
88
|
+
Always use `→` prefix for links:
|
|
89
|
+
```
|
|
90
|
+
→ Unit: `Task`
|
|
91
|
+
→ FR: `FR-001`
|
|
92
|
+
→ ADR: `ADR-001`
|
|
93
|
+
→ `path/to/file.md`
|
|
94
|
+
```
|
|
95
|
+
|
|
65
96
|
### Requirement IDs
|
|
66
97
|
- Functional: `FR-001`, `FR-002`, ...
|
|
67
98
|
- Non-Functional: `NFR-001`, `NFR-002`, ...
|
|
@@ -71,27 +102,31 @@ Use the template at: `@.opencode/templates/prd-template.md`
|
|
|
71
102
|
- **P1**: Should have for growth
|
|
72
103
|
- **P2**: Nice to have for vision
|
|
73
104
|
|
|
74
|
-
###
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
105
|
+
### Tables over Prose
|
|
106
|
+
|
|
107
|
+
Prefer structured tables over paragraphs:
|
|
108
|
+
```markdown
|
|
109
|
+
| ID | Requirement | Priority |
|
|
110
|
+
|----|-------------|----------|
|
|
111
|
+
| FR-001 | User can create task | P0 |
|
|
112
|
+
```
|
|
78
113
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
82
|
-
|
|
114
|
+
NOT:
|
|
115
|
+
```markdown
|
|
116
|
+
FR-001: The user shall be able to create a task. This is a P0 requirement...
|
|
117
|
+
```
|
|
83
118
|
|
|
84
119
|
## Validation Checklist
|
|
85
120
|
|
|
86
121
|
Before completing PRD:
|
|
87
122
|
- [ ] Executive summary explains the "why"
|
|
88
123
|
- [ ] All FRs from requirements.md are addressed
|
|
89
|
-
- [ ] All NFRs
|
|
124
|
+
- [ ] All NFRs have measurable metrics
|
|
90
125
|
- [ ] Success criteria are measurable
|
|
91
126
|
- [ ] Scope boundaries are clear
|
|
92
|
-
- [ ]
|
|
93
|
-
- [ ]
|
|
94
|
-
- [ ]
|
|
127
|
+
- [ ] Critical business rules documented
|
|
128
|
+
- [ ] Uses `→` reference format
|
|
129
|
+
- [ ] Tables used for structured data
|
|
95
130
|
|
|
96
131
|
## Output
|
|
97
132
|
|
|
@@ -102,3 +137,4 @@ Save to: `docs/prd.md`
|
|
|
102
137
|
- `acceptance-criteria` - For writing testable AC
|
|
103
138
|
- `requirements-gathering` - For source requirements
|
|
104
139
|
- `prd-validation` - For validating the PRD
|
|
140
|
+
- `unit-writing` - For documenting units referenced in PRD
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# {{project}} — PRD
|
|
2
|
+
|
|
3
|
+
```yaml
|
|
4
|
+
id: PRD-001
|
|
5
|
+
version: 1.0
|
|
6
|
+
status: draft | approved
|
|
7
|
+
date: {{date}}
|
|
8
|
+
author: {{author}}
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Executive Summary
|
|
14
|
+
|
|
15
|
+
{{project}} is a {{type}} platform for {{target_users}}. The system handles {{core_capabilities}}.
|
|
16
|
+
|
|
17
|
+
**Architecture:** {{architecture_pattern}}
|
|
18
|
+
|
|
19
|
+
**Key Domains:**
|
|
20
|
+
1. **{{domain_1}}** — {{description}}
|
|
21
|
+
2. **{{domain_2}}** — {{description}}
|
|
22
|
+
|
|
23
|
+
**What Makes This Special:**
|
|
24
|
+
- {{unique_value_1}}
|
|
25
|
+
- {{unique_value_2}}
|
|
26
|
+
|
|
27
|
+
**Scale:**
|
|
28
|
+
- **MVP:** {{mvp_scale}}
|
|
29
|
+
- **Growth:** {{growth_scale}}
|
|
30
|
+
|
|
31
|
+
<!-- e.g.
|
|
32
|
+
TaskFlow is a B2B platform for managing distributed teams. The system handles task management, real-time collaboration, and team analytics.
|
|
33
|
+
|
|
34
|
+
**Architecture:** Modular Monolith with Hexagonal Architecture
|
|
35
|
+
|
|
36
|
+
**Key Domains:**
|
|
37
|
+
1. **Task Management** — CRUD, assignments, status workflow
|
|
38
|
+
2. **Team** — Users, roles, permissions
|
|
39
|
+
|
|
40
|
+
**What Makes This Special:**
|
|
41
|
+
- Real-time sync without WebSockets (smart polling)
|
|
42
|
+
- Formula-based task prioritization
|
|
43
|
+
|
|
44
|
+
**Scale:**
|
|
45
|
+
- **MVP:** 100 teams, 10K tasks
|
|
46
|
+
- **Growth:** 1000 teams, 100K tasks
|
|
47
|
+
-->
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Success Criteria
|
|
52
|
+
|
|
53
|
+
### MVP Success
|
|
54
|
+
- {{criterion_1}}
|
|
55
|
+
- {{criterion_2}}
|
|
56
|
+
|
|
57
|
+
### Growth Success
|
|
58
|
+
- {{criterion_1}}
|
|
59
|
+
- {{criterion_2}}
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Product Scope
|
|
64
|
+
|
|
65
|
+
### MVP — Minimum Viable Product
|
|
66
|
+
|
|
67
|
+
**{{Domain_1}}:**
|
|
68
|
+
- {{capability}}
|
|
69
|
+
- {{capability}}
|
|
70
|
+
|
|
71
|
+
**{{Domain_2}}:**
|
|
72
|
+
- {{capability}}
|
|
73
|
+
|
|
74
|
+
### Growth Features (Post-MVP)
|
|
75
|
+
- {{feature}}
|
|
76
|
+
|
|
77
|
+
### Out of Scope
|
|
78
|
+
- {{item}}
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Functional Requirements
|
|
83
|
+
|
|
84
|
+
### {{Domain_1}}
|
|
85
|
+
|
|
86
|
+
| ID | Requirement | Priority |
|
|
87
|
+
|----|-------------|----------|
|
|
88
|
+
| FR-001 | {{requirement}} | P0 |
|
|
89
|
+
| FR-002 | {{requirement}} | P0 |
|
|
90
|
+
| FR-003 | {{requirement}} | P1 |
|
|
91
|
+
|
|
92
|
+
<!-- e.g.
|
|
93
|
+
| FR-001 | User can create task with title, description, due date | P0 |
|
|
94
|
+
| FR-002 | User can assign task to team member | P0 |
|
|
95
|
+
| FR-003 | System sends notification on assignment | P1 |
|
|
96
|
+
-->
|
|
97
|
+
|
|
98
|
+
**Notes:**
|
|
99
|
+
- {{important_business_rule}}
|
|
100
|
+
|
|
101
|
+
### {{Domain_2}}
|
|
102
|
+
|
|
103
|
+
| ID | Requirement | Priority |
|
|
104
|
+
|----|-------------|----------|
|
|
105
|
+
| FR-010 | {{requirement}} | P0 |
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Non-Functional Requirements
|
|
110
|
+
|
|
111
|
+
### Performance
|
|
112
|
+
| Metric | Target |
|
|
113
|
+
|--------|--------|
|
|
114
|
+
| {{metric}} | {{value}} |
|
|
115
|
+
|
|
116
|
+
### Security
|
|
117
|
+
- {{requirement}}
|
|
118
|
+
|
|
119
|
+
### Scalability
|
|
120
|
+
- {{requirement}}
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Critical Business Rules
|
|
125
|
+
|
|
126
|
+
1. **{{rule_name}}** — {{description}}
|
|
127
|
+
2. **{{rule_name}}** — {{description}}
|
|
128
|
+
|
|
129
|
+
<!-- e.g.
|
|
130
|
+
1. **One User = One Task Owner** — Task can have only one assignee at a time
|
|
131
|
+
2. **Status Flow** — Tasks follow: todo → in_progress → done (no skip)
|
|
132
|
+
-->
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Glossary
|
|
137
|
+
|
|
138
|
+
| Term | Definition |
|
|
139
|
+
|------|------------|
|
|
140
|
+
| {{term}} | {{definition}} |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## References
|
|
145
|
+
|
|
146
|
+
→ Architecture: `{{path}}`
|
|
147
|
+
→ Requirements: `{{path}}`
|
|
@@ -13,114 +13,163 @@ metadata:
|
|
|
13
13
|
## When to Use
|
|
14
14
|
|
|
15
15
|
Use this skill when you need to:
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
- Discover hidden requirements through questions
|
|
16
|
+
- Gather requirements from stakeholders
|
|
17
|
+
- Document functional and non-functional requirements
|
|
18
|
+
- Create the foundation for PRD
|
|
20
19
|
|
|
21
|
-
##
|
|
20
|
+
## Template
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
Use template at: `@.opencode/skills/requirements-gathering/template.md`
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
1. What problem are we solving?
|
|
27
|
-
2. Who are the users/stakeholders?
|
|
28
|
-
3. What existing systems does this integrate with?
|
|
29
|
-
4. What's the timeline and budget?
|
|
30
|
-
5. What happens if we don't build this?
|
|
24
|
+
## Requirements Document Structure (v2)
|
|
31
25
|
|
|
32
|
-
###
|
|
26
|
+
### 1. Header
|
|
33
27
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
28
|
+
```yaml
|
|
29
|
+
id: REQ-001
|
|
30
|
+
version: 1.0
|
|
31
|
+
status: draft | approved
|
|
32
|
+
date: {{date}}
|
|
33
|
+
author: {{author}}
|
|
34
|
+
```
|
|
40
35
|
|
|
41
|
-
###
|
|
36
|
+
### 2. Summary
|
|
42
37
|
|
|
43
|
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
- **Reliability**: Uptime requirements? Recovery time?
|
|
48
|
-
- **Usability**: User expertise level? Accessibility?
|
|
38
|
+
Brief prose explaining:
|
|
39
|
+
- What problem is being solved
|
|
40
|
+
- Who the primary users are
|
|
41
|
+
- Key outcomes expected
|
|
49
42
|
|
|
50
|
-
###
|
|
43
|
+
### 3. Stakeholders
|
|
51
44
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
45
|
+
| Role | Representative | Interest | Influence |
|
|
46
|
+
|------|---------------|----------|-----------|
|
|
47
|
+
| Product Owner | Name | Feature delivery | High |
|
|
48
|
+
| End Users | Segment | Daily usage | High |
|
|
56
49
|
|
|
57
|
-
|
|
50
|
+
### 4. Functional Requirements
|
|
58
51
|
|
|
59
|
-
|
|
52
|
+
**Grouped by domain:**
|
|
60
53
|
|
|
61
54
|
```markdown
|
|
62
|
-
###
|
|
55
|
+
### Task Management
|
|
63
56
|
|
|
64
|
-
|
|
65
|
-
**Source:** [Stakeholder / Document / Interview]
|
|
66
|
-
**Category:** [Domain area]
|
|
57
|
+
Core task lifecycle operations.
|
|
67
58
|
|
|
68
|
-
|
|
69
|
-
|
|
59
|
+
| ID | Requirement | Priority | Source |
|
|
60
|
+
|----|-------------|----------|--------|
|
|
61
|
+
| FR-001 | User can create task | P0 | Team Lead |
|
|
70
62
|
|
|
71
|
-
**
|
|
72
|
-
-
|
|
73
|
-
- [ ] [Testable criterion 2]
|
|
63
|
+
**Business Rules:**
|
|
64
|
+
- One task = one assignee
|
|
74
65
|
|
|
75
|
-
**
|
|
76
|
-
|
|
66
|
+
**Notes:**
|
|
67
|
+
- Notifications in separate domain
|
|
77
68
|
```
|
|
78
69
|
|
|
79
|
-
### Non-Functional Requirements
|
|
70
|
+
### 5. Non-Functional Requirements
|
|
80
71
|
|
|
81
|
-
|
|
82
|
-
|
|
72
|
+
Separate tables by category:
|
|
73
|
+
- Performance (with metrics)
|
|
74
|
+
- Security
|
|
75
|
+
- Scalability
|
|
76
|
+
|
|
77
|
+
### 6. Constraints
|
|
78
|
+
|
|
79
|
+
| Type | Constraint | Impact |
|
|
80
|
+
|------|------------|--------|
|
|
81
|
+
| Technical | Must use existing auth | Limits options |
|
|
82
|
+
| Timeline | MVP in 3 months | Scope pressure |
|
|
83
|
+
|
|
84
|
+
### 7. Assumptions
|
|
85
|
+
|
|
86
|
+
| # | Assumption | Risk if Wrong | Validation |
|
|
87
|
+
|---|------------|---------------|------------|
|
|
88
|
+
| 1 | Users have modern browsers | IE support needed | Analytics |
|
|
89
|
+
|
|
90
|
+
### 8. Dependencies
|
|
91
|
+
|
|
92
|
+
| Dependency | Type | Owner | Status | Risk |
|
|
93
|
+
|------------|------|-------|--------|------|
|
|
94
|
+
| Auth service | Technical | Platform team | Available | Low |
|
|
95
|
+
|
|
96
|
+
### 9. Open Questions
|
|
97
|
+
|
|
98
|
+
| # | Question | Owner | Due | Status |
|
|
99
|
+
|---|----------|-------|-----|--------|
|
|
100
|
+
| 1 | Max file size? | PM | Jan 30 | Open |
|
|
101
|
+
|
|
102
|
+
### 10. Glossary
|
|
83
103
|
|
|
84
|
-
|
|
85
|
-
|
|
104
|
+
| Term | Definition |
|
|
105
|
+
|------|------------|
|
|
106
|
+
| Task | Unit of work assigned to user |
|
|
86
107
|
|
|
87
|
-
|
|
88
|
-
[Specific, measurable requirement]
|
|
108
|
+
### 11. References
|
|
89
109
|
|
|
90
|
-
|
|
91
|
-
|
|
110
|
+
```markdown
|
|
111
|
+
→ PRD: `docs/prd.md`
|
|
112
|
+
→ Stakeholder Interviews: `docs/interviews/`
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Reference Format
|
|
92
116
|
|
|
93
|
-
|
|
117
|
+
Use `→` for all references:
|
|
118
|
+
```markdown
|
|
119
|
+
→ PRD: `docs/prd.md`
|
|
120
|
+
→ FR: `FR-001`
|
|
94
121
|
```
|
|
95
122
|
|
|
96
|
-
## Requirement
|
|
123
|
+
## Requirement Writing Rules
|
|
124
|
+
|
|
125
|
+
### Good Requirements
|
|
126
|
+
|
|
127
|
+
| Rule | Good | Bad |
|
|
128
|
+
|------|------|-----|
|
|
129
|
+
| Atomic | User can create task | User can create and edit task |
|
|
130
|
+
| Measurable | Load in < 2s | Load quickly |
|
|
131
|
+
| Testable | Title max 200 chars | Title reasonable length |
|
|
132
|
+
| Unambiguous | Required field | Important field |
|
|
133
|
+
|
|
134
|
+
### Requirement IDs
|
|
135
|
+
|
|
136
|
+
- Functional: `FR-001`, `FR-002`, ...
|
|
137
|
+
- Non-Functional: `NFR-001`, `NFR-002`, ...
|
|
138
|
+
|
|
139
|
+
### Priority
|
|
140
|
+
|
|
141
|
+
| Level | Meaning | Scope |
|
|
142
|
+
|-------|---------|-------|
|
|
143
|
+
| P0 | Must have | MVP |
|
|
144
|
+
| P1 | Should have | Growth |
|
|
145
|
+
| P2 | Nice to have | Vision |
|
|
146
|
+
|
|
147
|
+
## Interview Questions
|
|
97
148
|
|
|
98
|
-
|
|
99
|
-
- [ ] **Specific** - Clear, unambiguous
|
|
100
|
-
- [ ] **Measurable** - Has acceptance criteria or metrics
|
|
101
|
-
- [ ] **Achievable** - Technically feasible
|
|
102
|
-
- [ ] **Relevant** - Tied to business value
|
|
103
|
-
- [ ] **Traceable** - Has unique ID and source
|
|
149
|
+
### Functional Discovery
|
|
104
150
|
|
|
105
|
-
|
|
151
|
+
1. What do you need to accomplish?
|
|
152
|
+
2. What information do you need to see?
|
|
153
|
+
3. What actions do you need to take?
|
|
154
|
+
4. What happens when X fails?
|
|
106
155
|
|
|
107
|
-
|
|
108
|
-
2. **Missing metrics**: "High availability" → "99.9% uptime"
|
|
109
|
-
3. **Solution masquerading as requirement**: "Use Redis" → "Cache frequently accessed data"
|
|
110
|
-
4. **Missing acceptance criteria**: Always include testable criteria
|
|
156
|
+
### NFR Discovery
|
|
111
157
|
|
|
112
|
-
|
|
158
|
+
1. How many users concurrently?
|
|
159
|
+
2. What response time is acceptable?
|
|
160
|
+
3. What's the data retention policy?
|
|
161
|
+
4. What security standards apply?
|
|
113
162
|
|
|
114
|
-
|
|
115
|
-
- "What would make this a failure even if it works correctly?"
|
|
116
|
-
- "Who else needs to be involved that we haven't talked to?"
|
|
117
|
-
- "What reports or dashboards do you need?"
|
|
118
|
-
- "How do you handle this process today?"
|
|
163
|
+
## Validation Checklist
|
|
119
164
|
|
|
120
|
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
165
|
+
- [ ] All stakeholders identified
|
|
166
|
+
- [ ] Requirements grouped by domain
|
|
167
|
+
- [ ] Each requirement is atomic and testable
|
|
168
|
+
- [ ] NFRs have measurable metrics
|
|
169
|
+
- [ ] Constraints documented
|
|
170
|
+
- [ ] Assumptions validated
|
|
171
|
+
- [ ] Dependencies identified with owners
|
|
172
|
+
- [ ] Uses `→` reference format
|
|
124
173
|
|
|
125
174
|
## Output
|
|
126
175
|
|
|
@@ -128,5 +177,6 @@ Save to: `docs/requirements/requirements.md`
|
|
|
128
177
|
|
|
129
178
|
## Related Skills
|
|
130
179
|
|
|
131
|
-
- `prd-writing` -
|
|
132
|
-
- `requirements-validation` -
|
|
180
|
+
- `prd-writing` - Uses requirements as input
|
|
181
|
+
- `requirements-validation` - Validates requirements
|
|
182
|
+
- `acceptance-criteria` - For testable AC
|