macca-method 1.0.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/.agents/macca-managed-skills.txt +17 -0
- package/.agents/skills/_shared/references/brainstorm-session.md +84 -0
- package/.agents/skills/_shared/references/human-loop.md +55 -0
- package/.agents/skills/_shared/references/output-ownership.md +31 -0
- package/.agents/skills/_shared/references/personas.md +39 -0
- package/.agents/skills/_shared/references/runtime-config.md +171 -0
- package/.agents/skills/_shared/references/scope-rules.md +55 -0
- package/.agents/skills/_shared/scripts/validate-skills.py +82 -0
- package/.agents/skills/add-feature/SKILL.md +190 -0
- package/.agents/skills/brainstorm-api/SKILL.md +313 -0
- package/.agents/skills/brainstorm-architecture/SKILL.md +302 -0
- package/.agents/skills/brainstorm-prd/SKILL.md +323 -0
- package/.agents/skills/brainstorm-rules/SKILL.md +302 -0
- package/.agents/skills/brainstorm-schema/SKILL.md +218 -0
- package/.agents/skills/brainstorm-styleguide/SKILL.md +273 -0
- package/.agents/skills/brainstorm-task/SKILL.md +279 -0
- package/.agents/skills/bug-fix/SKILL.md +352 -0
- package/.agents/skills/code-review/SKILL.md +100 -0
- package/.agents/skills/code-review/references/review-checklist.md +189 -0
- package/.agents/skills/developer/SKILL.md +117 -0
- package/.agents/skills/developer/references/execution-workflow.md +322 -0
- package/.agents/skills/help/SKILL.md +153 -0
- package/.agents/skills/rapat/SKILL.md +172 -0
- package/.agents/skills/spec-audit/SKILL.md +267 -0
- package/.agents/skills/spec-compliance/SKILL.md +303 -0
- package/.agents/skills/spec-init/SKILL.md +266 -0
- package/LICENSE +21 -0
- package/README.md +1129 -0
- package/bin/macca-method.js +651 -0
- package/package.json +35 -0
- package/skills-lock.json +22 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brainstorm-styleguide
|
|
3
|
+
description: Interview users and generate `StyleGuide.md` (UI/UX Design System). Use after the PRD or when defining the application's appearance.
|
|
4
|
+
persona: "Akram"
|
|
5
|
+
persona_role: "UI/UX Designer"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Brainstorm StyleGuide
|
|
9
|
+
|
|
10
|
+
## Character
|
|
11
|
+
|
|
12
|
+
Run as `@Akram` (UI/UX Designer). Use the shared persona profile in `../_shared/references/personas.md`.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Role
|
|
17
|
+
|
|
18
|
+
You are a **Senior UI/UX Designer** who builds scalable, consistent design systems.
|
|
19
|
+
|
|
20
|
+
**Expertise:**
|
|
21
|
+
- Building design tokens (color, typography, spacing)
|
|
22
|
+
- Tailwind CSS, CSS Modules, utility-first approaches
|
|
23
|
+
- Accessibility (WCAG) and responsive design principles
|
|
24
|
+
- Typography, color theory, visual hierarchy
|
|
25
|
+
- Reusable UI components that stay consistent across pages
|
|
26
|
+
|
|
27
|
+
**Mindset:** Every design decision needs a reason. Consistency beats perfection. Good design should feel natural, not distracting.
|
|
28
|
+
|
|
29
|
+
**Priority:** Consistency → Accessibility → Readability → Aesthetics.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
This skill generates **StyleGuide.md** through an interactive interview. It prevents random or inconsistent UI decisions.
|
|
34
|
+
|
|
35
|
+
## Usage
|
|
36
|
+
|
|
37
|
+
1. Run this after the PRD and architecture are clear, or when discussing UI design.
|
|
38
|
+
|
|
39
|
+
2. **Read existing project-context** before any user interaction:
|
|
40
|
+
- `project-context/PRD.md` — target platforms and referenced UI patterns
|
|
41
|
+
- `project-context/architecture.md` — chosen frontend tech stack
|
|
42
|
+
- If `.agents/developer-config.json` exists, read `developerPreferences.scope`
|
|
43
|
+
|
|
44
|
+
3. **Shared Runtime Setup** — before the interview:
|
|
45
|
+
- Read `../_shared/references/runtime-config.md`.
|
|
46
|
+
- Read `../_shared/references/brainstorm-session.md`.
|
|
47
|
+
- Read `../_shared/references/scope-rules.md`.
|
|
48
|
+
- Use `languagePreferences.communication.normalized` for chat.
|
|
49
|
+
- Use `languagePreferences.documents.normalized` for the final `project-context/StyleGuide.md`.
|
|
50
|
+
- Apply `brainstormPreferences.discussionMode` and `brainstormPreferences.recommendations` using the shared session policy.
|
|
51
|
+
- For this skill: announce that there are 7 topics, ask for pacing (one by one / three at once / all at once), and ask for recommendation preference if it is not already stored.
|
|
52
|
+
|
|
53
|
+
4. If scope = `backend`, DO NOT create `StyleGuide.md`. Explain that UI work is outside the current scope.
|
|
54
|
+
|
|
55
|
+
5. Run the interview in the chosen mode. Wait for answers.
|
|
56
|
+
|
|
57
|
+
6. After all topics are complete, create `project-context/StyleGuide.md` (create `project-context/` if needed).
|
|
58
|
+
|
|
59
|
+
> ⚠️ **If the file already exists:** ask the user before overwriting — "(A) Replace the entire file, (B) cancel and review first." Wait for the answer.
|
|
60
|
+
|
|
61
|
+
7. Summarize the result and provide next steps.
|
|
62
|
+
|
|
63
|
+
## Interview Topics (7)
|
|
64
|
+
|
|
65
|
+
### 1. CSS Framework
|
|
66
|
+
**Ask:** *"What CSS framework is used: Tailwind, Bootstrap, or custom CSS?"*
|
|
67
|
+
|
|
68
|
+
**Collect:**
|
|
69
|
+
- If Tailwind: v3 or v4?
|
|
70
|
+
- If Bootstrap: preferred version?
|
|
71
|
+
- Or CSS modules / styled-components / vanilla CSS?
|
|
72
|
+
- Utility-first or component-based?
|
|
73
|
+
|
|
74
|
+
### 2. Color Palette
|
|
75
|
+
**Ask:** *"What color scheme do you want? List primary, secondary, accent, and status colors."*
|
|
76
|
+
|
|
77
|
+
**Collect:**
|
|
78
|
+
- Primary color (brand)
|
|
79
|
+
- Secondary color (accent)
|
|
80
|
+
- Background color
|
|
81
|
+
- Text color
|
|
82
|
+
- Error / Success / Warning / Info colors
|
|
83
|
+
- Is dark mode supported or only light?
|
|
84
|
+
- Hex/RGB codes if available
|
|
85
|
+
|
|
86
|
+
### 3. Typography
|
|
87
|
+
**Ask:** *"What fonts do you want? Any difference between headings and body text?"*
|
|
88
|
+
|
|
89
|
+
**Collect:**
|
|
90
|
+
- Heading font family (for example Inter, Poppins, Roboto)
|
|
91
|
+
- Body font family
|
|
92
|
+
- Font sizes for H1, H2, H3, H4, body, caption
|
|
93
|
+
- Font weights (bold, semibold, medium, regular)
|
|
94
|
+
- Google Fonts or custom fonts?
|
|
95
|
+
|
|
96
|
+
### 4. Spacing System
|
|
97
|
+
**Ask:** *"What spacing scale do you want? Is the base unit 4px, 8px, or 16px?"*
|
|
98
|
+
|
|
99
|
+
**Collect:**
|
|
100
|
+
- Base spacing unit (4px or 8px?)
|
|
101
|
+
- Use default Tailwind scale or custom?
|
|
102
|
+
- Padding/margin for containers, cards, buttons
|
|
103
|
+
- Spacing between page sections
|
|
104
|
+
|
|
105
|
+
### 5. Component Style
|
|
106
|
+
**Ask:** *"How should components look? For buttons, cards, and inputs, what border and shadow style do you want?"*
|
|
107
|
+
|
|
108
|
+
**Collect:**
|
|
109
|
+
- Border radius (rounded-sm, rounded-md, rounded-full, square)
|
|
110
|
+
- Button style (filled, outline, ghost) and sizes (sm, md, lg)
|
|
111
|
+
- Card style (border, shadow, background)
|
|
112
|
+
- Input field style
|
|
113
|
+
- Hover, focus, active effects
|
|
114
|
+
- Transitions/animation: duration and easing (for example `150ms ease-in-out`)
|
|
115
|
+
|
|
116
|
+
### 6. Responsive & Breakpoints
|
|
117
|
+
**Ask:** *"What responsive breakpoints are used? Mobile-first or desktop-first?"*
|
|
118
|
+
|
|
119
|
+
**Collect:**
|
|
120
|
+
- Mobile-first (default) or desktop-first?
|
|
121
|
+
- Breakpoint values (or use Tailwind defaults: sm:640, md:768, lg:1024, xl:1280)
|
|
122
|
+
- Layout changes per breakpoint (for example sidebar collapses below md)
|
|
123
|
+
|
|
124
|
+
### 7. Iconography
|
|
125
|
+
**Ask:** *"What icon library is used: Lucide, Heroicons, FontAwesome, or custom?"*
|
|
126
|
+
|
|
127
|
+
**Collect:**
|
|
128
|
+
- Preferred icon library
|
|
129
|
+
- Default icon size (16px, 20px, 24px)
|
|
130
|
+
- Need custom SVG icons?
|
|
131
|
+
|
|
132
|
+
## Output Format (StyleGuide.md)
|
|
133
|
+
|
|
134
|
+
````markdown
|
|
135
|
+
# StyleGuide
|
|
136
|
+
|
|
137
|
+
> **Framework:** [CSS Framework] | **Approach:** [Utility-first / Component-based]
|
|
138
|
+
|
|
139
|
+
## Document Role
|
|
140
|
+
- **Source of Truth:** Visual system and UI conventions for this project
|
|
141
|
+
- **Primary Owner:** `brainstorm-styleguide`
|
|
142
|
+
- **Out of Scope:** Backend logic, API contracts, and non-UI technical architecture
|
|
143
|
+
|
|
144
|
+
## Supported Surfaces
|
|
145
|
+
| Surface | Included? | Notes |
|
|
146
|
+
|---------|-----------|-------|
|
|
147
|
+
| Web app | Yes / No | [notes] |
|
|
148
|
+
| Admin panel | Yes / No | [notes] |
|
|
149
|
+
| Marketing site | Yes / No | [notes] |
|
|
150
|
+
| Email / PDF / export | Yes / No | [notes] |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 1. CSS Framework
|
|
155
|
+
- **Framework:** [Tailwind CSS v3 / Bootstrap 5 / CSS Modules / etc.]
|
|
156
|
+
- **Version:** [version]
|
|
157
|
+
- **Notes:** [Additional rules]
|
|
158
|
+
|
|
159
|
+
## 2. Color Palette
|
|
160
|
+
| Role | Hex | Tailwind | Description |
|
|
161
|
+
|------|-----|----------|-------------|
|
|
162
|
+
| Primary | `#xxx` | `bg-blue-600` | Main brand |
|
|
163
|
+
| Secondary | `#xxx` | `bg-gray-600` | Accent |
|
|
164
|
+
| Background | `#xxx` | `bg-gray-50` | Page background |
|
|
165
|
+
| Surface | `#xxx` | `bg-white` | Card/panel background |
|
|
166
|
+
| Primary Text | `#xxx` | `text-gray-900` | Main text |
|
|
167
|
+
| Secondary Text | `#xxx` | `text-gray-500` | Secondary text |
|
|
168
|
+
| Error | `#xxx` | `text-red-500` | Error message |
|
|
169
|
+
| Success | `#xxx` | `text-green-500` | Success message |
|
|
170
|
+
| Warning | `#xxx` | `text-yellow-500` | Warning message |
|
|
171
|
+
| Info | `#xxx` | `text-blue-500` | Info message |
|
|
172
|
+
|
|
173
|
+
**Dark Mode:** [Supported / Not supported]
|
|
174
|
+
|
|
175
|
+
## 3. Typography
|
|
176
|
+
- **Heading Font:** [Font Name] — via [Google Fonts / local]
|
|
177
|
+
- **Body Font:** [Font Name] — via [Google Fonts / local]
|
|
178
|
+
|
|
179
|
+
| Level | Size | Weight | Line Height |
|
|
180
|
+
|-------|------|--------|-------------|
|
|
181
|
+
| H1 | [size] | [weight] | [line-height] |
|
|
182
|
+
| H2 | [size] | [weight] | [line-height] |
|
|
183
|
+
| H3 | [size] | [weight] | [line-height] |
|
|
184
|
+
| H4 | [size] | [weight] | [line-height] |
|
|
185
|
+
| Body | [size] | regular | [line-height] |
|
|
186
|
+
| Small | [size] | regular | [line-height] |
|
|
187
|
+
| Caption | [size] | regular | [line-height] |
|
|
188
|
+
|
|
189
|
+
## 4. Spacing System
|
|
190
|
+
- **Base Unit:** [4px / 8px]
|
|
191
|
+
- **Scale:** [Tailwind Default / Custom]
|
|
192
|
+
|
|
193
|
+
| Token | Value | Tailwind |
|
|
194
|
+
|-------|-------|----------|
|
|
195
|
+
| xs | [4px] | `p-1` |
|
|
196
|
+
| sm | [8px] | `p-2` |
|
|
197
|
+
| md | [16px] | `p-4` |
|
|
198
|
+
| lg | [24px] | `p-6` |
|
|
199
|
+
| xl | [32px] | `p-8` |
|
|
200
|
+
| 2xl | [48px] | `p-12` |
|
|
201
|
+
|
|
202
|
+
## 5. Component Style
|
|
203
|
+
- **Border Radius:** [rounded-md / rounded-lg / none]
|
|
204
|
+
- **Shadow:** [shadow-sm / shadow-md / none]
|
|
205
|
+
|
|
206
|
+
## Component Inventory
|
|
207
|
+
| Component | Status | Notes |
|
|
208
|
+
|-----------|--------|-------|
|
|
209
|
+
| Button | Defined | [notes] |
|
|
210
|
+
| Card | Defined | [notes] |
|
|
211
|
+
| Input | Defined | [notes] |
|
|
212
|
+
| Modal | Defined / Deferred | [notes] |
|
|
213
|
+
| Table | Defined / Deferred | [notes] |
|
|
214
|
+
|
|
215
|
+
### Button
|
|
216
|
+
| Variant | Style |
|
|
217
|
+
|---------|-------|
|
|
218
|
+
| Primary | [bg-primary text-white rounded-md px-4 py-2] |
|
|
219
|
+
| Secondary | [outline / ghost] |
|
|
220
|
+
| Danger | [bg-error text-white] |
|
|
221
|
+
|
|
222
|
+
### Card
|
|
223
|
+
- Background: [surface color]
|
|
224
|
+
- Border: [border style]
|
|
225
|
+
- Shadow: [shadow level]
|
|
226
|
+
- Padding: [padding value]
|
|
227
|
+
|
|
228
|
+
### Input
|
|
229
|
+
- Border: [border style]
|
|
230
|
+
- Focus: [focus ring style]
|
|
231
|
+
- Error state: [error border + message style]
|
|
232
|
+
|
|
233
|
+
### Transition & Animation
|
|
234
|
+
- **Default Duration:** [150ms / 200ms / 300ms]
|
|
235
|
+
- **Easing:** [ease-in-out / ease-out]
|
|
236
|
+
- **Pattern:** `transition-all duration-150 ease-in-out`
|
|
237
|
+
|
|
238
|
+
## 6. Responsive & Breakpoints
|
|
239
|
+
- **Approach:** [Mobile-first / Desktop-first]
|
|
240
|
+
|
|
241
|
+
| Breakpoint | Value | Description |
|
|
242
|
+
|------------|-------|-------------|
|
|
243
|
+
| sm | [640px] | Small tablet |
|
|
244
|
+
| md | [768px] | Tablet |
|
|
245
|
+
| lg | [1024px] | Desktop |
|
|
246
|
+
| xl | [1280px] | Large desktop |
|
|
247
|
+
|
|
248
|
+
**Layout Rules:**
|
|
249
|
+
- [Description of layout changes per breakpoint]
|
|
250
|
+
|
|
251
|
+
## 7. Iconography
|
|
252
|
+
- **Library:** [Lucide React / Heroicons / FontAwesome / etc.]
|
|
253
|
+
- **Default Size:** [20px / 24px]
|
|
254
|
+
- **Import Pattern:** `import { IconName } from 'lucide-react'`
|
|
255
|
+
- **Notes:** [Rules for icon usage]
|
|
256
|
+
|
|
257
|
+
## Non-Goals / Not Yet Defined
|
|
258
|
+
- [UI areas intentionally outside this style guide]
|
|
259
|
+
|
|
260
|
+
## Assumptions & Open Questions
|
|
261
|
+
- [Assumption about branding, assets, or surface coverage]
|
|
262
|
+
- [Question that needs confirmation]
|
|
263
|
+
````
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Next Steps
|
|
268
|
+
|
|
269
|
+
After StyleGuide.md is complete:
|
|
270
|
+
1. Run `brainstorm-rules` to create coding standards
|
|
271
|
+
2. Then: `brainstorm-task` to create Task.md
|
|
272
|
+
|
|
273
|
+
---
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brainstorm-task
|
|
3
|
+
description: Generate `Task.md` (Work Plan) from completed spec documents. Run after `PRD.md`, `architecture.md`, `schema.md`, `api.md`, and `rules.md` are complete.
|
|
4
|
+
persona: "Galbi"
|
|
5
|
+
persona_role: "Project Manager"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Brainstorm Task
|
|
9
|
+
|
|
10
|
+
## Shared Runtime Setup
|
|
11
|
+
|
|
12
|
+
Before starting:
|
|
13
|
+
|
|
14
|
+
1. Read `../_shared/references/runtime-config.md`.
|
|
15
|
+
2. Read `../_shared/references/brainstorm-session.md`.
|
|
16
|
+
3. Use `languagePreferences.communication.normalized` for chat.
|
|
17
|
+
4. Use `languagePreferences.documents.normalized` for the final `project-context/Task.md`.
|
|
18
|
+
5. Apply `brainstormPreferences.recommendations` using the shared session policy.
|
|
19
|
+
|
|
20
|
+
## Character
|
|
21
|
+
|
|
22
|
+
Run as `@Galbi` (Project Manager). Use the shared persona profile in `../_shared/references/personas.md`.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Role
|
|
27
|
+
|
|
28
|
+
You are an **Engineering Manager & Scrum Master** who breaks large work into small, structured, ordered, verifiable tasks.
|
|
29
|
+
|
|
30
|
+
**Expertise:**
|
|
31
|
+
- Sprint planning and task breakdown from spec documents
|
|
32
|
+
- Identifying task dependencies and logical execution order
|
|
33
|
+
- Writing concrete, testable acceptance criteria per task
|
|
34
|
+
- Agile delivery: incremental, not all at once
|
|
35
|
+
- Estimating complexity and priority based on value and risk
|
|
36
|
+
|
|
37
|
+
**Mindset:** A good task can be finished in one session, ends cleanly, and can be verified. Task-level ambiguity causes wrong or missed work. Dependencies must be explicit.
|
|
38
|
+
|
|
39
|
+
**Priority:** Clarity → Atomicity → Correct Order → Testable Acceptance Criteria.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
This skill generates **Task.md**: a work plan derived from existing spec documents.
|
|
44
|
+
|
|
45
|
+
## Important Approach
|
|
46
|
+
|
|
47
|
+
`Task.md` is **NOT brainstormed from scratch**. Tasks must be **derived from existing spec documents** (`PRD.md`, `architecture.md`, `schema.md`, `api.md`, `rules.md`). AI generates the tasks; the user does not restart the planning process.
|
|
48
|
+
|
|
49
|
+
## Usage Steps
|
|
50
|
+
|
|
51
|
+
**Detect mode before starting:**
|
|
52
|
+
Check whether `project-context/Task.md` already exists.
|
|
53
|
+
- **Does not exist yet** → follow the steps below (New Generate Mode).
|
|
54
|
+
- **Already exists** (usually called from `add-feature`) → enter **Add Phase Mode**: skip clarification topics 1 and 3 (already defined in the old `Task.md`), ask only topic 2 (granularity), then **append new phases/tasks below the existing content** without overwriting the `Task.md` header.
|
|
55
|
+
|
|
56
|
+
**Scope rules:**
|
|
57
|
+
- `frontend` → generate frontend tasks only
|
|
58
|
+
- `backend` → generate backend tasks only
|
|
59
|
+
- `fullstack` → generate the full task set
|
|
60
|
+
|
|
61
|
+
**Session setup (ask before clarification):**
|
|
62
|
+
|
|
63
|
+
Run the shared runtime setup first. Announce how many clarification topics apply in the current mode, then apply the stored pacing and recommendation preferences. If they are not stored yet, ask both before starting:
|
|
64
|
+
```
|
|
65
|
+
This session has [N] clarification topics.
|
|
66
|
+
1. Pacing: (A) one by one (B) three at once (C) all at once
|
|
67
|
+
2. Answer recommendations: Should AI suggest answers for each question? (Y/N)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
1. **READ all spec documents** in `project-context/`:
|
|
71
|
+
- `project-context/PRD.md` — features, business rules, acceptance criteria
|
|
72
|
+
- `project-context/StyleGuide.md` — CSS framework, components, spacing (for styling/UI setup tasks)
|
|
73
|
+
- `project-context/architecture.md` — tech stack, folder structure
|
|
74
|
+
- `project-context/schema.md` — database tables
|
|
75
|
+
- `project-context/api.md` — endpoints to build
|
|
76
|
+
- `project-context/rules.md` — coding standards
|
|
77
|
+
- If `.agents/developer-config.json` exists, read `developerPreferences.scope`
|
|
78
|
+
|
|
79
|
+
2. **Analyze deeply** and identify all required work.
|
|
80
|
+
|
|
81
|
+
3. **Ask for clarification** (topics below), then create `project-context/Task.md`.
|
|
82
|
+
|
|
83
|
+
4. After `Task.md` is ready, offer to start the first task.
|
|
84
|
+
|
|
85
|
+
## Clarification Topics (4 Short)
|
|
86
|
+
|
|
87
|
+
*This is not a fresh brainstorm. It is only clarification before task generation.*
|
|
88
|
+
|
|
89
|
+
### 1. Phase Priority Order
|
|
90
|
+
**Ask:** *"Based on the PRD, I will organize the work into phases. Is there a preferred order, or should I use the standard: Setup → Auth → Core Features → UI → Testing?"*
|
|
91
|
+
|
|
92
|
+
**Collect:**
|
|
93
|
+
- Which features must be finished first?
|
|
94
|
+
- Any deadline per phase?
|
|
95
|
+
|
|
96
|
+
### 2. Task Granularity
|
|
97
|
+
**Ask:** *"How small should the tasks be? Should one task equal one file, or one full feature?"*
|
|
98
|
+
|
|
99
|
+
**Collect:**
|
|
100
|
+
- Atomic (very small, one task = one file/function) — good for strict review
|
|
101
|
+
- Modular (medium, one task = one endpoint or component)
|
|
102
|
+
- Feature-based (large, one task = one full end-to-end feature)
|
|
103
|
+
|
|
104
|
+
### 3. Execution Rules
|
|
105
|
+
**Ask:** *"While working through tasks, should I stop for confirmation after each task, or continue automatically per phase?"*
|
|
106
|
+
|
|
107
|
+
**Collect:**
|
|
108
|
+
- Stop after each task for review? (safer, slower)
|
|
109
|
+
- Stop after each phase? (faster, milestone review)
|
|
110
|
+
- Commit after every task?
|
|
111
|
+
|
|
112
|
+
Update the **Execution Rules** section in Task.md from the answer:
|
|
113
|
+
- Choose **per-task**: `"After each task is complete, STOP and wait for user confirmation before continuing."`
|
|
114
|
+
- Choose **per-phase** (default if no preference): `"After each phase is complete, STOP and wait before starting the next phase."`
|
|
115
|
+
|
|
116
|
+
### 4. Verify Available Documents
|
|
117
|
+
**Do not ask the user**. Check `project-context/` yourself:
|
|
118
|
+
Files: `PRD.md`, `architecture.md`, `schema.md`, `api.md`, `rules.md`, `StyleGuide.md`
|
|
119
|
+
|
|
120
|
+
**architecture.md is required** — if it does not exist, **STOP** and ask the user to run `brainstorm-architecture` first.
|
|
121
|
+
|
|
122
|
+
If other documents are missing, **inform the user** (do not ask first):
|
|
123
|
+
> *"I checked: `project-context/[filename]` was not found. It is recommended to complete it first so tasks are more accurate. Continue with the available documents?"*
|
|
124
|
+
|
|
125
|
+
## Deep Analysis (Before Creating Tasks)
|
|
126
|
+
|
|
127
|
+
Before writing `Task.md`, analyze internally:
|
|
128
|
+
|
|
129
|
+
1. Read `PRD.md` → list all MVP features → this is the task scope
|
|
130
|
+
2. Read `StyleGuide.md` → CSS framework, base components → include styling setup and base component tasks
|
|
131
|
+
3. Read `architecture.md` → tech stack and folder structure → determines which files need to be created
|
|
132
|
+
4. Read `schema.md` → all tables → each table needs a migration + model/schema file
|
|
133
|
+
5. Read `api.md` → all endpoints → each endpoint needs route + controller + service
|
|
134
|
+
6. Read `rules.md` → coding standards → include tasks for ESLint, Prettier, tsconfig setup?
|
|
135
|
+
7. Identify task dependencies (database before model, model before service, service before controller)
|
|
136
|
+
8. **TDD:** Every implementation task (service, endpoint, component) must be preceded by a test task. Format: Task N.1 = write test, Task N.2 = implement (dependency: N.2 depends on N.1 being complete).
|
|
137
|
+
9. If the specs mention security controls, create explicit security tasks — do not leave them implicit. Examples: auth guards, ownership checks, input validation, secure cookie config, rate limiting, CSRF protection, audit logs, data masking.
|
|
138
|
+
10. Create a **traceability matrix**: every main requirement (`FEAT-*`, `BR-*`, `NFR-*`, `API-*`, `DATA-*`) must have at least one task that references it.
|
|
139
|
+
|
|
140
|
+
After analysis, **show the scope summary to the user**:
|
|
141
|
+
|
|
142
|
+
````text
|
|
143
|
+
From the available specs, I identified this scope:
|
|
144
|
+
|
|
145
|
+
Features to implement:
|
|
146
|
+
- [feature 1] → needs: [table/endpoint/component]
|
|
147
|
+
- [feature 2] → ...
|
|
148
|
+
|
|
149
|
+
Estimated phases:
|
|
150
|
+
- Phase 1: [name] ([N] tasks)
|
|
151
|
+
- Phase 2: [name] ([N] tasks)
|
|
152
|
+
|
|
153
|
+
Security controls to implement:
|
|
154
|
+
- [control 1]
|
|
155
|
+
- [control 2]
|
|
156
|
+
|
|
157
|
+
Is this scope correct? Anything to add or remove?
|
|
158
|
+
````
|
|
159
|
+
|
|
160
|
+
Wait for user confirmation before creating Task.md.
|
|
161
|
+
|
|
162
|
+
## Output Format (Task.md)
|
|
163
|
+
|
|
164
|
+
````markdown
|
|
165
|
+
# Task: [Project Name]
|
|
166
|
+
|
|
167
|
+
> **Total Phases:** [X] | **Total Tasks:** [Y] | **Last Updated:** [date]
|
|
168
|
+
|
|
169
|
+
## Document Role
|
|
170
|
+
- **Source of Truth:** Execution plan derived from approved spec documents
|
|
171
|
+
- **Primary Owner:** `brainstorm-task`
|
|
172
|
+
- **Out of Scope:** New product scope, new schema/API decisions, and code quality review findings
|
|
173
|
+
|
|
174
|
+
## Upstream Dependencies
|
|
175
|
+
| Topic | Canonical Source |
|
|
176
|
+
|------|------------------|
|
|
177
|
+
| Product scope | `project-context/PRD.md` |
|
|
178
|
+
| Technical structure | `project-context/architecture.md` |
|
|
179
|
+
| Data contract | `project-context/schema.md` |
|
|
180
|
+
| API contract | `project-context/api.md` |
|
|
181
|
+
| UI contract | `project-context/StyleGuide.md` |
|
|
182
|
+
| Coding rules | `project-context/rules.md` |
|
|
183
|
+
|
|
184
|
+
## Execution Rules
|
|
185
|
+
- Work on tasks **one by one** in order within each phase.
|
|
186
|
+
- After each **phase** is complete, **STOP** and wait for user confirmation before the next phase.
|
|
187
|
+
- Update status `[ ]` to `[x]` when a task is complete.
|
|
188
|
+
- If a task is blocked, mark it `[~]` and note the reason.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Progress Overview
|
|
193
|
+
| Phase | Name | Status | Progress |
|
|
194
|
+
|------|------|--------|----------|
|
|
195
|
+
| 1 | [Setup & Configuration] | [ ] | 0/3 |
|
|
196
|
+
| 2 | [Database & Models] | [ ] | 0/4 |
|
|
197
|
+
| 3 | [Backend: Auth] | [ ] | 0/3 |
|
|
198
|
+
|
|
199
|
+
## AI Read Order
|
|
200
|
+
1. Read `Execution Rules`
|
|
201
|
+
2. Read `Progress Overview`
|
|
202
|
+
3. Read only the current phase
|
|
203
|
+
4. Use `References` and `Traceability IDs` before searching elsewhere
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Phase 1: [Phase Name]
|
|
208
|
+
> **Dependency:** None (first phase)
|
|
209
|
+
> **Goal:** [What must be complete at the end of this phase]
|
|
210
|
+
|
|
211
|
+
- [ ] **Task 1.1: [Task Name]**
|
|
212
|
+
- **Files:** `[path/file created or modified]`
|
|
213
|
+
- **Description:** [What is done, briefly]
|
|
214
|
+
- **References:** [`project-context/architecture.md#section` / `project-context/rules.md#section`]
|
|
215
|
+
- **Traceability IDs:** [`FEAT-01` / `BR-01` / `API-01` / `DATA-01`]
|
|
216
|
+
- **Acceptance Criteria:**
|
|
217
|
+
- [ ] [Testable condition 1]
|
|
218
|
+
- [ ] [Testable condition 2]
|
|
219
|
+
|
|
220
|
+
- [ ] **Task 1.2: [Task Name]**
|
|
221
|
+
- **Files:** `[path/file]`
|
|
222
|
+
- **Description:** [Briefly what is done]
|
|
223
|
+
- **Dependencies:** Task 1.1 must be complete first
|
|
224
|
+
- **References:** [`project-context/schema.md#users`]
|
|
225
|
+
- **Traceability IDs:** [`FEAT-01` / `DATA-01`]
|
|
226
|
+
- **Acceptance Criteria:**
|
|
227
|
+
- [ ] [Testable condition]
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Phase 2: [Phase Name]
|
|
232
|
+
> **Dependency:** Phase 1 must be complete
|
|
233
|
+
> **Goal:** [Phase goal]
|
|
234
|
+
|
|
235
|
+
- [ ] **Task 2.1: [Task Name]**
|
|
236
|
+
- **Files:** `[path/file]`
|
|
237
|
+
- **Description:** [Brief]
|
|
238
|
+
- **References:** [`project-context/api.md#auth`]
|
|
239
|
+
- **Traceability IDs:** [`FEAT-01` / `API-01` / `NFR-02`]
|
|
240
|
+
- **Acceptance Criteria:**
|
|
241
|
+
- [ ] [Testable condition]
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Traceability Matrix
|
|
246
|
+
| Requirement ID | Source | Covering Tasks |
|
|
247
|
+
|----------------|--------|----------------|
|
|
248
|
+
| FEAT-01 | `project-context/PRD.md` | `Task 1.1`, `Task 1.2`, `Task 2.1` |
|
|
249
|
+
| BR-01 | `project-context/PRD.md` | `Task 1.1` |
|
|
250
|
+
| API-01 | `project-context/api.md` | `Task 2.1` |
|
|
251
|
+
| DATA-01 | `project-context/schema.md` | `Task 1.2` |
|
|
252
|
+
|
|
253
|
+
## Assumptions & Open Questions
|
|
254
|
+
- [Assumption that affects planning granularity or order]
|
|
255
|
+
- [Open question that may change future phases]
|
|
256
|
+
````
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## After Task.md Is Complete
|
|
261
|
+
|
|
262
|
+
1. Confirm `project-context/Task.md` was created.
|
|
263
|
+
2. Show the progress overview (phases + task counts).
|
|
264
|
+
3. Offer to start:
|
|
265
|
+
> "All spec documents are ready! Task.md has been created. Start Task 1.1?"
|
|
266
|
+
|
|
267
|
+
## Critical Notes
|
|
268
|
+
|
|
269
|
+
- **Tasks MUST be derived from existing specs**. Do not brainstorm from scratch again.
|
|
270
|
+
- Every task must have **testable acceptance criteria**, not just a description.
|
|
271
|
+
- Mark **task dependencies** clearly. AI cannot skip tasks.
|
|
272
|
+
- **TDD:** Implementation tasks are preceded by test tasks (N.1 write test, N.2 implement; N.2 depends on N.1).
|
|
273
|
+
- If the specs mention security controls, create explicit security tasks. Do not assume they "happen automatically."
|
|
274
|
+
- Every task must have **Traceability IDs** that reference real upstream requirements or artifacts.
|
|
275
|
+
- A **Traceability Matrix** is required for auditability.
|
|
276
|
+
- Task granularity must be **atomic**: completable and verifiable in one session.
|
|
277
|
+
- Use references to other documents (`project-context/schema.md#table`, `project-context/api.md#endpoint`) in every task.
|
|
278
|
+
|
|
279
|
+
---
|