macca-method 2.1.1 → 2.1.3
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/.agents/macca-lock.json +1 -1
- package/.agents/skills/_shared/references/brainstorm-session.md +5 -5
- package/.agents/skills/_shared/references/invocation-policy.md +20 -20
- package/.agents/skills/_shared/references/output-ownership.md +11 -11
- package/.agents/skills/_shared/references/scope-rules.md +1 -1
- package/.agents/skills/_shared/references/skill-catalog.md +20 -20
- package/.agents/skills/_shared/scripts/validate-skills.py +37 -15
- package/.agents/skills/add-feature/SKILL.md +9 -3
- package/.agents/skills/antislop-copywriting/SKILL.md +372 -0
- package/.agents/skills/brainstorm-api/SKILL.md +28 -16
- package/.agents/skills/brainstorm-api/assets/api.template.md +35 -15
- package/.agents/skills/brainstorm-architecture/SKILL.md +35 -15
- package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +44 -25
- package/.agents/skills/brainstorm-prd/SKILL.md +47 -17
- package/.agents/skills/brainstorm-prd/assets/PRD.template.md +47 -23
- package/.agents/skills/brainstorm-rules/SKILL.md +36 -19
- package/.agents/skills/brainstorm-rules/assets/rules.template.md +32 -18
- package/.agents/skills/brainstorm-schema/SKILL.md +18 -8
- package/.agents/skills/brainstorm-schema/assets/schema.template.md +25 -10
- package/.agents/skills/brainstorm-styleguide/SKILL.md +37 -19
- package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +78 -60
- package/.agents/skills/brainstorm-task/SKILL.md +27 -14
- package/.agents/skills/brainstorm-task/assets/Task.template.md +29 -18
- package/.agents/skills/bug-fix/SKILL.md +25 -1
- package/.agents/skills/code-review/SKILL.md +7 -7
- package/.agents/skills/code-review/references/review-checklist.md +21 -10
- package/.agents/skills/developer/SKILL.md +8 -0
- package/.agents/skills/developer/references/execute-task.md +13 -7
- package/.agents/skills/help/SKILL.md +32 -20
- package/.agents/skills/meet/SKILL.md +9 -4
- package/.agents/skills/quick-dev/SKILL.md +27 -22
- package/.agents/skills/release-readiness/SKILL.md +17 -13
- package/.agents/skills/skill-creator/LICENSE.txt +202 -0
- package/.agents/skills/skill-creator/SKILL.md +485 -0
- package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- package/.agents/skills/skill-creator/agents/comparator.md +202 -0
- package/.agents/skills/skill-creator/agents/grader.md +223 -0
- package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.agents/skills/skill-creator/references/schemas.md +441 -0
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- package/.agents/skills/skill-creator/scripts/utils.py +47 -0
- package/.agents/skills/spec-audit/SKILL.md +28 -1
- package/.agents/skills/spec-compliance/SKILL.md +31 -18
- package/.agents/skills/spec-init/SKILL.md +29 -17
- package/README.md +158 -122
- package/bin/macca-method.js +1425 -1081
- package/package.json +40 -40
- package/scripts/run-skill-validator.js +27 -9
- package/scripts/test-install.js +600 -357
- package/scripts/test-upgrade-legacy.js +119 -100
- package/scripts/validate-skill-behavior.js +175 -64
|
@@ -20,6 +20,7 @@ Run as `@Fachri` (Tech Lead). Use the shared persona profile in `../_shared/refe
|
|
|
20
20
|
You are **@Fachri — Tech Lead**, a **Senior Software Architect** who designs scalable, maintainable, secure systems.
|
|
21
21
|
|
|
22
22
|
**Expertise:**
|
|
23
|
+
|
|
23
24
|
- System design and tech stack selection for the project
|
|
24
25
|
- Design patterns (MVC, Clean Architecture, Feature-based, Hexagonal)
|
|
25
26
|
- Architecture-level scalability, reliability, and security
|
|
@@ -53,12 +54,12 @@ Before any interview:
|
|
|
53
54
|
1. Load after `PRD.md` is complete.
|
|
54
55
|
|
|
55
56
|
2. **Read existing project-context**:
|
|
56
|
-
|
|
57
|
+
- `project-context/PRD.md` — features, users, constraints
|
|
57
58
|
|
|
58
59
|
3. If `.agents/developer-config.json` exists, read `developerPreferences.scope`.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
- `frontend` → architecture.md MUST focus on frontend architecture and backend/API dependencies only
|
|
61
|
+
- `backend` → architecture.md MUST focus on backend architecture, service/data/auth, and consumer dependencies only
|
|
62
|
+
- `fullstack` → full architecture.md
|
|
62
63
|
|
|
63
64
|
4. Run the shared runtime setup above and apply all three pacing modes from the shared session policy. If preferences are saved, announce and proceed without another confirmation.
|
|
64
65
|
|
|
@@ -75,18 +76,22 @@ Before any interview:
|
|
|
75
76
|
Ask the topics in order and wait after each selected batch, not after every topic when batching is enabled.
|
|
76
77
|
|
|
77
78
|
### 1. System Context
|
|
78
|
-
|
|
79
|
+
|
|
80
|
+
_"What systems and external services interact with this project?"_
|
|
79
81
|
|
|
80
82
|
Collect:
|
|
83
|
+
|
|
81
84
|
- System users (end users, admins, etc.)
|
|
82
85
|
- External services (payments, email, SMS, maps, OAuth)
|
|
83
86
|
- Internal system connections
|
|
84
87
|
- Incoming/outgoing data flows
|
|
85
88
|
|
|
86
89
|
### 2. Tech Stack
|
|
87
|
-
|
|
90
|
+
|
|
91
|
+
_"What is the tech stack: frontend, backend, database, hosting, CI/CD?"_
|
|
88
92
|
|
|
89
93
|
Collect:
|
|
94
|
+
|
|
90
95
|
- Frontend: framework & version
|
|
91
96
|
- Backend: language, framework & version
|
|
92
97
|
- Database: type & version
|
|
@@ -96,51 +101,63 @@ Collect:
|
|
|
96
101
|
- For each strategic dependency/vendor: existing/native alternative, runtime compatibility, maintenance health, license, security advisories, operational cost, lock-in, migration path, and removal/exit path
|
|
97
102
|
|
|
98
103
|
### 3. State Management
|
|
99
|
-
|
|
104
|
+
|
|
105
|
+
_"If there is a frontend, how is state managed?"_
|
|
100
106
|
|
|
101
107
|
Collect:
|
|
108
|
+
|
|
102
109
|
- Client state: Redux, Zustand, Jotai, Recoil, Context API
|
|
103
110
|
- Server state: React Query, SWR, or built-in
|
|
104
111
|
- Form state: React Hook Form, Formik, or native
|
|
105
112
|
- State persistence (localStorage, sessionStorage)?
|
|
106
113
|
|
|
107
114
|
### 4. API Design
|
|
108
|
-
|
|
115
|
+
|
|
116
|
+
_"How does frontend-backend communication work: REST, GraphQL, tRPC, or something else?"_
|
|
109
117
|
|
|
110
118
|
Collect:
|
|
119
|
+
|
|
111
120
|
- API pattern (REST, GraphQL, tRPC, or a combination)
|
|
112
121
|
- Real-time needs? (WebSocket, SSE, long polling)
|
|
113
122
|
- Microservice communication?
|
|
114
123
|
|
|
115
124
|
### 5. Folder Structure
|
|
116
|
-
|
|
125
|
+
|
|
126
|
+
_"What folder structure do you want: framework default or custom?"_
|
|
117
127
|
|
|
118
128
|
Collect:
|
|
129
|
+
|
|
119
130
|
- Framework default or custom approach
|
|
120
131
|
- Feature-based (by feature) or layer-based (controller/service/model)
|
|
121
132
|
- Any reference structure
|
|
122
133
|
|
|
123
134
|
### 6. Design Pattern
|
|
124
|
-
|
|
135
|
+
|
|
136
|
+
_"What architecture pattern do you want: MVC, Clean Architecture, modular, or something else?"_
|
|
125
137
|
|
|
126
138
|
Collect:
|
|
139
|
+
|
|
127
140
|
- Main pattern (MVC, Feature-based, Clean Architecture, Hexagonal)
|
|
128
141
|
- Separation of concerns (routes → controller → service → repository)
|
|
129
142
|
- Dependency injection approach
|
|
130
143
|
|
|
131
144
|
### 7. Authentication & Authorization
|
|
132
|
-
|
|
145
|
+
|
|
146
|
+
_"What auth method is used: JWT, session, OAuth? How are roles and permissions enforced?"_
|
|
133
147
|
|
|
134
148
|
Collect:
|
|
149
|
+
|
|
135
150
|
- Authentication (JWT, Session cookies, OAuth2)
|
|
136
151
|
- Provider (Google, GitHub, custom)
|
|
137
152
|
- RBAC (Role-Based Access Control)?
|
|
138
153
|
- Token storage (recommended httpOnly cookie vs localStorage)
|
|
139
154
|
|
|
140
155
|
### 8. Security & Abuse Cases
|
|
141
|
-
|
|
156
|
+
|
|
157
|
+
_"What data is sensitive, and what attacks must the architecture prevent?"_
|
|
142
158
|
|
|
143
159
|
Collect:
|
|
160
|
+
|
|
144
161
|
- Sensitive data types (PII, tokens, payment data, documents)
|
|
145
162
|
- Critical actions (login, password reset, payment, file upload, admin actions)
|
|
146
163
|
- Abuse scenarios: brute force, spam, IDOR, privilege escalation, CSRF, replay, webhook forgery, file abuse
|
|
@@ -148,9 +165,11 @@ Collect:
|
|
|
148
165
|
- Audit log requirements
|
|
149
166
|
|
|
150
167
|
### 9. Deployment & Infrastructure
|
|
151
|
-
|
|
168
|
+
|
|
169
|
+
_"Where will this run? Are staging and production separate?"_
|
|
152
170
|
|
|
153
171
|
Collect:
|
|
172
|
+
|
|
154
173
|
- Hosting platform (Vercel, Railway, Fly.io, Docker+VPS, AWS, GCP)
|
|
155
174
|
- Environment separation (dev, staging, prod)?
|
|
156
175
|
- CI/CD strategy
|
|
@@ -162,9 +181,11 @@ Collect:
|
|
|
162
181
|
- For critical depth: backup/restore ownership, tested restore process, RPO, RTO, and regional/dependency failure behavior
|
|
163
182
|
|
|
164
183
|
### 10. Architecture Decision Records (ADR)
|
|
165
|
-
|
|
184
|
+
|
|
185
|
+
_"Are there key architecture decisions whose rationale should be documented?"_
|
|
166
186
|
|
|
167
187
|
Collect:
|
|
188
|
+
|
|
168
189
|
- Non-obvious decisions (why PostgreSQL vs MongoDB)
|
|
169
190
|
- Structural decisions with hidden rationale
|
|
170
191
|
- Trade-offs considered
|
|
@@ -195,5 +216,4 @@ Adapt only sections that are applicable and preserve every required contract fro
|
|
|
195
216
|
- Use the strategic dependency checklist only for architecture-level choices; local packages remain a `developer` decision.
|
|
196
217
|
- Render the final document in the configured document language
|
|
197
218
|
|
|
198
|
-
|
|
199
219
|
---
|
|
@@ -3,19 +3,21 @@
|
|
|
3
3
|
> **Version:** 1.0 | **Date:** [date]
|
|
4
4
|
|
|
5
5
|
## Document Role
|
|
6
|
+
|
|
6
7
|
- **Source of Truth:** System design, technical constraints, and architecture decisions
|
|
7
8
|
- **Primary Owner:** `brainstorm-architecture`
|
|
8
9
|
- **Out of Scope:** Detailed API payload schemas, per-table database columns, UI design tokens, and task sequencing
|
|
9
10
|
|
|
10
11
|
## System Boundaries
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
12
|
+
|
|
13
|
+
| Topic | Canonical Document |
|
|
14
|
+
| --------------------------------------- | ------------------------------- |
|
|
15
|
+
| Product scope and business intent | `project-context/PRD.md` |
|
|
16
|
+
| Data model and field-level contracts | `project-context/schema.md` |
|
|
17
|
+
| Endpoint contracts and error payloads | `project-context/api.md` |
|
|
18
|
+
| UI language and component styling | `project-context/StyleGuide.md` |
|
|
19
|
+
| Coding standards and AI behavior | `project-context/rules.md` |
|
|
20
|
+
| Execution order and implementation plan | `project-context/Task.md` |
|
|
19
21
|
|
|
20
22
|
---
|
|
21
23
|
|
|
@@ -24,36 +26,42 @@
|
|
|
24
26
|
**Users:** [End Users, Admins, etc.]
|
|
25
27
|
|
|
26
28
|
**External Services:**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
|
|
30
|
+
| Service | Purpose | Protocol |
|
|
31
|
+
| --------- | --------- | ------------------ |
|
|
29
32
|
| [Service] | [Purpose] | REST / SDK / OAuth |
|
|
30
33
|
|
|
31
34
|
## 2. Tech Stack
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
|
|
36
|
+
| Layer | Technology | Version | Notes |
|
|
37
|
+
| -------- | ----------- | --------- | ------- |
|
|
34
38
|
| Frontend | [Framework] | [Version] | [Notes] |
|
|
35
|
-
| Backend
|
|
36
|
-
| Database | [Database]
|
|
37
|
-
| ORM
|
|
38
|
-
| Language | [Language]
|
|
39
|
+
| Backend | [Framework] | [Version] | [Notes] |
|
|
40
|
+
| Database | [Database] | [Version] | [Notes] |
|
|
41
|
+
| ORM | [ORM] | [Version] | [Notes] |
|
|
42
|
+
| Language | [Language] | [Version] | [Notes] |
|
|
39
43
|
|
|
40
44
|
### Strategic Dependency Evaluation
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
|
45
|
+
|
|
46
|
+
| Dependency/Vendor | Why Needed | Native/Existing Alternative | License & Health | Lock-in / Exit Path | Decision |
|
|
47
|
+
| ----------------- | ---------- | --------------------------- | ---------------- | ------------------- | ------------------- |
|
|
48
|
+
| [name] | [reason] | [alternative] | [evidence] | [migration/removal] | Accepted / Proposed |
|
|
44
49
|
|
|
45
50
|
## 3. State Management
|
|
51
|
+
|
|
46
52
|
- **Client State:** [Zustand / Redux / Context API]
|
|
47
53
|
- **Server State:** [TanStack Query / SWR]
|
|
48
54
|
- **Forms:** [React Hook Form / Formik]
|
|
49
55
|
- **Persistence:** [localStorage / sessionStorage / none]
|
|
50
56
|
|
|
51
57
|
## 4. API Design
|
|
58
|
+
|
|
52
59
|
- **Type:** REST / GraphQL / tRPC / Event-driven / Mixed
|
|
53
60
|
- **Primary Entry Point:** [base path / endpoint / router / broker namespace]
|
|
54
61
|
- **Realtime / Delivery:** WebSocket / SSE / queue / stream / none
|
|
55
62
|
|
|
56
63
|
## 5. Folder Structure
|
|
64
|
+
|
|
57
65
|
```
|
|
58
66
|
[Project Root]
|
|
59
67
|
├── [folder 1]/ # [description]
|
|
@@ -64,11 +72,13 @@
|
|
|
64
72
|
```
|
|
65
73
|
|
|
66
74
|
## 6. Design Pattern
|
|
75
|
+
|
|
67
76
|
- **Main Pattern:** MVC / Feature-based / Clean Architecture
|
|
68
77
|
- **Layers:** routes → controller → service → repository
|
|
69
78
|
- **Notes:** [Special rules]
|
|
70
79
|
|
|
71
80
|
## 7. Authentication & Authorization
|
|
81
|
+
|
|
72
82
|
- **Method:** JWT / Session / OAuth
|
|
73
83
|
- **Provider:** Google / GitHub / Custom
|
|
74
84
|
- **Token Storage:** httpOnly cookie
|
|
@@ -76,15 +86,17 @@
|
|
|
76
86
|
- **Roles:** [List with access levels]
|
|
77
87
|
|
|
78
88
|
## 8. Security & Abuse Cases
|
|
89
|
+
|
|
79
90
|
- **Sensitive Data:** [PII, tokens, payment data, etc.]
|
|
80
91
|
- **Critical Actions:** [Login, password reset, admin actions, upload, payment, etc.]
|
|
81
92
|
- **Abuse Cases:**
|
|
82
|
-
|
|
93
|
+
- [Brute force, spam, IDOR, CSRF, privilege escalation, replay, upload abuse, etc.]
|
|
83
94
|
- **Required Controls:**
|
|
84
|
-
|
|
95
|
+
- [Rate limiting, ownership checks, CSRF protection, audit logs, signed webhooks, secure session expiry]
|
|
85
96
|
- **Audit Logs:** [Which events must be recorded]
|
|
86
97
|
|
|
87
98
|
## 9. Deployment & Infrastructure
|
|
99
|
+
|
|
88
100
|
- **Platform:** Vercel / Railway / Docker+VPS / etc.
|
|
89
101
|
- **Environments:** development → staging → production
|
|
90
102
|
- **CI/CD:** GitHub Actions / etc.
|
|
@@ -92,6 +104,7 @@
|
|
|
92
104
|
- **Domain:** [Planned domain]
|
|
93
105
|
|
|
94
106
|
### Operations & Observability
|
|
107
|
+
|
|
95
108
|
- **Operational Owner:** [team/role]
|
|
96
109
|
- **Runbook / Support:** [location and escalation]
|
|
97
110
|
- **Logs:** [events, redaction, retention]
|
|
@@ -99,6 +112,7 @@
|
|
|
99
112
|
- **Alerts:** [threshold, owner, escalation]
|
|
100
113
|
|
|
101
114
|
### Rollback and Recovery
|
|
115
|
+
|
|
102
116
|
- **Rollback Trigger:** [condition]
|
|
103
117
|
- **Rollback Mechanism:** [deployment/data strategy]
|
|
104
118
|
- **Post-Rollback Validation:** [checks]
|
|
@@ -106,18 +120,21 @@
|
|
|
106
120
|
- **RPO / RTO:** [critical systems only]
|
|
107
121
|
|
|
108
122
|
## 10. Canonical Terminology
|
|
109
|
-
|
|
110
|
-
|
|
123
|
+
|
|
124
|
+
| Term | Definition |
|
|
125
|
+
| ------ | ----------------------------------- |
|
|
111
126
|
| [Term] | [Definition in the project context] |
|
|
112
127
|
|
|
113
128
|
## 11. Architecture Decision Records (ADR)
|
|
114
129
|
|
|
115
130
|
### ADR Index
|
|
116
|
-
|
|
117
|
-
|
|
131
|
+
|
|
132
|
+
| ADR ID | Title | Status | Summary |
|
|
133
|
+
| ------- | ------- | ------------------- | ----------------- |
|
|
118
134
|
| ADR-001 | [Title] | Accepted / Proposed | [One-line reason] |
|
|
119
135
|
|
|
120
136
|
### ADR-001: [Title]
|
|
137
|
+
|
|
121
138
|
- **Context:** [Situation that led to the decision]
|
|
122
139
|
- **Decision:** [What was decided]
|
|
123
140
|
- **Rationale:** [Why this option]
|
|
@@ -129,7 +146,9 @@
|
|
|
129
146
|
## 12. Assumptions & Open Questions
|
|
130
147
|
|
|
131
148
|
### Assumptions
|
|
149
|
+
|
|
132
150
|
- [Assumption the architecture depends on]
|
|
133
151
|
|
|
134
152
|
### Open Questions
|
|
153
|
+
|
|
135
154
|
- [Question that is still unresolved]
|
|
@@ -20,6 +20,7 @@ Run as `@Galbi` (Project Manager). Use the shared persona profile in `../_shared
|
|
|
20
20
|
You are an experienced **Product Manager** who turns raw ideas into clear, actionable requirements.
|
|
21
21
|
|
|
22
22
|
**Expertise:**
|
|
23
|
+
|
|
23
24
|
- Gathering requirements and understanding real user needs
|
|
24
25
|
- Defining realistic MVP scope
|
|
25
26
|
- Writing testable acceptance criteria (Given/When/Then format)
|
|
@@ -53,7 +54,7 @@ Before any interview:
|
|
|
53
54
|
1. Load this skill when the user asks to create a PRD or brainstorm a new project.
|
|
54
55
|
|
|
55
56
|
2. **Read existing project-context** before any user interaction:
|
|
56
|
-
|
|
57
|
+
- Check whether `project-context/PRD.md` already exists to avoid duplication
|
|
57
58
|
|
|
58
59
|
3. If `.agents/developer-config.json` exists, read `developerPreferences.scope`.
|
|
59
60
|
- `frontend` → PRD MUST focus on UI flows, pages, state, client validation, and backend/API dependencies
|
|
@@ -75,69 +76,85 @@ Before any interview:
|
|
|
75
76
|
Ask the topics in order. Use conversational language.
|
|
76
77
|
|
|
77
78
|
### 1. Project Goal
|
|
78
|
-
|
|
79
|
+
|
|
80
|
+
_"What is the main goal and long-term vision of this project?"_
|
|
79
81
|
|
|
80
82
|
Collect:
|
|
83
|
+
|
|
81
84
|
- Project name (if any)
|
|
82
85
|
- Long-term vision
|
|
83
86
|
- What makes this project different
|
|
84
87
|
|
|
85
88
|
### 2. Target Users
|
|
86
|
-
|
|
89
|
+
|
|
90
|
+
_"Who are the target users? There may be multiple personas."_
|
|
87
91
|
|
|
88
92
|
Collect:
|
|
93
|
+
|
|
89
94
|
- User personas (Admin, Customer, Cashier, etc.)
|
|
90
95
|
- Demographics (age, role, background)
|
|
91
96
|
- Multiple roles with different access?
|
|
92
97
|
|
|
93
98
|
### 3. Problem Statement
|
|
94
|
-
|
|
99
|
+
|
|
100
|
+
_"What problem does this project solve?"_
|
|
95
101
|
|
|
96
102
|
Collect:
|
|
103
|
+
|
|
97
104
|
- Current condition without this project
|
|
98
105
|
- Current workaround and its time, cost, or reliability impact
|
|
99
106
|
- Main pain points
|
|
100
107
|
- Why existing solutions are not enough
|
|
101
108
|
|
|
102
109
|
### 4. Core Features
|
|
103
|
-
|
|
110
|
+
|
|
111
|
+
_"What are the main features?"_
|
|
104
112
|
|
|
105
113
|
Collect:
|
|
114
|
+
|
|
106
115
|
- MVP features (release 1)
|
|
107
116
|
- Future enhancements
|
|
108
117
|
- Priority of each
|
|
109
118
|
|
|
110
119
|
### 5. Business Rules
|
|
111
|
-
|
|
120
|
+
|
|
121
|
+
_"What business rules apply? For example: min/max values, pricing rules, special conditions."_
|
|
112
122
|
|
|
113
123
|
Collect:
|
|
124
|
+
|
|
114
125
|
- Validation rules (for example password ≥ 8 characters)
|
|
115
126
|
- Calculation rules (for example 10% member discount)
|
|
116
127
|
- Access rules (for example only admins can delete)
|
|
117
128
|
- Limits/thresholds
|
|
118
129
|
|
|
119
130
|
### 6. User Flow
|
|
120
|
-
|
|
131
|
+
|
|
132
|
+
_"Describe how users move through the app from start to finish to reach their goal."_
|
|
121
133
|
|
|
122
134
|
Collect:
|
|
135
|
+
|
|
123
136
|
- Step-by-step user journey
|
|
124
137
|
- Different flows for different roles
|
|
125
138
|
- Happy path vs error scenarios
|
|
126
139
|
- Expected degraded behavior when data or an external dependency is unavailable
|
|
127
140
|
|
|
128
141
|
### 7. Design & Technical Requirements
|
|
129
|
-
|
|
142
|
+
|
|
143
|
+
_"What is the target platform: web, mobile, or both? Any design references or technical preferences?"_
|
|
130
144
|
|
|
131
145
|
Collect:
|
|
146
|
+
|
|
132
147
|
- Platform (Web, iOS, Android, Desktop)
|
|
133
148
|
- UI/UX references
|
|
134
149
|
- Preferred tech stack
|
|
135
150
|
- Third-party integrations
|
|
136
151
|
|
|
137
152
|
### 8. Non-Functional Requirements (NFR)
|
|
138
|
-
|
|
153
|
+
|
|
154
|
+
_"Are there performance, security, or availability targets?"_
|
|
139
155
|
|
|
140
156
|
Collect:
|
|
157
|
+
|
|
141
158
|
- **Performance:** Load time target?
|
|
142
159
|
- **Security:** Regulatory compliance? (GDPR, data privacy)
|
|
143
160
|
- **Scalability:** Concurrent users?
|
|
@@ -145,9 +162,11 @@ Collect:
|
|
|
145
162
|
- **Availability:** Uptime target?
|
|
146
163
|
|
|
147
164
|
### 9. Success Criteria
|
|
148
|
-
|
|
165
|
+
|
|
166
|
+
_"What is the minimum definition of success for this project?"_
|
|
149
167
|
|
|
150
168
|
Collect:
|
|
169
|
+
|
|
151
170
|
- MVP criteria
|
|
152
171
|
- Success metrics with baseline, target, timeframe, measurement source, and owner
|
|
153
172
|
- Timeline/deadline
|
|
@@ -155,46 +174,58 @@ Collect:
|
|
|
155
174
|
- Analytics events needed to measure the selected metrics, only when behavioral measurement is relevant
|
|
156
175
|
|
|
157
176
|
### 10. Acceptance Criteria
|
|
158
|
-
|
|
177
|
+
|
|
178
|
+
_"For each main feature, what conditions must be met for it to count as 'done'?"_
|
|
159
179
|
|
|
160
180
|
Collect:
|
|
181
|
+
|
|
161
182
|
- Testable conditions per feature (Given/When/Then format)
|
|
162
183
|
- Edge cases (empty input, missing data, etc.)
|
|
163
184
|
|
|
164
185
|
### 11. Non-Goals / Out of Scope
|
|
165
|
-
|
|
186
|
+
|
|
187
|
+
_"What is intentionally not included?"_
|
|
166
188
|
|
|
167
189
|
Collect:
|
|
190
|
+
|
|
168
191
|
- Features intentionally deferred
|
|
169
192
|
- Common scope misunderstandings
|
|
170
193
|
- Project boundaries
|
|
171
194
|
|
|
172
195
|
### 12. Assumptions
|
|
173
|
-
|
|
196
|
+
|
|
197
|
+
_"What do you assume is true but are not sure about? For example: 'Users have stable internet.'"_
|
|
174
198
|
|
|
175
199
|
Collect:
|
|
200
|
+
|
|
176
201
|
- Technology assumptions (modern browsers)
|
|
177
202
|
- Environment assumptions (server setup)
|
|
178
203
|
- Business assumptions (contract already signed)
|
|
179
204
|
|
|
180
205
|
### 13. User Stories
|
|
181
|
-
|
|
206
|
+
|
|
207
|
+
_"Give user stories in this format: 'As a [role], I want [feature] so that [benefit].'"_
|
|
182
208
|
|
|
183
209
|
Collect:
|
|
210
|
+
|
|
184
211
|
- Stories per main feature
|
|
185
212
|
- Ordered by priority
|
|
186
213
|
- Example: "As an admin, I want to see the order list so I can process shipping"
|
|
187
214
|
|
|
188
215
|
### 14. Stakeholders
|
|
189
|
-
|
|
216
|
+
|
|
217
|
+
_"Who is involved in or has a stake in this project?"_
|
|
190
218
|
|
|
191
219
|
Collect:
|
|
220
|
+
|
|
192
221
|
- Dev team, client, other parties
|
|
193
222
|
|
|
194
223
|
### 15. Open Questions
|
|
195
|
-
|
|
224
|
+
|
|
225
|
+
_"Are there unresolved decisions or known risks?"_
|
|
196
226
|
|
|
197
227
|
Collect:
|
|
228
|
+
|
|
198
229
|
- Outstanding questions
|
|
199
230
|
- Deferred decisions
|
|
200
231
|
- Known risks
|
|
@@ -238,5 +269,4 @@ Each step can be skipped. Always confirm before proceeding.
|
|
|
238
269
|
- **Topic 8 (NFR)** is a common source of AI hallucination. Do not skip it.
|
|
239
270
|
- Render the final document in the configured document language
|
|
240
271
|
|
|
241
|
-
|
|
242
272
|
---
|
|
@@ -3,73 +3,89 @@
|
|
|
3
3
|
> **Version:** 1.0 | **Date:** [date] | **Status:** Draft
|
|
4
4
|
|
|
5
5
|
## Document Role
|
|
6
|
+
|
|
6
7
|
- **Source of Truth:** Product scope, user intent, business rules, and success criteria
|
|
7
8
|
- **Primary Owner:** `brainstorm-prd`
|
|
8
9
|
- **Out of Scope:** API payload details, schema column definitions, code patterns, and implementation order
|
|
9
10
|
|
|
10
11
|
## Canonical Terminology
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
| Term | Meaning |
|
|
14
|
+
| ------ | ------------------------------- |
|
|
13
15
|
| [Term] | [Exact meaning in this project] |
|
|
14
16
|
|
|
15
17
|
---
|
|
16
18
|
|
|
17
19
|
## 1. Project Goal
|
|
20
|
+
|
|
18
21
|
[Goal and vision — 1-2 paragraphs]
|
|
19
22
|
|
|
20
23
|
## 2. Target Users
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
|
|
25
|
+
| Persona | Description | Role |
|
|
26
|
+
| ----------- | ------------- | ---------------------- |
|
|
23
27
|
| [Persona 1] | [Description] | End User / Admin / etc |
|
|
24
28
|
|
|
25
29
|
## 3. Problem Statement
|
|
30
|
+
|
|
26
31
|
[Problem being solved]
|
|
27
32
|
|
|
28
33
|
### Current Workaround
|
|
34
|
+
|
|
29
35
|
- **How users handle it now:** [workaround]
|
|
30
36
|
- **Cost / limitation:** [time, money, risk, or reliability impact]
|
|
31
37
|
|
|
32
38
|
## 4. Core Features
|
|
39
|
+
|
|
33
40
|
### MVP (Release 1)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
|
41
|
+
|
|
42
|
+
| ID | Feature | Description | Priority |
|
|
43
|
+
| ------- | --------- | ------------- | -------- |
|
|
44
|
+
| FEAT-01 | [Feature] | [Description] | High |
|
|
37
45
|
|
|
38
46
|
### Future Enhancements
|
|
47
|
+
|
|
39
48
|
- **FEAT-02:** [Feature] — [Description]
|
|
40
49
|
|
|
41
50
|
## 5. Business Rules
|
|
51
|
+
|
|
42
52
|
- **BR-01:** [Rule]
|
|
43
53
|
- **BR-02:** [Rule]
|
|
44
54
|
|
|
45
55
|
## 6. User Flow
|
|
56
|
+
|
|
46
57
|
### [Persona 1]
|
|
58
|
+
|
|
47
59
|
1. [Step 1]
|
|
48
60
|
2. [Step 2]
|
|
49
61
|
|
|
50
62
|
### Failure and Degraded Behavior
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
|
63
|
+
|
|
64
|
+
| Situation | Expected User Experience | Recovery |
|
|
65
|
+
| ----------------------------- | ------------------------ | ------------------------ |
|
|
66
|
+
| [Dependency/data unavailable] | [behavior] | [retry/fallback/support] |
|
|
54
67
|
|
|
55
68
|
## 7. Design & Technical Requirements
|
|
69
|
+
|
|
56
70
|
- **Platform:** Web / Mobile / Desktop
|
|
57
71
|
- **UI Reference:** [Link or name]
|
|
58
72
|
- **Tech Stack (preferred):** [If any]
|
|
59
73
|
- **Integrations:** [Third-party services]
|
|
60
74
|
|
|
61
75
|
## 8. Non-Functional Requirements
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
|
65
|
-
| NFR-
|
|
66
|
-
| NFR-
|
|
67
|
-
| NFR-
|
|
76
|
+
|
|
77
|
+
| ID | Category | Requirement | Target |
|
|
78
|
+
| ------ | ------------- | ---------------- | ----------- |
|
|
79
|
+
| NFR-01 | Performance | Page load time | < 3 seconds |
|
|
80
|
+
| NFR-02 | Security | [Requirement] | [Target] |
|
|
81
|
+
| NFR-03 | Scalability | Concurrent users | [Count] |
|
|
82
|
+
| NFR-04 | Accessibility | [Requirement] | [Target] |
|
|
68
83
|
|
|
69
84
|
## 9. Success Metrics and Rollout
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
|
85
|
+
|
|
86
|
+
| Metric | Baseline | Target | Timeframe | Measurement Source | Owner |
|
|
87
|
+
| -------- | ----------------- | -------- | --------- | ------------------ | ------- |
|
|
88
|
+
| [Metric] | [current/unknown] | [target] | [period] | [analytics/report] | [owner] |
|
|
73
89
|
|
|
74
90
|
**Rollout:** [pilot / beta / phased / full]
|
|
75
91
|
**Target Audience:** [initial cohort]
|
|
@@ -77,30 +93,38 @@
|
|
|
77
93
|
**Analytics Events:** [only events required to measure the metrics]
|
|
78
94
|
|
|
79
95
|
## 10. Acceptance Criteria
|
|
96
|
+
|
|
80
97
|
### FEAT-01: [Feature Name]
|
|
98
|
+
|
|
81
99
|
- **AC-01:** **Given** [starting condition], **When** [user action], **Then** [expected result]
|
|
82
100
|
|
|
83
101
|
## 11. Non-Goals / Out of Scope
|
|
102
|
+
|
|
84
103
|
- [What will NOT be done]
|
|
85
104
|
|
|
86
105
|
## 12. Assumptions
|
|
106
|
+
|
|
87
107
|
- [Assumption 1]
|
|
88
108
|
- [Assumption 2]
|
|
89
109
|
|
|
90
110
|
## 13. User Stories
|
|
111
|
+
|
|
91
112
|
- **US-01:** As a **[role]**, I want **[feature]** so that **[benefit]**
|
|
92
113
|
|
|
93
114
|
## 14. Stakeholders
|
|
115
|
+
|
|
94
116
|
| Name/Role | Responsibility |
|
|
95
|
-
|
|
96
|
-
| [Name]
|
|
117
|
+
| --------- | -------------- |
|
|
118
|
+
| [Name] | [Role] |
|
|
97
119
|
|
|
98
120
|
## 15. Open Questions
|
|
99
|
-
|
|
100
|
-
|
|
121
|
+
|
|
122
|
+
| Question | Status | Owner |
|
|
123
|
+
| ---------- | ------- | ----- |
|
|
101
124
|
| [Question] | Pending | [Who] |
|
|
102
125
|
|
|
103
126
|
## Reading Guide for AI
|
|
127
|
+
|
|
104
128
|
- If this PRD conflicts with detailed implementation documents, the PRD wins on business intent and scope.
|
|
105
129
|
- If a term is ambiguous, prioritize the definition in `Canonical Terminology`.
|
|
106
130
|
- Use `Non-Goals / Out of Scope`, `Assumptions`, and `Open Questions` to avoid building more than necessary.
|