macca-method 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.agents/legacy-payloads.json +22 -0
  2. package/{skills-lock.json → .agents/macca-lock.json} +4 -2
  3. package/.agents/macca-managed-skills.txt +4 -2
  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 +39 -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 +15 -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 +10 -7
  18. package/.agents/skills/brainstorm-api/SKILL.md +49 -194
  19. package/.agents/skills/brainstorm-api/assets/api.template.md +147 -0
  20. package/.agents/skills/brainstorm-architecture/SKILL.md +22 -127
  21. package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +135 -0
  22. package/.agents/skills/brainstorm-prd/SKILL.md +19 -102
  23. package/.agents/skills/brainstorm-prd/assets/PRD.template.md +106 -0
  24. package/.agents/skills/brainstorm-rules/SKILL.md +17 -151
  25. package/.agents/skills/brainstorm-rules/assets/rules.template.md +127 -0
  26. package/.agents/skills/brainstorm-schema/SKILL.md +49 -115
  27. package/.agents/skills/brainstorm-schema/assets/schema.template.md +109 -0
  28. package/.agents/skills/brainstorm-styleguide/SKILL.md +19 -134
  29. package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +147 -0
  30. package/.agents/skills/brainstorm-task/SKILL.md +22 -107
  31. package/.agents/skills/brainstorm-task/assets/Task.template.md +113 -0
  32. package/.agents/skills/bug-fix/SKILL.md +45 -54
  33. package/.agents/skills/code-review/SKILL.md +26 -19
  34. package/.agents/skills/code-review/references/review-checklist.md +24 -26
  35. package/.agents/skills/developer/SKILL.md +25 -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 +12 -13
  40. package/.agents/skills/meet/SKILL.md +168 -0
  41. package/.agents/skills/quick-dev/SKILL.md +209 -0
  42. package/.agents/skills/release-readiness/SKILL.md +149 -0
  43. package/.agents/skills/spec-audit/SKILL.md +37 -22
  44. package/.agents/skills/spec-compliance/SKILL.md +41 -40
  45. package/.agents/skills/spec-init/SKILL.md +29 -14
  46. package/README.md +253 -170
  47. package/bin/macca-method.js +785 -91
  48. package/flow.webp +0 -0
  49. package/image-macca-method.webp +0 -0
  50. package/package.json +13 -6
  51. package/scripts/run-skill-validator.js +24 -0
  52. package/scripts/test-install.js +398 -0
  53. package/scripts/test-upgrade-legacy.js +107 -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,45 +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
- │ ↓ (after each phase) │
67
- │ spec-compliance → code-review │
68
- └──────────────────────────────────────────────────────┘
69
- ```
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`.
70
48
 
71
49
  All planning output documents are stored in `project-context/` in your project.
72
50
 
73
- > **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.
74
52
 
75
53
  ---
76
54
 
77
55
  ## 3. Planning Skills
78
56
 
79
- 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:
80
58
  1. **Pacing**: (A) one by one · (B) three at a time · (C) all at once
81
59
  2. **Recommendations**: should AI provide suggested answers for each question?
82
60
 
83
- 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.
84
68
 
85
69
  ---
86
70
 
@@ -98,19 +82,19 @@ These choices are saved and reused in future sessions.
98
82
  **Topics covered:**
99
83
  1. Project Goal — long-term vision and what makes the project unique
100
84
  2. Target Users — user personas, demographics, pain points
101
- 3. Problem Being Solved — real problems, not assumptions
85
+ 3. Problem Being Solved — real problem, current workaround, and its cost/limitations
102
86
  4. Main Features (MVP) — minimum features required in the first version
103
87
  5. Business Rules — rules that must never be broken (for example: stock cannot go negative)
104
- 6. Non-Goalswhat will *not* be built in this version
105
- 7. User Stories real workflows from the user perspective
106
- 8. Acceptance Criteriaconcrete conditions for a feature to be considered done
107
- 9. Non-Functional Requirementsperformance, security, accessibility
108
- 10. Platform & Constraints web, mobile, or both; technical limits
109
- 11. External Integrations payment gateway, email, OAuth, etc.
110
- 12. Monetizationbusiness model and revenue sources
111
- 13. Analytics & Logging what data must be tracked
112
- 14. Roadmaprelease priorities and phases after MVP
113
- 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
114
98
 
115
99
  **Important behavior:**
116
100
  - Use `Traceability ID` (`FEAT-*`, `BR-*`, `AC-*`, `NFR-*`, `US-*`) so each requirement can be traced to tasks and code
@@ -135,14 +119,14 @@ These choices are saved and reused in future sessions.
135
119
 
136
120
  **Topics covered:**
137
121
  1. System Context — systems and external services that interact
138
- 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
139
123
  3. Folder Structure — project file and directory organization
140
124
  4. Design Patterns — architecture patterns (MVC, Clean Architecture, Feature-based, Hexagonal)
141
125
  5. Authentication & Authorization — login method, JWT/session, RBAC
142
126
  6. API Style — REST, GraphQL, or tRPC
143
127
  7. State Management — Zustand, Redux, Context API, etc.
144
- 8. Deploymentdev/staging/prod environments, deployment strategy, cloud provider
145
- 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
146
130
  10. Architecture Decision Records — major decisions and their reasoning
147
131
 
148
132
  **Important behavior:**
@@ -167,15 +151,15 @@ These choices are saved and reused in future sessions.
167
151
  **Topic count:** 5 topics
168
152
 
169
153
  **Topics covered:**
170
- 1. Database Conventions — ID strategy (UUID/auto-increment/CUID), naming convention, audit fields, soft delete, timezone
171
- 2. Table Listall required tables/collections
172
- 3. Per-Table Detailscolumns, data types, constraints, and indexes
173
- 4. Relationships — foreign keys, one-to-many, many-to-many, cascade rules
174
- 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
175
159
 
176
160
  **Important behavior:**
177
- - Give each table a `Traceability ID` (`DATA-*`) that can be traced to requirements in `PRD.md`
178
- - 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)
179
163
 
180
164
  </details>
181
165
 
@@ -186,23 +170,23 @@ These choices are saved and reused in future sessions.
186
170
 
187
171
  **Persona:** @Fachri — Tech Lead
188
172
 
189
- **Called when:** After `schema.md` is complete.
173
+ **Called when:** After applicable architecture/data decisions, or after architecture for a frontend consumer contract.
190
174
 
191
- **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.
192
176
 
193
177
  **Output:** `project-context/api.md`
194
178
 
195
179
  **Topic count:** 5 topics
196
180
 
197
181
  **Topics covered:**
198
- 1. Base URL, Versioning & Auth — dev/prod base URL, versioning, authentication method, standard response format
199
- 2. Error Catalog — all possible error codes and their meanings
200
- 3. Core Endpoints main endpoints based on features in `PRD.md`
201
- 4. Pagination, Filter & Sorting standard patterns for list endpoints
202
- 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
203
187
 
204
188
  **Important behavior:**
205
- - Give each endpoint a `Traceability ID` (`API-*`)
189
+ - Give each operation a `Traceability ID` (`API-*`)
206
190
  - Agreed request and response formats are a **contract** verified by `spec-compliance` (SC-04) during coding
207
191
 
208
192
  </details>
@@ -220,7 +204,7 @@ These choices are saved and reused in future sessions.
220
204
 
221
205
  **Output:** `project-context/StyleGuide.md`
222
206
 
223
- **Topic count:** 7 topics
207
+ **Topic count:** 8 topics
224
208
 
225
209
  **Topics covered:**
226
210
  1. CSS Framework — Tailwind CSS (v3/v4), Bootstrap, CSS Modules, or custom
@@ -230,6 +214,7 @@ These choices are saved and reused in future sessions.
230
214
  5. Component Styles — button, card, form input, modal, table — styling and states
231
215
  6. Responsive & Breakpoints — sm/md/lg/xl breakpoints and layout changes
232
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
233
218
 
234
219
  **Important behavior:**
235
220
  - Agreed colors and spacing are a **contract** — `spec-compliance` (SC-06) flags arbitrary values outside this list
@@ -260,6 +245,8 @@ These choices are saved and reused in future sessions.
260
245
  6. Git Workflow — commit message convention, branching strategy
261
246
  7. `[FORBIDDEN]` Section — list of technical prohibitions that AI **must scan** before writing code
262
247
 
248
+ Conditional rules are generated only when applicable: structured logging, migrations, feature flags, generated code, and secret rotation.
249
+
263
250
  **Important behavior:**
264
251
  - The `[FORBIDDEN]` section is the first thing `developer` reads before coding
265
252
  - If the `[FORBIDDEN]` section is missing, `spec-compliance` records it as a MINOR finding
@@ -279,7 +266,7 @@ These choices are saved and reused in future sessions.
279
266
 
280
267
  **Output:** `project-context/Task.md`
281
268
 
282
- **Clarification topic count:** 4 topics
269
+ **User clarification count:** 3 topics plus one automatic document-completeness check
283
270
 
284
271
  **Clarification topics:**
285
272
  1. Phase Priority Order — implementation order, which features must finish first
@@ -294,8 +281,9 @@ These choices are saved and reused in future sessions.
294
281
  **Important behavior:**
295
282
  - Tasks are **not created from guesses** — all tasks are derived from the spec documents
296
283
  - Every task has concrete, verifiable `Acceptance Criteria`
297
- - 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
298
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`
299
287
 
300
288
  </details>
301
289
 
@@ -322,7 +310,7 @@ Read `.agents/developer-config.json`. If `name` or `project` is missing, AI asks
322
310
  *Additional Skills:*
323
311
  - If `additionalSkills` already exists in config → use it directly
324
312
  - If not → AI asks once: *"Are there any additional skills for this project?"*
325
- - 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.
326
314
  - When working on a relevant task, AI **must read** `SKILL.md` from that skill before writing code.
327
315
 
328
316
  *MCP (Model Context Protocol):*
@@ -374,7 +362,7 @@ For each task:
374
362
  1. Understand the task and acceptance criteria
375
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)
376
364
  3. Write an I/O contract for non-trivial functions
377
- 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
378
366
  5. After finishing, write `[SELF-REVIEW]`:
379
367
  ```
380
368
  1. Security risk: [1 potential issue — or "none identified"]
@@ -383,18 +371,94 @@ For each task:
383
371
  ```
384
372
  6. Run validation, update `Task.md` (`[ ]` → `[x]`)
385
373
 
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
+
386
379
  **Step 4 — After all tasks in the phase are complete**
387
380
  1. Show a phase summary
388
- 2. If there is a plan file for this phase update plan status: `in-progress` → `code-review`
389
- 3. Run `spec-compliance` automatically
390
- 4. If clean, run `code-review` automatically
391
- 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
392
386
 
393
387
  **MCPs used (if listed in `availableMCPs`):**
394
- - `context7` — fetch installed-version library documentation before coding
395
- - `sequential-thinking` — for complex problems/architecture
396
- - `grep-app` search for real implementation examples in public repos
397
- - `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
391
+
392
+ </details>
393
+
394
+ ---
395
+
396
+ <details>
397
+ <summary><strong>quick-dev</strong> — Execute a single focused task directly, without phase ceremony</summary>
398
+
399
+ **Persona:** @Firdaus — Expert Developer
400
+
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.
402
+
403
+ **Not for:** new features, database migrations, new API endpoints, or changes touching more than 5 files — use `developer` instead.
404
+
405
+ **Full workflow:**
406
+
407
+ **Step 0 — Identity**
408
+ Same as `developer`. Reads `.agents/developer-config.json`, greets by name and project.
409
+
410
+ **Step 0b & 0c — Additional Skills, MCP, Scope**
411
+ Same setup policy as `developer`. Reads from config if already set and asks only for missing required setup.
412
+
413
+ **Step 1 — Pre-flight summary** *(unique to quick-dev)*
414
+
415
+ Before any code is written, AI shows:
416
+ ```
417
+ Quick Dev — Pre-flight
418
+ ───────────────────────
419
+ Task : [concise interpretation]
420
+ Specs : [specs to read]
421
+ Files :
422
+ ~ [path/file] (modify)
423
+ Assumptions (will proceed unless corrected):
424
+ [~] [assumption]
425
+ Need confirmation before proceeding: ← omit if none
426
+ [?] [blocking question]
427
+ ```
428
+ - Non-blocking ambiguities go under "Assumptions", not as questions
429
+ - Missing specs (e.g. no `StyleGuide.md` but task touches UI) are flagged here
430
+ - Waits only when a blocking ambiguity exists; otherwise proceeds in the same turn with listed assumptions
431
+
432
+ **Step 2 — Read relevant specs**
433
+ Same table as `developer` — reads only what the task needs.
434
+
435
+ **Step 3 — Execute**
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.
437
+
438
+ **Step 4 — Update Task.md**
439
+
440
+ | Condition | Action |
441
+ |---|---|
442
+ | Related item found, `[ ]` | Mark `[x]`, add brief note |
443
+ | Related item found, `[x]` | Add sub-note about the refinement |
444
+ | No related item | Append to active phase as `[x]` with tag `(quick-fix: YYYY-MM-DD)` |
445
+
446
+ **Step 5 — Quality gates**
447
+ Runs full `spec-compliance` then `code-review`. Both follow `fixMode` from config.
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
+
451
+ **Step 6 — Final report**
452
+ ```
453
+ Quick Dev — Done
454
+ ─────────────────
455
+ Task : [description]
456
+ Files : [changed files]
457
+ Validated : [check and result]
458
+ Assumptions used: [~] ...
459
+ Remaining ambiguities: ← omit if none
460
+ [!] ...
461
+ ```
398
462
 
399
463
  </details>
400
464
 
@@ -411,13 +475,13 @@ For each task:
411
475
 
412
476
  | ID | Aspect | Documents Read |
413
477
  |----|-------|---------------------|
414
- | SC-01 | PRD Compliance | `PRD.md` — features, business rules, acceptance criteria, non-goals |
415
- | SC-02 | Architecture Compliance | `architecture.md` — tech stack, folder structure, design patterns, auth method |
416
- | SC-03 | Schema Compliance | `schema.md` — exact table/column names, relationships, soft delete, audit fields, PII |
417
- | SC-04 | API Compliance | `api.md` endpoint path, HTTP method, request/response format, error codes |
418
- | SC-05 | Rules Compliance | `rules.md` — `[FORBIDDEN]` section, naming convention, TypeScript rules |
419
- | SC-06 | StyleGuide Compliance | `StyleGuide.md` CSS framework, color tokens, spacing system |
420
- | 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 |
421
485
  | SC-08 | Scope Compliance | `developer-config.json` — frontend/backend scope respected, no files outside scope |
422
486
 
423
487
  **Severity:** `💥 BLOCKER` → fix now, re-run | `🔴 MAJOR` → fix before the next phase | `⚠️ MINOR` → discuss | `✅ PASS` → continue to `code-review`
@@ -447,7 +511,7 @@ If this field is missing, the default is `report-first`. To change it, the user
447
511
  | Tier | Item |
448
512
  |------|------|
449
513
  | 💥 BLOCKER | CR-01 Wrong imports · CR-02 Runtime errors · CR-03 Null/undefined · CR-04 SQL injection · CR-05 Deprecated methods |
450
- | 🔴 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` |
451
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 |
452
516
  | ℹ️ INFO | CR-25 Missing comments · CR-26 Jargon · CR-27 Comment quality |
453
517
 
@@ -578,7 +642,7 @@ Recommended next steps: ...
578
642
  **Two modes:**
579
643
 
580
644
  **Project Mode** — audit `project-context/`
581
- 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?
582
646
 
583
647
  **Framework Mode** — audit MACCA itself
584
648
  Checks consistency *between* skill instructions: are README, skill docs, and workflow aligned, or do they conflict?
@@ -606,25 +670,26 @@ Mode B — Guided Generate: one document → you review → confirm → continue
606
670
 
607
671
  **Generation order:** `architecture.md` → `rules.md` → `schema.md` → `api.md` → `StyleGuide.md` → `PRD.md`
608
672
 
609
- `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.
610
674
 
611
675
  **Each generated document includes:**
612
676
  - **Evidence Inputs** — files/sources used as the basis for each claim
613
677
  - **Confidence Level** per claim: *High* (seen directly in code) / *Medium* (strong inference) / *Low* (guess, needs verification)
614
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
615
680
 
616
681
  </details>
617
682
 
618
683
  ---
619
684
 
620
685
  <details>
621
- <summary><strong>rapat</strong> — Multi-persona team discussion</summary>
686
+ <summary><strong>meet</strong> — Single-round multi-persona team meeting</summary>
622
687
 
623
688
  **Persona:** @Galbi (facilitator)
624
689
 
625
690
  **Called when:** Any time you need perspectives from several specialties at once.
626
691
 
627
- **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.
628
693
 
629
694
  **Available personas:**
630
695
  - `@Galbi` — Project Manager: scope, priorities, business impact
@@ -637,14 +702,40 @@ Mode B — Guided Generate: one document → you review → confirm → continue
637
702
 
638
703
  ---
639
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
+
640
731
  ## 6. The MACCA AI Team
641
732
 
642
733
  | Persona | Role | Skills |
643
734
  |---------|------|--------|
644
- | **@Galbi** | Project Manager | `brainstorm-prd`, `brainstorm-task`, `add-feature`, `help`, `rapat` |
645
- | **@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` |
646
737
  | **@Akram** | UI/UX Designer | `brainstorm-styleguide` |
647
- | **@Firdaus** | Expert Developer | `developer` |
738
+ | **@Firdaus** | Expert Developer | `developer`, `quick-dev` |
648
739
  | **@Ikhsan** | Debugger | `bug-fix` |
649
740
 
650
741
  > **Persona Rule:** Do not swap the persona assigned to a skill. Its instructions, tone, and responsibilities are designed for that role.
@@ -653,6 +744,10 @@ Mode B — Guided Generate: one document → you review → confirm → continue
653
744
 
654
745
  ## 7. Workflow
655
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
+
656
751
  <details>
657
752
  <summary><strong>New Project</strong> — Start from scratch</summary>
658
753
 
@@ -676,6 +771,7 @@ Step 3b: Define the API (if any)
676
771
  Step 3c: Define the UI design (optional)
677
772
  → Call: brainstorm-styleguide
678
773
  → Output: project-context/StyleGuide.md
774
+ → Adds UI constraints only; it does not replace Step 3a, Step 3b, or Step 4
679
775
 
680
776
  Step 4: Set code standards
681
777
  → Call: brainstorm-rules
@@ -692,7 +788,12 @@ Step 7: Start coding
692
788
  → Call: developer
693
789
  → Per task: code → validate → [SELF-REVIEW]
694
790
  → Per phase: spec-compliance → code-review → next phase
695
- → If all tasks are complete but small technical changes, hardening, optimization, or maintenance remain: keep using `developer` (post-task / maintenance mode)
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)
696
797
  ```
697
798
 
698
799
  > Not sure where to start? Call `help`.
@@ -759,11 +860,12 @@ What happens:
759
860
  1. You describe the bug
760
861
  2. AI checks bug-log.md — has it happened before?
761
862
  3. AI checks all callers of the broken code
762
- 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
763
864
  5. Apply the fix → spec-compliance + code-review
764
865
  6. You confirm the bug is resolved
765
866
  7. AI adds regression prevention
766
- 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
767
869
  ```
768
870
 
769
871
  </details>
@@ -772,89 +874,54 @@ What happens:
772
874
 
773
875
  ## 8. Installation & Usage
774
876
 
775
- **Prerequisite:** GitHub Copilot enabled in VS Code (or another supported AI tool).
877
+ **Prerequisites:** Node.js 18+ with `npx`, plus GitHub Copilot in VS Code (or another supported AI tool).
776
878
 
777
879
  ### Installation
778
880
 
779
- **Option A — `macca-method` CLI**
881
+ Use `macca-method` if you want the full bootstrap: skill files, interactive AI-tool selection, `developer-config.json`, and language preferences.
780
882
 
781
- Use this if you want the full bootstrap: skill files, interactive AI-tool selection, `developer-config.json`, and language preferences.
883
+ This is the supported cross-platform path for Windows, Linux, and macOS.
782
884
 
783
885
  ```bash
784
- npx macca-method install
886
+ npx macca-method@latest install
785
887
  ```
786
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
+
787
891
  The CLI asks you to choose the AI tool, then prompts for the developer name, project name, and language preferences.
788
892
 
789
- For local testing from a repository clone before the npm package is published, run:
893
+ To see the supported AI tool names before installing, run:
790
894
 
791
895
  ```bash
792
- node bin/macca-method.js install
896
+ npx macca-method@latest --list-tools
793
897
  ```
794
898
 
795
899
  You can also do unattended installs, for example:
796
900
 
797
901
  ```bash
798
- npx macca-method install --tool github-copilot --tool codex --yes
799
- ```
800
-
801
- **Option B — bundled MACCA installer**
802
-
803
- Use this if you prefer a curl/PowerShell bootstrap without going through npm.
804
-
805
- **Linux / Mac**
806
- ```bash
807
- curl -fsSL https://raw.githubusercontent.com/firdaus12p/MACCA-METHOD/main/install.sh | bash
902
+ npx macca-method@latest install --tool github-copilot --tool codex --yes
808
903
  ```
809
904
 
810
- **Windows (PowerShell)**
811
- ```powershell
812
- irm https://raw.githubusercontent.com/firdaus12p/MACCA-METHOD/main/install.ps1 | iex
813
- ```
814
-
815
- The bundled installer shows an interactive selector to choose the AI tool, then asks for the developer name, project name, and language preferences.
816
-
817
- **Option C — `skills` CLI**
818
-
819
- Use this if you only want to install the MACCA skills through the shared Agent Skills ecosystem.
820
-
821
- ```bash
822
- npx skills add firdaus12p/MACCA-METHOD --list
823
- npx skills add firdaus12p/MACCA-METHOD --skill '*' -a github-copilot
824
- ```
825
-
826
- You can swap `github-copilot` with another supported agent such as `claude-code`, `cursor`, `codex`, `opencode`, `windsurf`, or `gemini-cli`.
827
-
828
- > `npx skills add` installs the skills only. It does **not** create `.agents/developer-config.json`, `.agents/macca-tools.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.
829
906
 
830
907
  ### Update to the Latest Version
831
908
 
832
- **Preferred**
833
-
834
909
  ```bash
835
- npx macca-method upgrade
910
+ npx macca-method@latest upgrade
836
911
  ```
837
912
 
838
- For local testing from a repository clone before the npm package is published, run:
913
+ Run this whenever you want to refresh an existing MACCA setup to the newest published skills.
839
914
 
840
- ```bash
841
- node bin/macca-method.js upgrade
842
- ```
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.
843
916
 
844
- **Fallback bundled upgrade script**
917
+ The updater uses the MACCA files inside `.agents/` to know which installed skill folders should be refreshed.
845
918
 
846
- **Linux / Mac**
847
- ```bash
848
- curl -fsSL https://raw.githubusercontent.com/firdaus12p/MACCA-METHOD/main/upgrade.sh | bash
849
- ```
850
-
851
- **Windows (PowerShell)**
852
- ```powershell
853
- irm https://raw.githubusercontent.com/firdaus12p/MACCA-METHOD/main/upgrade.ps1 | iex
854
- ```
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.
855
920
 
856
921
  > `project-context/` and `developer-config.json` are **not touched** during upgrade.
857
922
 
923
+ `2.0.0` is a major release because skill naming, workflow contracts, progressive disclosure, and release checks changed. 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
+
858
925
  ### How to Call a Skill
859
926
 
860
927
  ```
@@ -863,33 +930,40 @@ Use the skill developer
863
930
  Use the skill help
864
931
  ```
865
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
+
866
945
  ### Folder Structure
867
946
 
868
- The example below reflects `npx macca-method install` and the bundled MACCA installer. If you use `npx skills add`, the destination folders follow the `skills` CLI defaults for the selected agent.
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.
869
948
 
870
949
  ```
871
950
  your-project/
872
951
  ├── .agents/
873
952
  │ ├── developer-config.json ← shared config across skills
874
- └── macca-tools.txt ← tools selected during install
953
+ ├── macca-tools.txt ← tools selected during install
954
+ │ ├── macca-managed-skills.txt ← internal manifest used by MACCA updates
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
875
959
 
876
960
  ├── .github/skills/ ← if GitHub Copilot is selected
877
- ├── add-feature/
878
- ├── brainstorm-api/
879
- ├── brainstorm-architecture/
880
- ├── brainstorm-prd/
881
- ├── brainstorm-rules/
882
- ├── brainstorm-schema/
883
- │ ├── brainstorm-styleguide/
884
- │ ├── brainstorm-task/
885
- │ ├── bug-fix/
886
- │ ├── code-review/
887
- │ ├── developer/
888
- │ ├── help/
889
- │ ├── rapat/
890
- │ ├── spec-audit/
891
- │ ├── spec-compliance/
892
- │ └── spec-init/
961
+ ├── .cursor/skills/ ← if Cursor is selected
962
+ ├── .claude/skills/ ← if Claude Code is selected
963
+ ├── .windsurf/skills/ ← if Windsurf is selected
964
+ ├── .gemini/skills/ ← if Gemini CLI is selected
965
+ ├── .opencode/skills/ ← if OpenCode is selected
966
+ ├── .kilo/skills/ ← if Kilo Code is selected
893
967
 
894
968
  ├── project-context/
895
969
  │ ├── PRD.md
@@ -906,6 +980,8 @@ your-project/
906
980
  └── ... (your project code)
907
981
  ```
908
982
 
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`.
984
+
909
985
  | AI Tool | Skills Folder |
910
986
  |---------|---------------|
911
987
  | GitHub Copilot | `.github/skills/` |
@@ -913,10 +989,12 @@ your-project/
913
989
  | Claude Code | `.claude/skills/` |
914
990
  | Windsurf | `.windsurf/skills/` |
915
991
  | Gemini CLI | `.gemini/skills/` |
916
- | OpenCode | `.opencode/skill/` |
992
+ | OpenCode | `.opencode/skills/` |
917
993
  | Kilo Code | `.kilo/skills/` |
918
994
  | Codex (OpenAI) | `.agents/skills/` |
919
- | 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.
920
998
 
921
999
  ---
922
1000
 
@@ -947,7 +1025,8 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
947
1025
  },
948
1026
  "brainstormPreferences": {
949
1027
  "discussionMode": "one-by-one",
950
- "recommendations": true
1028
+ "recommendations": true,
1029
+ "discoveryDepth": "standard"
951
1030
  },
952
1031
  "codeReviewPreferences": {
953
1032
  "fixMode": "report-first"
@@ -958,7 +1037,7 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
958
1037
  "purpose": "Use when writing Laravel code",
959
1038
  "paths": {
960
1039
  "copilot": ".github/skills/laravel-best-practices/SKILL.md",
961
- "opencode": ".opencode/skill/laravel-best-practices/SKILL.md",
1040
+ "opencode": ".opencode/skills/laravel-best-practices/SKILL.md",
962
1041
  "codex": ".agents/skills/laravel-best-practices/SKILL.md"
963
1042
  }
964
1043
  }
@@ -976,6 +1055,7 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
976
1055
  | `developerPreferences.scope` | `developer` (Step 0c) | `"frontend"`, `"backend"`, or `"fullstack"` |
977
1056
  | `brainstormPreferences.discussionMode` | brainstorm-* skills | `"one-by-one"`, `"three-at-a-time"`, or `"all-at-once"` |
978
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 |
979
1059
  | `codeReviewPreferences.fixMode` | user / config runtime | `"report-first"` or `"fix-then-report"` |
980
1060
  | `additionalSkills` | `developer` (Step 0b) | AI searches for the path in the workspace first, then asks only if it is not found |
981
1061
  | `availableMCPs` | `developer` (Step 0b) | Available MCPs; only listed MCPs are used |
@@ -1001,11 +1081,14 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
1001
1081
  | **Acceptance Criteria** | Concrete conditions for a task to be considered done |
1002
1082
  | **scope** | Developer work boundary: frontend-only, backend-only, or fullstack |
1003
1083
  | **fixMode** | `code-review` preference: report first or fix immediately |
1084
+ | **discoveryDepth** | Brainstorm detail level independent from question batching: quick/standard/critical |
1004
1085
  | **availableMCPs** | MCPs listed and available for use in this project |
1005
1086
  | **Confidence Level** | In `spec-init`: High/Medium/Low for claims derived from codebase analysis |
1006
1087
  | **Evidence Inputs** | In `spec-init`: files/sources used as evidence for a claim |
1007
1088
  | **Plan status** | Plan file lifecycle status: `review` → `in-progress` → `code-review` → `done` |
1008
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 |
1009
1092
 
1010
1093
  **Traceability ID Scheme:**
1011
1094
 
@@ -1016,8 +1099,8 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
1016
1099
  | `NFR-01` | Non-functional requirement in `PRD.md` |
1017
1100
  | `AC-01` | Acceptance Criteria in `PRD.md` |
1018
1101
  | `US-01` | User story in `PRD.md` |
1019
- | `DATA-01` | Table or data entity in `schema.md` |
1020
- | `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` |
1021
1104
  | `RULE-01` | Rule in `rules.md` referenced across documents |
1022
1105
 
1023
1106
  </details>
@@ -1029,21 +1112,21 @@ The `.agents/developer-config.json` file is shared config across skills. All ski
1029
1112
  <details>
1030
1113
  <summary>Do all spec documents need to be complete before coding?</summary>
1031
1114
 
1032
- 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.
1033
1116
 
1034
1117
  </details>
1035
1118
 
1036
1119
  <details>
1037
1120
  <summary>Can this be used for an existing project?</summary>
1038
1121
 
1039
- 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.
1040
1123
 
1041
1124
  </details>
1042
1125
 
1043
1126
  <details>
1044
1127
  <summary>Can AI make mistakes?</summary>
1045
1128
 
1046
- 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.
1047
1130
 
1048
1131
  </details>
1049
1132
 
@@ -1055,9 +1138,9 @@ After each task is complete, the developer writes a short reflection: 1 potentia
1055
1138
  </details>
1056
1139
 
1057
1140
  <details>
1058
- <summary>Why does developer write tests before implementation?</summary>
1141
+ <summary>When does developer write tests before implementation?</summary>
1059
1142
 
1060
- 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.
1061
1144
 
1062
1145
  </details>
1063
1146
 
@@ -1071,7 +1154,7 @@ No. A bug is recorded only after **you confirm** that it is resolved. AI does no
1071
1154
  <details>
1072
1155
  <summary>Do I need to choose developer preferences in every session?</summary>
1073
1156
 
1074
- 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.
1075
1158
 
1076
1159
  </details>
1077
1160