macca-method 2.1.2 → 3.0.0-rc.1
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 +2 -1
- package/.agents/macca-managed-skills.txt +1 -0
- package/.agents/skills/_shared/references/additional-skills.md +17 -1
- package/.agents/skills/_shared/references/brainstorm-session.md +61 -21
- package/.agents/skills/_shared/references/config-mutation.md +58 -18
- package/.agents/skills/_shared/references/fix-mode.md +21 -7
- package/.agents/skills/_shared/references/human-loop.md +2 -0
- package/.agents/skills/_shared/references/implementation-principles.md +4 -0
- package/.agents/skills/_shared/references/interaction-contract.md +33 -0
- package/.agents/skills/_shared/references/invocation-policy.md +14 -3
- package/.agents/skills/_shared/references/language-config.md +24 -4
- package/.agents/skills/_shared/references/output-ownership.md +12 -5
- package/.agents/skills/_shared/references/planning-principles.md +35 -0
- package/.agents/skills/_shared/references/scope-delta.md +21 -0
- package/.agents/skills/_shared/references/scope-rules.md +1 -1
- package/.agents/skills/_shared/references/skill-catalog.md +30 -13
- package/.agents/skills/_shared/references/workspace-safety.md +11 -0
- package/.agents/skills/_shared/scripts/config-file.js +132 -0
- package/.agents/skills/_shared/scripts/config-validator.js +164 -0
- package/.agents/skills/_shared/scripts/read-preferences.js +128 -0
- package/.agents/skills/add-feature/SKILL.md +24 -18
- package/.agents/skills/brainstorm-api/SKILL.md +24 -23
- package/.agents/skills/brainstorm-api/assets/api.template.md +11 -23
- package/.agents/skills/brainstorm-architecture/SKILL.md +41 -48
- package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +24 -16
- package/.agents/skills/brainstorm-prd/SKILL.md +26 -28
- package/.agents/skills/brainstorm-prd/assets/PRD.template.md +10 -9
- package/.agents/skills/brainstorm-rules/SKILL.md +42 -46
- package/.agents/skills/brainstorm-rules/assets/rules.template.md +8 -8
- package/.agents/skills/brainstorm-schema/SKILL.md +17 -17
- package/.agents/skills/brainstorm-schema/assets/schema.template.md +9 -8
- package/.agents/skills/brainstorm-styleguide/SKILL.md +27 -26
- package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +27 -51
- package/.agents/skills/brainstorm-task/SKILL.md +53 -37
- package/.agents/skills/brainstorm-task/assets/Task.template.md +11 -12
- package/.agents/skills/bug-fix/SKILL.md +78 -175
- package/.agents/skills/bug-fix/assets/bug-log.template.md +61 -0
- package/.agents/skills/code-review/SKILL.md +14 -6
- package/.agents/skills/code-review/references/review-checklist.md +24 -44
- package/.agents/skills/developer/SKILL.md +23 -25
- package/.agents/skills/developer/references/close-phase.md +11 -6
- package/.agents/skills/developer/references/execute-task.md +15 -8
- package/.agents/skills/developer/references/onboarding.md +16 -19
- package/.agents/skills/help/SKILL.md +49 -49
- package/.agents/skills/meet/SKILL.md +37 -85
- package/.agents/skills/quick-dev/SKILL.md +40 -75
- package/.agents/skills/release-readiness/SKILL.md +1 -1
- package/.agents/skills/setup-macca-method/SKILL.md +79 -0
- package/.agents/skills/spec-audit/SKILL.md +21 -17
- package/.agents/skills/spec-compliance/SKILL.md +36 -18
- package/.agents/skills/spec-init/SKILL.md +53 -22
- package/CHANGELOG.md +31 -0
- package/README.md +92 -1195
- package/bin/macca-method.js +833 -286
- package/docs/configuration.md +174 -0
- package/docs/troubleshooting.md +180 -0
- package/docs/workflows.md +175 -0
- package/package.json +48 -4
- package/scripts/lib/npm-command.js +76 -0
- package/scripts/test-cli-setup.js +869 -0
- package/scripts/test-config.js +320 -0
- package/scripts/test-install.js +63 -28
- package/scripts/test-installer-safety.js +545 -0
- package/scripts/test-npm-command.js +143 -0
- package/scripts/test-package-safety.js +252 -0
- package/scripts/test-preferences.js +475 -0
- package/scripts/test-upgrade-legacy.js +11 -21
- package/scripts/validate-docs.js +166 -0
- package/scripts/validate-package.js +285 -0
- package/scripts/validate-skill-behavior.js +914 -12
- package/.agents/skills/antislop-copywriting/SKILL.md +0 -372
- package/.agents/skills/skill-creator/LICENSE.txt +0 -202
- package/.agents/skills/skill-creator/SKILL.md +0 -485
- package/.agents/skills/skill-creator/agents/analyzer.md +0 -274
- package/.agents/skills/skill-creator/agents/comparator.md +0 -202
- package/.agents/skills/skill-creator/agents/grader.md +0 -223
- package/.agents/skills/skill-creator/assets/eval_review.html +0 -146
- package/.agents/skills/skill-creator/eval-viewer/generate_review.py +0 -471
- package/.agents/skills/skill-creator/eval-viewer/viewer.html +0 -1325
- package/.agents/skills/skill-creator/references/schemas.md +0 -441
- package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
- package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
- package/.agents/skills/skill-creator/scripts/generate_report.py +0 -326
- package/.agents/skills/skill-creator/scripts/improve_description.py +0 -247
- package/.agents/skills/skill-creator/scripts/package_skill.py +0 -136
- package/.agents/skills/skill-creator/scripts/quick_validate.py +0 -103
- package/.agents/skills/skill-creator/scripts/run_eval.py +0 -310
- package/.agents/skills/skill-creator/scripts/run_loop.py +0 -328
- package/.agents/skills/skill-creator/scripts/utils.py +0 -47
package/README.md
CHANGED
|
@@ -1,1248 +1,145 @@
|
|
|
1
1
|
# MACCA — Method
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**Plan, build, and check software with AI using written requirements.** MACCA is a collection of skills that helps your coding assistant turn an idea into a plan, implement approved work, and check the result against your decisions. It supports new projects and existing codebases.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
You describe the goal and make important decisions. Your AI assistant guides the technical work, records the relevant agreements, and explains what was checked and what remains uncertain. You can ask for plain-language explanations or technical detail.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Table of Contents
|
|
12
|
-
|
|
13
|
-
1. [Problem Solved](#1-problem-solved)
|
|
14
|
-
2. [How It Works](#2-how-it-works)
|
|
15
|
-
3. [Planning Skills](#3-planning-skills)
|
|
16
|
-
4. [Execution Skills](#4-execution-skills)
|
|
17
|
-
5. [Utility Skills](#5-utility-skills)
|
|
18
|
-
6. [The MACCA AI Team](#6-the-macca-ai-team)
|
|
19
|
-
7. [Workflow](#7-workflow)
|
|
20
|
-
8. [Installation & Usage](#8-installation--usage)
|
|
21
|
-
9. [Configuration](#9-configuration)
|
|
22
|
-
10. [Frequently Asked Questions](#10-frequently-asked-questions)
|
|
23
|
-
11. [License](#11-license)
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 1. Problem Solved
|
|
28
|
-
|
|
29
|
-
When using AI for coding without clear guidance, these problems are common:
|
|
30
|
-
|
|
31
|
-
- AI writes code that does not match business needs
|
|
32
|
-
- Each AI session seems to "forget" previous project context
|
|
33
|
-
- There is no code standard — each file is written in a different style
|
|
34
|
-
- It is hard to know when a feature is truly done
|
|
35
|
-
- The same bugs appear again and again
|
|
36
|
-
|
|
37
|
-
**MACCA solves this** by writing all decisions first in spec documents: features, database, API, UI, and code standards. AI reads those documents before coding, then verifies the result after coding.
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## 2. How It Works
|
|
42
|
-
|
|
43
|
-
MACCA uses **skills** — structured instructions given to AI to perform specific tasks. Each skill has a clear responsibility and does not overlap.
|
|
44
|
-
|
|
45
|
-
Skills use progressive disclosure: only names/descriptions are advertised initially, the selected `SKILL.md` loads on demand, and long templates/checklists load only at the phase that needs them. This keeps discovery complete without placing every workflow and output template in context at once.
|
|
46
|
-
|
|
47
|
-
The full project flow is documented in [Workflow](#7-workflow). `brainstorm-styleguide` is optional and additive; it never replaces `brainstorm-schema`, `brainstorm-api`, or `brainstorm-rules`.
|
|
48
|
-
|
|
49
|
-
All planning output documents are stored in `project-context/` in your project.
|
|
50
|
-
|
|
51
|
-
> **Any time:** you can call `help` to see project status and recommended next steps, or `meet` for one structured round of multi-persona input before continuing.
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## 3. Planning Skills
|
|
56
|
-
|
|
57
|
-
Planning skills run as evidence-first interview sessions. AI reads applicable upstream specs first and asks only material decisions that are still unknown. At the start of each session, AI announces the topic count, then asks two things if not already saved:
|
|
58
|
-
|
|
59
|
-
1. **Pacing**: (A) one by one · (B) three at a time · (C) all at once
|
|
60
|
-
2. **Recommendations**: should AI provide suggested answers for each question?
|
|
61
|
-
|
|
62
|
-
These choices are saved and reused. Discovery depth is separate from pacing:
|
|
63
|
-
|
|
64
|
-
- **quick** — only when you explicitly identify disposable prototype/internal experiment work
|
|
65
|
-
- **standard** — default production depth
|
|
66
|
-
- **critical** — automatic deeper security, failure, recovery, and operational detail for payments, sensitive/regulated data, multi-tenancy, public uploads/webhooks, privileged administration, or high availability
|
|
67
|
-
|
|
68
|
-
Depth is inferred from existing context and can be overridden; it does not add a mandatory setup question. Mandatory safety topics are never skipped.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
<details>
|
|
73
|
-
<summary><strong>brainstorm-prd</strong> — Create PRD.md (Product Requirements Document)</summary>
|
|
74
|
-
|
|
75
|
-
**Persona:** @Galbi — Project Manager
|
|
76
|
-
|
|
77
|
-
**Called when:** Starting a new project for the first time. If `PRD.md` already exists, AI asks before overwriting it.
|
|
78
|
-
|
|
79
|
-
**Output:** `project-context/PRD.md`
|
|
80
|
-
|
|
81
|
-
**Topic count:** 15 topics
|
|
82
|
-
|
|
83
|
-
**Topics covered:**
|
|
84
|
-
|
|
85
|
-
1. Project Goal — long-term vision and what makes the project unique
|
|
86
|
-
2. Target Users — user personas, demographics, pain points
|
|
87
|
-
3. Problem Being Solved — real problem, current workaround, and its cost/limitations
|
|
88
|
-
4. Main Features (MVP) — minimum features required in the first version
|
|
89
|
-
5. Business Rules — rules that must never be broken (for example: stock cannot go negative)
|
|
90
|
-
6. User Flow — happy path, failure scenarios, and degraded behavior
|
|
91
|
-
7. Design & Technical Requirements — platform, references, integrations, preferences
|
|
92
|
-
8. Non-Functional Requirements — performance, security, scalability, accessibility, availability
|
|
93
|
-
9. Success Metrics & Rollout — baseline, target, timeframe, measurement source, owner, launch strategy
|
|
94
|
-
10. Acceptance Criteria — concrete conditions for each feature
|
|
95
|
-
11. Non-Goals — what will _not_ be built
|
|
96
|
-
12. Assumptions — unverified conditions
|
|
97
|
-
13. User Stories — prioritized workflows from the user perspective
|
|
98
|
-
14. Stakeholders — owners and responsibilities
|
|
99
|
-
15. Open Questions — unresolved decisions and risks
|
|
100
|
-
|
|
101
|
-
**Important behavior:**
|
|
102
|
-
|
|
103
|
-
- Use `Traceability ID` (`FEAT-*`, `BR-*`, `AC-*`, `NFR-*`, `US-*`) so each requirement can be traced to tasks and code
|
|
104
|
-
- Do not overwrite existing files without confirmation
|
|
105
|
-
|
|
106
|
-
</details>
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
<details>
|
|
111
|
-
<summary><strong>brainstorm-architecture</strong> — Create architecture.md (System Architecture)</summary>
|
|
112
|
-
|
|
113
|
-
**Persona:** @Fachri — Tech Lead
|
|
114
|
-
|
|
115
|
-
**Called when:** After `PRD.md` is complete. **Required** before `brainstorm-schema` and `brainstorm-api`.
|
|
116
|
-
|
|
117
|
-
**Read before starting:** `project-context/PRD.md`
|
|
118
|
-
|
|
119
|
-
**Output:** `project-context/architecture.md`
|
|
120
|
-
|
|
121
|
-
**Topic count:** 10 topics
|
|
122
|
-
|
|
123
|
-
**Topics covered:**
|
|
124
|
-
|
|
125
|
-
1. System Context — systems and external services that interact
|
|
126
|
-
2. Tech Stack — frontend, backend, database, hosting, CI/CD, plus strategic dependency/license/health/lock-in/exit evaluation
|
|
127
|
-
3. Folder Structure — project file and directory organization
|
|
128
|
-
4. Design Patterns — architecture patterns (MVC, Clean Architecture, Feature-based, Hexagonal)
|
|
129
|
-
5. Authentication & Authorization — login method, JWT/session, RBAC
|
|
130
|
-
6. API Style — REST, GraphQL, or tRPC
|
|
131
|
-
7. State Management — Zustand, Redux, Context API, etc.
|
|
132
|
-
8. Security & Abuse Cases — required risk screen; depth increases for sensitive systems
|
|
133
|
-
9. Deployment & Operations — environments, deployment, observability, owner/runbook, rollback, and critical-system recovery/RPO/RTO
|
|
134
|
-
10. Architecture Decision Records — major decisions and their reasoning
|
|
135
|
-
|
|
136
|
-
**Important behavior:**
|
|
137
|
-
|
|
138
|
-
- Every decision must be defensible with reasoning
|
|
139
|
-
- The `Tech Stack` and `Folder Structure` fields are mandatory references for `spec-compliance` (SC-02) and `developer` (Step 2)
|
|
140
|
-
|
|
141
|
-
</details>
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
<details>
|
|
146
|
-
<summary><strong>brainstorm-schema</strong> — Create schema.md (Database Design)</summary>
|
|
147
|
-
|
|
148
|
-
**Persona:** @Fachri — Tech Lead
|
|
149
|
-
|
|
150
|
-
**Called when:** After `architecture.md` is complete.
|
|
151
|
-
|
|
152
|
-
**Read before starting:** `project-context/PRD.md`, `project-context/architecture.md`
|
|
153
|
-
|
|
154
|
-
**Output:** `project-context/schema.md`
|
|
155
|
-
|
|
156
|
-
**Topic count:** 5 topics
|
|
157
|
-
|
|
158
|
-
**Topics covered:**
|
|
159
|
-
|
|
160
|
-
1. Persistence Conventions — identity, naming, audit/version metadata, deletion, retention
|
|
161
|
-
2. Entity/Storage Map — relational, document, key-value, graph, event-store, or mixed
|
|
162
|
-
3. Fields & Data Types — datastore-native validation, PII, volume, growth, payload size
|
|
163
|
-
4. Relationships & Placement — references/embedding/edges/aggregates plus tenancy and concurrency
|
|
164
|
-
5. Access Patterns & Evolution — indexes/projections, consistency, migration, backfill, compatibility, recovery
|
|
165
|
-
|
|
166
|
-
**Important behavior:**
|
|
167
|
-
|
|
168
|
-
- Give each persisted entity a `Traceability ID` (`DATA-*`)
|
|
169
|
-
- Datastore-native names, tenancy, concurrency, retention, and migration constraints are verified by `spec-compliance` (SC-03)
|
|
170
|
-
|
|
171
|
-
</details>
|
|
172
|
-
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
<details>
|
|
176
|
-
<summary><strong>brainstorm-api</strong> — Create api.md (API Endpoint Contract)</summary>
|
|
177
|
-
|
|
178
|
-
**Persona:** @Fachri — Tech Lead
|
|
179
|
-
|
|
180
|
-
**Called when:** After applicable architecture/data decisions, or after architecture for a frontend consumer contract.
|
|
181
|
-
|
|
182
|
-
**Read before starting:** `project-context/PRD.md`, `project-context/architecture.md`, and `project-context/schema.md` when a provider/full contract needs persisted data details.
|
|
183
|
-
|
|
184
|
-
**Output:** `project-context/api.md`
|
|
185
|
-
|
|
186
|
-
**Topic count:** 5 topics
|
|
187
|
-
|
|
188
|
-
**Topics covered:**
|
|
189
|
-
|
|
190
|
-
1. Entry Point, Versioning, Deprecation & Auth — protocol-native compatibility and lifecycle
|
|
191
|
-
2. Error Catalog — protocol-native errors, retryability, timeout interaction, client action
|
|
192
|
-
3. Operations — REST endpoints, GraphQL operations, RPC procedures, events, or mixed contracts
|
|
193
|
-
4. Input/Output/Event Details — examples, validation, authorization, idempotency/replay
|
|
194
|
-
5. Flow & Reliability — pagination/streaming, rate limits, retries, SLOs, and contract-test invariants
|
|
195
|
-
|
|
196
|
-
**Important behavior:**
|
|
197
|
-
|
|
198
|
-
- Give each operation a `Traceability ID` (`API-*`)
|
|
199
|
-
- Agreed request and response formats are a **contract** verified by `spec-compliance` (SC-04) during coding
|
|
200
|
-
|
|
201
|
-
</details>
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
<details>
|
|
206
|
-
<summary><strong>brainstorm-styleguide</strong> — Create StyleGuide.md (UI/UX Design Guide)</summary>
|
|
207
|
-
|
|
208
|
-
**Persona:** @Akram — UI/UX Designer
|
|
209
|
-
|
|
210
|
-
**Called when:** After `PRD.md` and `architecture.md` are clear. **Optional** — skip if the project has no UI.
|
|
211
|
-
|
|
212
|
-
**Read before starting:** `project-context/PRD.md`, `project-context/architecture.md`
|
|
213
|
-
|
|
214
|
-
**Output:** `project-context/StyleGuide.md`
|
|
215
|
-
|
|
216
|
-
**Topic count:** 8 topics
|
|
217
|
-
|
|
218
|
-
**Topics covered:**
|
|
219
|
-
|
|
220
|
-
1. CSS Framework — Tailwind CSS (v3/v4), Bootstrap, CSS Modules, or custom
|
|
221
|
-
2. Color Palette — primary, secondary, accent, status colors (error/success/warning/info), dark mode
|
|
222
|
-
3. Typography — font family, heading and body sizes, line height, font weight
|
|
223
|
-
4. Spacing System — spacing scale used (4px, 8px, 16px, 24px, etc.)
|
|
224
|
-
5. Component Styles — button, card, form input, modal, table — styling and states
|
|
225
|
-
6. Responsive & Breakpoints — sm/md/lg/xl breakpoints and layout changes
|
|
226
|
-
7. Icons & Assets — icon library, image formats, asset naming conventions
|
|
227
|
-
8. Accessibility, Localization & Operational States — keyboard/focus/screen reader/reduced motion; loading/empty/error/forbidden/offline; locales/RTL; UI performance
|
|
228
|
-
|
|
229
|
-
**Important behavior:**
|
|
230
|
-
|
|
231
|
-
- Agreed colors and spacing are a **contract** — `spec-compliance` (SC-06) flags arbitrary values outside this list
|
|
232
|
-
|
|
233
|
-
</details>
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
|
|
237
|
-
<details>
|
|
238
|
-
<summary><strong>brainstorm-rules</strong> — Create rules.md (Code Standards / Code Constitution)</summary>
|
|
239
|
-
|
|
240
|
-
**Persona:** @Fachri — Tech Lead
|
|
241
|
-
|
|
242
|
-
**Called when:** Any time, but ideally before coding starts.
|
|
243
|
-
|
|
244
|
-
**Read before starting:** `project-context/architecture.md`, `project-context/PRD.md`, `project-context/schema.md`, `project-context/api.md`
|
|
245
|
-
|
|
246
|
-
**Output:** `project-context/rules.md`
|
|
247
|
-
|
|
248
|
-
**Topic count:** 7 topics
|
|
249
|
-
|
|
250
|
-
**Topics covered:**
|
|
251
|
-
|
|
252
|
-
1. AI Persona & Tech Stack — main technologies, preferred libraries, favored and avoided patterns
|
|
253
|
-
2. Naming Conventions — variables, functions, components, files, folders, constants
|
|
254
|
-
3. Code Style — formatting (Prettier/ESLint), max function length, `console.log` rules, early return
|
|
255
|
-
4. Testing Strategy — minimum coverage, testing tools, TDD approach
|
|
256
|
-
5. Security Rules — token storage, input validation, secret management
|
|
257
|
-
6. Git Workflow — commit message convention, branching strategy
|
|
258
|
-
7. `[FORBIDDEN]` Section — list of technical prohibitions that AI **must scan** before writing code
|
|
259
|
-
|
|
260
|
-
Conditional rules are generated only when applicable: structured logging, migrations, feature flags, generated code, and secret rotation.
|
|
261
|
-
|
|
262
|
-
**Important behavior:**
|
|
263
|
-
|
|
264
|
-
- The `[FORBIDDEN]` section is the first thing `developer` reads before coding
|
|
265
|
-
- If the `[FORBIDDEN]` section is missing, `spec-compliance` records it as a MINOR finding
|
|
266
|
-
|
|
267
|
-
</details>
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
<details>
|
|
272
|
-
<summary><strong>brainstorm-task</strong> — Create Task.md (Phased Work Plan)</summary>
|
|
273
|
-
|
|
274
|
-
**Persona:** @Galbi — Project Manager
|
|
275
|
-
|
|
276
|
-
**Called when:** After all spec documents are complete. Also called automatically by `add-feature` to add a new phase.
|
|
277
|
-
|
|
278
|
-
**Read before starting:** All documents in `project-context/` (PRD, architecture, schema, api, rules, StyleGuide)
|
|
279
|
-
|
|
280
|
-
**Output:** `project-context/Task.md`
|
|
281
|
-
|
|
282
|
-
**User clarification count:** 3 topics plus one automatic document-completeness check
|
|
283
|
-
|
|
284
|
-
**Clarification topics:**
|
|
285
|
-
|
|
286
|
-
1. Phase Priority Order — implementation order, which features must finish first
|
|
287
|
-
2. Task Granularity — how small should tasks be? One file, one endpoint, or one full feature?
|
|
288
|
-
3. Execution Rules — stop for confirmation after each task, or continue automatically by phase?
|
|
289
|
-
4. Verify Available Documents — AI checks spec completeness itself before creating `Task.md`
|
|
290
|
-
|
|
291
|
-
**Two operation modes:**
|
|
292
|
-
|
|
293
|
-
- **Generate New** — create `Task.md` from scratch based on all available specs
|
|
294
|
-
- **Add Phase Mode** — append a new phase below existing `Task.md` content (called by `add-feature`, does not overwrite old content)
|
|
295
|
-
|
|
296
|
-
**Important behavior:**
|
|
297
|
-
|
|
298
|
-
- Tasks are **not created from guesses** — all tasks are derived from the spec documents
|
|
299
|
-
- Every task has concrete, verifiable `Acceptance Criteria`
|
|
300
|
-
- Testing order follows `rules.md`: test-first when explicitly selected, otherwise test-with-change or the project's approved workflow
|
|
301
|
-
- Every task has a `Traceability ID` that links it to requirements in the specs
|
|
302
|
-
- Every phase receives a Definition of Done derived from applicable specs: validation, security, migration/recovery, observability, docs/rollout, `spec-compliance`, and `code-review`
|
|
303
|
-
|
|
304
|
-
</details>
|
|
305
|
-
|
|
306
|
-
---
|
|
307
|
-
|
|
308
|
-
## 4. Execution Skills
|
|
309
|
-
|
|
310
|
-
---
|
|
311
|
-
|
|
312
|
-
<details>
|
|
313
|
-
<summary><strong>developer</strong> — Execute tasks from Task.md phase by phase</summary>
|
|
314
|
-
|
|
315
|
-
**Persona:** @Firdaus — Expert Developer
|
|
316
|
-
|
|
317
|
-
**Called when:** After `Task.md` exists and is ready to execute.
|
|
318
|
-
|
|
319
|
-
**Full workflow:**
|
|
320
|
-
|
|
321
|
-
**Step 0 — Identify name & project**
|
|
322
|
-
Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks once and saves the answer.
|
|
323
|
-
|
|
324
|
-
**Additional skills & MCP setup** (`references/onboarding.md`)
|
|
325
|
-
|
|
326
|
-
_Additional Skills:_
|
|
327
|
-
|
|
328
|
-
- If `additionalSkills` already exists in config → use it directly
|
|
329
|
-
- If not → AI asks once: _"Are there any additional skills for this project?"_
|
|
330
|
-
- For every named skill, AI **first searches the workspace itself** (`.agents/skills/`, `.github/skills/`, `.opencode/skills/`). It only asks you for the path if the skill is not found.
|
|
331
|
-
- When working on a relevant task, AI **must read** `SKILL.md` from that skill before writing code.
|
|
332
|
-
|
|
333
|
-
_MCP (Model Context Protocol):_
|
|
334
|
-
|
|
335
|
-
- If `availableMCPs` already exists in config → use it directly
|
|
336
|
-
- If not → AI asks once: _"Which MCPs are available in your workspace?"_
|
|
337
|
-
- Only listed MCPs will be used.
|
|
338
|
-
|
|
339
|
-
**Developer scope** (`references/onboarding.md`)
|
|
340
|
-
|
|
341
|
-
- If `developerPreferences.scope` already exists → use it directly
|
|
342
|
-
- If not → AI asks once:
|
|
343
|
-
```
|
|
344
|
-
What is your work scope in this project?
|
|
345
|
-
A) Frontend only — do not touch backend/API/database
|
|
346
|
-
B) Backend only — do not touch UI/frontend
|
|
347
|
-
C) Fullstack — work across the whole stack
|
|
348
|
-
```
|
|
349
|
-
- This scope is enforced in every phase: AI will not create/change files outside the scope.
|
|
350
|
-
|
|
351
|
-
**Work mode** (`references/onboarding.md`)
|
|
352
|
-
|
|
353
|
-
- If `developerPreferences.workMode` already exists → use it directly
|
|
354
|
-
- If not → AI asks once:
|
|
355
|
-
```
|
|
356
|
-
A) Code now — start immediately
|
|
357
|
-
B) Plan first — write a plan first for your review
|
|
358
|
-
```
|
|
359
|
-
- **Plan-first mode:** AI creates a plan file in `project-context/plans/phase-[N]-[slug].md` with a status header at the top. Plan status changes through this lifecycle:
|
|
360
|
-
```
|
|
361
|
-
status: review ← when the plan is first created (you review it first)
|
|
362
|
-
status: in-progress ← when you type "start"
|
|
363
|
-
status: code-review ← when all tasks in the phase are complete
|
|
364
|
-
status: done ← when code-review is complete
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
**Selecting relevant specs** (`references/execute-task.md`)
|
|
368
|
-
|
|
369
|
-
| Condition | Read |
|
|
370
|
-
| --------------------------- | ----------------------------- |
|
|
371
|
-
| All tasks (always) | `rules.md`, `architecture.md` |
|
|
372
|
-
| Task touches database/model | + `schema.md` |
|
|
373
|
-
| Task touches API/endpoint | + `api.md` |
|
|
374
|
-
| Task touches UI/component | + `StyleGuide.md` |
|
|
375
|
-
| Requirement is unclear | + `PRD.md` |
|
|
376
|
-
|
|
377
|
-
Scope enforcement: if `scope=frontend`, AI does not touch backend files. If `scope=backend`, AI does not touch frontend files.
|
|
378
|
-
|
|
379
|
-
**Executing tasks** (`references/execute-task.md`)
|
|
380
|
-
|
|
381
|
-
For each task:
|
|
382
|
-
|
|
383
|
-
1. Understand the task and acceptance criteria
|
|
384
|
-
2. Check the ladder: does it need to be built? Does it already exist in the codebase? Is it in the standard library? (YAGNI)
|
|
385
|
-
3. Write an I/O contract for non-trivial functions
|
|
386
|
-
4. Follow the testing workflow in `rules.md`: test-first only when selected, otherwise test-with-change or the approved project policy
|
|
387
|
-
5. After finishing, write `[SELF-REVIEW]`:
|
|
388
|
-
```
|
|
389
|
-
1. Security risk: [1 potential issue — or "none identified"]
|
|
390
|
-
2. Performance bottleneck: [1 area — or "none identified"]
|
|
391
|
-
3. Spec assumption: [1 assumption — or "none"]
|
|
392
|
-
```
|
|
393
|
-
6. Run validation, update `Task.md` (`[ ]` → `[x]`)
|
|
394
|
-
|
|
395
|
-
Developer loads workflow references by state, not all at once:
|
|
396
|
-
|
|
397
|
-
- `onboarding.md` only for missing setup or plan-first
|
|
398
|
-
- `execute-task.md` only for the current task
|
|
399
|
-
- `close-phase.md` only when closing a phase/project
|
|
400
|
-
|
|
401
|
-
**Closing a phase** (`references/close-phase.md`)
|
|
402
|
-
|
|
403
|
-
1. Show a phase summary
|
|
404
|
-
2. Verify the applicable Phase Definition of Done; mark genuine non-applicable items with a reason
|
|
405
|
-
3. If there is a plan file for this phase → update plan status: `in-progress` → `code-review`
|
|
406
|
-
4. Run `spec-compliance` automatically
|
|
407
|
-
5. If clean, run `code-review` automatically
|
|
408
|
-
6. Complete quality-gate DoD items, then offer the next phase
|
|
409
|
-
|
|
410
|
-
**MCPs used (if listed in `availableMCPs`):**
|
|
411
|
-
|
|
412
|
-
- `context7` or equivalent docs MCP — current installed-version library documentation
|
|
413
|
-
- `codebase-memory-mcp` or equivalent graph/symbol tooling — codebase discovery and relationships
|
|
414
|
-
- Other registered MCPs only when relevant to the current task
|
|
415
|
-
|
|
416
|
-
</details>
|
|
417
|
-
|
|
418
|
-
---
|
|
419
|
-
|
|
420
|
-
<details>
|
|
421
|
-
<summary><strong>quick-dev</strong> — Execute a single focused task directly, without phase ceremony</summary>
|
|
422
|
-
|
|
423
|
-
**Persona:** @Firdaus — Expert Developer
|
|
424
|
-
|
|
425
|
-
**Called when:** A small, targeted change is needed (color fix, layout tweak, copy edit, minor logic adjustment) and it still maps cleanly to the current project context. It avoids full phase ceremony, but keeps the same quality gates.
|
|
426
|
-
|
|
427
|
-
**Not for:** new features, database migrations, new API endpoints, or changes touching more than 5 files — use `developer` instead.
|
|
428
|
-
|
|
429
|
-
**Full workflow:**
|
|
430
|
-
|
|
431
|
-
**Step 0 — Identity**
|
|
432
|
-
Same as `developer`. Reads `.agents/developer-config.json`, greets by name and project.
|
|
433
|
-
|
|
434
|
-
**Step 0b & 0c — Additional Skills, MCP, Scope**
|
|
435
|
-
Same setup policy as `developer`. Reads from config if already set and asks only for missing required setup.
|
|
436
|
-
|
|
437
|
-
**Step 1 — Pre-flight summary** _(unique to quick-dev)_
|
|
438
|
-
|
|
439
|
-
Before any code is written, AI shows:
|
|
440
|
-
|
|
441
|
-
```
|
|
442
|
-
Quick Dev — Pre-flight
|
|
443
|
-
───────────────────────
|
|
444
|
-
Task : [concise interpretation]
|
|
445
|
-
Specs : [specs to read]
|
|
446
|
-
Files :
|
|
447
|
-
~ [path/file] (modify)
|
|
448
|
-
Assumptions (will proceed unless corrected):
|
|
449
|
-
[~] [assumption]
|
|
450
|
-
Need confirmation before proceeding: ← omit if none
|
|
451
|
-
[?] [blocking question]
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
- Non-blocking ambiguities go under "Assumptions", not as questions
|
|
455
|
-
- Missing specs (e.g. no `StyleGuide.md` but task touches UI) are flagged here
|
|
456
|
-
- Waits only when a blocking ambiguity exists; otherwise proceeds in the same turn with listed assumptions
|
|
457
|
-
|
|
458
|
-
**Step 2 — Read relevant specs**
|
|
459
|
-
Same table as `developer` — reads only what the task needs.
|
|
460
|
-
|
|
461
|
-
**Step 3 — Execute**
|
|
462
|
-
Loads the same task-execution workflow as `developer`: scope check → delta approval if needed → clarify only blocking ambiguity → I/O contract for non-trivial logic → code → `[SELF-REVIEW]` → validate.
|
|
463
|
-
|
|
464
|
-
**Step 4 — Update Task.md**
|
|
465
|
-
|
|
466
|
-
| Condition | Action |
|
|
467
|
-
| ------------------------- | ------------------------------------------------------------------ |
|
|
468
|
-
| Related item found, `[ ]` | Mark `[x]`, add brief note |
|
|
469
|
-
| Related item found, `[x]` | Add sub-note about the refinement |
|
|
470
|
-
| No related item | Append to active phase as `[x]` with tag `(quick-fix: YYYY-MM-DD)` |
|
|
471
|
-
|
|
472
|
-
**Step 5 — Quality gates**
|
|
473
|
-
Runs full `spec-compliance` then `code-review`. Both follow `fixMode` from config.
|
|
474
|
-
|
|
475
|
-
**Important behavior:** quick-dev is a bounded router, not a separate implementation philosophy. It follows the same shared implementation principles, testing policy, and approval gates as `developer`, but only for small, clearly anchored work. Anything broader routes back to `developer`.
|
|
476
|
-
|
|
477
|
-
**Step 6 — Final report**
|
|
478
|
-
|
|
479
|
-
```
|
|
480
|
-
Quick Dev — Done
|
|
481
|
-
─────────────────
|
|
482
|
-
Task : [description]
|
|
483
|
-
Files : [changed files]
|
|
484
|
-
Validated : [check and result]
|
|
485
|
-
Assumptions used: [~] ...
|
|
486
|
-
Remaining ambiguities: ← omit if none
|
|
487
|
-
[!] ...
|
|
488
|
-
```
|
|
489
|
-
|
|
490
|
-
</details>
|
|
491
|
-
|
|
492
|
-
---
|
|
493
|
-
|
|
494
|
-
<details>
|
|
495
|
-
<summary><strong>spec-compliance</strong> — Verify code against all spec documents</summary>
|
|
496
|
-
|
|
497
|
-
**Persona:** @Fachri — Tech Lead
|
|
498
|
-
|
|
499
|
-
**Called when:** Automatically after each completed phase by `developer`. Runs **before** `code-review`.
|
|
500
|
-
|
|
501
|
-
**Checklist (8 items):**
|
|
502
|
-
|
|
503
|
-
| ID | Aspect | Documents Read |
|
|
504
|
-
| ----- | ----------------------- | -------------------------------------------------------------------------------------------- |
|
|
505
|
-
| SC-01 | PRD Compliance | scope, business rules, acceptance/NFR, metrics/rollout and degraded behavior when applicable |
|
|
506
|
-
| SC-02 | Architecture Compliance | stack, boundaries, patterns, auth, observability/rollback/recovery when touched |
|
|
507
|
-
| SC-03 | Schema Compliance | datastore-native names, validation, tenancy, concurrency, retention and evolution |
|
|
508
|
-
| SC-04 | API Compliance | protocol-native operations, errors, auth, reliability, lifecycle and contract invariants |
|
|
509
|
-
| SC-05 | Rules Compliance | `[FORBIDDEN]`, naming, security, testing and applicable operational conventions |
|
|
510
|
-
| SC-06 | StyleGuide Compliance | tokens, responsive behavior, accessibility, localization and operational states |
|
|
511
|
-
| SC-07 | Task Completion | acceptance criteria, traceability and applicable Phase Definition of Done |
|
|
512
|
-
| SC-08 | Scope Compliance | `developer-config.json` — frontend/backend scope respected, no files outside scope |
|
|
513
|
-
|
|
514
|
-
**Severity:** `💥 BLOCKER` → fix now, re-run | `🔴 MAJOR` → fix before the next phase | `⚠️ MINOR` → discuss | `✅ PASS` → continue to `code-review`
|
|
515
|
-
|
|
516
|
-
**Note:** SC-07 is N/A when run from `bug-fix`.
|
|
517
|
-
|
|
518
|
-
</details>
|
|
519
|
-
|
|
520
|
-
---
|
|
521
|
-
|
|
522
|
-
<details>
|
|
523
|
-
<summary><strong>code-review</strong> — Code quality and security review</summary>
|
|
524
|
-
|
|
525
|
-
**Persona:** @Fachri — Tech Lead
|
|
526
|
-
|
|
527
|
-
**Called when:** Automatically after `spec-compliance` is clean. Can also be called manually any time.
|
|
528
|
-
|
|
529
|
-
**Fix mode (runtime default + can be set in config):**
|
|
530
|
-
|
|
531
|
-
```
|
|
532
|
-
A) Report first — show all findings, wait for confirmation before fixing
|
|
533
|
-
B) Fix now — automatically fix BLOCKER/MAJOR, full report at the end
|
|
534
|
-
```
|
|
535
|
-
|
|
536
|
-
If this field is missing, the default is `report-first`. To change it, the user or config workflow can set `codeReviewPreferences.fixMode` in `developer-config.json`.
|
|
537
|
-
|
|
538
|
-
**Phase 1 — 27-Item Code Quality:**
|
|
539
|
-
|
|
540
|
-
| Tier | Item |
|
|
541
|
-
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
542
|
-
| 💥 BLOCKER | CR-01 Wrong imports · CR-02 Runtime errors · CR-03 Null/undefined · CR-04 SQL injection · CR-05 Deprecated methods |
|
|
543
|
-
| 🔴 MAJOR | CR-06 Duplicate function · CR-07 Unused code · CR-08 Duplicate logic · CR-09 Obsolete code · CR-10 Inconsistent naming · CR-11 Ignoring existing code · CR-12 Missing dependency · CR-13 Dependency conflict · CR-14 Memory leaks · CR-15 Security ignored · CR-16 Missing required rate-limit handling · CR-17 Missing tests required by `rules.md` |
|
|
544
|
-
| ⚠️ MINOR | CR-18 Edge cases · CR-19 Happy path only · CR-20 Performance · CR-21 Outdated pattern · CR-22 Under-engineering · CR-23 Over-engineering · CR-24 Environment assumptions |
|
|
545
|
-
| ℹ️ INFO | CR-25 Missing comments · CR-26 Jargon · CR-27 Comment quality |
|
|
546
|
-
|
|
547
|
-
**Phase 2 — 10 Security Essentials:**
|
|
7
|
+
> **Macca** means *smart, intelligent, capable* in Bugis—a name inspired by intelligence paired with good character.
|
|
548
8
|
|
|
549
|
-
|
|
550
|
-
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
551
|
-
| SEC-01 | Injection Prevention — SQL, shell, eval |
|
|
552
|
-
| SEC-02 | Authentication — password hashing, cookie attributes |
|
|
553
|
-
| SEC-03 | Authorization — deny-by-default, ownership checks, mass assignment |
|
|
554
|
-
| SEC-04 | XSS Prevention — innerHTML, dangerouslySetInnerHTML |
|
|
555
|
-
| SEC-05 | API Security — rate limiting, CORS, JWT verification |
|
|
556
|
-
| SEC-06 | Data Protection & Logging — no sensitive logs, no hardcoded secrets |
|
|
557
|
-
| SEC-07 | Error Handling Security — fail-closed, no swallowed exceptions |
|
|
558
|
-
| SEC-08 | Input Validation — body/params/query/headers/cookies |
|
|
559
|
-
| SEC-09 | Framework-Specific Security — AI reads `architecture.md` to detect the framework: **Next.js** (`NEXT_PUBLIC_*`, Server Actions, middleware, wildcard image domains), **Laravel** (CSRF, Eloquent, `.env`), **Django** (`ALLOWED_HOSTS`, `DEBUG`, `SECRET_KEY`), **Express/NestJS** (`helmet`, CORS, body limits), **Rails** (strong params) |
|
|
560
|
-
| SEC-10 | Dependency Vulnerabilities — packages with critical/high CVEs (`npm audit`, `pip audit`, `composer audit`, etc.) |
|
|
561
|
-
|
|
562
|
-
**Format for each finding:** Where? → If not fixed? → If fixed? → Recommended fix
|
|
563
|
-
|
|
564
|
-
**Update plan after review completes** (if a plan file exists for this phase):
|
|
565
|
-
|
|
566
|
-
- **Plan-level deviation exists** (wrong library, pattern not followed, scope changed, approach differs from the plan) → add a note to the plan + change status: `code-review` → `done`
|
|
567
|
-
- **No plan deviation** (only code quality issues: naming, formatting, security hardening) → change status only: `code-review` → `done`, with no note
|
|
568
|
-
|
|
569
|
-
</details>
|
|
570
|
-
|
|
571
|
-
---
|
|
572
|
-
|
|
573
|
-
## 5. Utility Skills
|
|
574
|
-
|
|
575
|
-
---
|
|
576
|
-
|
|
577
|
-
<details>
|
|
578
|
-
<summary><strong>help</strong> — Project status dashboard and next-step guidance</summary>
|
|
579
|
-
|
|
580
|
-
**Persona:** @Galbi — Project Manager
|
|
581
|
-
|
|
582
|
-
**Called when:** Any time, especially if you are unsure where to start.
|
|
583
|
-
|
|
584
|
-
**What it checks:**
|
|
585
|
-
|
|
586
|
-
- Spec documents in `project-context/` — `PRD.md`, `StyleGuide.md`, `architecture.md`, `schema.md`, `api.md`, `rules.md`, `Task.md` (count `[ ]` vs `[x]`)
|
|
587
|
-
- Developer config in `.agents/developer-config.json` — `name`, `project`, `scope`, `workMode`, `additionalSkills`, `availableMCPs`
|
|
588
|
-
- Plans in `project-context/plans/` — list all plan files and their statuses (`review` / `in-progress` / `code-review` / `done`)
|
|
589
|
-
|
|
590
|
-
**Output format:**
|
|
591
|
-
|
|
592
|
-
```
|
|
593
|
-
Checking your project now...
|
|
594
|
-
|
|
595
|
-
Spec Documents
|
|
596
|
-
[✓] PRD.md — Product requirements
|
|
597
|
-
[✓] architecture.md — System architecture
|
|
598
|
-
[ ] schema.md — Not created yet
|
|
599
|
-
...
|
|
600
|
-
|
|
601
|
-
Developer Config
|
|
602
|
-
[✓] name: Firdaus
|
|
603
|
-
[✓] scope: fullstack
|
|
604
|
-
[✓] workMode: plan-first
|
|
605
|
-
[✓] additionalSkills: 2 skills
|
|
606
|
-
[ ] availableMCPs: not configured
|
|
607
|
-
|
|
608
|
-
Plans
|
|
609
|
-
[✓] phase-1-setup.md (status: done)
|
|
610
|
-
[✓] phase-2-auth.md (status: in-progress)
|
|
611
|
-
|
|
612
|
-
Status: [project status summary]
|
|
613
|
-
Recommended next steps: ...
|
|
614
|
-
```
|
|
615
|
-
|
|
616
|
-
</details>
|
|
617
|
-
|
|
618
|
-
---
|
|
619
|
-
|
|
620
|
-
<details>
|
|
621
|
-
<summary><strong>bug-fix</strong> — Diagnose, fix, and document bugs</summary>
|
|
622
|
-
|
|
623
|
-
**Persona:** @Ikhsan — Debugger
|
|
624
|
-
|
|
625
|
-
**Called when:** A bug needs to be fixed.
|
|
626
|
-
|
|
627
|
-
**Workflow:**
|
|
628
|
-
|
|
629
|
-
1. You describe the bug (symptoms, location, reproduction steps, error message)
|
|
630
|
-
2. AI checks `bug-log.md` — has it happened before?
|
|
631
|
-
- **Identical** → apply the same fix (ask for confirmation first)
|
|
632
|
-
- **Similar but different** → diagnose again
|
|
633
|
-
- **New** → continue to diagnosis
|
|
634
|
-
3. AI reads the broken file + all callers of shared code — one root-cause fix is better than many guards in each caller
|
|
635
|
-
4. AI formulates and explains the root cause → wait for confirmation before fixing
|
|
636
|
-
5. Apply the fix → run `spec-compliance` + `code-review`
|
|
637
|
-
6. You confirm the bug is resolved
|
|
638
|
-
7. AI adds regression prevention (test, rule/spec update)
|
|
639
|
-
8. AI records it in `project-context/bug-log.md` ← **only after your confirmation, never automatically**
|
|
640
|
-
|
|
641
|
-
</details>
|
|
642
|
-
|
|
643
|
-
---
|
|
644
|
-
|
|
645
|
-
<details>
|
|
646
|
-
<summary><strong>add-feature</strong> — Add a new feature to an existing project</summary>
|
|
647
|
-
|
|
648
|
-
**Persona:** @Galbi — Project Manager
|
|
649
|
-
|
|
650
|
-
**Called when:** A new feature needs to be added to an existing project.
|
|
651
|
-
|
|
652
|
-
**Workflow:**
|
|
653
|
-
|
|
654
|
-
1. You describe the new feature (name, function, users, reason)
|
|
655
|
-
2. AI reads all specs in `project-context/`
|
|
656
|
-
3. AI shows an impact analysis — which documents are affected (including `plans/`)
|
|
657
|
-
4. You confirm the analysis
|
|
658
|
-
5. AI updates **all** affected documents:
|
|
659
|
-
- `PRD.md` → `architecture.md` → `schema.md` → `api.md` → `StyleGuide.md` → `rules.md`
|
|
660
|
-
- `project-context/plans/` — if a plan file exists for an affected phase, add a `## Feature Addition: [name]` section without overwriting old content
|
|
661
|
-
6. AI calls `brainstorm-task` (Add Phase Mode) to add new phases and tasks to `Task.md`
|
|
662
|
-
7. Continue with `developer`
|
|
663
|
-
|
|
664
|
-
**Absolute rule:** every affected document must be updated — none may be skipped.
|
|
665
|
-
|
|
666
|
-
</details>
|
|
667
|
-
|
|
668
|
-
---
|
|
669
|
-
|
|
670
|
-
<details>
|
|
671
|
-
<summary><strong>spec-audit</strong> — Check consistency across documents</summary>
|
|
672
|
-
|
|
673
|
-
**Persona:** @Fachri — Tech Lead
|
|
674
|
-
|
|
675
|
-
**Two modes:**
|
|
676
|
-
|
|
677
|
-
**Project Mode** — audit `project-context/`
|
|
678
|
-
Checks consistency _between_ documents: persisted entities with no supporting operation? Features with no task? PRD metrics with no observability signal? Rollout without rollback? Architecture decisions conflicting with rules? Traceability IDs referenced but missing?
|
|
679
|
-
|
|
680
|
-
**Framework Mode** — audit MACCA itself
|
|
681
|
-
Checks consistency _between_ skill instructions: are README, skill docs, and workflow aligned, or do they conflict?
|
|
682
|
-
|
|
683
|
-
**What it checks:** direct conflicts → workflow drift → inconsistencies → ambiguities
|
|
684
|
-
|
|
685
|
-
**Finding format:** Where? → Why is it a problem? → Specific recommended fix + reasoning
|
|
686
|
-
|
|
687
|
-
</details>
|
|
688
|
-
|
|
689
|
-
---
|
|
690
|
-
|
|
691
|
-
<details>
|
|
692
|
-
<summary><strong>spec-init</strong> — Generate all specs from an existing codebase</summary>
|
|
693
|
-
|
|
694
|
-
**Persona:** @Fachri — Tech Lead
|
|
695
|
-
|
|
696
|
-
**Called when:** The project already exists but has no spec documents yet.
|
|
697
|
-
|
|
698
|
-
**Two modes:**
|
|
699
|
-
|
|
700
|
-
```
|
|
701
|
-
Mode A — Batch Generate: scan the full codebase, generate everything at once.
|
|
702
|
-
Mode B — Guided Generate: one document → you review → confirm → continue.
|
|
703
|
-
```
|
|
704
|
-
|
|
705
|
-
**Generation order:** `architecture.md` → `rules.md` → `schema.md` → `api.md` → `StyleGuide.md` → `PRD.md`
|
|
706
|
-
|
|
707
|
-
`PRD.md` is created last because it is synthesized from observed behavior, not guessed intent.
|
|
708
|
-
|
|
709
|
-
**Each generated document includes:**
|
|
710
|
-
|
|
711
|
-
- **Evidence Inputs** — files/sources used as the basis for each claim
|
|
712
|
-
- **Confidence Level** per claim: _High_ (seen directly in code) / _Medium_ (strong inference) / _Low_ (guess, needs verification)
|
|
713
|
-
- **Confidence Summary** — summary of strong facts, inferences, and what still needs manual verification
|
|
714
|
-
- **Missing Decisions** — choices that cannot be proven from code, with the recommended owning brainstorm skill
|
|
715
|
-
|
|
716
|
-
</details>
|
|
717
|
-
|
|
718
|
-
---
|
|
719
|
-
|
|
720
|
-
<details>
|
|
721
|
-
<summary><strong>meet</strong> — Single-round multi-persona team meeting</summary>
|
|
722
|
-
|
|
723
|
-
**Persona:** @Galbi (facilitator)
|
|
724
|
-
|
|
725
|
-
**Called when:** Any time you need perspectives from several specialties at once.
|
|
726
|
-
|
|
727
|
-
**How it works:** Provide agenda, desired outcome, hard constraints, optional evidence, and participants in one setup. In one response, every selected persona gives exactly one evidence/assumption-labeled recommendation in a fixed order. @Galbi then summarizes decisions, open questions, action items, and artifact handoffs before closing automatically. A second round requires a new `meet` invocation.
|
|
728
|
-
|
|
729
|
-
**Available personas:**
|
|
730
|
-
|
|
731
|
-
- `@Galbi` — Project Manager: scope, priorities, business impact
|
|
732
|
-
- `@Fachri` — Tech Lead: technical decisions, trade-offs, security
|
|
733
|
-
- `@Akram` — UI/UX Designer: usability, visual consistency, accessibility
|
|
734
|
-
- `@Firdaus` — Developer: feasibility, complexity estimates
|
|
735
|
-
- `@Ikhsan` — Debugger: risks, edge cases, potential bugs
|
|
736
|
-
|
|
737
|
-
</details>
|
|
738
|
-
|
|
739
|
-
---
|
|
740
|
-
|
|
741
|
-
<details>
|
|
742
|
-
<summary><strong>release-readiness</strong> — Production release evidence gate</summary>
|
|
743
|
-
|
|
744
|
-
**Persona:** @Fachri — Tech Lead
|
|
745
|
-
|
|
746
|
-
**Called when:** The user asks whether a candidate is ready to ship, before production release, or after all Task.md phases are complete.
|
|
747
|
-
|
|
748
|
-
**Behavior:** Report-only. It never deploys, publishes, applies migrations, rotates secrets, or changes production.
|
|
749
|
-
|
|
750
|
-
It consumes existing quality evidence instead of repeating complete reviews, then checks:
|
|
751
|
-
|
|
752
|
-
1. Scope, acceptance criteria, Definition of Done, and unresolved quality findings
|
|
753
|
-
2. Build, tests, type/lint checks, and candidate-specific smoke tests
|
|
754
|
-
3. Environment configuration and secrets
|
|
755
|
-
4. Migration, backfill, backup, validation, and recovery
|
|
756
|
-
5. Deployment ownership, rollback, and feature flags
|
|
757
|
-
6. Logs, metrics, traces, alerts, health checks, runbooks, and incident ownership
|
|
758
|
-
7. Compatibility, deprecation, version, changelog, and consumer communication
|
|
759
|
-
8. Accessibility and operational UI states when UI changed
|
|
760
|
-
|
|
761
|
-
Verdicts: `READY`, `CONDITIONAL`, or `NOT READY`. Missing required evidence is `NOT VERIFIED`, never an assumed pass.
|
|
762
|
-
|
|
763
|
-
</details>
|
|
764
|
-
|
|
765
|
-
---
|
|
766
|
-
|
|
767
|
-
## 6. The MACCA AI Team
|
|
768
|
-
|
|
769
|
-
| Persona | Role | Skills |
|
|
770
|
-
| ------------ | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
771
|
-
| **@Galbi** | Project Manager | `brainstorm-prd`, `brainstorm-task`, `add-feature`, `help`, `meet` |
|
|
772
|
-
| **@Fachri** | Tech Lead | `brainstorm-architecture`, `brainstorm-api`, `brainstorm-schema`, `brainstorm-rules`, `spec-init`, `spec-audit`, `spec-compliance`, `code-review`, `release-readiness` |
|
|
773
|
-
| **@Akram** | UI/UX Designer | `brainstorm-styleguide` |
|
|
774
|
-
| **@Firdaus** | Expert Developer | `developer`, `quick-dev` |
|
|
775
|
-
| **@Ikhsan** | Debugger | `bug-fix` |
|
|
776
|
-
|
|
777
|
-
> **Persona Rule:** Do not swap the persona assigned to a skill. Its instructions, tone, and responsibilities are designed for that role.
|
|
778
|
-
|
|
779
|
-
---
|
|
780
|
-
|
|
781
|
-
## 7. Workflow
|
|
782
|
-
|
|
783
|
-

|
|
784
|
-
|
|
785
|
-
`brainstorm-styleguide` branches from `brainstorm-architecture` as an optional UI input, then feeds back into `brainstorm-rules`. It does not skip `brainstorm-schema`, `brainstorm-api`, or `brainstorm-rules`.
|
|
786
|
-
|
|
787
|
-
<details>
|
|
788
|
-
<summary><strong>New Project</strong> — Start from scratch</summary>
|
|
789
|
-
|
|
790
|
-
```
|
|
791
|
-
Step 1: Define product requirements
|
|
792
|
-
→ Call: brainstorm-prd
|
|
793
|
-
→ Output: project-context/PRD.md
|
|
794
|
-
|
|
795
|
-
Step 2: Define architecture
|
|
796
|
-
→ Call: brainstorm-architecture ← REQUIRED before continuing
|
|
797
|
-
→ Output: project-context/architecture.md
|
|
798
|
-
|
|
799
|
-
Step 3a: Design the database (if any)
|
|
800
|
-
→ Call: brainstorm-schema
|
|
801
|
-
→ Output: project-context/schema.md
|
|
802
|
-
|
|
803
|
-
Step 3b: Define the API (if any)
|
|
804
|
-
→ Call: brainstorm-api
|
|
805
|
-
→ Output: project-context/api.md
|
|
806
|
-
|
|
807
|
-
Step 3c: Define the UI design (optional)
|
|
808
|
-
→ Call: brainstorm-styleguide
|
|
809
|
-
→ Output: project-context/StyleGuide.md
|
|
810
|
-
→ Adds UI constraints only; it does not replace Step 3a, Step 3b, or Step 4
|
|
811
|
-
|
|
812
|
-
Step 4: Set code standards
|
|
813
|
-
→ Call: brainstorm-rules
|
|
814
|
-
→ Output: project-context/rules.md
|
|
815
|
-
|
|
816
|
-
Step 5: Check consistency (recommended)
|
|
817
|
-
→ Call: spec-audit (project mode)
|
|
818
|
-
|
|
819
|
-
Step 6: Create the work plan
|
|
820
|
-
→ Call: brainstorm-task
|
|
821
|
-
→ Output: project-context/Task.md
|
|
822
|
-
|
|
823
|
-
Step 7: Start coding
|
|
824
|
-
→ Call: developer
|
|
825
|
-
→ Per task: code → validate → [SELF-REVIEW]
|
|
826
|
-
→ Per phase: spec-compliance → code-review → next phase
|
|
827
|
-
→ If all tasks are complete but broader maintenance, hardening, optimization, or unclear follow-up work remain: keep using `developer` (post-task / maintenance mode)
|
|
828
|
-
→ For small targeted fixes (color, layout, copy, minor logic) with a clear anchor to existing work: use `quick-dev`; if the scope is broader or the traceability anchor is unclear, stay in `developer`
|
|
829
|
-
|
|
830
|
-
Step 8: Prepare a production release
|
|
831
|
-
→ Call: spec-audit (final project consistency)
|
|
832
|
-
→ Call: release-readiness (report-only operational gate)
|
|
833
|
-
```
|
|
834
|
-
|
|
835
|
-
> Not sure where to start? Call `help`.
|
|
836
|
-
|
|
837
|
-
</details>
|
|
838
|
-
|
|
839
|
-
---
|
|
840
|
-
|
|
841
|
-
<details>
|
|
842
|
-
<summary><strong>Existing Project / Boilerplate</strong> — Codebase exists, specs do not</summary>
|
|
843
|
-
|
|
844
|
-
```
|
|
845
|
-
Step 1: Generate specs from the existing codebase
|
|
846
|
-
→ Call: spec-init
|
|
847
|
-
→ Mode A (Batch): create all documents at once
|
|
848
|
-
→ Mode B (Guided): one document → review → continue
|
|
849
|
-
|
|
850
|
-
Generation order: architecture.md → rules.md → schema.md → api.md → StyleGuide.md → PRD.md
|
|
851
|
-
|
|
852
|
-
Step 2: Review & correct
|
|
853
|
-
→ Pay attention to items with Confidence: Low and any assumption sections
|
|
854
|
-
|
|
855
|
-
Step 3: Check consistency
|
|
856
|
-
→ Call: spec-audit (project mode)
|
|
857
|
-
|
|
858
|
-
Step 4: Create the work plan
|
|
859
|
-
→ Call: brainstorm-task
|
|
860
|
-
|
|
861
|
-
Step 5: Start coding
|
|
862
|
-
→ Call: developer
|
|
863
|
-
```
|
|
864
|
-
|
|
865
|
-
</details>
|
|
866
|
-
|
|
867
|
-
---
|
|
868
|
-
|
|
869
|
-
<details>
|
|
870
|
-
<summary><strong>Add a New Feature</strong></summary>
|
|
871
|
-
|
|
872
|
-
```
|
|
873
|
-
→ Call: add-feature
|
|
874
|
-
|
|
875
|
-
What happens:
|
|
876
|
-
1. You describe the new feature
|
|
877
|
-
2. AI reads all existing specs
|
|
878
|
-
3. AI shows an impact analysis (affected documents + plans)
|
|
879
|
-
4. You confirm the analysis
|
|
880
|
-
5. AI updates ALL affected documents (none are skipped)
|
|
881
|
-
6. AI calls brainstorm-task to add new phases & tasks
|
|
882
|
-
7. Continue with developer
|
|
883
|
-
```
|
|
884
|
-
|
|
885
|
-
</details>
|
|
886
|
-
|
|
887
|
-
---
|
|
888
|
-
|
|
889
|
-
<details>
|
|
890
|
-
<summary><strong>Fix a Bug</strong></summary>
|
|
891
|
-
|
|
892
|
-
```
|
|
893
|
-
→ Call: bug-fix
|
|
894
|
-
|
|
895
|
-
What happens:
|
|
896
|
-
1. You describe the bug
|
|
897
|
-
2. AI checks bug-log.md — has it happened before?
|
|
898
|
-
3. AI checks all callers of the broken code
|
|
899
|
-
4. AI explains the root cause and proposed fix → explicit approval is required before the first code change
|
|
900
|
-
5. Apply the fix → spec-compliance + code-review
|
|
901
|
-
6. You confirm the bug is resolved
|
|
902
|
-
7. AI adds regression prevention
|
|
903
|
-
8. If prevention changed code/specs, AI validates it and reruns affected checks
|
|
904
|
-
9. AI records it in bug-log.md ← only after your confirmation
|
|
905
|
-
```
|
|
906
|
-
|
|
907
|
-
</details>
|
|
908
|
-
|
|
909
|
-
---
|
|
9
|
+

|
|
910
10
|
|
|
911
|
-
|
|
11
|
+
[Quick start](#quick-start) · [How it works](#how-it-works) · [Skills](#choose-a-skill) · [Settings](#settings) · [Support](#support-and-limits) · [Documentation](#documentation)
|
|
912
12
|
|
|
913
|
-
|
|
13
|
+
## Quick start
|
|
914
14
|
|
|
915
|
-
|
|
15
|
+
**Requirements:** Node.js **22+** with `npx`, and a supported AI coding host. The configured test matrix covers Node.js 22 and 24 on Linux, Windows, and macOS; see [support and limits](#support-and-limits).
|
|
916
16
|
|
|
917
|
-
|
|
17
|
+
> Source candidate: **3.0.0-rc.1**, an unpublished prerelease, not a stable release. `@latest` below selects the published npm package. Review the [changelog](CHANGELOG.md) and [2.x migration notes](docs/troubleshooting.md#migrate-from-2x-to-the-3x-candidate) before testing this candidate.
|
|
918
18
|
|
|
919
|
-
|
|
19
|
+
Run this from your project directory:
|
|
920
20
|
|
|
921
21
|
```bash
|
|
922
22
|
npx macca-method@latest install
|
|
923
23
|
```
|
|
924
24
|
|
|
925
|
-
|
|
25
|
+
1. Choose your AI host, such as OpenCode, GitHub Copilot, Claude Code, Cursor, Windsurf, Gemini CLI, Kilo Code, Codex, or Kimi CLI.
|
|
26
|
+
2. Choose your communication language. Document language defaults to the same language; name and project labels are optional.
|
|
27
|
+
3. Restart your AI host so it discovers the installed skills.
|
|
28
|
+
4. Describe what you need. If unsure, ask: **“Use the help skill to recommend my next step.”**
|
|
926
29
|
|
|
927
|
-
The
|
|
30
|
+
The installer adds the skill collection and shared configuration. Planning skills create `project-context/` documents later, when requested; installation does not generate your project specifications or application code.
|
|
928
31
|
|
|
929
|
-
|
|
32
|
+
Use the MACCA installer for the complete collection. Individual skill-folder installation is not supported because the skills depend on shared resources. For flags, host folder locations, and unattended installation, see [installation help](docs/troubleshooting.md).
|
|
930
33
|
|
|
931
|
-
|
|
932
|
-
npx macca-method@latest --list-tools
|
|
933
|
-
```
|
|
34
|
+
## Start with a request
|
|
934
35
|
|
|
935
|
-
You
|
|
36
|
+
You normally do not need to memorize skill names. Tell your assistant what you want; naming a skill explicitly also works.
|
|
936
37
|
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
38
|
+
| Your situation | Example request |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| A new idea | “I want an expense tracker for my shop. Help me define what it needs. Explain technical choices simply.” |
|
|
41
|
+
| Existing code without specs | “Use spec-init to document what this project already does and identify missing decisions.” |
|
|
42
|
+
| Ready to build | “Implement the approved first phase and run its required checks.” |
|
|
43
|
+
| A small change | “Change the submit label to Save. Keep the existing behavior and verify the change.” |
|
|
44
|
+
| A bug | “Saving twice creates duplicate records. Diagnose the cause and propose a fix.” |
|
|
45
|
+
| Several perspectives | “Use meet with Fachri and Firdaus to recommend how to prevent duplicate saves. Keep the current stack; discussion only.” |
|
|
46
|
+
| Preferences | “Use setup-macca-method to change only the document language to English.” |
|
|
940
47
|
|
|
941
|
-
|
|
48
|
+
Clear requests authorize their stated scope—not unrelated features, destructive operations, or deployment. The assistant asks when an important decision or required approval is missing.
|
|
942
49
|
|
|
943
|
-
|
|
50
|
+
## How it works
|
|
944
51
|
|
|
945
|
-
|
|
946
|
-
npx macca-method@latest upgrade
|
|
947
|
-
```
|
|
52
|
+
**Understand → record decisions → plan tasks → implement → verify.**
|
|
948
53
|
|
|
949
|
-
|
|
54
|
+
- **For a new project:** define the product and architecture, add only applicable data/API/UI contracts, establish rules, and plan tasks.
|
|
55
|
+
- **For existing code:** draft evidence-backed baseline specs first. Review missing decisions and preserve completed work; plan implementation only for approved gaps.
|
|
56
|
+
- **During implementation:** work from the relevant specs, validate changes, then check specification compliance and code quality at the required task, bug, or phase boundary.
|
|
57
|
+
- **When requirements change:** record the approved change and synchronize the affected specs before closing the phase.
|
|
950
58
|
|
|
951
|
-
|
|
59
|
+
Documents live in `project-context/`, including `PRD.md`, `architecture.md`, `rules.md`, and `Task.md`. Data, API, and UI documents are included when relevant. A stateless API does not need an invented database schema.
|
|
952
60
|
|
|
953
|
-
|
|
61
|
+
**Simple, but not careless.** MACCA favors the smallest solution that meets approved needs and applicable best practices. Extra infrastructure needs a concrete reason. Security, data integrity, accessibility, meaningful testing, and necessary recovery are not optional shortcuts.
|
|
954
62
|
|
|
955
|
-
|
|
63
|
+
**Checks, not empty ceremony.** Clean results get a concise summary. In the default `report-first` mode, actionable review fixes need approval; a clean review does not ask you to approve nonexistent fixes. Missing evidence is reported as **not verified**, not a pass.
|
|
956
64
|
|
|
957
|
-
|
|
65
|
+
See [the workflow guide](docs/workflows.md) for prerequisites, approvals, and what happens when work is blocked.
|
|
958
66
|
|
|
959
|
-
|
|
67
|
+
## Choose a skill
|
|
960
68
|
|
|
961
|
-
|
|
69
|
+
These **19 skills** work together with defined responsibilities and boundaries for shared files. Open the linked instruction only when you need its detailed contract.
|
|
962
70
|
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
|
972
|
-
|
|
|
973
|
-
|
|
|
974
|
-
|
|
|
975
|
-
|
|
|
976
|
-
|
|
|
977
|
-
|
|
|
71
|
+
| Need | Skill |
|
|
72
|
+
| --- | --- |
|
|
73
|
+
| Set up, inspect, or change preferences | [`setup-macca-method`](.agents/skills/setup-macca-method/SKILL.md) |
|
|
74
|
+
| Find the next step or see project status | [`help`](.agents/skills/help/SKILL.md) |
|
|
75
|
+
| Discuss a decision from selected perspectives | [`meet`](.agents/skills/meet/SKILL.md) |
|
|
76
|
+
| Define product needs and success criteria | [`brainstorm-prd`](.agents/skills/brainstorm-prd/SKILL.md) |
|
|
77
|
+
| Choose the system structure and technical approach | [`brainstorm-architecture`](.agents/skills/brainstorm-architecture/SKILL.md) |
|
|
78
|
+
| Plan persistent data | [`brainstorm-schema`](.agents/skills/brainstorm-schema/SKILL.md) |
|
|
79
|
+
| Define API or integration contracts | [`brainstorm-api`](.agents/skills/brainstorm-api/SKILL.md) |
|
|
80
|
+
| Define relevant UI and accessibility conventions | [`brainstorm-styleguide`](.agents/skills/brainstorm-styleguide/SKILL.md) |
|
|
81
|
+
| Establish project coding and testing rules | [`brainstorm-rules`](.agents/skills/brainstorm-rules/SKILL.md) |
|
|
82
|
+
| Turn approved requirements into verifiable tasks | [`brainstorm-task`](.agents/skills/brainstorm-task/SKILL.md) |
|
|
83
|
+
| Document an existing codebase | [`spec-init`](.agents/skills/spec-init/SKILL.md) |
|
|
84
|
+
| Implement phases or broader maintenance | [`developer`](.agents/skills/developer/SKILL.md) |
|
|
85
|
+
| Make one small change anchored to existing tasks | [`quick-dev`](.agents/skills/quick-dev/SKILL.md) |
|
|
86
|
+
| Diagnose, fix, and verify a bug | [`bug-fix`](.agents/skills/bug-fix/SKILL.md) |
|
|
87
|
+
| Plan an approved new feature across affected specs | [`add-feature`](.agents/skills/add-feature/SKILL.md) |
|
|
88
|
+
| Check code against applicable specs | [`spec-compliance`](.agents/skills/spec-compliance/SKILL.md) |
|
|
89
|
+
| Review code quality and security | [`code-review`](.agents/skills/code-review/SKILL.md) |
|
|
90
|
+
| Check consistency between documents | [`spec-audit`](.agents/skills/spec-audit/SKILL.md) |
|
|
91
|
+
| Assess release evidence without deploying | [`release-readiness`](.agents/skills/release-readiness/SKILL.md) |
|
|
978
92
|
|
|
979
|
-
|
|
93
|
+
The AI personas organize responsibilities: **Galbi** handles planning and coordination, **Fachri** technical design and reviews, **Akram** UI/UX, **Firdaus** implementation, and **Ikhsan** debugging. They are AI roles, not a guarantee of independent human review.
|
|
980
94
|
|
|
981
|
-
|
|
95
|
+
## Settings
|
|
982
96
|
|
|
983
|
-
|
|
97
|
+
Preferences are shared through `.agents/developer-config.json`. You do not need to edit JSON yourself:
|
|
984
98
|
|
|
99
|
+
```text
|
|
100
|
+
Show my MACCA settings.
|
|
101
|
+
Use setup-macca-method to change only the document language to English.
|
|
102
|
+
Save my preference to review a plan before coding.
|
|
985
103
|
```
|
|
986
|
-
your-project/
|
|
987
|
-
├── .agents/
|
|
988
|
-
│ ├── developer-config.json ← shared config across skills
|
|
989
|
-
│ ├── macca-tools.txt ← tools selected during install
|
|
990
|
-
│ ├── macca-managed-skills.txt ← internal manifest used by MACCA updates
|
|
991
|
-
│ ├── macca-lock.json ← MACCA package/version manifest
|
|
992
|
-
│ ├── macca-state.json ← hashes of installer-managed metadata
|
|
993
|
-
│ ├── macca-transaction.json ← exists only during/recovering an interrupted atomic update
|
|
994
|
-
│ └── skills/ ← if Codex or Kimi is selected
|
|
995
|
-
│
|
|
996
|
-
├── .github/skills/ ← if GitHub Copilot is selected
|
|
997
|
-
├── .cursor/skills/ ← if Cursor is selected
|
|
998
|
-
├── .claude/skills/ ← if Claude Code is selected
|
|
999
|
-
├── .windsurf/skills/ ← if Windsurf is selected
|
|
1000
|
-
├── .gemini/skills/ ← if Gemini CLI is selected
|
|
1001
|
-
├── .opencode/skills/ ← if OpenCode is selected
|
|
1002
|
-
├── .kilo/skills/ ← if Kilo Code is selected
|
|
1003
|
-
│
|
|
1004
|
-
├── project-context/
|
|
1005
|
-
│ ├── PRD.md
|
|
1006
|
-
│ ├── architecture.md
|
|
1007
|
-
│ ├── schema.md
|
|
1008
|
-
│ ├── api.md
|
|
1009
|
-
│ ├── rules.md
|
|
1010
|
-
│ ├── StyleGuide.md
|
|
1011
|
-
│ ├── Task.md
|
|
1012
|
-
│ ├── bug-log.md ← created when the first bug appears
|
|
1013
|
-
│ └── plans/ ← per-phase plans (plan-first mode)
|
|
1014
|
-
│ └── phase-1-setup.md
|
|
1015
|
-
│
|
|
1016
|
-
└── ... (your project code)
|
|
1017
|
-
```
|
|
1018
|
-
|
|
1019
|
-
Each installed skills folder contains `_shared` plus these 18 MACCA skills: `add-feature`, `brainstorm-api`, `brainstorm-architecture`, `brainstorm-prd`, `brainstorm-rules`, `brainstorm-schema`, `brainstorm-styleguide`, `brainstorm-task`, `bug-fix`, `code-review`, `developer`, `help`, `meet`, `quick-dev`, `release-readiness`, `spec-audit`, `spec-compliance`, and `spec-init`.
|
|
1020
104
|
|
|
1021
|
-
|
|
1022
|
-
| -------------- | ------------------- |
|
|
1023
|
-
| GitHub Copilot | `.github/skills/` |
|
|
1024
|
-
| Cursor | `.cursor/skills/` |
|
|
1025
|
-
| Claude Code | `.claude/skills/` |
|
|
1026
|
-
| Windsurf | `.windsurf/skills/` |
|
|
1027
|
-
| Gemini CLI | `.gemini/skills/` |
|
|
1028
|
-
| OpenCode | `.opencode/skills/` |
|
|
1029
|
-
| Kilo Code | `.kilo/skills/` |
|
|
1030
|
-
| Codex (OpenAI) | `.agents/skills/` |
|
|
1031
|
-
| Kimi CLI | `.agents/skills/` |
|
|
105
|
+
Setup is optional for ordinary work. Showing settings does not create a missing configuration file. A targeted change preserves unrelated preferences; it does not translate existing documents or grant extra tool permissions.
|
|
1032
106
|
|
|
1033
|
-
|
|
107
|
+
See [configuration](docs/configuration.md) for all supported preferences, skill/MCP restrictions, and validation.
|
|
1034
108
|
|
|
1035
|
-
|
|
109
|
+
## Update and diagnose
|
|
1036
110
|
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
<summary><strong>developer-config.json — Full Schema</strong></summary>
|
|
1041
|
-
|
|
1042
|
-
The `.agents/developer-config.json` file is shared config across skills. All skills read and update this file by **merge**, never by overwriting the whole file.
|
|
1043
|
-
|
|
1044
|
-
```json
|
|
1045
|
-
{
|
|
1046
|
-
"name": "User name",
|
|
1047
|
-
"project": "Project name",
|
|
1048
|
-
"languagePreferences": {
|
|
1049
|
-
"communication": {
|
|
1050
|
-
"raw": "English",
|
|
1051
|
-
"normalized": "english"
|
|
1052
|
-
},
|
|
1053
|
-
"documents": {
|
|
1054
|
-
"raw": "English",
|
|
1055
|
-
"normalized": "english"
|
|
1056
|
-
}
|
|
1057
|
-
},
|
|
1058
|
-
"developerPreferences": {
|
|
1059
|
-
"workMode": "direct",
|
|
1060
|
-
"scope": "fullstack"
|
|
1061
|
-
},
|
|
1062
|
-
"brainstormPreferences": {
|
|
1063
|
-
"discussionMode": "one-by-one",
|
|
1064
|
-
"recommendations": true,
|
|
1065
|
-
"discoveryDepth": "standard"
|
|
1066
|
-
},
|
|
1067
|
-
"codeReviewPreferences": {
|
|
1068
|
-
"fixMode": "report-first"
|
|
1069
|
-
},
|
|
1070
|
-
"additionalSkills": [
|
|
1071
|
-
{
|
|
1072
|
-
"name": "laravel-best-practices",
|
|
1073
|
-
"purpose": "Use when writing Laravel code",
|
|
1074
|
-
"paths": {
|
|
1075
|
-
"copilot": ".github/skills/laravel-best-practices/SKILL.md",
|
|
1076
|
-
"opencode": ".opencode/skills/laravel-best-practices/SKILL.md",
|
|
1077
|
-
"codex": ".agents/skills/laravel-best-practices/SKILL.md"
|
|
1078
|
-
}
|
|
1079
|
-
}
|
|
1080
|
-
],
|
|
1081
|
-
"availableMCPs": ["context7", "supabase"]
|
|
1082
|
-
}
|
|
111
|
+
```bash
|
|
112
|
+
npx macca-method@latest upgrade
|
|
113
|
+
npx macca-method@latest doctor
|
|
1083
114
|
```
|
|
1084
115
|
|
|
1085
|
-
|
|
1086
|
-
| --------------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
1087
|
-
| `name` | `developer` (Step 0) | Asked once |
|
|
1088
|
-
| `project` | `developer` (Step 0) | Asked once |
|
|
1089
|
-
| `languagePreferences` | installer / first skill | Communication language and document language |
|
|
1090
|
-
| `developerPreferences.workMode` | `developer` (`references/onboarding.md` § Work Mode) | `"direct"` or `"plan-first"` |
|
|
1091
|
-
| `developerPreferences.scope` | `developer` (`references/onboarding.md` § Developer Scope) | `"frontend"`, `"backend"`, or `"fullstack"` |
|
|
1092
|
-
| `brainstormPreferences.discussionMode` | brainstorm-* skills | `"one-by-one"`, `"three-at-a-time"`, or `"all-at-once"` |
|
|
1093
|
-
| `brainstormPreferences.recommendations` | brainstorm-* skills | `true` = AI gives suggested answers for each question |
|
|
1094
|
-
| `brainstormPreferences.discoveryDepth` | brainstorm-* skills | `"quick"`, `"standard"`, or `"critical"`; inferred when absent, user-overridable |
|
|
1095
|
-
| `codeReviewPreferences.fixMode` | user / config runtime | `"report-first"` or `"fix-then-report"` |
|
|
1096
|
-
| `additionalSkills` | `developer` (`references/onboarding.md` § Additional Skills and MCPs) | AI searches for the path in the workspace first, then asks only if it is not found |
|
|
1097
|
-
| `availableMCPs` | `developer` (`references/onboarding.md` § Additional Skills and MCPs) | Available MCPs; only listed MCPs are used |
|
|
1098
|
-
|
|
1099
|
-
**Rule:** all skills must **merge**, not overwrite the file. Unknown fields must be preserved.
|
|
1100
|
-
|
|
1101
|
-
</details>
|
|
1102
|
-
|
|
1103
|
-
---
|
|
1104
|
-
|
|
1105
|
-
<details>
|
|
1106
|
-
<summary><strong>Glossary & Traceability ID</strong></summary>
|
|
1107
|
-
|
|
1108
|
-
| Term | Explanation |
|
|
1109
|
-
| ----------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
1110
|
-
| **Skill** | Full instructions for AI — like an SOP for AI |
|
|
1111
|
-
| **Spec** | Planning document containing all decisions before coding |
|
|
1112
|
-
| **Subagent** | Helper agent for focused exploration/analysis |
|
|
1113
|
-
| **project-context/** | Folder where all spec documents are stored |
|
|
1114
|
-
| **[FORBIDDEN]** | Section in `rules.md` — technical prohibitions scanned by AI before coding |
|
|
1115
|
-
| **[SELF-REVIEW]** | Short developer reflection after each task: security risk, performance, spec assumption |
|
|
1116
|
-
| **Traceability ID** | Stable label (`FEAT-01`, `API-03`) for tracing requirements from PRD to implementation |
|
|
1117
|
-
| **Acceptance Criteria** | Concrete conditions for a task to be considered done |
|
|
1118
|
-
| **scope** | Developer work boundary: frontend-only, backend-only, or fullstack |
|
|
1119
|
-
| **fixMode** | `code-review` preference: report first or fix immediately |
|
|
1120
|
-
| **discoveryDepth** | Brainstorm detail level independent from question batching: quick/standard/critical |
|
|
1121
|
-
| **availableMCPs** | MCPs listed and available for use in this project |
|
|
1122
|
-
| **Confidence Level** | In `spec-init`: High/Medium/Low for claims derived from codebase analysis |
|
|
1123
|
-
| **Evidence Inputs** | In `spec-init`: files/sources used as evidence for a claim |
|
|
1124
|
-
| **Plan status** | Plan file lifecycle status: `review` → `in-progress` → `code-review` → `done` |
|
|
1125
|
-
| **Plan deviation** | Implementation drift from decisions in the plan (library, pattern, scope) — recorded by `code-review` if found |
|
|
1126
|
-
| **Definition of Done** | Phase-level evidence checklist derived from applicable specs and quality gates |
|
|
1127
|
-
| **Release readiness** | Report-only operational verdict for a specific candidate and target environment |
|
|
1128
|
-
|
|
1129
|
-
**Traceability ID Scheme:**
|
|
1130
|
-
|
|
1131
|
-
| Prefix | Used for |
|
|
1132
|
-
| --------- | ------------------------------------------------------------------ |
|
|
1133
|
-
| `FEAT-01` | Main feature in `PRD.md` |
|
|
1134
|
-
| `BR-01` | Business rule in `PRD.md` |
|
|
1135
|
-
| `NFR-01` | Non-functional requirement in `PRD.md` |
|
|
1136
|
-
| `AC-01` | Acceptance Criteria in `PRD.md` |
|
|
1137
|
-
| `US-01` | User story in `PRD.md` |
|
|
1138
|
-
| `DATA-01` | Datastore-native entity/aggregate/collection/stream in `schema.md` |
|
|
1139
|
-
| `API-01` | REST/GraphQL/RPC/event operation in `api.md` |
|
|
1140
|
-
| `RULE-01` | Rule in `rules.md` referenced across documents |
|
|
1141
|
-
|
|
1142
|
-
</details>
|
|
1143
|
-
|
|
1144
|
-
---
|
|
1145
|
-
|
|
1146
|
-
## 10. Frequently Asked Questions
|
|
1147
|
-
|
|
1148
|
-
<details>
|
|
1149
|
-
<summary>Do all spec documents need to be complete before coding?</summary>
|
|
1150
|
-
|
|
1151
|
-
They do not need to be perfect. `architecture.md` is the hard execution prerequisite; `rules.md` and applicable PRD/schema/API/StyleGuide contracts are strongly recommended and missing required contracts create explicit verification gaps. The more complete the applicable specs are, the more accurately AI can work.
|
|
1152
|
-
|
|
1153
|
-
</details>
|
|
1154
|
-
|
|
1155
|
-
<details>
|
|
1156
|
-
<summary>Can this be used for an existing project?</summary>
|
|
1157
|
-
|
|
1158
|
-
Yes. Use `spec-init` — AI reads the codebase and generates evidence-backed specs. Every claim gets a confidence level and evidence source; decisions that cannot be proven are listed under `Missing Decisions` with the owning brainstorm skill.
|
|
1159
|
-
|
|
1160
|
-
</details>
|
|
1161
|
-
|
|
1162
|
-
<details>
|
|
1163
|
-
<summary>Can AI make mistakes?</summary>
|
|
1164
|
-
|
|
1165
|
-
Yes. That is why `spec-compliance` and `code-review` run after every phase. In the default `report-first` mode, AI reports all findings and waits for `fix`/approval before editing; in `fix-then-report`, actionable blocker/major findings are repaired and validated automatically.
|
|
1166
|
-
|
|
1167
|
-
</details>
|
|
1168
|
-
|
|
1169
|
-
<details>
|
|
1170
|
-
<summary>What is [SELF-REVIEW]?</summary>
|
|
1171
|
-
|
|
1172
|
-
After each task is complete, the developer writes a short reflection: 1 potential security risk, 1 performance bottleneck, and 1 spec assumption. The goal is to expose hidden guesses before formal verification.
|
|
1173
|
-
|
|
1174
|
-
</details>
|
|
1175
|
-
|
|
1176
|
-
<details>
|
|
1177
|
-
<summary>When does developer write tests before implementation?</summary>
|
|
1178
|
-
|
|
1179
|
-
When `rules.md` selects TDD/test-first, the developer writes the failing test before implementation so behavior is explicit. Other projects may use test-with-change or another approved workflow; `Task.md`, `developer`, and `code-review` all follow that selected policy.
|
|
1180
|
-
|
|
1181
|
-
</details>
|
|
1182
|
-
|
|
1183
|
-
<details>
|
|
1184
|
-
<summary>Is bug-log updated automatically?</summary>
|
|
1185
|
-
|
|
1186
|
-
No. A bug is recorded only after **you confirm** that it is resolved. AI does not write to `bug-log` without permission.
|
|
1187
|
-
|
|
1188
|
-
</details>
|
|
1189
|
-
|
|
1190
|
-
<details>
|
|
1191
|
-
<summary>Do I need to choose developer preferences in every session?</summary>
|
|
1192
|
-
|
|
1193
|
-
No. Scope, work mode, additional skills, MCPs, review mode, brainstorm pacing, recommendations, and discovery depth are saved or inferred and reused. Future sessions ask only for missing material decisions.
|
|
1194
|
-
|
|
1195
|
-
</details>
|
|
1196
|
-
|
|
1197
|
-
<details>
|
|
1198
|
-
<summary>What is plan-first mode and where is the plan stored?</summary>
|
|
1199
|
-
|
|
1200
|
-
When you choose `plan-first`, AI creates a plan file in `project-context/plans/phase-[N]-[slug].md` before coding starts. The plan has a status header that is updated automatically through this lifecycle:
|
|
1201
|
-
|
|
1202
|
-
| Status | Meaning |
|
|
1203
|
-
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1204
|
-
| `review` | The plan was just created — you read and review it first. Type `start` if you agree. |
|
|
1205
|
-
| `in-progress` | Coding starts after you type `start`. |
|
|
1206
|
-
| `code-review` | All tasks in the phase are complete and are being reviewed by `code-review`. |
|
|
1207
|
-
| `done` | Code review is complete. If implementation deviated from the plan (wrong library, different pattern), AI adds a note to the plan. If there is no deviation, status changes to `done` with no note. |
|
|
1208
|
-
|
|
1209
|
-
Plans are also recognized by `help` (displayed with status) and `add-feature` (updated if the phase is affected).
|
|
1210
|
-
|
|
1211
|
-
</details>
|
|
1212
|
-
|
|
1213
|
-
<details>
|
|
1214
|
-
<summary>What is scope in developer?</summary>
|
|
1215
|
-
|
|
1216
|
-
Scope sets the AI work boundary: **Frontend only** (does not touch `routes/`, `controllers/`, `migrations/`), **Backend only** (does not touch `components/`, `pages/`, `styles/`), or **Fullstack** (no restriction). It is enforced in `developer` before coding and in `spec-compliance` (SC-08) after coding.
|
|
1217
|
-
|
|
1218
|
-
</details>
|
|
1219
|
-
|
|
1220
|
-
<details>
|
|
1221
|
-
<summary>How do additional skills work?</summary>
|
|
1222
|
-
|
|
1223
|
-
These are project-specific skills (for example `laravel-best-practices`). `developer` asks once. AI searches the workspace first, then asks you only if the skill is not found. When working on a relevant task, AI must read that skill's `SKILL.md` before writing code.
|
|
116
|
+
`upgrade` refreshes managed skills with modification and recovery checks. Review or back up local modifications before choosing to overwrite them. `doctor` inspects installation health without changing files or performing recovery.
|
|
1224
117
|
|
|
1225
|
-
|
|
118
|
+
Restart your AI host after installing or upgrading skills. Preference-only changes apply on the next configuration read.
|
|
1226
119
|
|
|
1227
|
-
|
|
1228
|
-
<summary>How is spec-audit different from spec-compliance?</summary>
|
|
120
|
+
`@latest` uses the newest **published npm package**. Local or GitHub changes are not available through that command until a new package is published. Pin a version when reproducibility matters.
|
|
1229
121
|
|
|
1230
|
-
|
|
1231
|
-
- `spec-audit` — spec document vs spec document. Runs before coding or any time you suspect inconsistencies.
|
|
122
|
+
The 3.x prerelease uses the **`next`** channel; it does not replace stable `latest`. Check `npm view macca-method dist-tags` before selecting a release. To try the published candidate, use `npx macca-method@next install` or pin `@3.0.0-rc.1`. Review the [breaking changes and migration notes](CHANGELOG.md) first.
|
|
1232
123
|
|
|
1233
|
-
|
|
124
|
+
See [troubleshooting](docs/troubleshooting.md) for error messages, safe recovery, and platform-specific paths.
|
|
1234
125
|
|
|
1235
|
-
|
|
126
|
+
## Support and limits
|
|
1236
127
|
|
|
1237
|
-
|
|
1238
|
-
|
|
128
|
+
- The installer targets **local project directories** on Linux, Windows, and macOS. Windows UNC/network and device paths are unsupported; symlinked project ancestors are rejected with guidance.
|
|
129
|
+
- CI is configured for **three operating systems × Node.js 22/24**. That configuration is not proof of a successful run on every combination. Local validation so far is Linux-based; other platform claims need corresponding run evidence.
|
|
130
|
+
- Skill instructions guide the assistant; they are not a sandbox or a guarantee of correct code. Results depend on the host, model, permissions, context, and verification actually performed.
|
|
131
|
+
- Passing structural checks does not prove every conversation works correctly. Required missing evidence must remain visible, and important outcomes should be checked before release.
|
|
132
|
+
- Commit, push, publication, deployment, and destructive operations require their own appropriate authorization. A successful review is not permission to perform them.
|
|
1239
133
|
|
|
1240
|
-
|
|
134
|
+
## Documentation
|
|
1241
135
|
|
|
1242
|
-
|
|
136
|
+
- [Workflows](docs/workflows.md) — new/existing projects, implementation, features, bugs, meetings, and release checks.
|
|
137
|
+
- [Configuration](docs/configuration.md) — saved preferences, examples, authorization, and validator usage.
|
|
138
|
+
- [Troubleshooting](docs/troubleshooting.md) — installation flags, upgrades, errors, recovery, and platform limits.
|
|
139
|
+
- [Behavioral evaluation scenarios](https://github.com/firdaus12p/MACCA-METHOD/blob/main/evals/README.md) — repository-only test scenarios and evidence requirements; definitions are not passing results.
|
|
1243
140
|
|
|
1244
|
-
|
|
141
|
+
For contributors, repository validation requires Node.js 22+ and Python 3. See [maintainer checks](docs/troubleshooting.md#maintainer-checks-from-a-source-checkout).
|
|
1245
142
|
|
|
1246
|
-
##
|
|
143
|
+
## License
|
|
1247
144
|
|
|
1248
|
-
MIT
|
|
145
|
+
[MIT](LICENSE) — free to use, modify, and distribute.
|