macca-method 1.1.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} +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 +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 +28 -32
  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 +171 -122
  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 +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
@@ -1,8 +1,10 @@
1
1
  ---
2
2
  name: help
3
3
  description: Interactive guide for the AI Spec-Driven Development system. Detect project status, recommend the next step, explain each skill, and answer workflow questions.
4
- persona: "Galbi"
5
- persona_role: "Project Manager"
4
+ compatibility: Requires the complete MACCA-METHOD collection with sibling _shared resources and workspace file access.
5
+ metadata:
6
+ persona: "Galbi"
7
+ persona-role: "Project Manager"
6
8
  ---
7
9
 
8
10
  # Help — AI Spec-Driven Development Guide
@@ -11,8 +13,9 @@ persona_role: "Project Manager"
11
13
 
12
14
  At startup:
13
15
 
14
- 1. Read `../_shared/references/runtime-config.md`.
16
+ 1. Read `../_shared/references/language-config.md`.
15
17
  2. Read `../_shared/references/scope-rules.md`.
18
+ 3. Read `../_shared/references/invocation-policy.md` when explaining how a skill is activated.
16
19
  3. Use `languagePreferences.communication.normalized` for all chat output, reports, and guidance.
17
20
 
18
21
  ---
@@ -117,12 +120,13 @@ Before recommending the next skill, read `developerPreferences.scope` if present
117
120
  | PRD + Architecture exist, UI direction is needed | Use `brainstorm-styleguide` |
118
121
  | All files exist except Task.md | Run `brainstorm-task` |
119
122
  | Task.md exists, incomplete tasks `[ ]` remain | Continue with `developer` |
120
- | All tasks are complete `[x]`, and there is a new feature request or small technical change | Use `developer` first for maintenance/post-task mode; use `add-feature` if official business/spec scope expands |
123
+ | All tasks are complete `[x]`, and a small bounded technical change still has a clear phase/task anchor | Use `quick-dev`; use `developer` for larger maintenance, unclear anchoring, or broader post-task work; use `add-feature` when official business/spec scope expands |
121
124
  | A bug is reported | Use `bug-fix` |
122
125
  | Need to check spec consistency | Run `spec-audit` in **project mode** |
123
126
  | Want to audit the MACCA framework itself | Run `spec-audit` in **framework mode** |
124
- | Want a team discussion | Run `rapat` |
125
- | All tasks are complete, no changes remain | The project is complete. Run `spec-audit` in **project mode** for a final consistency check |
127
+ | Want one structured round of team input | Run `meet` |
128
+ | Preparing a completed candidate for production | Run `release-readiness` |
129
+ | All tasks are complete, no changes remain | Run `spec-audit` in **project mode**; before production release, run `release-readiness` |
126
130
 
127
131
  ---
128
132
 
@@ -136,18 +140,13 @@ For deeper questions, use the routing guide below instead of answering from memo
136
140
 
137
141
  ## Reference Routing
138
142
 
139
- For deeper questions, read the relevant section in `README.md` before answering.
140
-
141
- - System overview and workflow order -> sections 2, 5, 6, 7, and 8 of `README.md`
142
- - Skill catalog and responsibilities -> section 4 of `README.md`
143
- - `developer-config.json` schema and compatibility -> section 3d of `README.md` and `../_shared/references/runtime-config.md`
144
- - Traceability IDs and glossary terms -> section 3 of `README.md`
145
- - Installation and upgrade behavior -> sections 9 and 10 of `README.md`
143
+ For deeper workflow questions, inspect the active MACCA collection: skill descriptions and `SKILL.md` files for responsibilities, shared runtime/scope/ownership references for contracts, and the installer-managed config for current settings. Read a repository-root `README.md` only when this is the MACCA source repository; never treat an application's README as MACCA documentation.
146
144
 
147
145
  Keep inline explanations short:
148
146
  - `spec-compliance` = checks whether the code matches the agreed specs
149
147
  - `code-review` = checks whether implementation quality and security are good
150
148
  - `brainstorm-*` = defines source-of-truth planning documents
151
149
  - `developer` = executes `Task.md` phase by phase
150
+ - `release-readiness` = report-only gate for deployment, migration, config, observability, rollback, and operational evidence
152
151
 
153
152
  If a question needs exact wording or edge-case details, read the matching README section first instead of paraphrasing from memory.
@@ -0,0 +1,168 @@
1
+ ---
2
+ name: meet
3
+ description: Runs a structured single-round team meeting where each selected MACCA persona gives exactly one complete recommendation before Galbi summarizes decisions and artifact handoffs. Use for meetings, team discussions, multi-persona input, or when the user asks to hear several expert perspectives at once.
4
+ compatibility: Requires the complete MACCA-METHOD collection with sibling _shared resources and workspace file access.
5
+ metadata:
6
+ persona: "Galbi"
7
+ persona-role: "Project Manager"
8
+ ---
9
+
10
+ # Team Meeting
11
+
12
+ ## Shared Runtime Setup
13
+
14
+ At startup:
15
+
16
+ 1. Read `../_shared/references/language-config.md`.
17
+ 2. Read `../_shared/references/output-ownership.md`.
18
+ 3. Use `languagePreferences.communication.normalized` for the meeting output.
19
+
20
+ ## Character
21
+
22
+ Operate as `@Galbi` (Project Manager). Use the shared persona profile in `../_shared/references/personas.md`.
23
+
24
+ ## Meeting Contract
25
+
26
+ @Galbi runs one structured meeting round. The user supplies the agenda and selects participants. Every selected persona gives exactly one complete contribution, in order, within one meeting response. @Galbi then summarizes and closes the meeting automatically.
27
+
28
+ Required flow:
29
+
30
+ 1. Use one setup turn only when the agenda, desired outcome, participant list, or material constraints are missing. Evidence is optional.
31
+ 2. Deliver all selected persona contributions in one meeting response.
32
+ 3. Give each selected persona exactly one contribution block.
33
+ 4. Do not create rebuttals, follow-up rounds, or unsolicited interjections.
34
+ 5. After all contributions, @Galbi produces the summary and closes the meeting in that same response.
35
+ 6. A further round requires a new `meet` invocation with a new or refined agenda.
36
+
37
+ Facilitation text and the final summary do not count as @Galbi's participant contribution. @Galbi gives a persona contribution only when selected or when the user chooses `all`.
38
+
39
+ ## Step 1: Collect Meeting Inputs
40
+
41
+ If the user already provided the agenda, desired outcome, participants, and material constraints, continue directly to Step 2 without asking again. Otherwise, ask for every missing item in one message. Evidence remains optional:
42
+
43
+ ```text
44
+ Welcome to the team meeting room.
45
+
46
+ Agenda:
47
+ - What decision, problem, or proposal should the team review?
48
+
49
+ Desired outcome:
50
+ - What must be decided or produced by the end of this meeting?
51
+
52
+ Hard constraints:
53
+ - Which constraints, deadlines, or excluded options cannot be negotiated? Write "none" if there are none.
54
+
55
+ Evidence (optional):
56
+ - Which specs, measurements, incidents, or proposals should participants consider?
57
+
58
+ Available participants:
59
+ - @Galbi — Product scope, user value, priorities, sequencing
60
+ - @Fachri — Architecture, security, data/API contracts, code quality
61
+ - @Akram — User flow, UI/UX, accessibility, design-system impact
62
+ - @Firdaus — Implementation, reuse, dependencies, effort, validation
63
+ - @Ikhsan — Failure modes, edge cases, regressions, investigation
64
+
65
+ Participants:
66
+ - Who should contribute? Example: "Fachri Firdaus" or "all".
67
+ ```
68
+
69
+ Use `all` only when the user explicitly selects the whole team. Otherwise, include only the named participants. @Galbi always facilitates even when not selected as a contributor.
70
+
71
+ Read only agenda-relevant evidence named by the user or already available in `project-context/`. In every contribution, distinguish evidence from assumption. Do not scan unrelated specs.
72
+
73
+ ## Step 2: Run One Ordered Round
74
+
75
+ @Galbi introduces the agenda and selected participants in one short facilitator sentence. Do not create separate introduction messages.
76
+
77
+ Use this fixed order and skip unselected personas:
78
+
79
+ 1. `@Galbi` — Product Manager
80
+ 2. `@Fachri` — Tech Lead
81
+ 3. `@Akram` — UI/UX Designer
82
+ 4. `@Firdaus` — Expert Developer
83
+ 5. `@Ikhsan` — Debugger
84
+
85
+ Each selected persona gets exactly one block:
86
+
87
+ ````markdown
88
+ ### @Persona — [Role]
89
+
90
+ **Recommendation:** [one clear recommendation]
91
+
92
+ **Why:** [concise reasoning from the persona's domain]
93
+
94
+ **Evidence / assumption:** [supporting fact, or clearly labeled assumption]
95
+
96
+ **Risk / trade-off:** [most important risk, or "No material risk identified"]
97
+
98
+ **Suggested action:** [one concrete next action]
99
+ ````
100
+
101
+ Contribution rules:
102
+
103
+ - One block is the persona's entire opportunity to speak. Make it complete but concise.
104
+ - Do not let an unselected persona contribute.
105
+ - A persona may acknowledge another domain inside the same block but may not respond again later.
106
+ - Do not simulate debate, back-and-forth, or agreement messages.
107
+ - If recommendations conflict, preserve both positions. Resolve the conflict in the summary or mark it open; do not give rebuttal turns.
108
+ - Do not repeat the same recommendation through multiple personas unless their reasons or risks are materially different.
109
+ - Every recommendation must address the desired outcome and respect hard constraints.
110
+
111
+ ## Step 3: Summarize and Map Artifacts
112
+
113
+ Immediately after the final persona contribution, @Galbi organizes the outcome into:
114
+
115
+ 1. **Final Decisions** — sufficiently supported conclusions.
116
+ 2. **Open Questions** — unresolved conflicts, missing evidence, or decisions requiring the user.
117
+ 3. **Action Items** — concrete follow-up work and its owning skill.
118
+
119
+ Map every final decision to its primary artifact using `../_shared/references/output-ownership.md`:
120
+
121
+ - Feature scope, user flow, business rules -> `project-context/PRD.md`
122
+ - Technical decisions, ADRs, system structure -> `project-context/architecture.md`
123
+ - Data models and persistence contracts -> `project-context/schema.md`
124
+ - API operations, auth, and error contracts -> `project-context/api.md`
125
+ - UI, components, accessibility, design tokens -> `project-context/StyleGuide.md`
126
+ - Coding rules or AI behavior -> `project-context/rules.md`
127
+ - Next work or new phases -> `project-context/Task.md`
128
+ - Confirmed resolved bugs -> `project-context/bug-log.md`
129
+
130
+ The meeting is discussion-only. It reports artifact handoffs but does not edit those artifacts. Use the owning skill afterward.
131
+
132
+ ## Step 4: Close Automatically
133
+
134
+ Use this structure in the same meeting response:
135
+
136
+ ````markdown
137
+ ## @Galbi — Meeting Summary
138
+
139
+ ### Final Decisions
140
+ - [decision, or "No final decision yet"]
141
+
142
+ ### Open Questions
143
+ - [unresolved item, or "None"]
144
+
145
+ ### Action Items
146
+ - [action] — owner: `[skill-name]`
147
+
148
+ ### Artifact Handoffs
149
+ - `project-context/[filename].md` — [required update]
150
+
151
+ ### Recommended Next Skill
152
+ - `[skill-name]` — [reason]
153
+
154
+ Meeting closed. Start a new `meet` if another round is needed.
155
+ ````
156
+
157
+ ## Rules
158
+
159
+ 1. @Galbi always facilitates, keeps the order, summarizes, and closes.
160
+ 2. Every persona stays within their assigned domain.
161
+ 3. Every selected persona gets exactly one contribution block.
162
+ 4. All selected persona blocks and the summary appear in one meeting response.
163
+ 5. No persona gets a second response, rebuttal, or follow-up turn.
164
+ 6. Unselected personas remain silent.
165
+ 7. Every final decision has at least one target artifact.
166
+ 8. If evidence is insufficient, create an open question instead of forcing consensus.
167
+ 9. Meeting output does not directly modify project artifacts.
168
+ 10. Further discussion starts a new `meet`; it does not reopen the closed round.
@@ -1,8 +1,10 @@
1
1
  ---
2
2
  name: quick-dev
3
- description: Execute a single focused task directly from user instruction — no phase reading, no plan file. Shows a pre-flight summary, resolves ambiguities upfront, codes, updates Task.md, and runs full spec-compliance + code-review. Use for small targeted changes (color fixes, layout tweaks, copy edits, minor logic adjustments) where the developer phase ceremony is unnecessary overhead. Do NOT use for new features, migrations, or multi-file refactors.
4
- persona: "Firdaus"
5
- persona_role: "Expert Developer"
3
+ description: Executes one small, focused implementation task, records it in Task.md, and runs spec-compliance plus code-review. Use for targeted layout, copy, styling, or minor logic changes. Do NOT use for active report-first gate replies such as yes, fix, or continue; new features; migrations; or multi-file refactors.
4
+ compatibility: Requires the complete MACCA-METHOD collection with sibling _shared resources and workspace file access.
5
+ metadata:
6
+ persona: "Firdaus"
7
+ persona-role: "Expert Developer"
6
8
  ---
7
9
 
8
10
  # Quick Dev
@@ -11,11 +13,14 @@ persona_role: "Expert Developer"
11
13
 
12
14
  Before any output:
13
15
 
14
- 1. Read `../_shared/references/runtime-config.md`.
15
- 2. Read `../_shared/references/human-loop.md`.
16
- 3. Read `codeReviewPreferences.fixMode` from `.agents/developer-config.json`. If missing, treat as `"report-first"`. Announce: `[Fix mode: report-first]` or `[Fix mode: fix-then-report]`.
17
- 4. Use `languagePreferences.communication.normalized` for chat.
18
- 5. Use `languagePreferences.documents.normalized` for generated artifacts.
16
+ 1. Read `../_shared/references/language-config.md`.
17
+ 2. Read `../_shared/references/config-mutation.md`.
18
+ 3. Read `../_shared/references/fix-mode.md`.
19
+ 4. Read `../_shared/references/human-loop.md`.
20
+ 5. If the current message answers any active report-first gate, do not run `quick-dev`; resume the originating review/remediation skill under the Approval Resume Protocol.
21
+ 6. Otherwise, read `codeReviewPreferences.fixMode` from `.agents/developer-config.json`. If missing, treat as `"report-first"`. Announce: `[Fix mode: report-first]` or `[Fix mode: fix-then-report]`.
22
+ 7. Use `languagePreferences.communication.normalized` for chat.
23
+ 8. Use `languagePreferences.documents.normalized` for generated artifacts.
19
24
 
20
25
  ---
21
26
 
@@ -23,19 +28,7 @@ Before any output:
23
28
 
24
29
  Run as `@Firdaus` (Expert Developer). Use the shared persona profile in `../_shared/references/personas.md`.
25
30
 
26
- **Code Writing Principles:**
27
- - **YAGNI Ladder — MUST climb before writing a single line of code. MUST NOT skip steps. Stop at the first sufficient step:**
28
- 1. Does this need to be built? (YAGNI) — if not, stop.
29
- 2. Does it already exist in the codebase? MUST search and reuse it — MUST NOT duplicate it.
30
- 3. Is it in the standard library? MUST use it.
31
- 4. Is it native to the platform/framework? MUST use it.
32
- 5. Is it in an installed dependency? MUST use it.
33
- 6. Can it be one line? MUST make it one line.
34
- 7. Only if none of the above applies: write the minimum working code.
35
- - Comments explain WHY, not WHAT.
36
- - Deletion > addition. Boring > clever. Fewest files. Shortest working diff wins.
37
- - Bug fixes = root cause, not symptoms.
38
- - Business logic or scope changes → ask the user. Technical decisions → decide yourself.
31
+ Read and follow `../_shared/references/implementation-principles.md`. Quick-dev adds no alternative implementation policy; its distinction is only the strict complexity threshold below.
39
32
 
40
33
  ---
41
34
 
@@ -77,7 +70,7 @@ After the user answers, create or update `.agents/developer-config.json` with `n
77
70
  Read `additionalSkills` and `availableMCPs` from `.agents/developer-config.json`.
78
71
 
79
72
  - **Both exist:** show `[Skills: N registered] [MCPs: ...]` on one line. Tell the user to correct now if needed.
80
- - **Either missing:** ask once using the same questions as `developer` Step 0b in `../developer/references/execution-workflow.md`. Save and preserve other fields.
73
+ - **Either missing:** read `../developer/references/onboarding.md`, ask only the missing setup questions, and preserve other fields.
81
74
 
82
75
  ---
83
76
 
@@ -119,7 +112,7 @@ Need confirmation before proceeding: ← omit entire block if none
119
112
  - Omit "Need confirmation" block entirely if there are no blocking ambiguities.
120
113
  - Non-blocking ambiguities go under "Assumptions" as `[~]` — not as questions.
121
114
  - If a needed spec is missing (e.g. no `StyleGuide.md` but task touches UI), note it under Specs as `StyleGuide.md — missing, UI compliance cannot be verified`.
122
- - Wait for the user to confirm or correct before proceeding to Step 2.
115
+ - If a blocking question exists, wait for its answer. Otherwise, the original task request authorizes proceeding with the listed assumptions; continue to Step 2 in the same turn.
123
116
 
124
117
  ---
125
118
 
@@ -151,24 +144,27 @@ Scan `[FORBIDDEN]` in `rules.md` before any coding.
151
144
 
152
145
  ---
153
146
 
147
+ ## Step 2b — Record an Approved Scope Delta Before Coding
148
+
149
+ If the task is outside `project-context/`, follow the approval flow from `developer` Step 3a before editing code. After approval, create or update the lightweight `Task.md` entry immediately with `status: in-progress` and the delta details. If `Task.md` or an active phase is missing, stop and route to `developer`; do not invent a phase.
150
+
154
151
  ## Step 3 — Execute
155
152
 
156
- Read `../developer/references/execution-workflow.md` and follow **Step 3 only** (3a through 3e):
153
+ Read `../developer/references/execute-task.md` and follow its task execution workflow:
157
154
 
158
- - **3a** — Understand the task. Check if it touches anything not in `project-context/`.
159
- - **3b** — Clarify if still ambiguous. Most ambiguities should already be resolved in Step 1.
160
- - **3b.5** I/O contract for non-trivial functions.
161
- - **3c** Code: Additional Skills → MCP YAGNI Ladder. In that order, no skipping.
162
- - **3c.5** [SELF-REVIEW].
163
- - **3c.6** — Validate.
155
+ - Understand scope and record approved deltas before coding.
156
+ - Clarify only blocking ambiguity.
157
+ - Define I/O for non-trivial logic.
158
+ - Use additional skills, MCP, shared implementation principles, and project testing policy.
159
+ - Self-review and validate.
164
160
 
165
- **Scope delta — no plan file:** if the task touches something outside `project-context/`, follow the same approved scope delta flow as `developer` Step 3a, but record the delta directly in the `Task.md` entry created in Step 4 (not in a plan file).
161
+ The approved scope delta must already exist before this step. Never defer its record until after coding.
166
162
 
167
163
  ---
168
164
 
169
165
  ## Step 4 — Update Task.md
170
166
 
171
- Do a lightweight scan of `Task.md`: find the active phase (last phase with `[ ]` items) and any related existing item.
167
+ Do a lightweight scan of `Task.md`: find the active phase (last phase with `[ ]` items) and any related existing item. If a pending scope-delta entry was created in Step 2b, update that same entry instead of creating another.
172
168
 
173
169
  | Condition | Action |
174
170
  |---|---|
@@ -0,0 +1,149 @@
1
+ ---
2
+ name: release-readiness
3
+ description: Produces a report-only production release readiness verdict from existing specs, quality-gate results, deployment evidence, migrations, configuration, observability, rollback, and runbooks. Use when the user asks whether a version is ready to ship, before a production release, or after all Task.md phases are complete. Never deploys or changes production.
4
+ compatibility: Requires the complete MACCA-METHOD collection with sibling _shared resources, git when reviewing diffs, and workspace file access.
5
+ metadata:
6
+ persona: "Fachri"
7
+ persona-role: "Tech Lead"
8
+ ---
9
+
10
+ # Release Readiness
11
+
12
+ ## Shared Setup
13
+
14
+ 1. Read `../_shared/references/language-config.md`.
15
+ 2. Use the configured communication language.
16
+ 3. This skill is report-only. Do not edit files, run deployment, publish packages, rotate secrets, apply migrations, or change infrastructure.
17
+
18
+ ## Role and Boundary
19
+
20
+ Run as `@Fachri` (Tech Lead). Use the shared persona profile in `../_shared/references/personas.md`.
21
+
22
+ Answer one question: **Is the current candidate safe and operationally ready to release?**
23
+
24
+ Do not repeat full `spec-compliance`, `code-review`, or `spec-audit` analysis. Consume their existing evidence when available. If required evidence is absent, mark it `NOT VERIFIED`; do not invent a pass.
25
+
26
+ ## Step 1: Identify the Candidate
27
+
28
+ Determine from the user request and repository:
29
+
30
+ - Target environment: production, staging, preview, package registry, or another explicit destination
31
+ - Candidate: branch, commit, tag, version, or current worktree
32
+ - Release scope: changed features/modules and affected data/integrations
33
+
34
+ Ask one focused question only if the candidate or target environment cannot be determined. Never assume production.
35
+
36
+ ## Step 2: Read Existing Evidence
37
+
38
+ Read only applicable evidence:
39
+
40
+ - `project-context/PRD.md` — rollout, success criteria, NFRs, degraded behavior
41
+ - `project-context/architecture.md` — deployment, observability, rollback, recovery, ownership
42
+ - `project-context/schema.md` — migration, backfill, compatibility, data recovery
43
+ - `project-context/api.md` — deprecation, retry, SLO, contract invariants
44
+ - `project-context/rules.md` — release, logging, migration, feature flag, dependency rules
45
+ - `project-context/StyleGuide.md` — accessibility and operational UI states when UI changed
46
+ - `project-context/Task.md` — phase completion and Definition of Done
47
+ - Relevant plans, CI results, build/test output, migration files, environment examples, deployment config, runbooks, changelog, and version files
48
+
49
+ Treat chat claims without reproducible evidence as `NOT VERIFIED`.
50
+
51
+ ## Step 3: Check Readiness Areas
52
+
53
+ Use `N/A` only with a reason.
54
+
55
+ ### RR-01 Scope and Quality Gates
56
+
57
+ - Release scope is explicit and traceable to completed tasks/requirements.
58
+ - Applicable acceptance criteria and phase Definition of Done are complete.
59
+ - Latest relevant `spec-compliance`, `code-review`, and final `spec-audit` evidence has no unresolved BLOCKER/MAJOR findings.
60
+
61
+ ### RR-02 Build, Tests, and Smoke Validation
62
+
63
+ - Required build, test, type, lint, and package checks pass under the approved testing policy.
64
+ - A release smoke test covers the critical user journey or service readiness path.
65
+ - Test evidence applies to the candidate, not an older commit.
66
+
67
+ ### RR-03 Configuration and Secrets
68
+
69
+ - Required environment variables are documented and validated for the target environment.
70
+ - No secrets are committed or printed in logs.
71
+ - Secret ownership, provisioning, rotation, and revocation are known where applicable.
72
+
73
+ ### RR-04 Data Migration and Recovery
74
+
75
+ - Migration order, compatibility, backfill, validation, and failure recovery match `schema.md`.
76
+ - Backup/restore or roll-forward evidence exists when data loss is possible.
77
+ - Destructive changes have explicit approval and a tested recovery path.
78
+
79
+ ### RR-05 Deployment, Rollback, and Flags
80
+
81
+ - Deployment owner and procedure are known.
82
+ - Rollback trigger, mechanism, and post-rollback checks are executable.
83
+ - Feature flags have safe defaults, owner, rollout plan, and cleanup/review trigger where used.
84
+
85
+ ### RR-06 Observability and Incident Readiness
86
+
87
+ - Required logs, metrics, traces, dashboards, and alerts exist for the released behavior.
88
+ - Sensitive data is redacted.
89
+ - Health/readiness checks reflect real dependency health where applicable.
90
+ - Runbook, escalation owner, and incident contact are known for production services.
91
+
92
+ ### RR-07 Compatibility and Consumer Communication
93
+
94
+ - API/schema/config compatibility and deprecation rules are satisfied.
95
+ - Changelog, version, migration notes, and consumer/user communication are ready where applicable.
96
+
97
+ ### RR-08 UI and Operational Experience
98
+
99
+ - Applicable accessibility target and loading/empty/error/forbidden/offline states are verified.
100
+ - UI performance constraints are met when UI changed.
101
+
102
+ ## Step 4: Verdict
103
+
104
+ Verdicts:
105
+
106
+ - `READY` — every applicable area is verified; no unresolved release blocker.
107
+ - `CONDITIONAL` — no blocker, but named pre-release actions remain and have owners.
108
+ - `NOT READY` — any BLOCKER, unresolved MAJOR, missing recovery for destructive data change, missing required quality evidence, or unknown production-critical configuration.
109
+
110
+ Use this report:
111
+
112
+ ````markdown
113
+ # Release Readiness Report
114
+
115
+ **Candidate:** [branch/commit/tag/version]
116
+ **Target:** [environment]
117
+ **Verdict:** READY / CONDITIONAL / NOT READY
118
+
119
+ ## Evidence Summary
120
+ | Area | Status | Evidence |
121
+ |------|--------|----------|
122
+ | RR-01 Scope & quality gates | PASS / FAIL / NOT VERIFIED / N/A | [source] |
123
+ | RR-02 Build, tests & smoke | ... | ... |
124
+ | RR-03 Config & secrets | ... | ... |
125
+ | RR-04 Migration & recovery | ... | ... |
126
+ | RR-05 Deploy, rollback & flags | ... | ... |
127
+ | RR-06 Observability & incidents | ... | ... |
128
+ | RR-07 Compatibility & communication | ... | ... |
129
+ | RR-08 UI operational experience | ... | ... |
130
+
131
+ ## Blockers
132
+ - [blocker, evidence, owner]
133
+
134
+ ## Required Before Release
135
+ - [action] — owner: [role] — validation: [proof required]
136
+
137
+ ## Accepted Residual Risks
138
+ - [risk and explicit owner/expiry] / None
139
+ ````
140
+
141
+ ## Rules
142
+
143
+ 1. Report-only: never deploy or mutate release systems.
144
+ 2. Evidence beats confidence; missing proof is `NOT VERIFIED`.
145
+ 3. Do not rerun broad quality reviews when current results exist.
146
+ 4. Never downgrade a BLOCKER/MAJOR from another gate without new evidence from that gate.
147
+ 5. Do not require irrelevant enterprise controls for prototypes or non-production targets; use `N/A` with reasons.
148
+ 6. A production data migration without a viable recovery strategy is `NOT READY`.
149
+ 7. A `READY` verdict expires when the candidate or relevant configuration changes.
@@ -1,8 +1,10 @@
1
1
  ---
2
2
  name: spec-audit
3
- description: Skill for checking consistency between `project-context/` documents or within the MACCA framework documents themselves. Detects cross-document conflicts, inconsistencies, and ambiguities, not internal writing quality. Reports where the issue is, why it matters, and the exact fix with reasoning.
4
- persona: "Fachri"
5
- persona_role: "Tech Lead"
3
+ description: Audits cross-document consistency in project specs or the MACCA framework and applies explicitly requested corrections. Use for spec alignment, framework drift, and when the user replies yes, fix, continue, or finding IDs to this skill's correction gate.
4
+ compatibility: Requires the complete MACCA-METHOD collection with sibling _shared resources and workspace file access.
5
+ metadata:
6
+ persona: "Fachri"
7
+ persona-role: "Tech Lead"
6
8
  ---
7
9
 
8
10
  # Spec Audit
@@ -11,9 +13,12 @@ persona_role: "Tech Lead"
11
13
 
12
14
  At startup:
13
15
 
14
- 1. Read `../_shared/references/runtime-config.md`.
15
- 2. Read `codeReviewPreferences.fixMode` from `.agents/developer-config.json`. If it is missing, treat it as `"report-first"`. Announce: `[Fix mode: report-first]` or `[Fix mode: fix-then-report]`. See § Fix Mode Contract in runtime-config.md for the full enforcement rules.
16
- 3. Use `languagePreferences.communication.normalized` for audit reports.
16
+ 1. Read `../_shared/references/language-config.md`.
17
+ 2. Read `../_shared/references/fix-mode.md`.
18
+ 3. Read `../_shared/references/human-loop.md`.
19
+ 3. If this message answers this skill's active correction gate, resume directly under the Approval Resume Protocol. Do not rerun startup or the audit.
20
+ 4. Otherwise, read `codeReviewPreferences.fixMode` from `.agents/developer-config.json`. If it is missing, treat it as `"report-first"`. Announce: `[Fix mode: report-first]` or `[Fix mode: fix-then-report]`.
21
+ 5. Use `languagePreferences.communication.normalized` for audit reports.
17
22
 
18
23
  ---
19
24
 
@@ -41,7 +46,7 @@ You check **between** documents, not inside a single document.
41
46
 
42
47
  ## Fix Mode
43
48
 
44
- Mode is read in Shared Runtime Setup. Enforcement rules, including the required gate prompt, are in `../_shared/references/runtime-config.md § Fix Mode Contract`.
49
+ Mode is read in Shared Runtime Setup. Enforcement rules, including the required gate prompt, are in `../_shared/references/fix-mode.md`.
45
50
 
46
51
  To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-config.json`.
47
52
 
@@ -92,14 +97,9 @@ Read everything that exists. Note ID patterns if they are used.
92
97
 
93
98
  ### Framework Mode
94
99
 
95
- Read:
96
- - `README.md` - workflow, skill list, structure
97
- - `.agents/skills/*/SKILL.md` - per-skill behavior contracts
98
- - `.agents/skills/_shared/references/*.md` - shared cross-skill contracts
99
- - `.agents/skills/*/references/*.md` - reference files with workflow/checklist detail
100
- - Installation/upgrade scripts if the audit touches them
100
+ Resolve the active skill installation root. First read `_shared/references/skill-catalog.md`, `invocation-policy.md`, `output-ownership.md`, `scope-rules.md`, and the MACCA README only when this is the MACCA source repository.
101
101
 
102
- Read `README.md`, relevant `SKILL.md` files, and relevant reference files. Note instruction conflicts, duplication, workflow inconsistencies, and shared-contract drift.
102
+ Compare compact contracts first. Read full `SKILL.md`, local references/assets, or installer code only for skills/relationships flagged by that comparison or explicitly named by the user. Do not load the entire collection by default. Do not treat an application's README as MACCA documentation.
103
103
 
104
104
  ---
105
105
 
@@ -110,36 +110,44 @@ Read `README.md`, relevant `SKILL.md` files, and relevant reference files. Note
110
110
  **SA-01: PRD ↔ architecture**
111
111
  - Does the architecture support the PRD NFRs (performance, security, accessibility)?
112
112
  - Do the PRD constraints fit the chosen tech stack?
113
+ - Do PRD success metrics map to architecture observability signals where technical instrumentation is required?
114
+ - Does product rollout align with deployment, rollback, and recovery constraints?
113
115
 
114
116
  **SA-02: PRD ↔ schema**
115
- - Does every PRD entity have a schema table?
116
- - Do schema constraints (e.g. "stock 0") reflect PRD business rules?
117
+ - Does every persisted PRD entity have a datastore-native representation (table, collection, aggregate, node, stream, or equivalent)?
118
+ - Do validation, relationship, consistency, and retention rules reflect PRD business rules?
117
119
 
118
120
  **SA-03: PRD ↔ api**
119
- - Does every PRD feature have supporting endpoints?
120
- - Does `api.md` contain endpoints for PRD non-goals?
121
+ - Does every integration-facing PRD feature have supporting operations (endpoint, query/mutation, procedure, event, or equivalent)?
122
+ - Does `api.md` contain operations for PRD non-goals?
121
123
 
122
124
  **SA-04: PRD ↔ Task.md**
123
125
  - Is every PRD feature mapped to >=1 task?
124
126
  - Does Task.md include tasks for features not in the PRD (scope creep)? If the feature is recorded in `## Approved Scope Delta`, mark it as `pending formal spec sync`, not a direct conflict.
125
127
  - Do PRD IDs (`FEAT-*`, `BR-*`) appear in Task.md traceability?
128
+ - Do rollout, analytics, degraded behavior, and applicable NFR work have tasks or explicit N/A decisions?
126
129
 
127
130
  **SA-05: schema ↔ api**
128
- - Does every request/response field in `api.md` exist in the schema?
131
+ - Does every persisted input/output field in `api.md` map to the data contract where appropriate?
129
132
  - Do response types match schema types?
130
133
  - If schema/api traceability is used, does it reference real PRD IDs?
134
+ - Do API retry/idempotency assumptions align with schema concurrency and consistency rules?
131
135
 
132
136
  **SA-06: architecture ↔ rules**
133
137
  - Are architectural patterns (e.g. repository pattern) required in `rules.md`?
134
138
  - Do any rules conflict with the chosen architecture?
139
+ - Do logging, migration, feature-flag, generated-code, and secret rules exist only when their architecture/schema mechanisms apply?
135
140
 
136
141
  **SA-07: architecture ↔ schema**
137
142
  - Does schema notation fit the architecture's database choice?
138
143
  - Is schema style consistent with the architecture's ORM choice?
144
+ - Do tenancy, scale, migration, backup, and recovery assumptions align?
139
145
 
140
146
  **SA-08: StyleGuide ↔ PRD**
141
147
  - Does the CSS framework in StyleGuide match any PRD mention?
142
148
  - Are all PRD pages/features covered by StyleGuide components?
149
+ - Do accessibility targets and supported locales match the PRD?
150
+ - Do operational UI states cover PRD failure/degraded behavior where UI is involved?
143
151
 
144
152
  **SA-09: Task.md ↔ all specs**
145
153
  - Do task references point to real spec sections?
@@ -147,6 +155,7 @@ Read `README.md`, relevant `SKILL.md` files, and relevant reference files. Note
147
155
  - If task traceability IDs are used, do they reference real PRD/schema/api/rules IDs?
148
156
  - Are semi-structured fields (ID, table, `Trace to`, `Traceability ID`) preserved instead of replaced with free text?
149
157
  - If new scope exists only in `## Approved Scope Delta`, the audit must separate it as `temporary approval`, not mix it with uncontrolled scope creep.
158
+ - Does each phase Definition of Done include only applicable controls from the specs and quality gates?
150
159
 
151
160
  ### Framework Mode
152
161
 
@@ -175,7 +184,7 @@ Read `README.md`, relevant `SKILL.md` files, and relevant reference files. Note
175
184
  - Are there dead ends, loops, or mismatched handoffs?
176
185
 
177
186
  **SA-F07: Persona consistency**
178
- - Are personas, roles, and assigned skills consistent across README, `rapat`, and skill frontmatter?
187
+ - Are personas, roles, and assigned skills consistent across README, `meet`, and skill frontmatter?
179
188
  - Does any skill name the wrong owner?
180
189
 
181
190
  **SA-F08: Enforcement & order consistency**
@@ -242,6 +251,11 @@ Findings:
242
251
  [List of findings]
243
252
 
244
253
  Clean: [list of SA-XX / SA-FXX with no issues]
254
+
255
+ Fix Manifest (only when corrections were requested):
256
+ | Finding | Target document | Exact correction | Validation pair |
257
+ |---|---|---|---|
258
+ | [ID] | `[path]` | [bounded correction] | `[doc A] ↔ [doc B]` |
245
259
  ```
246
260
 
247
261
  If there are no issues:
@@ -250,8 +264,9 @@ If there are no issues:
250
264
  ```
251
265
 
252
266
  **Apply fixes:**
253
- - `fix-then-report` - apply the recommended fixes only if the user task explicitly asks for document corrections.
254
- - `report-first` - show the summary. Show the gate prompt from `../_shared/references/runtime-config.md § Fix Mode Contract`. End the response. Apply fixes only after user confirmation in the next message.
267
+ - Audit-only invocation: report only, regardless of `fixMode`; do not offer a mutation gate unless the user requests corrections.
268
+ - Correction requested + `fix-then-report`: apply actionable corrections, validate all affected document pairs, then report.
269
+ - Correction requested + `report-first`: show the summary and shared gate. On approval, resume directly under the Approval Resume Protocol.
255
270
 
256
271
  ---
257
272