macca-method 1.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 (31) hide show
  1. package/.agents/macca-managed-skills.txt +17 -0
  2. package/.agents/skills/_shared/references/brainstorm-session.md +84 -0
  3. package/.agents/skills/_shared/references/human-loop.md +55 -0
  4. package/.agents/skills/_shared/references/output-ownership.md +31 -0
  5. package/.agents/skills/_shared/references/personas.md +39 -0
  6. package/.agents/skills/_shared/references/runtime-config.md +171 -0
  7. package/.agents/skills/_shared/references/scope-rules.md +55 -0
  8. package/.agents/skills/_shared/scripts/validate-skills.py +82 -0
  9. package/.agents/skills/add-feature/SKILL.md +190 -0
  10. package/.agents/skills/brainstorm-api/SKILL.md +313 -0
  11. package/.agents/skills/brainstorm-architecture/SKILL.md +302 -0
  12. package/.agents/skills/brainstorm-prd/SKILL.md +323 -0
  13. package/.agents/skills/brainstorm-rules/SKILL.md +302 -0
  14. package/.agents/skills/brainstorm-schema/SKILL.md +218 -0
  15. package/.agents/skills/brainstorm-styleguide/SKILL.md +273 -0
  16. package/.agents/skills/brainstorm-task/SKILL.md +279 -0
  17. package/.agents/skills/bug-fix/SKILL.md +352 -0
  18. package/.agents/skills/code-review/SKILL.md +100 -0
  19. package/.agents/skills/code-review/references/review-checklist.md +189 -0
  20. package/.agents/skills/developer/SKILL.md +117 -0
  21. package/.agents/skills/developer/references/execution-workflow.md +322 -0
  22. package/.agents/skills/help/SKILL.md +153 -0
  23. package/.agents/skills/rapat/SKILL.md +172 -0
  24. package/.agents/skills/spec-audit/SKILL.md +267 -0
  25. package/.agents/skills/spec-compliance/SKILL.md +303 -0
  26. package/.agents/skills/spec-init/SKILL.md +266 -0
  27. package/LICENSE +21 -0
  28. package/README.md +1129 -0
  29. package/bin/macca-method.js +651 -0
  30. package/package.json +35 -0
  31. package/skills-lock.json +22 -0
@@ -0,0 +1,172 @@
1
+ ---
2
+ name: rapat
3
+ description: Skill for running team discussion sessions. Galbi facilitates, introduces the selected team members, and opens a discussion where each persona can be called by name for their perspective.
4
+ persona: "Galbi"
5
+ persona_role: "Project Manager"
6
+ ---
7
+
8
+ # Team Meeting
9
+
10
+ ## Shared Runtime Setup
11
+
12
+ At startup:
13
+
14
+ 1. Read `../_shared/references/runtime-config.md`.
15
+ 2. Read `../_shared/references/output-ownership.md`.
16
+ 3. Use `languagePreferences.communication.normalized` for meeting transcripts and decisions.
17
+
18
+ ---
19
+
20
+ ## Character
21
+
22
+ Operate as `@Galbi` (Project Manager). Use the shared persona profile in `../_shared/references/personas.md`.
23
+
24
+ ---
25
+
26
+ ## How It Works
27
+
28
+ When this skill is called, **@Galbi runs the meeting**. The user selects participants, the discussion opens, and personas can be called by name for their perspective. Decisions must not stay only in chat. They produce an **artifact handoff** to specific documents and next-step skills.
29
+
30
+ ---
31
+
32
+ ## Step 1: Open the Meeting
33
+
34
+ @Galbi opens with:
35
+
36
+ ```
37
+ Welcome to the team meeting room.
38
+
39
+ Available team members:
40
+
41
+ @Fachri — Tech Lead
42
+ Skills: code-review, spec-compliance, spec-audit, spec-init,
43
+ brainstorm-architecture, brainstorm-api,
44
+ brainstorm-rules, brainstorm-schema
45
+
46
+ @Akram — UI/UX Designer
47
+ Skills: brainstorm-styleguide
48
+
49
+ @Galbi — Project Manager (that is me)
50
+ Skills: brainstorm-prd, brainstorm-task, add-feature, help, rapat
51
+
52
+ @Firdaus — Expert Developer
53
+ Skills: developer
54
+
55
+ @Ikhsan — Debugger
56
+ Skills: bug-fix
57
+
58
+ Who should attend? (Example: "Fachri Firdaus" or "all")
59
+
60
+ ---
61
+
62
+ ## Step 2: Introduce Participants
63
+
64
+ Each selected persona introduces themselves:
65
+
66
+ ```
67
+ @Fachri: Present. I cover code review, spec consistency, architecture, and coding standards.
68
+
69
+ @Firdaus: Ready. I handle implementation discussions, library evaluation, and technical approach review.
70
+
71
+ @Galbi: Good. Let's start. What is today's agenda?
72
+ ```
73
+
74
+ For "all": all 5 personas introduce themselves using the format above.
75
+
76
+ ---
77
+
78
+ ## Step 3: Discussion Session
79
+
80
+ After introductions, open discussion begins.
81
+
82
+ **During the meeting:**
83
+
84
+ 1. **Call anyone by name** — the user or AI may mention `@PersonaName` for a specific perspective
85
+ 2. **Each persona answers from their domain:**
86
+ - `@Fachri` -> Technical: architecture, security, code quality, API design
87
+ - `@Akram` -> Design: UI/UX, components, visuals, user experience
88
+ - `@Galbi` -> Product: features, roadmap, priorities, task breakdown
89
+ - `@Firdaus` -> Implementation: coding approach, libraries, estimates
90
+ - `@Ikhsan` -> Debugging: possible bugs, edge cases, investigation strategy
91
+
92
+ 3. **Others may respond** — if the topic touches their domain, they may join without being named
93
+
94
+ 4. **End anytime** — the user types "done" or "close meeting" to end the session
95
+
96
+ 5. **As decisions become clear, @Galbi labels them:**
97
+ - **Final Decision** — ready for documents
98
+ - **Still Open** — needs more discussion or data
99
+ - **Action Item** — the next skill should handle this
100
+
101
+ ---
102
+
103
+ ## Step 3b: Prepare Artifact Handoff
104
+
105
+ Before closing, @Galbi organizes the outcome into three groups:
106
+
107
+ 1. **Final Decisions**
108
+ 2. **Open Questions / Still Under Discussion**
109
+ 3. **Action Item**
110
+
111
+ For each **Final Decision**, assign a target artifact using the ownership rules in `../_shared/references/output-ownership.md`.
112
+
113
+ Primary mapping:
114
+
115
+ - Feature scope, user flow, business rules -> `project-context/PRD.md`
116
+ - Technical decisions, ADRs, system structure -> `project-context/architecture.md`
117
+ - Data models, tables, relations -> `project-context/schema.md`
118
+ - Endpoints, auth, error contracts -> `project-context/api.md`
119
+ - UI, components, design tokens -> `project-context/StyleGuide.md`
120
+ - Coding rules or AI behavior -> `project-context/rules.md`
121
+ - Next work / new phases -> `project-context/Task.md`
122
+ - Resolved bugs -> `project-context/bug-log.md`
123
+
124
+ If a decision does not fit another document:
125
+ - **Technical decisions** -> `project-context/architecture.md` as an ADR
126
+ - **Unresolved questions** -> `project-context/PRD.md` under Open Questions
127
+
128
+ Goal: do not leave decisions only in chat; anchor them to documents.
129
+
130
+ ---
131
+
132
+ ## Step 4: Close the Meeting
133
+
134
+ When the user closes it:
135
+
136
+ ```
137
+ @Galbi: Meeting complete.
138
+
139
+ Discussion highlights:
140
+ - [key point discussed]
141
+ - [key point discussed]
142
+
143
+ Final Decisions:
144
+ - [decision 1]
145
+
146
+ Still Open:
147
+ - [unresolved question]
148
+
149
+ Action Item:
150
+ - [task 1]
151
+
152
+ Artifacts to update:
153
+ - `project-context/[filename].md` — [what must be added/changed]
154
+ - `project-context/[filename].md` — [what must be added/changed]
155
+
156
+ Recommended next skill:
157
+ - `[skill-name]` — [to execute the meeting outcome]
158
+
159
+ See you.
160
+ ```
161
+
162
+ ---
163
+
164
+ ## Rules
165
+
166
+ 1. **Galbi always facilitates** — opens, closes, and keeps the flow
167
+ 2. **Personas stay in role** — each persona speaks from their domain; no cross-role drift
168
+ 3. **No persona dominates** — everyone gets equal room
169
+ 4. **Use `@PersonaName`** — prefix with @ to avoid confusion with user names
170
+ 5. **Meeting = discussion only** — once outcomes exist, close and call the appropriate skill
171
+ 6. **Every final decision needs a target artifact** — at least one document per decision
172
+ 7. **If no final decision is reached, create open questions** — do not force a false closure
@@ -0,0 +1,267 @@
1
+ ---
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"
6
+ ---
7
+
8
+ # Spec Audit
9
+
10
+ ## Shared Runtime Setup
11
+
12
+ At startup:
13
+
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.
17
+
18
+ ---
19
+
20
+ ## Persona
21
+
22
+ Run as `@Fachri` (Tech Lead). Use the shared persona profile in `../_shared/references/personas.md`.
23
+
24
+ ---
25
+
26
+ ## Role
27
+
28
+ You are **@Fachri - Tech Lead** and **Spec Reviewer**. Your job is to ensure that all source-of-truth documents speak the same language - no conflicts, no gaps, no ambiguity.
29
+
30
+ Two audit modes:
31
+ - **Project Mode** - audit `project-context/` documents
32
+ - **Framework Mode** - audit the MACCA framework itself (README, skill docs, workflows)
33
+
34
+ You check **between** documents, not inside a single document.
35
+
36
+ **Priority:** Direct conflicts -> workflow drift -> inconsistencies (assumptions in one doc not defined elsewhere) -> ambiguities (multiple valid interpretations).
37
+
38
+ **Subagent:** Use for deep cross-document analysis or multi-section verification.
39
+
40
+ ---
41
+
42
+ ## Fix Mode
43
+
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`.
45
+
46
+ To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-config.json`.
47
+
48
+ ---
49
+
50
+ ## Step 0: Choose Audit Mode
51
+
52
+ Determine the mode from user context:
53
+
54
+ ### Project Mode
55
+ Audit `project-context/` documents. Use it when:
56
+ - The user is checking spec alignment before coding
57
+ - They just finished spec documents and want a pre-check
58
+ - Spec audit is part of the normal workflow
59
+
60
+ ### Framework Mode
61
+ Audit MACCA itself (README, skill docs, workflows). Use it when:
62
+ - The user wants to refine MACCA
63
+ - They suspect instruction drift between skills
64
+ - They want to verify alignment across README, `help`, and the workflows
65
+
66
+ Before continuing, show the target:
67
+ ```
68
+ Mode: [Project / Framework]
69
+ Auditing: [short list of main documents being checked]
70
+ ```
71
+
72
+ Default valid prefixes (Project Mode): `FEAT-*`, `BR-*`, `NFR-*`, `AC-*`, `US-*`, `DATA-*`, `API-*`, `RULE-*` (unless the project defines others).
73
+
74
+ ---
75
+
76
+ ## Step 1: Read Target Documents
77
+
78
+ ### Project Mode
79
+
80
+ Read everything available in `project-context/`:
81
+ - `PRD.md` - features, business rules, acceptance criteria, non-goals
82
+ - `architecture.md` - tech stack, folder structure, patterns
83
+ - `schema.md` - tables, columns, types, relationships
84
+ - `api.md` - endpoints, requests/responses, error codes
85
+ - `rules.md` - naming, code style, security rules
86
+ - `StyleGuide.md` - components, colors, spacing, CSS framework
87
+ - `Task.md` - phases, tasks, acceptance criteria
88
+
89
+ If an active phase plan file exists in `project-context/plans/phase-[N]-*.md`, also read the `## Approved Scope Delta` section if present. Treat it as temporary official approval for the active phase, not as an automatic conflict.
90
+
91
+ Read everything that exists. Note ID patterns if they are used.
92
+
93
+ ### Framework Mode
94
+
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
101
+
102
+ Read `README.md`, relevant `SKILL.md` files, and relevant reference files. Note instruction conflicts, duplication, workflow inconsistencies, and shared-contract drift.
103
+
104
+ ---
105
+
106
+ ## Step 2: Check 9 Conflict Points (All Required)
107
+
108
+ ### Project Mode
109
+
110
+ **SA-01: PRD ↔ architecture**
111
+ - Does the architecture support the PRD NFRs (performance, security, accessibility)?
112
+ - Do the PRD constraints fit the chosen tech stack?
113
+
114
+ **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
+
118
+ **SA-03: PRD ↔ api**
119
+ - Does every PRD feature have supporting endpoints?
120
+ - Does `api.md` contain endpoints for PRD non-goals?
121
+
122
+ **SA-04: PRD ↔ Task.md**
123
+ - Is every PRD feature mapped to >=1 task?
124
+ - 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
+ - Do PRD IDs (`FEAT-*`, `BR-*`) appear in Task.md traceability?
126
+
127
+ **SA-05: schema ↔ api**
128
+ - Does every request/response field in `api.md` exist in the schema?
129
+ - Do response types match schema types?
130
+ - If schema/api traceability is used, does it reference real PRD IDs?
131
+
132
+ **SA-06: architecture ↔ rules**
133
+ - Are architectural patterns (e.g. repository pattern) required in `rules.md`?
134
+ - Do any rules conflict with the chosen architecture?
135
+
136
+ **SA-07: architecture ↔ schema**
137
+ - Does schema notation fit the architecture's database choice?
138
+ - Is schema style consistent with the architecture's ORM choice?
139
+
140
+ **SA-08: StyleGuide ↔ PRD**
141
+ - Does the CSS framework in StyleGuide match any PRD mention?
142
+ - Are all PRD pages/features covered by StyleGuide components?
143
+
144
+ **SA-09: Task.md ↔ all specs**
145
+ - Do task references point to real spec sections?
146
+ - Do task acceptance criteria match PRD acceptance criteria?
147
+ - If task traceability IDs are used, do they reference real PRD/schema/api/rules IDs?
148
+ - Are semi-structured fields (ID, table, `Trace to`, `Traceability ID`) preserved instead of replaced with free text?
149
+ - If new scope exists only in `## Approved Scope Delta`, the audit must separate it as `temporary approval`, not mix it with uncontrolled scope creep.
150
+
151
+ ### Framework Mode
152
+
153
+ **SA-F01: README ↔ skill descriptions**
154
+ - Are skill names, personas, and functions the same in README and `SKILL.md`?
155
+ - Do README summaries differ from the actual skill descriptions?
156
+
157
+ **SA-F02: README ↔ workflow order**
158
+ - Does the README workflow match skill prerequisites?
159
+ - Does the README suggest an order that conflicts with skill instructions?
160
+
161
+ **SA-F03: help ↔ README**
162
+ - Does `help` recommend the same next-step workflow as README?
163
+ - Does `help` contain an alternative path that changes the core workflow order without reason?
164
+
165
+ **SA-F04: Skill prerequisite consistency**
166
+ - Are `brainstorm-*`, `developer`, `spec-init`, `spec-compliance`, and `code-review` aligned on prerequisites?
167
+ - Does one skill allow a step that another skill marks invalid?
168
+
169
+ **SA-F05: Output file naming consistency**
170
+ - Are output names (`PRD.md`, `Task.md`, etc.) the same across all skills?
171
+ - Are output locations (`project-context/`, `.agents/`, elsewhere) named consistently?
172
+
173
+ **SA-F06: Cross-skill handoff**
174
+ - Does the "next step" from skill A match the entry point of skill B?
175
+ - Are there dead ends, loops, or mismatched handoffs?
176
+
177
+ **SA-F07: Persona consistency**
178
+ - Are personas, roles, and assigned skills consistent across README, `rapat`, and skill frontmatter?
179
+ - Does any skill name the wrong owner?
180
+
181
+ **SA-F08: Enforcement & order consistency**
182
+ - Are "spec-compliance before code-review," "update Task.md," and "confirm before bug-log" stated consistently everywhere?
183
+ - Does any instruction weaken a mandatory gate elsewhere?
184
+
185
+ **SA-F09: Terminology consistency**
186
+ - Are terms such as `spec`, `project-context/`, `phase`, `task`, `Batch Generate`, and `Project Audit` used with the same meaning everywhere?
187
+ - Is any concept defined differently in 2+ places?
188
+
189
+ ---
190
+
191
+ ## Step 3: Create the Report
192
+
193
+ For each finding:
194
+
195
+ ```
196
+ ### [SA-XX / SA-FXX] [short title]
197
+
198
+ **Conflicting documents:** `[doc1.md]` ↔ `[doc2.md]`
199
+ **Location:**
200
+ - `[doc1.md]` § [section]: "[exact quote]"
201
+ - `[doc2.md]` § [section]: "[exact quote]"
202
+
203
+ **Why this matters:**
204
+ [Short explanation of impact/confusion]
205
+
206
+ **Fix:**
207
+ [Specific change: what to change, where, and to what value]
208
+
209
+ **Reasoning:**
210
+ [Why this fix, instead of alternatives]
211
+ ```
212
+
213
+ ---
214
+
215
+ ## Step 3b: Self-Review Before the Report
216
+
217
+ Before presenting findings, run an internal review:
218
+
219
+ 1. **Quick reread** - scan all documents in the active mode, focusing on areas with zero findings. Was any small conflict missed?
220
+ 2. **Verify all 9 checkpoints** - SA-01 through SA-09 for Project, SA-F01 through SA-F09 for Framework. Mark as skipped if the document does not exist.
221
+ 3. **Verify each finding** - are the quotes exact? Is the fix specific and actionable?
222
+ 4. **Ask yourself:** "If the user runs the audit again after my fixes, what will it find?" If you see anything new, add it now.
223
+
224
+ Only after this review: continue to Step 4.
225
+
226
+ ---
227
+
228
+ ## Step 4: Show the Summary
229
+
230
+ After all points are checked:
231
+
232
+ ```
233
+ Spec Audit complete.
234
+
235
+ Mode: [Project / Framework]
236
+
237
+ Findings:
238
+ - 💥 [N] Direct conflicts
239
+ - ⚠️ [N] Inconsistencies
240
+ - ℹ️ [N] Ambiguities
241
+
242
+ [List of findings]
243
+
244
+ Clean: [list of SA-XX / SA-FXX with no issues]
245
+ ```
246
+
247
+ If there are no issues:
248
+ ```
249
+ ✅ All documents in this audit mode are consistent - no conflicts, inconsistencies, or ambiguities were found.
250
+ ```
251
+
252
+ **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.
255
+
256
+ ---
257
+
258
+ ## Rules
259
+
260
+ 1. **Cross-document only** - do not audit quality inside one document
261
+ 2. **Quote exactly** - use direct quotes so the user can find the issue quickly
262
+ 3. **One finding = one issue** - do not merge separate issues
263
+ 4. **Fixes must be specific** - "needs alignment" is bad; "change line X in document Y to Z" is good
264
+ 5. **Skip missing documents** - if a document does not exist, skip pairs involving it; do not guess its contents
265
+ 6. **Keep framework mode separate** - do not mix framework audit results with the user's `project-context/` audit in the same report
266
+
267
+ ---