macca-method 1.1.0 → 2.1.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.
Files changed (56) hide show
  1. package/.agents/legacy-payloads.json +22 -0
  2. package/{skills-lock.json → .agents/macca-lock.json} +3 -2
  3. package/.agents/macca-managed-skills.txt +2 -1
  4. package/.agents/skills/_shared/references/additional-skills.md +30 -0
  5. package/.agents/skills/_shared/references/brainstorm-session.md +42 -11
  6. package/.agents/skills/_shared/references/config-mutation.md +25 -0
  7. package/.agents/skills/_shared/references/finding-format.md +25 -0
  8. package/.agents/skills/_shared/references/fix-mode.md +54 -0
  9. package/.agents/skills/_shared/references/human-loop.md +3 -1
  10. package/.agents/skills/_shared/references/implementation-principles.md +19 -0
  11. package/.agents/skills/_shared/references/invocation-policy.md +39 -0
  12. package/.agents/skills/_shared/references/language-config.md +17 -0
  13. package/.agents/skills/_shared/references/output-ownership.md +4 -2
  14. package/.agents/skills/_shared/references/runtime-config.md +7 -168
  15. package/.agents/skills/_shared/references/skill-catalog.md +34 -0
  16. package/.agents/skills/_shared/scripts/validate-skills.py +106 -4
  17. package/.agents/skills/add-feature/SKILL.md +12 -7
  18. package/.agents/skills/brainstorm-api/SKILL.md +53 -196
  19. package/.agents/skills/brainstorm-api/assets/api.template.md +147 -0
  20. package/.agents/skills/brainstorm-architecture/SKILL.md +26 -129
  21. package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +135 -0
  22. package/.agents/skills/brainstorm-prd/SKILL.md +23 -104
  23. package/.agents/skills/brainstorm-prd/assets/PRD.template.md +106 -0
  24. package/.agents/skills/brainstorm-rules/SKILL.md +19 -153
  25. package/.agents/skills/brainstorm-rules/assets/rules.template.md +127 -0
  26. package/.agents/skills/brainstorm-schema/SKILL.md +53 -117
  27. package/.agents/skills/brainstorm-schema/assets/schema.template.md +109 -0
  28. package/.agents/skills/brainstorm-styleguide/SKILL.md +21 -136
  29. package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +147 -0
  30. package/.agents/skills/brainstorm-task/SKILL.md +24 -107
  31. package/.agents/skills/brainstorm-task/assets/Task.template.md +113 -0
  32. package/.agents/skills/bug-fix/SKILL.md +54 -56
  33. package/.agents/skills/code-review/SKILL.md +28 -19
  34. package/.agents/skills/code-review/references/review-checklist.md +24 -26
  35. package/.agents/skills/developer/SKILL.md +27 -39
  36. package/.agents/skills/developer/references/close-phase.md +25 -0
  37. package/.agents/skills/developer/references/execute-task.md +69 -0
  38. package/.agents/skills/developer/references/onboarding.md +47 -0
  39. package/.agents/skills/help/SKILL.md +19 -16
  40. package/.agents/skills/meet/SKILL.md +170 -0
  41. package/.agents/skills/quick-dev/SKILL.md +32 -34
  42. package/.agents/skills/release-readiness/SKILL.md +151 -0
  43. package/.agents/skills/spec-audit/SKILL.md +39 -22
  44. package/.agents/skills/spec-compliance/SKILL.md +43 -40
  45. package/.agents/skills/spec-init/SKILL.md +31 -14
  46. package/README.md +181 -132
  47. package/bin/macca-method.js +779 -85
  48. package/flow.webp +0 -0
  49. package/image-macca-method.webp +0 -0
  50. package/package.json +12 -5
  51. package/scripts/run-skill-validator.js +24 -0
  52. package/scripts/test-install.js +430 -0
  53. package/scripts/test-upgrade-legacy.js +143 -0
  54. package/scripts/validate-skill-behavior.js +124 -0
  55. package/.agents/skills/developer/references/execution-workflow.md +0 -322
  56. package/.agents/skills/rapat/SKILL.md +0 -172
package/README.md CHANGED
@@ -42,46 +42,29 @@ When using AI for coding without clear guidance, these problems are common:
42
42
 
43
43
  MACCA uses **skills** — structured instructions given to AI to perform specific tasks. Each skill has a clear responsibility and does not overlap.
44
44
 
45
- ```
46
- ┌──────────────────────────────────────────────────────┐
47
- │ PLANNING PHASE │
48
- │ │
49
- │ brainstorm-prd → brainstorm-architecture │
50
- │ ↓ │
51
- │ brainstorm-schema │
52
- │ ↓ │
53
- │ brainstorm-api │
54
- │ ↓ │
55
- │ brainstorm-styleguide (optional) │
56
- │ ↓ │
57
- │ brainstorm-rules │
58
- │ ↓ │
59
- │ brainstorm-task │
60
- └──────────────────────────────────────────────────────┘
61
-
62
- ┌──────────────────────────────────────────────────────┐
63
- │ EXECUTION PHASE │
64
- │ │
65
- │ developer (per Task.md phase) │
66
- │ quick-dev (single focused task) │
67
- │ ↓ (after each) │
68
- │ spec-compliance → code-review │
69
- └──────────────────────────────────────────────────────┘
70
- ```
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`.
71
48
 
72
49
  All planning output documents are stored in `project-context/` in your project.
73
50
 
74
- > **Any time:** you can call `help` to see project status and recommended next steps, or `rapat` if you need a multi-persona discussion before continuing.
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.
75
52
 
76
53
  ---
77
54
 
78
55
  ## 3. Planning Skills
79
56
 
80
- Planning skills run as interview sessions. At the start of each session, AI announces the topic count, then asks two things (if not already saved in config):
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:
81
58
  1. **Pacing**: (A) one by one · (B) three at a time · (C) all at once
82
59
  2. **Recommendations**: should AI provide suggested answers for each question?
83
60
 
84
- These choices are saved and reused in future sessions.
61
+ These choices are saved and reused. Discovery depth is separate from pacing:
62
+
63
+ - **quick** — only when you explicitly identify disposable prototype/internal experiment work
64
+ - **standard** — default production depth
65
+ - **critical** — automatic deeper security, failure, recovery, and operational detail for payments, sensitive/regulated data, multi-tenancy, public uploads/webhooks, privileged administration, or high availability
66
+
67
+ Depth is inferred from existing context and can be overridden; it does not add a mandatory setup question. Mandatory safety topics are never skipped.
85
68
 
86
69
  ---
87
70
 
@@ -99,19 +82,19 @@ These choices are saved and reused in future sessions.
99
82
  **Topics covered:**
100
83
  1. Project Goal — long-term vision and what makes the project unique
101
84
  2. Target Users — user personas, demographics, pain points
102
- 3. Problem Being Solved — real problems, not assumptions
85
+ 3. Problem Being Solved — real problem, current workaround, and its cost/limitations
103
86
  4. Main Features (MVP) — minimum features required in the first version
104
87
  5. Business Rules — rules that must never be broken (for example: stock cannot go negative)
105
- 6. Non-Goalswhat will *not* be built in this version
106
- 7. User Stories real workflows from the user perspective
107
- 8. Acceptance Criteriaconcrete conditions for a feature to be considered done
108
- 9. Non-Functional Requirementsperformance, security, accessibility
109
- 10. Platform & Constraints web, mobile, or both; technical limits
110
- 11. External Integrations payment gateway, email, OAuth, etc.
111
- 12. Monetizationbusiness model and revenue sources
112
- 13. Analytics & Logging what data must be tracked
113
- 14. Roadmaprelease priorities and phases after MVP
114
- 15. Open Questions — items not yet decided
88
+ 6. User Flow happy path, failure scenarios, and degraded behavior
89
+ 7. Design & Technical Requirements platform, references, integrations, preferences
90
+ 8. Non-Functional Requirementsperformance, security, scalability, accessibility, availability
91
+ 9. Success Metrics & Rollout baseline, target, timeframe, measurement source, owner, launch strategy
92
+ 10. Acceptance Criteriaconcrete conditions for each feature
93
+ 11. Non-Goalswhat will *not* be built
94
+ 12. Assumptionsunverified conditions
95
+ 13. User Storiesprioritized workflows from the user perspective
96
+ 14. Stakeholdersowners and responsibilities
97
+ 15. Open Questions — unresolved decisions and risks
115
98
 
116
99
  **Important behavior:**
117
100
  - Use `Traceability ID` (`FEAT-*`, `BR-*`, `AC-*`, `NFR-*`, `US-*`) so each requirement can be traced to tasks and code
@@ -136,14 +119,14 @@ These choices are saved and reused in future sessions.
136
119
 
137
120
  **Topics covered:**
138
121
  1. System Context — systems and external services that interact
139
- 2. Tech Stack — frontend, backend, database, hosting, CI/CD
122
+ 2. Tech Stack — frontend, backend, database, hosting, CI/CD, plus strategic dependency/license/health/lock-in/exit evaluation
140
123
  3. Folder Structure — project file and directory organization
141
124
  4. Design Patterns — architecture patterns (MVC, Clean Architecture, Feature-based, Hexagonal)
142
125
  5. Authentication & Authorization — login method, JWT/session, RBAC
143
126
  6. API Style — REST, GraphQL, or tRPC
144
127
  7. State Management — Zustand, Redux, Context API, etc.
145
- 8. Deploymentdev/staging/prod environments, deployment strategy, cloud provider
146
- 9. Observabilitylogging, monitoring, error tracking
128
+ 8. Security & Abuse Cases required risk screen; depth increases for sensitive systems
129
+ 9. Deployment & Operations environments, deployment, observability, owner/runbook, rollback, and critical-system recovery/RPO/RTO
147
130
  10. Architecture Decision Records — major decisions and their reasoning
148
131
 
149
132
  **Important behavior:**
@@ -168,15 +151,15 @@ These choices are saved and reused in future sessions.
168
151
  **Topic count:** 5 topics
169
152
 
170
153
  **Topics covered:**
171
- 1. Database Conventions — ID strategy (UUID/auto-increment/CUID), naming convention, audit fields, soft delete, timezone
172
- 2. Table Listall required tables/collections
173
- 3. Per-Table Detailscolumns, data types, constraints, and indexes
174
- 4. Relationships — foreign keys, one-to-many, many-to-many, cascade rules
175
- 5. Sensitive Data & CompliancePII, retention policy, anonymization
154
+ 1. Persistence Conventions — identity, naming, audit/version metadata, deletion, retention
155
+ 2. Entity/Storage Maprelational, document, key-value, graph, event-store, or mixed
156
+ 3. Fields & Data Types datastore-native validation, PII, volume, growth, payload size
157
+ 4. Relationships & Placement references/embedding/edges/aggregates plus tenancy and concurrency
158
+ 5. Access Patterns & Evolutionindexes/projections, consistency, migration, backfill, compatibility, recovery
176
159
 
177
160
  **Important behavior:**
178
- - Give each table a `Traceability ID` (`DATA-*`) that can be traced to requirements in `PRD.md`
179
- - Agreed table and column names are a **contract** `spec-compliance` (SC-03) verifies that code uses the exact names from this document
161
+ - Give each persisted entity a `Traceability ID` (`DATA-*`)
162
+ - Datastore-native names, tenancy, concurrency, retention, and migration constraints are verified by `spec-compliance` (SC-03)
180
163
 
181
164
  </details>
182
165
 
@@ -187,23 +170,23 @@ These choices are saved and reused in future sessions.
187
170
 
188
171
  **Persona:** @Fachri — Tech Lead
189
172
 
190
- **Called when:** After `schema.md` is complete.
173
+ **Called when:** After applicable architecture/data decisions, or after architecture for a frontend consumer contract.
191
174
 
192
- **Read before starting:** `project-context/PRD.md`, `project-context/architecture.md`, `project-context/schema.md`
175
+ **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.
193
176
 
194
177
  **Output:** `project-context/api.md`
195
178
 
196
179
  **Topic count:** 5 topics
197
180
 
198
181
  **Topics covered:**
199
- 1. Base URL, Versioning & Auth — dev/prod base URL, versioning, authentication method, standard response format
200
- 2. Error Catalog — all possible error codes and their meanings
201
- 3. Core Endpoints main endpoints based on features in `PRD.md`
202
- 4. Pagination, Filter & Sorting standard patterns for list endpoints
203
- 5. Rate Limiting & Securityrequest-per-minute limits, CORS policy, CSRF protection
182
+ 1. Entry Point, Versioning, Deprecation & Auth — protocol-native compatibility and lifecycle
183
+ 2. Error Catalog — protocol-native errors, retryability, timeout interaction, client action
184
+ 3. OperationsREST endpoints, GraphQL operations, RPC procedures, events, or mixed contracts
185
+ 4. Input/Output/Event Detailsexamples, validation, authorization, idempotency/replay
186
+ 5. Flow & Reliabilitypagination/streaming, rate limits, retries, SLOs, and contract-test invariants
204
187
 
205
188
  **Important behavior:**
206
- - Give each endpoint a `Traceability ID` (`API-*`)
189
+ - Give each operation a `Traceability ID` (`API-*`)
207
190
  - Agreed request and response formats are a **contract** verified by `spec-compliance` (SC-04) during coding
208
191
 
209
192
  </details>
@@ -221,7 +204,7 @@ These choices are saved and reused in future sessions.
221
204
 
222
205
  **Output:** `project-context/StyleGuide.md`
223
206
 
224
- **Topic count:** 7 topics
207
+ **Topic count:** 8 topics
225
208
 
226
209
  **Topics covered:**
227
210
  1. CSS Framework — Tailwind CSS (v3/v4), Bootstrap, CSS Modules, or custom
@@ -231,6 +214,7 @@ These choices are saved and reused in future sessions.
231
214
  5. Component Styles — button, card, form input, modal, table — styling and states
232
215
  6. Responsive & Breakpoints — sm/md/lg/xl breakpoints and layout changes
233
216
  7. Icons & Assets — icon library, image formats, asset naming conventions
217
+ 8. Accessibility, Localization & Operational States — keyboard/focus/screen reader/reduced motion; loading/empty/error/forbidden/offline; locales/RTL; UI performance
234
218
 
235
219
  **Important behavior:**
236
220
  - Agreed colors and spacing are a **contract** — `spec-compliance` (SC-06) flags arbitrary values outside this list
@@ -261,6 +245,8 @@ These choices are saved and reused in future sessions.
261
245
  6. Git Workflow — commit message convention, branching strategy
262
246
  7. `[FORBIDDEN]` Section — list of technical prohibitions that AI **must scan** before writing code
263
247
 
248
+ Conditional rules are generated only when applicable: structured logging, migrations, feature flags, generated code, and secret rotation.
249
+
264
250
  **Important behavior:**
265
251
  - The `[FORBIDDEN]` section is the first thing `developer` reads before coding
266
252
  - If the `[FORBIDDEN]` section is missing, `spec-compliance` records it as a MINOR finding
@@ -280,7 +266,7 @@ These choices are saved and reused in future sessions.
280
266
 
281
267
  **Output:** `project-context/Task.md`
282
268
 
283
- **Clarification topic count:** 4 topics
269
+ **User clarification count:** 3 topics plus one automatic document-completeness check
284
270
 
285
271
  **Clarification topics:**
286
272
  1. Phase Priority Order — implementation order, which features must finish first
@@ -295,8 +281,9 @@ These choices are saved and reused in future sessions.
295
281
  **Important behavior:**
296
282
  - Tasks are **not created from guesses** — all tasks are derived from the spec documents
297
283
  - Every task has concrete, verifiable `Acceptance Criteria`
298
- - Test tasks always appear *before* implementation tasks (TDD order)
284
+ - Testing order follows `rules.md`: test-first when explicitly selected, otherwise test-with-change or the project's approved workflow
299
285
  - Every task has a `Traceability ID` that links it to requirements in the specs
286
+ - Every phase receives a Definition of Done derived from applicable specs: validation, security, migration/recovery, observability, docs/rollout, `spec-compliance`, and `code-review`
300
287
 
301
288
  </details>
302
289
 
@@ -318,12 +305,12 @@ These choices are saved and reused in future sessions.
318
305
  **Step 0 — Identify name & project**
319
306
  Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks once and saves the answer.
320
307
 
321
- **Step 0b — Setup additional skills & MCP**
308
+ **Additional skills & MCP setup** (`references/onboarding.md`)
322
309
 
323
310
  *Additional Skills:*
324
311
  - If `additionalSkills` already exists in config → use it directly
325
312
  - If not → AI asks once: *"Are there any additional skills for this project?"*
326
- - For every named skill, AI **first searches the workspace itself** (`.agents/skills/`, `.github/skills/`, `.opencode/skill/`). It only asks you for the path if the skill is not found.
313
+ - 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.
327
314
  - When working on a relevant task, AI **must read** `SKILL.md` from that skill before writing code.
328
315
 
329
316
  *MCP (Model Context Protocol):*
@@ -331,7 +318,7 @@ Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks
331
318
  - If not → AI asks once: *"Which MCPs are available in your workspace?"*
332
319
  - Only listed MCPs will be used.
333
320
 
334
- **Step 0c — Set developer scope**
321
+ **Developer scope** (`references/onboarding.md`)
335
322
  - If `developerPreferences.scope` already exists → use it directly
336
323
  - If not → AI asks once:
337
324
  ```
@@ -342,7 +329,7 @@ Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks
342
329
  ```
343
330
  - This scope is enforced in every phase: AI will not create/change files outside the scope.
344
331
 
345
- **Step 1b — Choose work mode**
332
+ **Work mode** (`references/onboarding.md`)
346
333
  - If `developerPreferences.workMode` already exists → use it directly
347
334
  - If not → AI asks once:
348
335
  ```
@@ -357,7 +344,7 @@ Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks
357
344
  status: done ← when code-review is complete
358
345
  ```
359
346
 
360
- **Step 2 — Select relevant specs + enforce scope**
347
+ **Selecting relevant specs** (`references/execute-task.md`)
361
348
 
362
349
  | Condition | Read |
363
350
  |---------|--------|
@@ -369,13 +356,13 @@ Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks
369
356
 
370
357
  Scope enforcement: if `scope=frontend`, AI does not touch backend files. If `scope=backend`, AI does not touch frontend files.
371
358
 
372
- **Step 3 — Execute tasks one by one**
359
+ **Executing tasks** (`references/execute-task.md`)
373
360
 
374
361
  For each task:
375
362
  1. Understand the task and acceptance criteria
376
363
  2. Check the ladder: does it need to be built? Does it already exist in the codebase? Is it in the standard library? (YAGNI)
377
364
  3. Write an I/O contract for non-trivial functions
378
- 4. Write tests first, then implementation (TDD)
365
+ 4. Follow the testing workflow in `rules.md`: test-first only when selected, otherwise test-with-change or the approved project policy
379
366
  5. After finishing, write `[SELF-REVIEW]`:
380
367
  ```
381
368
  1. Security risk: [1 potential issue — or "none identified"]
@@ -384,18 +371,23 @@ For each task:
384
371
  ```
385
372
  6. Run validation, update `Task.md` (`[ ]` → `[x]`)
386
373
 
387
- **Step 4 After all tasks in the phase are complete**
374
+ Developer loads workflow references by state, not all at once:
375
+ - `onboarding.md` only for missing setup or plan-first
376
+ - `execute-task.md` only for the current task
377
+ - `close-phase.md` only when closing a phase/project
378
+
379
+ **Closing a phase** (`references/close-phase.md`)
388
380
  1. Show a phase summary
389
- 2. If there is a plan file for this phase update plan status: `in-progress` → `code-review`
390
- 3. Run `spec-compliance` automatically
391
- 4. If clean, run `code-review` automatically
392
- 5. Offer the next phase
381
+ 2. Verify the applicable Phase Definition of Done; mark genuine non-applicable items with a reason
382
+ 3. If there is a plan file for this phase → update plan status: `in-progress` → `code-review`
383
+ 4. Run `spec-compliance` automatically
384
+ 5. If clean, run `code-review` automatically
385
+ 6. Complete quality-gate DoD items, then offer the next phase
393
386
 
394
387
  **MCPs used (if listed in `availableMCPs`):**
395
- - `context7` — fetch installed-version library documentation before coding
396
- - `sequential-thinking` — for complex problems/architecture
397
- - `grep-app` search for real implementation examples in public repos
398
- - `exa` — changelog, breaking changes, verify active maintenance
388
+ - `context7` or equivalent docs MCP current installed-version library documentation
389
+ - `codebase-memory-mcp` or equivalent graph/symbol tooling codebase discovery and relationships
390
+ - Other registered MCPs only when relevant to the current task
399
391
 
400
392
  </details>
401
393
 
@@ -406,7 +398,7 @@ For each task:
406
398
 
407
399
  **Persona:** @Firdaus — Expert Developer
408
400
 
409
- **Called when:** A small, targeted change is needed (color fix, layout tweak, copy edit, minor logic adjustment) where reading Task.md phases and creating plan files is unnecessary overhead. Full quality gates still run.
401
+ **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.
410
402
 
411
403
  **Not for:** new features, database migrations, new API endpoints, or changes touching more than 5 files — use `developer` instead.
412
404
 
@@ -416,7 +408,7 @@ For each task:
416
408
  Same as `developer`. Reads `.agents/developer-config.json`, greets by name and project.
417
409
 
418
410
  **Step 0b & 0c — Additional Skills, MCP, Scope**
419
- Same as `developer`. Reads from config if already set does not ask again.
411
+ Same setup policy as `developer`. Reads from config if already set and asks only for missing required setup.
420
412
 
421
413
  **Step 1 — Pre-flight summary** *(unique to quick-dev)*
422
414
 
@@ -435,13 +427,13 @@ Need confirmation before proceeding: ← omit if none
435
427
  ```
436
428
  - Non-blocking ambiguities go under "Assumptions", not as questions
437
429
  - Missing specs (e.g. no `StyleGuide.md` but task touches UI) are flagged here
438
- - Waits for user confirmation before proceeding
430
+ - Waits only when a blocking ambiguity exists; otherwise proceeds in the same turn with listed assumptions
439
431
 
440
432
  **Step 2 — Read relevant specs**
441
433
  Same table as `developer` — reads only what the task needs.
442
434
 
443
435
  **Step 3 — Execute**
444
- Same as `developer` Step 3 (understand → clarify → I/O contract → code → [SELF-REVIEW] → validate). YAGNI Ladder is mandatory.
436
+ 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.
445
437
 
446
438
  **Step 4 — Update Task.md**
447
439
 
@@ -454,6 +446,8 @@ Same as `developer` Step 3 (understand → clarify → I/O contract → code →
454
446
  **Step 5 — Quality gates**
455
447
  Runs full `spec-compliance` then `code-review`. Both follow `fixMode` from config.
456
448
 
449
+ **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`.
450
+
457
451
  **Step 6 — Final report**
458
452
  ```
459
453
  Quick Dev — Done
@@ -481,13 +475,13 @@ Remaining ambiguities: ← omit if none
481
475
 
482
476
  | ID | Aspect | Documents Read |
483
477
  |----|-------|---------------------|
484
- | SC-01 | PRD Compliance | `PRD.md` — features, business rules, acceptance criteria, non-goals |
485
- | SC-02 | Architecture Compliance | `architecture.md` — tech stack, folder structure, design patterns, auth method |
486
- | SC-03 | Schema Compliance | `schema.md` — exact table/column names, relationships, soft delete, audit fields, PII |
487
- | SC-04 | API Compliance | `api.md` endpoint path, HTTP method, request/response format, error codes |
488
- | SC-05 | Rules Compliance | `rules.md` — `[FORBIDDEN]` section, naming convention, TypeScript rules |
489
- | SC-06 | StyleGuide Compliance | `StyleGuide.md` CSS framework, color tokens, spacing system |
490
- | SC-07 | Task Completion | `Task.md` all acceptance criteria met, no half-finished tasks |
478
+ | SC-01 | PRD Compliance | scope, business rules, acceptance/NFR, metrics/rollout and degraded behavior when applicable |
479
+ | SC-02 | Architecture Compliance | stack, boundaries, patterns, auth, observability/rollback/recovery when touched |
480
+ | SC-03 | Schema Compliance | datastore-native names, validation, tenancy, concurrency, retention and evolution |
481
+ | SC-04 | API Compliance | protocol-native operations, errors, auth, reliability, lifecycle and contract invariants |
482
+ | SC-05 | Rules Compliance | `[FORBIDDEN]`, naming, security, testing and applicable operational conventions |
483
+ | SC-06 | StyleGuide Compliance | tokens, responsive behavior, accessibility, localization and operational states |
484
+ | SC-07 | Task Completion | acceptance criteria, traceability and applicable Phase Definition of Done |
491
485
  | SC-08 | Scope Compliance | `developer-config.json` — frontend/backend scope respected, no files outside scope |
492
486
 
493
487
  **Severity:** `💥 BLOCKER` → fix now, re-run | `🔴 MAJOR` → fix before the next phase | `⚠️ MINOR` → discuss | `✅ PASS` → continue to `code-review`
@@ -517,7 +511,7 @@ If this field is missing, the default is `report-first`. To change it, the user
517
511
  | Tier | Item |
518
512
  |------|------|
519
513
  | 💥 BLOCKER | CR-01 Wrong imports · CR-02 Runtime errors · CR-03 Null/undefined · CR-04 SQL injection · CR-05 Deprecated methods |
520
- | 🔴 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 No rate limit handling · CR-17 No tests |
514
+ | 🔴 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` |
521
515
  | ⚠️ 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 |
522
516
  | ℹ️ INFO | CR-25 Missing comments · CR-26 Jargon · CR-27 Comment quality |
523
517
 
@@ -648,7 +642,7 @@ Recommended next steps: ...
648
642
  **Two modes:**
649
643
 
650
644
  **Project Mode** — audit `project-context/`
651
- Checks consistency *between* documents: tables in `schema` with no endpoint in `api`? Features in `PRD` with no task in `Task.md`? `architecture` tech stack conflicting with `rules`? `Traceability ID`s referenced but missing from the source?
645
+ 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?
652
646
 
653
647
  **Framework Mode** — audit MACCA itself
654
648
  Checks consistency *between* skill instructions: are README, skill docs, and workflow aligned, or do they conflict?
@@ -676,25 +670,26 @@ Mode B — Guided Generate: one document → you review → confirm → continue
676
670
 
677
671
  **Generation order:** `architecture.md` → `rules.md` → `schema.md` → `api.md` → `StyleGuide.md` → `PRD.md`
678
672
 
679
- `PRD.md` is created last because it is inferred from existing code, not assumptions.
673
+ `PRD.md` is created last because it is synthesized from observed behavior, not guessed intent.
680
674
 
681
675
  **Each generated document includes:**
682
676
  - **Evidence Inputs** — files/sources used as the basis for each claim
683
677
  - **Confidence Level** per claim: *High* (seen directly in code) / *Medium* (strong inference) / *Low* (guess, needs verification)
684
678
  - **Confidence Summary** — summary of strong facts, inferences, and what still needs manual verification
679
+ - **Missing Decisions** — choices that cannot be proven from code, with the recommended owning brainstorm skill
685
680
 
686
681
  </details>
687
682
 
688
683
  ---
689
684
 
690
685
  <details>
691
- <summary><strong>rapat</strong> — Multi-persona team discussion</summary>
686
+ <summary><strong>meet</strong> — Single-round multi-persona team meeting</summary>
692
687
 
693
688
  **Persona:** @Galbi (facilitator)
694
689
 
695
690
  **Called when:** Any time you need perspectives from several specialties at once.
696
691
 
697
- **How it works:** @Galbi facilitates. You can call any persona by name to ask for their view. Each persona responds according to their expertise and role.
692
+ **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.
698
693
 
699
694
  **Available personas:**
700
695
  - `@Galbi` — Project Manager: scope, priorities, business impact
@@ -707,12 +702,38 @@ Mode B — Guided Generate: one document → you review → confirm → continue
707
702
 
708
703
  ---
709
704
 
705
+ <details>
706
+ <summary><strong>release-readiness</strong> — Production release evidence gate</summary>
707
+
708
+ **Persona:** @Fachri — Tech Lead
709
+
710
+ **Called when:** The user asks whether a candidate is ready to ship, before production release, or after all Task.md phases are complete.
711
+
712
+ **Behavior:** Report-only. It never deploys, publishes, applies migrations, rotates secrets, or changes production.
713
+
714
+ It consumes existing quality evidence instead of repeating complete reviews, then checks:
715
+
716
+ 1. Scope, acceptance criteria, Definition of Done, and unresolved quality findings
717
+ 2. Build, tests, type/lint checks, and candidate-specific smoke tests
718
+ 3. Environment configuration and secrets
719
+ 4. Migration, backfill, backup, validation, and recovery
720
+ 5. Deployment ownership, rollback, and feature flags
721
+ 6. Logs, metrics, traces, alerts, health checks, runbooks, and incident ownership
722
+ 7. Compatibility, deprecation, version, changelog, and consumer communication
723
+ 8. Accessibility and operational UI states when UI changed
724
+
725
+ Verdicts: `READY`, `CONDITIONAL`, or `NOT READY`. Missing required evidence is `NOT VERIFIED`, never an assumed pass.
726
+
727
+ </details>
728
+
729
+ ---
730
+
710
731
  ## 6. The MACCA AI Team
711
732
 
712
733
  | Persona | Role | Skills |
713
734
  |---------|------|--------|
714
- | **@Galbi** | Project Manager | `brainstorm-prd`, `brainstorm-task`, `add-feature`, `help`, `rapat` |
715
- | **@Fachri** | Tech Lead | `brainstorm-architecture`, `brainstorm-api`, `brainstorm-schema`, `brainstorm-rules`, `spec-init`, `spec-audit`, `spec-compliance`, `code-review` |
735
+ | **@Galbi** | Project Manager | `brainstorm-prd`, `brainstorm-task`, `add-feature`, `help`, `meet` |
736
+ | **@Fachri** | Tech Lead | `brainstorm-architecture`, `brainstorm-api`, `brainstorm-schema`, `brainstorm-rules`, `spec-init`, `spec-audit`, `spec-compliance`, `code-review`, `release-readiness` |
716
737
  | **@Akram** | UI/UX Designer | `brainstorm-styleguide` |
717
738
  | **@Firdaus** | Expert Developer | `developer`, `quick-dev` |
718
739
  | **@Ikhsan** | Debugger | `bug-fix` |
@@ -723,6 +744,10 @@ Mode B — Guided Generate: one document → you review → confirm → continue
723
744
 
724
745
  ## 7. Workflow
725
746
 
747
+ ![MACCA Workflow](flow.webp)
748
+
749
+ `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`.
750
+
726
751
  <details>
727
752
  <summary><strong>New Project</strong> — Start from scratch</summary>
728
753
 
@@ -746,6 +771,7 @@ Step 3b: Define the API (if any)
746
771
  Step 3c: Define the UI design (optional)
747
772
  → Call: brainstorm-styleguide
748
773
  → Output: project-context/StyleGuide.md
774
+ → Adds UI constraints only; it does not replace Step 3a, Step 3b, or Step 4
749
775
 
750
776
  Step 4: Set code standards
751
777
  → Call: brainstorm-rules
@@ -762,8 +788,12 @@ Step 7: Start coding
762
788
  → Call: developer
763
789
  → Per task: code → validate → [SELF-REVIEW]
764
790
  → Per phase: spec-compliance → code-review → next phase
765
- → If all tasks are complete but small technical changes, hardening, optimization, or maintenance remain: keep using `developer` (post-task / maintenance mode)
766
- → For small targeted fixes (color, layout, copy, minor logic): use `quick-dev` directly instead of going through a full phase
791
+ → If all tasks are complete but broader maintenance, hardening, optimization, or unclear follow-up work remain: keep using `developer` (post-task / maintenance mode)
792
+ → 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`
793
+
794
+ Step 8: Prepare a production release
795
+ → Call: spec-audit (final project consistency)
796
+ → Call: release-readiness (report-only operational gate)
767
797
  ```
768
798
 
769
799
  > Not sure where to start? Call `help`.
@@ -830,11 +860,12 @@ What happens:
830
860
  1. You describe the bug
831
861
  2. AI checks bug-log.md — has it happened before?
832
862
  3. AI checks all callers of the broken code
833
- 4. AI explains the root cause → wait for confirmation before fixing
863
+ 4. AI explains the root cause and proposed fix explicit approval is required before the first code change
834
864
  5. Apply the fix → spec-compliance + code-review
835
865
  6. You confirm the bug is resolved
836
866
  7. AI adds regression prevention
837
- 8. AI records it in bug-log.md only after your confirmation
867
+ 8. If prevention changed code/specs, AI validates it and reruns affected checks
868
+ 9. AI records it in bug-log.md ← only after your confirmation
838
869
  ```
839
870
 
840
871
  </details>
@@ -855,6 +886,8 @@ This is the supported cross-platform path for Windows, Linux, and macOS.
855
886
  npx macca-method@latest install
856
887
  ```
857
888
 
889
+ `@latest` always resolves from the newest version published on npm. Pushing changes to GitHub does not update the install command until a newer npm package is published.
890
+
858
891
  The CLI asks you to choose the AI tool, then prompts for the developer name, project name, and language preferences.
859
892
 
860
893
  To see the supported AI tool names before installing, run:
@@ -869,18 +902,7 @@ You can also do unattended installs, for example:
869
902
  npx macca-method@latest install --tool github-copilot --tool codex --yes
870
903
  ```
871
904
 
872
- If you only want to install the skills without the MACCA bootstrap files, use the shared `skills` CLI instead.
873
-
874
- **Alternative — `skills` CLI**
875
-
876
- ```bash
877
- npx skills add firdaus12p/MACCA-METHOD --list
878
- npx skills add firdaus12p/MACCA-METHOD --skill '*' -a github-copilot
879
- ```
880
-
881
- You can swap `github-copilot` with another supported agent such as `claude-code`, `cursor`, `codex`, `opencode`, `windsurf`, or `gemini-cli`.
882
-
883
- > `npx skills add` installs the skills only. It does **not** create `.agents/developer-config.json`, `.agents/macca-tools.txt`, `.agents/macca-managed-skills.txt`, or prompt for developer/project/language setup. Use the MACCA installer above if you need that bootstrap.
905
+ Use the MACCA installer for this release. The skills currently depend on the sibling `_shared` collection and `.agents/developer-config.json`; installing individual skill folders with a generic skill installer is not supported until self-contained build artifacts are published.
884
906
 
885
907
  ### Update to the Latest Version
886
908
 
@@ -890,10 +912,16 @@ npx macca-method@latest upgrade
890
912
 
891
913
  Run this whenever you want to refresh an existing MACCA setup to the newest published skills.
892
914
 
915
+ If the installed project was created from a newer unpublished/local build, `upgrade` now refuses an older npm package instead of silently downgrading the skill folders.
916
+
893
917
  The updater uses the MACCA files inside `.agents/` to know which installed skill folders should be refreshed.
894
918
 
919
+ > Upgrade from `1.1.0`: the updater fingerprints the official published payload before adopting an unmarked legacy skill. Byte-identical legacy copies are migrated automatically, including the previous OpenCode location and meeting-skill rename. Modified or unknown folders are never overwritten; back them up or move them, then rerun upgrade.
920
+
895
921
  > `project-context/` and `developer-config.json` are **not touched** during upgrade.
896
922
 
923
+ `2.0.x` is the major-release line for the skill naming, workflow contract, progressive disclosure, and release-check changes. The published `1.1.0` OpenCode layout is covered by an automated upgrade test. For reproducible CI/bootstrap, pin the desired version; for interactive upgrades, use `@latest` as shown above.
924
+
897
925
  ### How to Call a Skill
898
926
 
899
927
  ```
@@ -902,9 +930,21 @@ Use the skill developer
902
930
  Use the skill help
903
931
  ```
904
932
 
933
+ You normally do not need to remember skill names. OpenCode and Copilot advertise each skill's `name` and `description`, then the model selects a relevant skill. Requests that can mutate broad source-of-truth documents or start implementation require clear user intent; read-only routing and bounded workflows may activate automatically.
934
+
935
+ | Invocation policy | Skills |
936
+ |---|---|
937
+ | Explicit intent | `brainstorm-prd`, `brainstorm-architecture`, `brainstorm-schema`, `brainstorm-api`, `brainstorm-styleguide`, `brainstorm-rules`, `add-feature`, `spec-init` |
938
+ | Explicit implementation intent | `developer` — phrases such as "implement Phase 2" are sufficient; the skill name is not required |
939
+ | Model-auto router | `quick-dev` for bounded small implementation requests that still map clearly to the current project context |
940
+ | Both direct and automatic/orchestrated | `brainstorm-task`, `bug-fix`, `code-review`, `spec-audit`, `release-readiness`, `help`, `meet` |
941
+ | Primarily orchestrated | `spec-compliance`, called by execution/remediation workflows |
942
+
943
+ Agent Skills has no portable `user-invocable` or `disable-model-invocation` field. Copilot VS Code supports these as vendor extensions, but OpenCode ignores them. MACCA therefore keeps canonical frontmatter portable and enforces intent through descriptions, scope checks, and confirmation gates. Host-specific slash commands or permissions may be added as optional adapters, never as the only safety mechanism.
944
+
905
945
  ### Folder Structure
906
946
 
907
- The example below reflects `npx macca-method@latest install`. It creates shared MACCA files in `.agents/`, a `skills-lock.json` file at the project root, and one or more agent-specific skill folders based on the AI tools you selected.
947
+ The example below reflects `npx macca-method@latest install`. It creates shared MACCA files in `.agents/`, a namespaced MACCA lock, and one or more agent-specific skill folders based on the AI tools you selected.
908
948
 
909
949
  ```
910
950
  your-project/
@@ -912,16 +952,18 @@ your-project/
912
952
  │ ├── developer-config.json ← shared config across skills
913
953
  │ ├── macca-tools.txt ← tools selected during install
914
954
  │ ├── macca-managed-skills.txt ← internal manifest used by MACCA updates
915
- └── skills/ if Codex (OpenAI) is selected
955
+ ├── macca-lock.json MACCA package/version manifest
956
+ │ ├── macca-state.json ← hashes of installer-managed metadata
957
+ │ ├── macca-transaction.json ← exists only during/recovering an interrupted atomic update
958
+ │ └── skills/ ← if Codex or Kimi is selected
916
959
 
917
960
  ├── .github/skills/ ← if GitHub Copilot is selected
918
961
  ├── .cursor/skills/ ← if Cursor is selected
919
962
  ├── .claude/skills/ ← if Claude Code is selected
920
963
  ├── .windsurf/skills/ ← if Windsurf is selected
921
964
  ├── .gemini/skills/ ← if Gemini CLI is selected
922
- ├── .opencode/skill/ ← if OpenCode is selected
965
+ ├── .opencode/skills/ ← if OpenCode is selected
923
966
  ├── .kilo/skills/ ← if Kilo Code is selected
924
- ├── skills-lock.json ← skill manifest/version lock used by MACCA
925
967
 
926
968
  ├── project-context/
927
969
  │ ├── PRD.md
@@ -938,7 +980,7 @@ your-project/
938
980
  └── ... (your project code)
939
981
  ```
940
982
 
941
- Each installed skills folder contains `_shared` plus these MACCA skills: `add-feature`, `brainstorm-api`, `brainstorm-architecture`, `brainstorm-prd`, `brainstorm-rules`, `brainstorm-schema`, `brainstorm-styleguide`, `brainstorm-task`, `bug-fix`, `code-review`, `developer`, `help`, `rapat`, `spec-audit`, `spec-compliance`, and `spec-init`.
983
+ 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`.
942
984
 
943
985
  | AI Tool | Skills Folder |
944
986
  |---------|---------------|
@@ -947,10 +989,12 @@ Each installed skills folder contains `_shared` plus these MACCA skills: `add-fe
947
989
  | Claude Code | `.claude/skills/` |
948
990
  | Windsurf | `.windsurf/skills/` |
949
991
  | Gemini CLI | `.gemini/skills/` |
950
- | OpenCode | `.opencode/skill/` |
992
+ | OpenCode | `.opencode/skills/` |
951
993
  | Kilo Code | `.kilo/skills/` |
952
994
  | Codex (OpenAI) | `.agents/skills/` |
953
- | Kimi CLI | `~/.config/agents/skills/` (global) |
995
+ | Kimi CLI | `.agents/skills/` |
996
+
997
+ The installer validates path containment, refuses symlink escapes and unowned collisions, preserves `developer-config.json`, detects local drift through SHA-256 hashes, and journals install/upgrade transactions for recovery. CI runs the full package/install/upgrade suite on Ubuntu, Windows, and macOS with Node 18 and 22.
954
998
 
955
999
  ---
956
1000
 
@@ -981,7 +1025,8 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
981
1025
  },
982
1026
  "brainstormPreferences": {
983
1027
  "discussionMode": "one-by-one",
984
- "recommendations": true
1028
+ "recommendations": true,
1029
+ "discoveryDepth": "standard"
985
1030
  },
986
1031
  "codeReviewPreferences": {
987
1032
  "fixMode": "report-first"
@@ -992,7 +1037,7 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
992
1037
  "purpose": "Use when writing Laravel code",
993
1038
  "paths": {
994
1039
  "copilot": ".github/skills/laravel-best-practices/SKILL.md",
995
- "opencode": ".opencode/skill/laravel-best-practices/SKILL.md",
1040
+ "opencode": ".opencode/skills/laravel-best-practices/SKILL.md",
996
1041
  "codex": ".agents/skills/laravel-best-practices/SKILL.md"
997
1042
  }
998
1043
  }
@@ -1006,13 +1051,14 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
1006
1051
  | `name` | `developer` (Step 0) | Asked once |
1007
1052
  | `project` | `developer` (Step 0) | Asked once |
1008
1053
  | `languagePreferences` | installer / first skill | Communication language and document language |
1009
- | `developerPreferences.workMode` | `developer` (Step 1b) | `"direct"` or `"plan-first"` |
1010
- | `developerPreferences.scope` | `developer` (Step 0c) | `"frontend"`, `"backend"`, or `"fullstack"` |
1054
+ | `developerPreferences.workMode` | `developer` (`references/onboarding.md` § Work Mode) | `"direct"` or `"plan-first"` |
1055
+ | `developerPreferences.scope` | `developer` (`references/onboarding.md` § Developer Scope) | `"frontend"`, `"backend"`, or `"fullstack"` |
1011
1056
  | `brainstormPreferences.discussionMode` | brainstorm-* skills | `"one-by-one"`, `"three-at-a-time"`, or `"all-at-once"` |
1012
1057
  | `brainstormPreferences.recommendations` | brainstorm-* skills | `true` = AI gives suggested answers for each question |
1058
+ | `brainstormPreferences.discoveryDepth` | brainstorm-* skills | `"quick"`, `"standard"`, or `"critical"`; inferred when absent, user-overridable |
1013
1059
  | `codeReviewPreferences.fixMode` | user / config runtime | `"report-first"` or `"fix-then-report"` |
1014
- | `additionalSkills` | `developer` (Step 0b) | AI searches for the path in the workspace first, then asks only if it is not found |
1015
- | `availableMCPs` | `developer` (Step 0b) | Available MCPs; only listed MCPs are used |
1060
+ | `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 |
1061
+ | `availableMCPs` | `developer` (`references/onboarding.md` § Additional Skills and MCPs) | Available MCPs; only listed MCPs are used |
1016
1062
 
1017
1063
  **Rule:** all skills must **merge**, not overwrite the file. Unknown fields must be preserved.
1018
1064
 
@@ -1035,11 +1081,14 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
1035
1081
  | **Acceptance Criteria** | Concrete conditions for a task to be considered done |
1036
1082
  | **scope** | Developer work boundary: frontend-only, backend-only, or fullstack |
1037
1083
  | **fixMode** | `code-review` preference: report first or fix immediately |
1084
+ | **discoveryDepth** | Brainstorm detail level independent from question batching: quick/standard/critical |
1038
1085
  | **availableMCPs** | MCPs listed and available for use in this project |
1039
1086
  | **Confidence Level** | In `spec-init`: High/Medium/Low for claims derived from codebase analysis |
1040
1087
  | **Evidence Inputs** | In `spec-init`: files/sources used as evidence for a claim |
1041
1088
  | **Plan status** | Plan file lifecycle status: `review` → `in-progress` → `code-review` → `done` |
1042
1089
  | **Plan deviation** | Implementation drift from decisions in the plan (library, pattern, scope) — recorded by `code-review` if found |
1090
+ | **Definition of Done** | Phase-level evidence checklist derived from applicable specs and quality gates |
1091
+ | **Release readiness** | Report-only operational verdict for a specific candidate and target environment |
1043
1092
 
1044
1093
  **Traceability ID Scheme:**
1045
1094
 
@@ -1050,8 +1099,8 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
1050
1099
  | `NFR-01` | Non-functional requirement in `PRD.md` |
1051
1100
  | `AC-01` | Acceptance Criteria in `PRD.md` |
1052
1101
  | `US-01` | User story in `PRD.md` |
1053
- | `DATA-01` | Table or data entity in `schema.md` |
1054
- | `API-01` | Endpoint in `api.md` |
1102
+ | `DATA-01` | Datastore-native entity/aggregate/collection/stream in `schema.md` |
1103
+ | `API-01` | REST/GraphQL/RPC/event operation in `api.md` |
1055
1104
  | `RULE-01` | Rule in `rules.md` referenced across documents |
1056
1105
 
1057
1106
  </details>
@@ -1063,21 +1112,21 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
1063
1112
  <details>
1064
1113
  <summary>Do all spec documents need to be complete before coding?</summary>
1065
1114
 
1066
- They do not need to be perfect. The minimum required before `developer` can run is `PRD.md` and `architecture.md`. The more complete the specs are, the more accurately AI can work.
1115
+ 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.
1067
1116
 
1068
1117
  </details>
1069
1118
 
1070
1119
  <details>
1071
1120
  <summary>Can this be used for an existing project?</summary>
1072
1121
 
1073
- Yes. Use `spec-init` — AI reads the codebase and generates all spec documents. Every claim gets a confidence level (High/Medium/Low) and its evidence source.
1122
+ 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.
1074
1123
 
1075
1124
  </details>
1076
1125
 
1077
1126
  <details>
1078
1127
  <summary>Can AI make mistakes?</summary>
1079
1128
 
1080
- Yes. That is why `spec-compliance` and `code-review` run automatically after every phase. If something is wrong, AI fixes it before continuing.
1129
+ 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.
1081
1130
 
1082
1131
  </details>
1083
1132
 
@@ -1089,9 +1138,9 @@ After each task is complete, the developer writes a short reflection: 1 potentia
1089
1138
  </details>
1090
1139
 
1091
1140
  <details>
1092
- <summary>Why does developer write tests before implementation?</summary>
1141
+ <summary>When does developer write tests before implementation?</summary>
1093
1142
 
1094
- This is the TDD approach. By writing tests first, AI defines function behavior precisely before implementation preventing structural changes midway through. Test tasks always appear before implementation tasks in `Task.md`.
1143
+ 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.
1095
1144
 
1096
1145
  </details>
1097
1146
 
@@ -1105,7 +1154,7 @@ No. A bug is recorded only after **you confirm** that it is resolved. AI does no
1105
1154
  <details>
1106
1155
  <summary>Do I need to choose developer preferences in every session?</summary>
1107
1156
 
1108
- No. All preferences (scope, work mode, additional skills, MCPs, code review mode) are asked once and saved. Future sessions use them directly.
1157
+ 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.
1109
1158
 
1110
1159
  </details>
1111
1160