macca-method 2.1.1 → 2.1.2

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.
Files changed (60) hide show
  1. package/.agents/macca-lock.json +1 -1
  2. package/.agents/skills/_shared/references/brainstorm-session.md +5 -5
  3. package/.agents/skills/_shared/references/invocation-policy.md +20 -20
  4. package/.agents/skills/_shared/references/output-ownership.md +11 -11
  5. package/.agents/skills/_shared/references/scope-rules.md +1 -1
  6. package/.agents/skills/_shared/references/skill-catalog.md +20 -20
  7. package/.agents/skills/_shared/scripts/validate-skills.py +37 -15
  8. package/.agents/skills/add-feature/SKILL.md +9 -3
  9. package/.agents/skills/antislop-copywriting/SKILL.md +372 -0
  10. package/.agents/skills/brainstorm-api/SKILL.md +28 -16
  11. package/.agents/skills/brainstorm-api/assets/api.template.md +35 -15
  12. package/.agents/skills/brainstorm-architecture/SKILL.md +35 -15
  13. package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +44 -25
  14. package/.agents/skills/brainstorm-prd/SKILL.md +47 -17
  15. package/.agents/skills/brainstorm-prd/assets/PRD.template.md +47 -23
  16. package/.agents/skills/brainstorm-rules/SKILL.md +36 -19
  17. package/.agents/skills/brainstorm-rules/assets/rules.template.md +32 -18
  18. package/.agents/skills/brainstorm-schema/SKILL.md +18 -8
  19. package/.agents/skills/brainstorm-schema/assets/schema.template.md +25 -10
  20. package/.agents/skills/brainstorm-styleguide/SKILL.md +37 -19
  21. package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +78 -60
  22. package/.agents/skills/brainstorm-task/SKILL.md +27 -14
  23. package/.agents/skills/brainstorm-task/assets/Task.template.md +29 -18
  24. package/.agents/skills/bug-fix/SKILL.md +25 -1
  25. package/.agents/skills/code-review/SKILL.md +7 -7
  26. package/.agents/skills/code-review/references/review-checklist.md +21 -10
  27. package/.agents/skills/developer/SKILL.md +8 -0
  28. package/.agents/skills/developer/references/execute-task.md +13 -7
  29. package/.agents/skills/help/SKILL.md +32 -20
  30. package/.agents/skills/meet/SKILL.md +9 -4
  31. package/.agents/skills/quick-dev/SKILL.md +27 -22
  32. package/.agents/skills/release-readiness/SKILL.md +17 -13
  33. package/.agents/skills/skill-creator/LICENSE.txt +202 -0
  34. package/.agents/skills/skill-creator/SKILL.md +485 -0
  35. package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
  36. package/.agents/skills/skill-creator/agents/comparator.md +202 -0
  37. package/.agents/skills/skill-creator/agents/grader.md +223 -0
  38. package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
  39. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  40. package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  41. package/.agents/skills/skill-creator/references/schemas.md +441 -0
  42. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  43. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  44. package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
  45. package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
  46. package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
  47. package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
  48. package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
  49. package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
  50. package/.agents/skills/skill-creator/scripts/utils.py +47 -0
  51. package/.agents/skills/spec-audit/SKILL.md +28 -1
  52. package/.agents/skills/spec-compliance/SKILL.md +31 -18
  53. package/.agents/skills/spec-init/SKILL.md +29 -17
  54. package/README.md +158 -122
  55. package/bin/macca-method.js +1378 -1077
  56. package/package.json +40 -40
  57. package/scripts/run-skill-validator.js +27 -9
  58. package/scripts/test-install.js +599 -357
  59. package/scripts/test-upgrade-legacy.js +119 -100
  60. 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
- | Surface | Included? | Notes |
12
- |---------|-----------|-------|
13
- | Web app | Yes / No | [notes] |
14
- | Admin panel | Yes / No | [notes] |
15
- | Marketing site | Yes / No | [notes] |
16
- | Email / PDF / export | Yes / No | [notes] |
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
- | Role | Hex | Tailwind | Description |
27
- |------|-----|----------|-------------|
28
- | Primary | `#xxx` | `bg-blue-600` | Main brand |
29
- | Secondary | `#xxx` | `bg-gray-600` | Accent |
30
- | Background | `#xxx` | `bg-gray-50` | Page background |
31
- | Surface | `#xxx` | `bg-white` | Card/panel background |
32
- | Primary Text | `#xxx` | `text-gray-900` | Main text |
33
- | Secondary Text | `#xxx` | `text-gray-500` | Secondary text |
34
- | Error | `#xxx` | `text-red-500` | Error message |
35
- | Success | `#xxx` | `text-green-500` | Success message |
36
- | Warning | `#xxx` | `text-yellow-500` | Warning message |
37
- | Info | `#xxx` | `text-blue-500` | Info message |
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 | Size | Weight | Line Height |
46
- |-------|------|--------|-------------|
47
- | H1 | [size] | [weight] | [line-height] |
48
- | H2 | [size] | [weight] | [line-height] |
49
- | H3 | [size] | [weight] | [line-height] |
50
- | H4 | [size] | [weight] | [line-height] |
51
- | Body | [size] | regular | [line-height] |
52
- | Small | [size] | regular | [line-height] |
53
- | Caption | [size] | regular | [line-height] |
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 | Tailwind |
60
- |-------|-------|----------|
61
- | xs | [4px] | `p-1` |
62
- | sm | [8px] | `p-2` |
63
- | md | [16px] | `p-4` |
64
- | lg | [24px] | `p-6` |
65
- | xl | [32px] | `p-8` |
66
- | 2xl | [48px] | `p-12` |
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
- | Component | Status | Notes |
74
- |-----------|--------|-------|
75
- | Button | Defined | [notes] |
76
- | Card | Defined | [notes] |
77
- | Input | Defined | [notes] |
78
- | Modal | Defined / Deferred | [notes] |
79
- | Table | Defined / Deferred | [notes] |
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
- | Variant | Style |
83
- |---------|-------|
84
- | Primary | [bg-primary text-white rounded-md px-4 py-2] |
85
- | Secondary | [outline / ghost] |
86
- | Danger | [bg-error text-white] |
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 | Description |
108
- |------------|-------|-------------|
109
- | sm | [640px] | Small tablet |
110
- | md | [768px] | Tablet |
111
- | lg | [1024px] | Desktop |
112
- | xl | [1280px] | Large desktop |
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 | Required UI Behavior | Recovery/Action |
130
- |-------|----------------------|-----------------|
131
- | Loading | [skeleton/progress] | [wait/cancel] |
132
- | Empty | [message/CTA] | [next action] |
133
- | Error | [message/retry] | [recovery] |
134
- | Forbidden | [explanation] | [request access/back] |
135
- | Offline/Partial | [if applicable] | [sync/retry] |
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 `Task.md` from the completed specs applicable to the project's declared scope. Use after `architecture.md` and all relevant product, data, API, UI, and coding-rule documents are ready, or when adding an approved phase to an existing plan.
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
- *This is not a fresh brainstorm. It is only clarification before task generation.*
97
+ _This is not a fresh brainstorm. It is only clarification before task generation._
94
98
 
95
99
  ### 1. Phase Priority Order
96
- **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?"*
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
- **Ask:** *"How small should the tasks be? Should one task equal one file, or one full feature?"*
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
- **Ask:** *"While working through tasks, should I stop for confirmation after each task, or continue automatically per phase?"*
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
- > *"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?"*
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
- ````text
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
- | Topic | Canonical Source |
12
- |------|------------------|
13
- | Product scope | `project-context/PRD.md` |
12
+
13
+ | Topic | Canonical Source |
14
+ | ------------------- | --------------------------------- |
15
+ | Product scope | `project-context/PRD.md` |
14
16
  | Technical structure | `project-context/architecture.md` |
15
- | Data contract | `project-context/schema.md` |
16
- | API contract | `project-context/api.md` |
17
- | UI contract | `project-context/StyleGuide.md` |
18
- | Coding rules | `project-context/rules.md` |
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
- | Phase | Name | Status | Progress |
30
- |------|------|--------|----------|
31
- | 1 | [Setup & Configuration] | [ ] | 0/3 |
32
- | 2 | [Database & Models] | [ ] | 0/4 |
33
- | 3 | [Backend: Auth] | [ ] | 0/3 |
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
- | Requirement ID | Source | Covering Tasks |
103
- |----------------|--------|----------------|
104
- | FEAT-01 | `project-context/PRD.md` | `Task 1.1`, `Task 1.2`, `Task 2.1` |
105
- | BR-01 | `project-context/PRD.md` | `Task 1.1` |
106
- | API-01 | `project-context/api.md` | `Task 2.1` |
107
- | DATA-01 | `project-context/schema.md` | `Task 1.2` |
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:** *Is the code good and safe?*
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 | 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 |
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