macca-method 1.1.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/legacy-payloads.json +22 -0
- package/{skills-lock.json → .agents/macca-lock.json} +3 -2
- package/.agents/macca-managed-skills.txt +2 -1
- package/.agents/skills/_shared/references/additional-skills.md +30 -0
- package/.agents/skills/_shared/references/brainstorm-session.md +42 -11
- package/.agents/skills/_shared/references/config-mutation.md +25 -0
- package/.agents/skills/_shared/references/finding-format.md +25 -0
- package/.agents/skills/_shared/references/fix-mode.md +54 -0
- package/.agents/skills/_shared/references/human-loop.md +3 -1
- package/.agents/skills/_shared/references/implementation-principles.md +19 -0
- package/.agents/skills/_shared/references/invocation-policy.md +39 -0
- package/.agents/skills/_shared/references/language-config.md +17 -0
- package/.agents/skills/_shared/references/output-ownership.md +4 -2
- package/.agents/skills/_shared/references/runtime-config.md +7 -168
- package/.agents/skills/_shared/references/skill-catalog.md +34 -0
- package/.agents/skills/_shared/scripts/validate-skills.py +106 -4
- package/.agents/skills/add-feature/SKILL.md +12 -7
- package/.agents/skills/brainstorm-api/SKILL.md +53 -196
- package/.agents/skills/brainstorm-api/assets/api.template.md +147 -0
- package/.agents/skills/brainstorm-architecture/SKILL.md +26 -129
- package/.agents/skills/brainstorm-architecture/assets/architecture.template.md +135 -0
- package/.agents/skills/brainstorm-prd/SKILL.md +23 -104
- package/.agents/skills/brainstorm-prd/assets/PRD.template.md +106 -0
- package/.agents/skills/brainstorm-rules/SKILL.md +19 -153
- package/.agents/skills/brainstorm-rules/assets/rules.template.md +127 -0
- package/.agents/skills/brainstorm-schema/SKILL.md +53 -117
- package/.agents/skills/brainstorm-schema/assets/schema.template.md +109 -0
- package/.agents/skills/brainstorm-styleguide/SKILL.md +21 -136
- package/.agents/skills/brainstorm-styleguide/assets/StyleGuide.template.md +147 -0
- package/.agents/skills/brainstorm-task/SKILL.md +24 -107
- package/.agents/skills/brainstorm-task/assets/Task.template.md +113 -0
- package/.agents/skills/bug-fix/SKILL.md +54 -56
- package/.agents/skills/code-review/SKILL.md +28 -19
- package/.agents/skills/code-review/references/review-checklist.md +24 -26
- package/.agents/skills/developer/SKILL.md +27 -39
- package/.agents/skills/developer/references/close-phase.md +25 -0
- package/.agents/skills/developer/references/execute-task.md +69 -0
- package/.agents/skills/developer/references/onboarding.md +47 -0
- package/.agents/skills/help/SKILL.md +19 -16
- package/.agents/skills/meet/SKILL.md +170 -0
- package/.agents/skills/quick-dev/SKILL.md +32 -34
- package/.agents/skills/release-readiness/SKILL.md +151 -0
- package/.agents/skills/spec-audit/SKILL.md +39 -22
- package/.agents/skills/spec-compliance/SKILL.md +43 -40
- package/.agents/skills/spec-init/SKILL.md +31 -14
- package/README.md +181 -132
- package/bin/macca-method.js +779 -85
- package/flow.webp +0 -0
- package/image-macca-method.webp +0 -0
- package/package.json +12 -5
- package/scripts/run-skill-validator.js +24 -0
- package/scripts/test-install.js +430 -0
- package/scripts/test-upgrade-legacy.js +143 -0
- package/scripts/validate-skill-behavior.js +124 -0
- package/.agents/skills/developer/references/execution-workflow.md +0 -322
- package/.agents/skills/rapat/SKILL.md +0 -172
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-audit
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
9
11
|
|
|
10
12
|
## Shared Runtime Setup
|
|
11
13
|
|
|
14
|
+
Paths written as `../...` below are relative to this SKILL.md's own folder, not the project's working directory - resolve them as a sibling of the folder that contains this file.
|
|
15
|
+
|
|
12
16
|
At startup:
|
|
13
17
|
|
|
14
|
-
1. Read `../_shared/references/
|
|
15
|
-
2. Read
|
|
16
|
-
3.
|
|
18
|
+
1. Read `../_shared/references/language-config.md`.
|
|
19
|
+
2. Read `../_shared/references/fix-mode.md`.
|
|
20
|
+
3. Read `../_shared/references/human-loop.md`.
|
|
21
|
+
4. If this message answers this skill's active correction gate, resume directly under the Approval Resume Protocol. Do not rerun startup or the audit.
|
|
22
|
+
5. 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]`.
|
|
23
|
+
6. Use `languagePreferences.communication.normalized` for audit reports.
|
|
17
24
|
|
|
18
25
|
---
|
|
19
26
|
|
|
@@ -41,7 +48,7 @@ You check **between** documents, not inside a single document.
|
|
|
41
48
|
|
|
42
49
|
## Fix Mode
|
|
43
50
|
|
|
44
|
-
Mode is read in Shared Runtime Setup. Enforcement rules, including the required gate prompt, are in `../_shared/references/
|
|
51
|
+
Mode is read in Shared Runtime Setup. Enforcement rules, including the required gate prompt, are in `../_shared/references/fix-mode.md`.
|
|
45
52
|
|
|
46
53
|
To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-config.json`.
|
|
47
54
|
|
|
@@ -92,14 +99,9 @@ Read everything that exists. Note ID patterns if they are used.
|
|
|
92
99
|
|
|
93
100
|
### Framework Mode
|
|
94
101
|
|
|
95
|
-
|
|
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
|
|
102
|
+
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
103
|
|
|
102
|
-
|
|
104
|
+
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
105
|
|
|
104
106
|
---
|
|
105
107
|
|
|
@@ -110,36 +112,44 @@ Read `README.md`, relevant `SKILL.md` files, and relevant reference files. Note
|
|
|
110
112
|
**SA-01: PRD ↔ architecture**
|
|
111
113
|
- Does the architecture support the PRD NFRs (performance, security, accessibility)?
|
|
112
114
|
- Do the PRD constraints fit the chosen tech stack?
|
|
115
|
+
- Do PRD success metrics map to architecture observability signals where technical instrumentation is required?
|
|
116
|
+
- Does product rollout align with deployment, rollback, and recovery constraints?
|
|
113
117
|
|
|
114
118
|
**SA-02: PRD ↔ schema**
|
|
115
|
-
- Does every PRD entity have a
|
|
116
|
-
- Do
|
|
119
|
+
- Does every persisted PRD entity have a datastore-native representation (table, collection, aggregate, node, stream, or equivalent)?
|
|
120
|
+
- Do validation, relationship, consistency, and retention rules reflect PRD business rules?
|
|
117
121
|
|
|
118
122
|
**SA-03: PRD ↔ api**
|
|
119
|
-
- Does every PRD feature have supporting
|
|
120
|
-
- Does `api.md` contain
|
|
123
|
+
- Does every integration-facing PRD feature have supporting operations (endpoint, query/mutation, procedure, event, or equivalent)?
|
|
124
|
+
- Does `api.md` contain operations for PRD non-goals?
|
|
121
125
|
|
|
122
126
|
**SA-04: PRD ↔ Task.md**
|
|
123
127
|
- Is every PRD feature mapped to >=1 task?
|
|
124
128
|
- 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
129
|
- Do PRD IDs (`FEAT-*`, `BR-*`) appear in Task.md traceability?
|
|
130
|
+
- Do rollout, analytics, degraded behavior, and applicable NFR work have tasks or explicit N/A decisions?
|
|
126
131
|
|
|
127
132
|
**SA-05: schema ↔ api**
|
|
128
|
-
- Does every
|
|
133
|
+
- Does every persisted input/output field in `api.md` map to the data contract where appropriate?
|
|
129
134
|
- Do response types match schema types?
|
|
130
135
|
- If schema/api traceability is used, does it reference real PRD IDs?
|
|
136
|
+
- Do API retry/idempotency assumptions align with schema concurrency and consistency rules?
|
|
131
137
|
|
|
132
138
|
**SA-06: architecture ↔ rules**
|
|
133
139
|
- Are architectural patterns (e.g. repository pattern) required in `rules.md`?
|
|
134
140
|
- Do any rules conflict with the chosen architecture?
|
|
141
|
+
- Do logging, migration, feature-flag, generated-code, and secret rules exist only when their architecture/schema mechanisms apply?
|
|
135
142
|
|
|
136
143
|
**SA-07: architecture ↔ schema**
|
|
137
144
|
- Does schema notation fit the architecture's database choice?
|
|
138
145
|
- Is schema style consistent with the architecture's ORM choice?
|
|
146
|
+
- Do tenancy, scale, migration, backup, and recovery assumptions align?
|
|
139
147
|
|
|
140
148
|
**SA-08: StyleGuide ↔ PRD**
|
|
141
149
|
- Does the CSS framework in StyleGuide match any PRD mention?
|
|
142
150
|
- Are all PRD pages/features covered by StyleGuide components?
|
|
151
|
+
- Do accessibility targets and supported locales match the PRD?
|
|
152
|
+
- Do operational UI states cover PRD failure/degraded behavior where UI is involved?
|
|
143
153
|
|
|
144
154
|
**SA-09: Task.md ↔ all specs**
|
|
145
155
|
- Do task references point to real spec sections?
|
|
@@ -147,6 +157,7 @@ Read `README.md`, relevant `SKILL.md` files, and relevant reference files. Note
|
|
|
147
157
|
- If task traceability IDs are used, do they reference real PRD/schema/api/rules IDs?
|
|
148
158
|
- Are semi-structured fields (ID, table, `Trace to`, `Traceability ID`) preserved instead of replaced with free text?
|
|
149
159
|
- If new scope exists only in `## Approved Scope Delta`, the audit must separate it as `temporary approval`, not mix it with uncontrolled scope creep.
|
|
160
|
+
- Does each phase Definition of Done include only applicable controls from the specs and quality gates?
|
|
150
161
|
|
|
151
162
|
### Framework Mode
|
|
152
163
|
|
|
@@ -175,7 +186,7 @@ Read `README.md`, relevant `SKILL.md` files, and relevant reference files. Note
|
|
|
175
186
|
- Are there dead ends, loops, or mismatched handoffs?
|
|
176
187
|
|
|
177
188
|
**SA-F07: Persona consistency**
|
|
178
|
-
- Are personas, roles, and assigned skills consistent across README, `
|
|
189
|
+
- Are personas, roles, and assigned skills consistent across README, `meet`, and skill frontmatter?
|
|
179
190
|
- Does any skill name the wrong owner?
|
|
180
191
|
|
|
181
192
|
**SA-F08: Enforcement & order consistency**
|
|
@@ -242,6 +253,11 @@ Findings:
|
|
|
242
253
|
[List of findings]
|
|
243
254
|
|
|
244
255
|
Clean: [list of SA-XX / SA-FXX with no issues]
|
|
256
|
+
|
|
257
|
+
Fix Manifest (only when corrections were requested):
|
|
258
|
+
| Finding | Target document | Exact correction | Validation pair |
|
|
259
|
+
|---|---|---|---|
|
|
260
|
+
| [ID] | `[path]` | [bounded correction] | `[doc A] ↔ [doc B]` |
|
|
245
261
|
```
|
|
246
262
|
|
|
247
263
|
If there are no issues:
|
|
@@ -250,8 +266,9 @@ If there are no issues:
|
|
|
250
266
|
```
|
|
251
267
|
|
|
252
268
|
**Apply fixes:**
|
|
253
|
-
-
|
|
254
|
-
-
|
|
269
|
+
- Audit-only invocation: report only, regardless of `fixMode`; do not offer a mutation gate unless the user requests corrections.
|
|
270
|
+
- Correction requested + `fix-then-report`: apply actionable corrections, validate all affected document pairs, then report.
|
|
271
|
+
- Correction requested + `report-first`: show the summary and shared gate. On approval, resume directly under the Approval Resume Protocol.
|
|
255
272
|
|
|
256
273
|
---
|
|
257
274
|
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-compliance
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: Verifies that code matches all applicable project specs and applies approved compliance fixes. Use after each phase before code-review, on explicit compliance requests, and when the user replies yes, fix, continue, or finding IDs to this skill's report-first 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 Compliance
|
|
9
11
|
|
|
10
12
|
## Shared Runtime Setup
|
|
11
13
|
|
|
14
|
+
Paths written as `../...` below are relative to this SKILL.md's own folder, not the project's working directory - resolve them as a sibling of the folder that contains this file.
|
|
15
|
+
|
|
12
16
|
Before continuing:
|
|
13
17
|
|
|
14
|
-
1. Read `../_shared/references/
|
|
15
|
-
2. Read
|
|
16
|
-
3.
|
|
18
|
+
1. Read `../_shared/references/language-config.md`.
|
|
19
|
+
2. Read `../_shared/references/fix-mode.md`.
|
|
20
|
+
3. Read `../_shared/references/human-loop.md`.
|
|
21
|
+
4. Read `../_shared/references/finding-format.md`.
|
|
22
|
+
5. If this message answers this skill's active report-first gate, resume directly under the Approval Resume Protocol. Do not rerun startup or compliance analysis.
|
|
23
|
+
6. 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]`.
|
|
24
|
+
7. Use `languagePreferences.communication.normalized` for all user-facing reports and review output.
|
|
17
25
|
|
|
18
26
|
---
|
|
19
27
|
|
|
@@ -41,7 +49,7 @@ You are a **QA Engineer and Spec Auditor** who ensures that no implementation dr
|
|
|
41
49
|
|
|
42
50
|
## Fix Mode
|
|
43
51
|
|
|
44
|
-
Mode is read in Shared Runtime Setup. Enforcement rules, including the required gate prompt, are in `../_shared/references/
|
|
52
|
+
Mode is read in Shared Runtime Setup. Enforcement rules, including the required gate prompt, are in `../_shared/references/fix-mode.md`.
|
|
45
53
|
|
|
46
54
|
To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-config.json`.
|
|
47
55
|
|
|
@@ -66,6 +74,8 @@ To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-confi
|
|
|
66
74
|
- [ ] Acceptance criteria per feature are met (Given/When/Then from `PRD.md`)
|
|
67
75
|
- [ ] No features from `PRD.md § Non-Goals` are included
|
|
68
76
|
- [ ] NFRs are considered: performance, security, accessibility per `PRD.md § Non-Functional Requirements`
|
|
77
|
+
- [ ] If this phase implements analytics or rollout behavior, it matches `PRD.md § Success Metrics and Rollout`; otherwise mark N/A
|
|
78
|
+
- [ ] Failure/degraded behavior implemented by this phase matches the PRD where specified
|
|
69
79
|
- [ ] If the PRD uses requirement IDs (`FEAT-*`, `BR-*`, etc.), phase code is traceable to the relevant IDs through Task.md
|
|
70
80
|
- [ ] If changes are not yet in the PRD but are recorded in the active phase plan `## Approved Scope Delta`, DO NOT mark them as scope creep violations for this phase. Note them as `pending formal spec update` if needed.
|
|
71
81
|
|
|
@@ -87,6 +97,7 @@ To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-confi
|
|
|
87
97
|
- [ ] Auth method matches `architecture.md § Authentication & Authorization`
|
|
88
98
|
- [ ] State management is consistent - do not mix Zustand and Redux
|
|
89
99
|
- [ ] API type is consistent - REST stays REST, not suddenly GraphQL
|
|
100
|
+
- [ ] Operations, observability, rollback, and recovery constraints touched by this phase follow architecture; otherwise mark N/A
|
|
90
101
|
|
|
91
102
|
**Example findings:**
|
|
92
103
|
```
|
|
@@ -101,11 +112,12 @@ To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-confi
|
|
|
101
112
|
|
|
102
113
|
**Read:** `project-context/schema.md`
|
|
103
114
|
|
|
104
|
-
- [ ]
|
|
105
|
-
- [ ] Naming conventions
|
|
106
|
-
- [ ] Relationships
|
|
107
|
-
- [ ]
|
|
108
|
-
- [ ]
|
|
115
|
+
- [ ] Persisted entity and field names match the datastore-native contract; no invented names
|
|
116
|
+
- [ ] Naming, identifier, validation, retention, and consistency conventions follow `schema.md`
|
|
117
|
+
- [ ] Relationships/data placement match the selected model: keys, references, embedding, edges, streams, or equivalent
|
|
118
|
+
- [ ] Delete, retention, archival, and projection behavior matches the contract where applicable
|
|
119
|
+
- [ ] Required audit/version fields or event metadata exist where the selected model defines them
|
|
120
|
+
- [ ] Tenant isolation, concurrency, and schema-evolution constraints touched by this phase match `schema.md`; otherwise mark N/A
|
|
109
121
|
- [ ] PII is handled safely - never logged, never exposed in responses
|
|
110
122
|
- [ ] If a table has `Trace to`, its usage aligns with the referenced requirement
|
|
111
123
|
|
|
@@ -122,15 +134,14 @@ To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-confi
|
|
|
122
134
|
|
|
123
135
|
**Read:** `project-context/api.md`
|
|
124
136
|
|
|
125
|
-
- [ ]
|
|
126
|
-
- [ ]
|
|
127
|
-
- [ ]
|
|
128
|
-
- [ ]
|
|
129
|
-
- [ ]
|
|
130
|
-
- [ ]
|
|
131
|
-
- [ ]
|
|
132
|
-
- [ ]
|
|
133
|
-
- [ ] If a new endpoint is not yet recorded in `api.md` but is listed in `## Approved Scope Delta`, do not mark it as a rogue endpoint for the active phase. Note that a formal spec update is still pending.
|
|
137
|
+
- [ ] Operation identity matches the selected protocol: REST method/path, GraphQL operation, RPC procedure, or event channel/topic
|
|
138
|
+
- [ ] Input arguments/payload fields and types match `api.md`
|
|
139
|
+
- [ ] Success result and error semantics match the protocol-native contract
|
|
140
|
+
- [ ] Pagination/filtering or subscription/delivery behavior follows `api.md` where applicable
|
|
141
|
+
- [ ] Authentication, authorization, idempotency, and replay controls match the contract
|
|
142
|
+
- [ ] Deprecation, retry/timeout, SLO, and contract-test invariants touched by this phase match `api.md`; otherwise mark N/A
|
|
143
|
+
- [ ] `API-*` operations remain traceable to requirements
|
|
144
|
+
- [ ] A new operation listed in `## Approved Scope Delta` is temporary approved scope, not a rogue operation; note pending formal spec sync
|
|
134
145
|
|
|
135
146
|
**Example findings:**
|
|
136
147
|
```
|
|
@@ -150,6 +161,7 @@ To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-confi
|
|
|
150
161
|
- [ ] TypeScript rules are followed: strict, no `any`, no `enum` (if forbidden)
|
|
151
162
|
- [ ] Code style rules are followed: no `console.log`, early return, max function length
|
|
152
163
|
- [ ] Security rules are followed: tokens in httpOnly cookies, no secrets in code
|
|
164
|
+
- [ ] Applicable logging, migration, feature-flag, generated-code, and secret-rotation rules are followed
|
|
153
165
|
|
|
154
166
|
**Example findings:**
|
|
155
167
|
```
|
|
@@ -169,6 +181,7 @@ To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-confi
|
|
|
169
181
|
- [ ] Spacing uses the system - no random margin/padding
|
|
170
182
|
- [ ] Border radius/shadow follow `StyleGuide § Component Style`
|
|
171
183
|
- [ ] Breakpoints follow `StyleGuide § Responsive & Breakpoints`
|
|
184
|
+
- [ ] Applicable operational states, accessibility, localization, and UI performance constraints are implemented
|
|
172
185
|
|
|
173
186
|
**Example findings:**
|
|
174
187
|
```
|
|
@@ -190,6 +203,7 @@ To change it: update `codeReviewPreferences.fixMode` in `.agents/developer-confi
|
|
|
190
203
|
- [ ] The task is not half-finished - no unfinished work remains
|
|
191
204
|
- [ ] If the task has traceability IDs, all are valid and point to real upstream artifacts
|
|
192
205
|
- [ ] If an active phase task implements new scope recorded only in `## Approved Scope Delta`, treat it as valid for the active phase, but mention that syncing into the main spec documents is still pending if not done yet.
|
|
206
|
+
- [ ] Every applicable Phase Definition of Done item has evidence; `N/A` items include a reason
|
|
193
207
|
|
|
194
208
|
**Example findings:**
|
|
195
209
|
```
|
|
@@ -260,26 +274,15 @@ The report is shown in this session chat. Do not save it to a file unless the us
|
|
|
260
274
|
| developer-config.json (scope) | ✅ OK | — |
|
|
261
275
|
### Detailed Findings
|
|
262
276
|
[list findings per item - use the 4-point format below]
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
**Format for each finding - MUST use these 4 points. MUST NOT show code:**
|
|
266
|
-
|
|
267
|
-
```markdown
|
|
268
|
-
#### [Severity] [ID] [Short Title]
|
|
269
277
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
[Explain the impact in simple logic - as if speaking to a user who understands how the app works, not the code. Short and direct.]
|
|
275
|
-
|
|
276
|
-
**What happens if it is fixed?**
|
|
277
|
-
[Explain the benefit in simple logic. Short and direct.]
|
|
278
|
-
|
|
279
|
-
**Recommended fix**
|
|
280
|
-
[Explain what needs to change in logic and flow, not code syntax.]
|
|
278
|
+
### Fix Manifest
|
|
279
|
+
| Finding | Target | Intended change | Validation |
|
|
280
|
+
|---|---|---|---|
|
|
281
|
+
| [ID] | `[path]` | [bounded change] | [compliance check/test] |
|
|
281
282
|
```
|
|
282
283
|
|
|
284
|
+
Format each finding with the shared `finding-format.md` loaded during setup.
|
|
285
|
+
|
|
283
286
|
---
|
|
284
287
|
|
|
285
288
|
## Execution Rules
|
|
@@ -295,8 +298,8 @@ The report is shown in this session chat. Do not save it to a file unless the us
|
|
|
295
298
|
|
|
296
299
|
**`report-first`:**
|
|
297
300
|
```
|
|
298
|
-
💥 BLOCKER / 🔴 MAJOR -> Report all findings
|
|
299
|
-
|
|
301
|
+
💥 BLOCKER / 🔴 MAJOR / ⚠️ actionable MINOR -> Report all findings and the fix manifest. Show one gate. On approval, edit the approved manifest directly, validate, and rerun only affected compliance checks without another gate.
|
|
302
|
+
ℹ️ INFO / non-actionable note -> Report only; do not include it in the fix manifest.
|
|
300
303
|
✅ OK -> Continue to the code-review skill.
|
|
301
304
|
```
|
|
302
305
|
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-init
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
description: Generates evidence-backed `project-context/` specs from an existing codebase in batch or guided mode, recording confidence and missing decisions. Use only when the user explicitly requests spec bootstrapping or reverse documentation.
|
|
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 Init
|
|
9
11
|
|
|
10
12
|
## Shared Runtime Setup
|
|
11
13
|
|
|
14
|
+
Paths written as `../...` below are relative to this SKILL.md's own folder, not the project's working directory - resolve them as a sibling of the folder that contains this file.
|
|
15
|
+
|
|
12
16
|
Before starting:
|
|
13
17
|
|
|
14
|
-
1. Read `../_shared/references/
|
|
18
|
+
1. Read `../_shared/references/language-config.md`.
|
|
15
19
|
2. Read `../_shared/references/human-loop.md`.
|
|
16
20
|
3. Read `../_shared/references/scope-rules.md`.
|
|
17
21
|
4. Use `languagePreferences.communication.normalized` for chat output and review prompts.
|
|
@@ -42,6 +46,8 @@ Every claim carries a **confidence level**:
|
|
|
42
46
|
|
|
43
47
|
## Step 0 — Choose a Mode
|
|
44
48
|
|
|
49
|
+
Before asking for a mode, inventory the target files in `project-context/`. Never overwrite an existing document implicitly. If any target exists, ask one decision for this run: preserve and skip existing files, regenerate named files, or cancel and review. List every file that would be replaced. This approval applies only to the named files.
|
|
50
|
+
|
|
45
51
|
Ask the user before starting:
|
|
46
52
|
|
|
47
53
|
```
|
|
@@ -143,11 +149,22 @@ When any Medium or Low confidence exists, also include:
|
|
|
143
149
|
- [question that still needs user confirmation]
|
|
144
150
|
````
|
|
145
151
|
|
|
152
|
+
Every generated document must include unresolved decisions that cannot be observed from code:
|
|
153
|
+
|
|
154
|
+
````markdown
|
|
155
|
+
## Missing Decisions
|
|
156
|
+
|
|
157
|
+
| Decision Needed | Why It Cannot Be Inferred | Recommended Owner Skill |
|
|
158
|
+
|-----------------|---------------------------|-------------------------|
|
|
159
|
+
| [decision] | [missing evidence] | `[brainstorm-* skill]` |
|
|
160
|
+
````
|
|
161
|
+
|
|
146
162
|
Rules:
|
|
147
163
|
- Do not mark **High** unless direct evidence exists.
|
|
148
164
|
- For **Medium**, explain the inference basis briefly.
|
|
149
165
|
- For **Low**, write it as a question or note, not a final fact.
|
|
150
166
|
- `PRD.md` usually mixes High and Medium confidence because it is synthesized last from other artifacts.
|
|
167
|
+
- Never infer missing business motivation, rollout, SLO, tenancy, migration, recovery, or operational policy from convention alone. Record it under `Missing Decisions` and route it to the owning brainstorm skill.
|
|
151
168
|
|
|
152
169
|
---
|
|
153
170
|
|
|
@@ -216,40 +233,40 @@ Next steps:
|
|
|
216
233
|
**Read:** folder structure, `package.json`, config files
|
|
217
234
|
**Extract:** tech stack, folder structure, database choice, deployment setup, visible design patterns
|
|
218
235
|
**Add:** `Input Evidence` listing the files and folders used to infer the architecture
|
|
219
|
-
**Add if possible:** `Document Role`, `System Boundaries`, `Canonical Terminology`, `ADR Index`, `Assumptions & Open Questions`
|
|
236
|
+
**Add if possible:** `Document Role`, `System Boundaries`, `Canonical Terminology`, `ADR Index`, observed operations/observability/recovery facts, `Assumptions & Open Questions`, `Missing Decisions`
|
|
220
237
|
|
|
221
238
|
### rules.md
|
|
222
239
|
**Read:** `.eslintrc*`, `.prettierrc*`, `tsconfig.json`, 2-3 code examples
|
|
223
240
|
**Extract:** naming conventions in use, indentation, quote style, consistent patterns
|
|
224
241
|
**Add a `[FORBIDDEN]` section:** From ESLint rules and TypeScript strict settings, extract the 5-10 most critical technical prohibitions into a `[FORBIDDEN]` table format that matches `brainstorm-rules` output.
|
|
225
242
|
**Add:** `Input Evidence` listing the config files and code examples used
|
|
226
|
-
**Add if possible:** `Document Role`, `Rule Priority`, `Assumptions & Exceptions`
|
|
243
|
+
**Add if possible:** `Document Role`, `Rule Priority`, observed conditional operational rules, `Assumptions & Exceptions`, `Missing Decisions`
|
|
227
244
|
|
|
228
245
|
### schema.md
|
|
229
246
|
**Read:** `migrations/`, `models/`, `prisma/schema.prisma`, or equivalents
|
|
230
|
-
**Extract:**
|
|
247
|
+
**Extract:** datastore-native entities (tables, collections, aggregates, nodes, streams, or keys), fields/payloads, types, relationships, validation, retention, and indexes/projections
|
|
231
248
|
**Add:** `Input Evidence` listing the schema sources inspected
|
|
232
|
-
**Add if possible:** `Document Role`, `Entity Map`, `Not Yet Modeled / Deferred`, `Assumptions & Open Questions`
|
|
249
|
+
**Add if possible:** `Document Role`, `Entity Map`, observed scale/tenancy/concurrency/migration facts, `Not Yet Modeled / Deferred`, `Assumptions & Open Questions`, `Missing Decisions`
|
|
233
250
|
|
|
234
251
|
### api.md
|
|
235
|
-
**Read:** `routes/`, `controllers/`, `handlers/`, OpenAPI/Swagger if available
|
|
236
|
-
**Extract:**
|
|
252
|
+
**Read:** protocol-native routing/integration sources such as `routes/`, `controllers/`, `handlers/`, GraphQL schemas/resolvers, RPC routers, event producers/consumers, and OpenAPI/Swagger if available
|
|
253
|
+
**Extract:** protocol-native operation identity, request/input shape, response/output/event shape, auth requirements, lifecycle/deprecation facts, and reliability signals
|
|
237
254
|
**Add:** `Input Evidence` listing the routing/controller sources inspected
|
|
238
|
-
**Add if possible:** `Document Role`, `Scope Summary`, `Canonical Terminology`,
|
|
255
|
+
**Add if possible:** `Document Role`, `Scope Summary`, `Canonical Terminology`, operation inventory, observed reliability/deprecation facts, `Assumptions & Open Questions`, `Missing Decisions`
|
|
239
256
|
|
|
240
257
|
### StyleGuide.md
|
|
241
258
|
**Read:** `tailwind.config.*`, `components/` folder, main CSS/SCSS files
|
|
242
259
|
**Extract:** colors in use, existing components, spacing system, fonts
|
|
243
260
|
**Skip if:** there is no UI folder or the project is backend-only
|
|
244
261
|
**Add:** `Input Evidence` listing the UI assets inspected
|
|
245
|
-
**Add if possible:** `Document Role`, `Supported Surfaces`, `Component Inventory`, `Non-Goals / Not Yet Defined`, `Assumptions & Open Questions`
|
|
262
|
+
**Add if possible:** `Document Role`, `Supported Surfaces`, `Component Inventory`, observed accessibility/operational states, `Non-Goals / Not Yet Defined`, `Assumptions & Open Questions`, `Missing Decisions`
|
|
246
263
|
|
|
247
264
|
### PRD.md
|
|
248
265
|
**Do not read new files**. Only synthesize from previous documents.
|
|
249
|
-
**Extract:** features already built (from
|
|
266
|
+
**Extract:** features already built (from API, UI, and schema evidence) and business rules supported by direct constraints or behavior. Treat absent capabilities as `not observed`, `unknown`, or `deferred`; absence is not evidence of an intentional non-goal.
|
|
250
267
|
**Confidence note:** PRD usually mixes **High** and **Medium**. Do not state business motivation as fact unless it is explicitly visible in the codebase.
|
|
251
268
|
**Add:** `Input Evidence` referencing the previously generated spec files used for synthesis
|
|
252
|
-
**Add if possible:** `Document Role`, `Canonical Terminology`, `Reading Guide for AI`
|
|
269
|
+
**Add if possible:** `Document Role`, `Canonical Terminology`, observed metrics/workarounds, `Reading Guide for AI`, `Missing Decisions`
|
|
253
270
|
|
|
254
271
|
---
|
|
255
272
|
|