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
|
@@ -3,136 +3,152 @@
|
|
|
3
3
|
> **Framework:** [CSS Framework] | **Approach:** [Utility-first / Component-based]
|
|
4
4
|
|
|
5
5
|
## Document Role
|
|
6
|
+
|
|
6
7
|
- **Source of Truth:** Visual system and UI conventions for this project
|
|
7
8
|
- **Primary Owner:** `brainstorm-styleguide`
|
|
8
9
|
- **Out of Scope:** Backend logic, API contracts, and non-UI technical architecture
|
|
9
10
|
|
|
10
11
|
## Supported Surfaces
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
12
|
+
|
|
13
|
+
| Surface | Included? | Notes |
|
|
14
|
+
| -------------------- | --------- | ------- |
|
|
15
|
+
| Web app | Yes / No | [notes] |
|
|
16
|
+
| Admin panel | Yes / No | [notes] |
|
|
17
|
+
| Marketing site | Yes / No | [notes] |
|
|
18
|
+
| Email / PDF / export | Yes / No | [notes] |
|
|
17
19
|
|
|
18
20
|
---
|
|
19
21
|
|
|
20
22
|
## 1. CSS Framework
|
|
23
|
+
|
|
21
24
|
- **Framework:** [Tailwind CSS v3 / Bootstrap 5 / CSS Modules / etc.]
|
|
22
25
|
- **Version:** [version]
|
|
23
26
|
- **Notes:** [Additional rules]
|
|
24
27
|
|
|
25
28
|
## 2. Color Palette
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
29
|
+
|
|
30
|
+
| Role | Hex | Tailwind | Description |
|
|
31
|
+
| -------------- | ------ | ----------------- | --------------------- |
|
|
32
|
+
| Primary | `#xxx` | `bg-blue-600` | Main brand |
|
|
33
|
+
| Secondary | `#xxx` | `bg-gray-600` | Accent |
|
|
34
|
+
| Background | `#xxx` | `bg-gray-50` | Page background |
|
|
35
|
+
| Surface | `#xxx` | `bg-white` | Card/panel background |
|
|
36
|
+
| Primary Text | `#xxx` | `text-gray-900` | Main text |
|
|
37
|
+
| Secondary Text | `#xxx` | `text-gray-500` | Secondary text |
|
|
38
|
+
| Error | `#xxx` | `text-red-500` | Error message |
|
|
39
|
+
| Success | `#xxx` | `text-green-500` | Success message |
|
|
40
|
+
| Warning | `#xxx` | `text-yellow-500` | Warning message |
|
|
41
|
+
| Info | `#xxx` | `text-blue-500` | Info message |
|
|
38
42
|
|
|
39
43
|
**Dark Mode:** [Supported / Not supported]
|
|
40
44
|
|
|
41
45
|
## 3. Typography
|
|
46
|
+
|
|
42
47
|
- **Heading Font:** [Font Name] — via [Google Fonts / local]
|
|
43
48
|
- **Body Font:** [Font Name] — via [Google Fonts / local]
|
|
44
49
|
|
|
45
|
-
| Level
|
|
46
|
-
|
|
47
|
-
| H1
|
|
48
|
-
| H2
|
|
49
|
-
| H3
|
|
50
|
-
| H4
|
|
51
|
-
| Body
|
|
52
|
-
| Small
|
|
53
|
-
| Caption | [size] | regular
|
|
50
|
+
| Level | Size | Weight | Line Height |
|
|
51
|
+
| ------- | ------ | -------- | ------------- |
|
|
52
|
+
| H1 | [size] | [weight] | [line-height] |
|
|
53
|
+
| H2 | [size] | [weight] | [line-height] |
|
|
54
|
+
| H3 | [size] | [weight] | [line-height] |
|
|
55
|
+
| H4 | [size] | [weight] | [line-height] |
|
|
56
|
+
| Body | [size] | regular | [line-height] |
|
|
57
|
+
| Small | [size] | regular | [line-height] |
|
|
58
|
+
| Caption | [size] | regular | [line-height] |
|
|
54
59
|
|
|
55
60
|
## 4. Spacing System
|
|
61
|
+
|
|
56
62
|
- **Base Unit:** [4px / 8px]
|
|
57
63
|
- **Scale:** [Tailwind Default / Custom]
|
|
58
64
|
|
|
59
|
-
| Token | Value
|
|
60
|
-
|
|
61
|
-
| xs
|
|
62
|
-
| sm
|
|
63
|
-
| md
|
|
64
|
-
| lg
|
|
65
|
-
| xl
|
|
66
|
-
| 2xl
|
|
65
|
+
| Token | Value | Tailwind |
|
|
66
|
+
| ----- | ------ | -------- |
|
|
67
|
+
| xs | [4px] | `p-1` |
|
|
68
|
+
| sm | [8px] | `p-2` |
|
|
69
|
+
| md | [16px] | `p-4` |
|
|
70
|
+
| lg | [24px] | `p-6` |
|
|
71
|
+
| xl | [32px] | `p-8` |
|
|
72
|
+
| 2xl | [48px] | `p-12` |
|
|
67
73
|
|
|
68
74
|
## 5. Component Style
|
|
75
|
+
|
|
69
76
|
- **Border Radius:** [rounded-md / rounded-lg / none]
|
|
70
77
|
- **Shadow:** [shadow-sm / shadow-md / none]
|
|
71
78
|
|
|
72
79
|
## Component Inventory
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
+
|
|
81
|
+
| Component | Status | Notes |
|
|
82
|
+
| --------- | ------------------ | ------- |
|
|
83
|
+
| Button | Defined | [notes] |
|
|
84
|
+
| Card | Defined | [notes] |
|
|
85
|
+
| Input | Defined | [notes] |
|
|
86
|
+
| Modal | Defined / Deferred | [notes] |
|
|
87
|
+
| Table | Defined / Deferred | [notes] |
|
|
80
88
|
|
|
81
89
|
### Button
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
90
|
+
|
|
91
|
+
| Variant | Style |
|
|
92
|
+
| --------- | -------------------------------------------- |
|
|
93
|
+
| Primary | [bg-primary text-white rounded-md px-4 py-2] |
|
|
94
|
+
| Secondary | [outline / ghost] |
|
|
95
|
+
| Danger | [bg-error text-white] |
|
|
87
96
|
|
|
88
97
|
### Card
|
|
98
|
+
|
|
89
99
|
- Background: [surface color]
|
|
90
100
|
- Border: [border style]
|
|
91
101
|
- Shadow: [shadow level]
|
|
92
102
|
- Padding: [padding value]
|
|
93
103
|
|
|
94
104
|
### Input
|
|
105
|
+
|
|
95
106
|
- Border: [border style]
|
|
96
107
|
- Focus: [focus ring style]
|
|
97
108
|
- Error state: [error border + message style]
|
|
98
109
|
|
|
99
110
|
### Transition & Animation
|
|
111
|
+
|
|
100
112
|
- **Default Duration:** [150ms / 200ms / 300ms]
|
|
101
113
|
- **Easing:** [ease-in-out / ease-out]
|
|
102
114
|
- **Pattern:** `transition-all duration-150 ease-in-out`
|
|
103
115
|
|
|
104
116
|
## 6. Responsive & Breakpoints
|
|
117
|
+
|
|
105
118
|
- **Approach:** [Mobile-first / Desktop-first]
|
|
106
119
|
|
|
107
|
-
| Breakpoint | Value
|
|
108
|
-
|
|
109
|
-
| sm
|
|
110
|
-
| md
|
|
111
|
-
| lg
|
|
112
|
-
| xl
|
|
120
|
+
| Breakpoint | Value | Description |
|
|
121
|
+
| ---------- | -------- | ------------- |
|
|
122
|
+
| sm | [640px] | Small tablet |
|
|
123
|
+
| md | [768px] | Tablet |
|
|
124
|
+
| lg | [1024px] | Desktop |
|
|
125
|
+
| xl | [1280px] | Large desktop |
|
|
113
126
|
|
|
114
127
|
**Layout Rules:**
|
|
128
|
+
|
|
115
129
|
- [Description of layout changes per breakpoint]
|
|
116
130
|
|
|
117
131
|
## 7. Iconography
|
|
132
|
+
|
|
118
133
|
- **Library:** [Lucide React / Heroicons / FontAwesome / etc.]
|
|
119
134
|
- **Default Size:** [20px / 24px]
|
|
120
135
|
- **Import Pattern:** `import { IconName } from 'lucide-react'`
|
|
121
136
|
- **Notes:** [Rules for icon usage]
|
|
122
137
|
|
|
123
138
|
## 8. Accessibility, Localization & Operational States
|
|
139
|
+
|
|
124
140
|
- **Accessibility Target:** [PRD target / WCAG level]
|
|
125
141
|
- **Keyboard & Focus:** [rules]
|
|
126
142
|
- **Screen Reader & Labels:** [rules]
|
|
127
143
|
- **Reduced Motion:** [behavior]
|
|
128
144
|
|
|
129
|
-
| State
|
|
130
|
-
|
|
131
|
-
| Loading
|
|
132
|
-
| Empty
|
|
133
|
-
| Error
|
|
134
|
-
| Forbidden
|
|
135
|
-
| Offline/Partial | [if applicable]
|
|
145
|
+
| State | Required UI Behavior | Recovery/Action |
|
|
146
|
+
| --------------- | -------------------- | --------------------- |
|
|
147
|
+
| Loading | [skeleton/progress] | [wait/cancel] |
|
|
148
|
+
| Empty | [message/CTA] | [next action] |
|
|
149
|
+
| Error | [message/retry] | [recovery] |
|
|
150
|
+
| Forbidden | [explanation] | [request access/back] |
|
|
151
|
+
| Offline/Partial | [if applicable] | [sync/retry] |
|
|
136
152
|
|
|
137
153
|
- **Locales & Text Expansion:** [supported locales or N/A]
|
|
138
154
|
- **Formatting:** [date/number/currency/timezone]
|
|
@@ -140,8 +156,10 @@
|
|
|
140
156
|
- **UI Performance Budget:** [fonts/assets/motion/render constraints]
|
|
141
157
|
|
|
142
158
|
## Non-Goals / Not Yet Defined
|
|
159
|
+
|
|
143
160
|
- [UI areas intentionally outside this style guide]
|
|
144
161
|
|
|
145
162
|
## Assumptions & Open Questions
|
|
163
|
+
|
|
146
164
|
- [Assumption about branding, assets, or surface coverage]
|
|
147
165
|
- [Question that needs confirmation]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: brainstorm-task
|
|
3
|
-
description: Generates
|
|
3
|
+
description: Generates or updates project-context/Task.md with phased, verifiable tasks derived directly from completed specs. Use after architecture.md and relevant domain specs exist, when planning sprint tasks, or when adding an approved phase from add-feature. Do NOT use to brainstorm new product scope from scratch.
|
|
4
4
|
compatibility: Requires the complete MACCA-METHOD collection with sibling _shared resources and workspace file access.
|
|
5
5
|
metadata:
|
|
6
6
|
persona: "Galbi"
|
|
@@ -34,6 +34,7 @@ Run as `@Galbi` (Project Manager). Use the shared persona profile in `../_shared
|
|
|
34
34
|
You are an **Engineering Manager & Scrum Master** who breaks large work into small, structured, ordered, verifiable tasks.
|
|
35
35
|
|
|
36
36
|
**Expertise:**
|
|
37
|
+
|
|
37
38
|
- Sprint planning and task breakdown from spec documents
|
|
38
39
|
- Identifying task dependencies and logical execution order
|
|
39
40
|
- Writing concrete, testable acceptance criteria per task
|
|
@@ -56,10 +57,12 @@ This skill generates **Task.md**: a work plan derived from existing spec documen
|
|
|
56
57
|
|
|
57
58
|
**Detect mode before starting:**
|
|
58
59
|
Check whether `project-context/Task.md` already exists.
|
|
60
|
+
|
|
59
61
|
- **Does not exist yet** → follow the steps below (New Generate Mode).
|
|
60
62
|
- **Already exists** (usually called from `add-feature`) → enter **Add Phase Mode**: skip clarification topics 1 and 3, ask only topic 2, append the approved phases/tasks, and update header counts/date, Progress Overview, dependencies, and Traceability Matrix. Preserve unrelated existing phases and IDs.
|
|
61
63
|
|
|
62
64
|
**Scope rules:**
|
|
65
|
+
|
|
63
66
|
- `frontend` → generate frontend tasks only
|
|
64
67
|
- `backend` → generate backend tasks only
|
|
65
68
|
- `fullstack` → generate the full task set
|
|
@@ -67,6 +70,7 @@ Check whether `project-context/Task.md` already exists.
|
|
|
67
70
|
**Session setup (ask before clarification):**
|
|
68
71
|
|
|
69
72
|
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:
|
|
73
|
+
|
|
70
74
|
```
|
|
71
75
|
This session has [N] clarification topics.
|
|
72
76
|
1. Pacing: (A) one by one (B) three at once (C) all at once
|
|
@@ -90,54 +94,63 @@ This session has [N] clarification topics.
|
|
|
90
94
|
|
|
91
95
|
## Clarification Topics (4 Short)
|
|
92
96
|
|
|
93
|
-
|
|
97
|
+
_This is not a fresh brainstorm. It is only clarification before task generation._
|
|
94
98
|
|
|
95
99
|
### 1. Phase Priority Order
|
|
96
|
-
|
|
100
|
+
|
|
101
|
+
**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?"_
|
|
97
102
|
|
|
98
103
|
**Collect:**
|
|
104
|
+
|
|
99
105
|
- Which features must be finished first?
|
|
100
106
|
- Any deadline per phase?
|
|
101
107
|
|
|
102
108
|
### 2. Task Granularity
|
|
103
|
-
|
|
109
|
+
|
|
110
|
+
**Ask:** _"How small should the tasks be? Should one task equal one file, or one full feature?"_
|
|
104
111
|
|
|
105
112
|
**Collect:**
|
|
113
|
+
|
|
106
114
|
- Atomic (very small, one task = one file/function) — good for strict review
|
|
107
115
|
- Modular (medium, one task = one endpoint or component)
|
|
108
116
|
- Feature-based (large, one task = one full end-to-end feature)
|
|
109
117
|
|
|
110
118
|
### 3. Execution Rules
|
|
111
|
-
|
|
119
|
+
|
|
120
|
+
**Ask:** _"While working through tasks, should I stop for confirmation after each task, or continue automatically per phase?"_
|
|
112
121
|
|
|
113
122
|
**Collect:**
|
|
123
|
+
|
|
114
124
|
- Stop after each task for review? (safer, slower)
|
|
115
125
|
- Stop after each phase? (faster, milestone review)
|
|
116
126
|
- Commit after every task?
|
|
117
127
|
|
|
118
128
|
Update the **Execution Rules** section in Task.md from the answer:
|
|
129
|
+
|
|
119
130
|
- Choose **per-task**: `"After each task is complete, STOP and wait for user confirmation before continuing."`
|
|
120
131
|
- Choose **per-phase** (default if no preference): `"After each phase is complete, STOP and wait before starting the next phase."`
|
|
121
132
|
|
|
122
133
|
### 4. Verify Available Documents
|
|
134
|
+
|
|
123
135
|
**Do not ask the user**. Check `project-context/` yourself:
|
|
124
136
|
Files: `PRD.md`, `architecture.md`, `schema.md`, `api.md`, `rules.md`, `StyleGuide.md`
|
|
125
137
|
|
|
126
138
|
**architecture.md is required** — if it does not exist, **STOP** and ask the user to run `brainstorm-architecture` first.
|
|
127
139
|
|
|
128
140
|
If another document required by the declared scope is missing, inform the user and obtain one continuation decision:
|
|
129
|
-
|
|
141
|
+
|
|
142
|
+
> _"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?"_
|
|
130
143
|
|
|
131
144
|
## Deep Analysis (Before Creating Tasks)
|
|
132
145
|
|
|
133
146
|
Before writing `Task.md`, analyze internally:
|
|
134
147
|
|
|
135
|
-
1. Read `PRD.md` → list all MVP features → this is the task scope
|
|
136
|
-
2. Read `StyleGuide.md` → CSS framework, base components → include styling setup and base component tasks
|
|
137
|
-
3. Read `architecture.md` → tech stack and folder structure → determines which files need to be created
|
|
138
|
-
4. Read `schema.md` → map each datastore-native entity/collection/aggregate/stream to the migrations, validation, model, projection, or infrastructure tasks its architecture actually requires
|
|
139
|
-
5. Read `api.md` → map each REST endpoint, GraphQL operation, RPC procedure, or event contract to protocol-native implementation and contract-test tasks
|
|
140
|
-
6. Read `rules.md` → coding standards → include tasks for ESLint, Prettier, tsconfig setup?
|
|
148
|
+
1. Read `project-context/PRD.md` → list all MVP features → this is the task scope
|
|
149
|
+
2. Read `project-context/StyleGuide.md` → CSS framework, base components → include styling setup and base component tasks
|
|
150
|
+
3. Read `project-context/architecture.md` → tech stack and folder structure → determines which files need to be created
|
|
151
|
+
4. Read `project-context/schema.md` → map each datastore-native entity/collection/aggregate/stream to the migrations, validation, model, projection, or infrastructure tasks its architecture actually requires
|
|
152
|
+
5. Read `project-context/api.md` → map each REST endpoint, GraphQL operation, RPC procedure, or event contract to protocol-native implementation and contract-test tasks
|
|
153
|
+
6. Read `project-context/rules.md` → coding standards → include tasks for ESLint, Prettier, tsconfig setup?
|
|
141
154
|
7. Identify task dependencies (database before model, model before service, service before controller)
|
|
142
155
|
8. **Testing workflow:** Follow the policy in `rules.md`. If it requires test-first/TDD, precede implementation with a test task. Otherwise pair each behavior change with the test/verification task required by the approved rules. Do not force TDD against project policy.
|
|
143
156
|
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.
|
|
@@ -146,7 +159,7 @@ Before writing `Task.md`, analyze internally:
|
|
|
146
159
|
|
|
147
160
|
After analysis, **show the scope summary to the user**:
|
|
148
161
|
|
|
149
|
-
|
|
162
|
+
```text
|
|
150
163
|
From the available specs, I identified this scope:
|
|
151
164
|
|
|
152
165
|
Features to implement:
|
|
@@ -162,7 +175,7 @@ Security controls to implement:
|
|
|
162
175
|
- [control 2]
|
|
163
176
|
|
|
164
177
|
Is this scope correct? Anything to add or remove?
|
|
165
|
-
|
|
178
|
+
```
|
|
166
179
|
|
|
167
180
|
Wait for user confirmation before creating Task.md.
|
|
168
181
|
|
|
@@ -3,21 +3,24 @@
|
|
|
3
3
|
> **Total Phases:** [X] | **Total Tasks:** [Y] | **Last Updated:** [date]
|
|
4
4
|
|
|
5
5
|
## Document Role
|
|
6
|
+
|
|
6
7
|
- **Source of Truth:** Execution plan derived from approved spec documents
|
|
7
8
|
- **Primary Owner:** `brainstorm-task`
|
|
8
9
|
- **Out of Scope:** New product scope, new schema/API decisions, and code quality review findings
|
|
9
10
|
|
|
10
11
|
## Upstream Dependencies
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
|
12
|
+
|
|
13
|
+
| Topic | Canonical Source |
|
|
14
|
+
| ------------------- | --------------------------------- |
|
|
15
|
+
| Product scope | `project-context/PRD.md` |
|
|
14
16
|
| Technical structure | `project-context/architecture.md` |
|
|
15
|
-
| Data contract
|
|
16
|
-
| API contract
|
|
17
|
-
| UI contract
|
|
18
|
-
| Coding rules
|
|
17
|
+
| Data contract | `project-context/schema.md` |
|
|
18
|
+
| API contract | `project-context/api.md` |
|
|
19
|
+
| UI contract | `project-context/StyleGuide.md` |
|
|
20
|
+
| Coding rules | `project-context/rules.md` |
|
|
19
21
|
|
|
20
22
|
## Execution Rules
|
|
23
|
+
|
|
21
24
|
- Work on tasks **one by one** in order within each phase.
|
|
22
25
|
- After each **phase** is complete, **STOP** and wait for user confirmation before the next phase.
|
|
23
26
|
- Update status `[ ]` to `[x]` when a task is complete.
|
|
@@ -26,13 +29,15 @@
|
|
|
26
29
|
---
|
|
27
30
|
|
|
28
31
|
## Progress Overview
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
32
|
+
|
|
33
|
+
| Phase | Name | Status | Progress |
|
|
34
|
+
| ----- | ----------------------- | ------ | -------- |
|
|
35
|
+
| 1 | [Setup & Configuration] | [ ] | 0/3 |
|
|
36
|
+
| 2 | [Database & Models] | [ ] | 0/4 |
|
|
37
|
+
| 3 | [Backend: Auth] | [ ] | 0/3 |
|
|
34
38
|
|
|
35
39
|
## AI Read Order
|
|
40
|
+
|
|
36
41
|
1. Read `Execution Rules`
|
|
37
42
|
2. Read `Progress Overview`
|
|
38
43
|
3. Read only the current phase
|
|
@@ -41,10 +46,12 @@
|
|
|
41
46
|
---
|
|
42
47
|
|
|
43
48
|
## Phase 1: [Phase Name]
|
|
49
|
+
|
|
44
50
|
> **Dependency:** None (first phase)
|
|
45
51
|
> **Goal:** [What must be complete at the end of this phase]
|
|
46
52
|
|
|
47
53
|
### Phase Definition of Done
|
|
54
|
+
|
|
48
55
|
- [ ] Applicable acceptance criteria pass
|
|
49
56
|
- [ ] Required tests/build/type/lint checks pass
|
|
50
57
|
- [ ] Required security controls are verified
|
|
@@ -75,10 +82,12 @@
|
|
|
75
82
|
---
|
|
76
83
|
|
|
77
84
|
## Phase 2: [Phase Name]
|
|
85
|
+
|
|
78
86
|
> **Dependency:** Phase 1 must be complete
|
|
79
87
|
> **Goal:** [Phase goal]
|
|
80
88
|
|
|
81
89
|
### Phase Definition of Done
|
|
90
|
+
|
|
82
91
|
- [ ] Applicable acceptance criteria pass
|
|
83
92
|
- [ ] Required tests/build/type/lint checks pass
|
|
84
93
|
- [ ] Required security controls are verified
|
|
@@ -99,14 +108,16 @@
|
|
|
99
108
|
---
|
|
100
109
|
|
|
101
110
|
## Traceability Matrix
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
|
105
|
-
|
|
|
106
|
-
|
|
|
107
|
-
|
|
|
111
|
+
|
|
112
|
+
| Requirement ID | Source | Covering Tasks |
|
|
113
|
+
| -------------- | --------------------------- | ---------------------------------- |
|
|
114
|
+
| FEAT-01 | `project-context/PRD.md` | `Task 1.1`, `Task 1.2`, `Task 2.1` |
|
|
115
|
+
| BR-01 | `project-context/PRD.md` | `Task 1.1` |
|
|
116
|
+
| API-01 | `project-context/api.md` | `Task 2.1` |
|
|
117
|
+
| DATA-01 | `project-context/schema.md` | `Task 1.2` |
|
|
108
118
|
|
|
109
119
|
## Assumptions & Open Questions
|
|
120
|
+
|
|
110
121
|
- [Assumption that affects planning granularity or order]
|
|
111
122
|
- [Open question that may change future phases]
|
|
112
123
|
|
|
@@ -33,6 +33,7 @@ You are a **Senior Debugger - systematic and patient** - helping users find and
|
|
|
33
33
|
**Do not guess.** Diagnose first, check whether the bug happened before, then fix it. Do not record anything until the user confirms the fix worked.
|
|
34
34
|
|
|
35
35
|
**Workflow:**
|
|
36
|
+
|
|
36
37
|
- Diagnose before fixing - understand the root cause first
|
|
37
38
|
- If the bug goes through shared helper/service/controller code, check all callers before patching - one root-cause fix beats many per-caller guards
|
|
38
39
|
- Check the bug log - the bug may be recurring
|
|
@@ -66,12 +67,14 @@ If the user gives a free-form description, extract the relevant information and
|
|
|
66
67
|
Read `project-context/bug-log.md` if it exists.
|
|
67
68
|
|
|
68
69
|
Compare the reported bug with existing entries:
|
|
70
|
+
|
|
69
71
|
- Same symptom, location, or error?
|
|
70
72
|
- Similar pattern (by tags)?
|
|
71
73
|
|
|
72
|
-
### Three possible outcomes
|
|
74
|
+
### Three possible outcomes
|
|
73
75
|
|
|
74
76
|
**A. Identical bug found (ID + symptom + location match exactly):**
|
|
77
|
+
|
|
75
78
|
> "This looks like **BUG-[ID]** that we fixed before.
|
|
76
79
|
> The root cause was: [short explanation]
|
|
77
80
|
> The applied fix was: [short explanation]
|
|
@@ -80,6 +83,7 @@ Compare the reported bug with existing entries:
|
|
|
80
83
|
Continue to Step 2 long enough to verify the current root cause, then use the single gate in Step 2d.
|
|
81
84
|
|
|
82
85
|
**B. Similar but different:**
|
|
86
|
+
|
|
83
87
|
> "This is similar to **BUG-[ID]** - both share [similarity], but this one differs in: [specific difference].
|
|
84
88
|
> I will not reuse the old fix. I will diagnose it from scratch.
|
|
85
89
|
> If the fix is different, I will add a new bug-log entry."
|
|
@@ -103,6 +107,7 @@ Before reading code, use every available aid:
|
|
|
103
107
|
- **Subagent** -> use for multi-file exploration or deep root-cause research.
|
|
104
108
|
|
|
105
109
|
### 2b. Read relevant code
|
|
110
|
+
|
|
106
111
|
- Files named by the user
|
|
107
112
|
- Files directly called
|
|
108
113
|
- If the bug sits behind shared code, MUST check all callers of that shared code - one root fix beats many per-caller guards
|
|
@@ -145,6 +150,7 @@ End the SAME response as 2c with the `report-first` gate block from `fix-mode.md
|
|
|
145
150
|
### Apply the Fix
|
|
146
151
|
|
|
147
152
|
Apply the fix with the **minimal-change principle:**
|
|
153
|
+
|
|
148
154
|
- Fix only the reported bug - nothing else in scope
|
|
149
155
|
- Use the most direct fix, not a workaround
|
|
150
156
|
- Target: change <=2 files. If it needs 3 or more files, ask before expanding the disclosed scope
|
|
@@ -169,6 +175,7 @@ Try reproducing the bug to confirm it is fixed.
|
|
|
169
175
|
### Self-Review Before Verification
|
|
170
176
|
|
|
171
177
|
Internal check before spec-compliance:
|
|
178
|
+
|
|
172
179
|
1. Was the root cause fixed - not only the symptom?
|
|
173
180
|
2. Are other files affected but unchanged?
|
|
174
181
|
3. Does the change stay within the bug scope?
|
|
@@ -184,10 +191,12 @@ After applying the fix, recheck only the approved targets and directly affected
|
|
|
184
191
|
After the fix is applied:
|
|
185
192
|
|
|
186
193
|
### 4a. Run spec-compliance
|
|
194
|
+
|
|
187
195
|
Load the `spec-compliance` skill for the modified files.
|
|
188
196
|
If issues exist, follow its configured `fixMode`. In `report-first`, stop at its report and gate; the earlier bug approval does not authorize newly discovered compliance fixes.
|
|
189
197
|
|
|
190
198
|
### 4b. Run code-review
|
|
199
|
+
|
|
191
200
|
Load the `code-review` skill for the same files.
|
|
192
201
|
If issues exist, follow its configured `fixMode`. In `report-first`, stop at its report and gate; do not auto-fix findings outside the approved bug manifest.
|
|
193
202
|
|
|
@@ -219,22 +228,29 @@ After the user confirms the fix works, add **protection so the same bug does not
|
|
|
219
228
|
Choose the strongest and most sensible prevention for the project:
|
|
220
229
|
|
|
221
230
|
### 6a. Priority 1 - Regression Test
|
|
231
|
+
|
|
222
232
|
If the project has a test framework or the affected area already has tests:
|
|
233
|
+
|
|
223
234
|
- Add/update a test that reproduces the old bug
|
|
224
235
|
- The test fails before the fix, passes after it
|
|
225
236
|
- Choose the test level closest to the root cause (unit/integration/e2e)
|
|
226
237
|
|
|
227
238
|
### 6b. Priority 2 - Spec/Rule Guard
|
|
239
|
+
|
|
228
240
|
If the bug came from an unclear spec/rule:
|
|
241
|
+
|
|
229
242
|
- Update the relevant document (`rules.md`, `PRD.md`, `api.md`, `schema.md`, `architecture.md`)
|
|
230
243
|
- Add a rule, criterion, or constraint that prevents this pattern
|
|
231
244
|
|
|
232
245
|
### 6c. Priority 3 - Manual Regression Check
|
|
246
|
+
|
|
233
247
|
If test/spec updates are not practical:
|
|
248
|
+
|
|
234
249
|
- Write short, concrete, repeatable check steps
|
|
235
250
|
- Fallback only, not first choice
|
|
236
251
|
|
|
237
252
|
**Rules:**
|
|
253
|
+
|
|
238
254
|
- Do not add a testing framework only for formality outside the bug scope
|
|
239
255
|
- Do not update specs casually - only if the root cause is a spec gap
|
|
240
256
|
- **At least one form is required:** test, spec/rule guard, or manual checklist
|
|
@@ -270,6 +286,7 @@ Only then continue to Step 7.
|
|
|
270
286
|
After the user confirms the fix worked, record it in `project-context/bug-log.md`.
|
|
271
287
|
|
|
272
288
|
If the file does not exist, create it with this header:
|
|
289
|
+
|
|
273
290
|
```markdown
|
|
274
291
|
# Bug Log
|
|
275
292
|
|
|
@@ -290,26 +307,33 @@ Add an entry (above or below existing entries):
|
|
|
290
307
|
**Affected files:** `path/to/file`
|
|
291
308
|
|
|
292
309
|
### Symptom
|
|
310
|
+
|
|
293
311
|
[Incorrect behavior seen by the user]
|
|
294
312
|
|
|
295
313
|
### Root Cause
|
|
314
|
+
|
|
296
315
|
[Technical explanation - one paragraph]
|
|
297
316
|
|
|
298
317
|
### Applied Fix
|
|
318
|
+
|
|
299
319
|
[What changed and why it fixes the bug]
|
|
300
320
|
|
|
301
321
|
### Modified Files
|
|
322
|
+
|
|
302
323
|
- `path/file` - [change description]
|
|
303
324
|
|
|
304
325
|
### Regression Prevention
|
|
326
|
+
|
|
305
327
|
- **Test:** `path/test` - [protected scenario] / `N/A - [why]`
|
|
306
328
|
- **Spec/Rule:** `project-context/[file].md` - [rule added] / `N/A - [why]`
|
|
307
329
|
- **Manual check:** [step] / `N/A`
|
|
308
330
|
|
|
309
331
|
### Prevention Reminder
|
|
332
|
+
|
|
310
333
|
[Pattern/habit to prevent recurrence]
|
|
311
334
|
|
|
312
335
|
### Pattern Tags
|
|
336
|
+
|
|
313
337
|
Choose from: `#null-check` `#async-await` `#type-mismatch` `#missing-validation` `#wrong-query`
|
|
314
338
|
`#race-condition` `#auth` `#scope-error` `#missing-import` `#env-config`
|
|
315
339
|
`#wrong-logic` `#off-by-one` `#memory-leak` `#unhandled-error` `#cors`
|
|
@@ -41,7 +41,7 @@ You are a **Senior Code Reviewer** evaluating the quality and safety of new code
|
|
|
41
41
|
|
|
42
42
|
---
|
|
43
43
|
|
|
44
|
-
**Core question:**
|
|
44
|
+
**Core question:** _Is the code good and safe?_
|
|
45
45
|
|
|
46
46
|
> **Rule:** Run this after `spec-compliance`. Never say the phase is done without running it.
|
|
47
47
|
|
|
@@ -77,12 +77,12 @@ Ask again only for a material workspace change, conflicting findings, or newly d
|
|
|
77
77
|
|
|
78
78
|
Before reviewing, read available files in `project-context/`:
|
|
79
79
|
|
|
80
|
-
| File
|
|
81
|
-
|
|
82
|
-
| `rules.md`
|
|
83
|
-
| `architecture.md` | allowed patterns, tech stack, folder structure
|
|
84
|
-
| `schema.md`
|
|
85
|
-
| `api.md`
|
|
80
|
+
| File | Used For |
|
|
81
|
+
| ----------------- | ----------------------------------------------------------------------- |
|
|
82
|
+
| `rules.md` | naming, code style, team conventions (always read if it exists) |
|
|
83
|
+
| `architecture.md` | allowed patterns, tech stack, folder structure |
|
|
84
|
+
| `schema.md` | DB naming and relation constraints if the review touches the data layer |
|
|
85
|
+
| `api.md` | contract, response shape, error codes if the review touches the API |
|
|
86
86
|
|
|
87
87
|
Skip missing files. Do not block the review if `project-context/` is absent.
|
|
88
88
|
|