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,24 @@
|
|
|
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
|
-
|
|
5
|
-
|
|
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
|
|
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/
|
|
18
|
+
1. Read `../_shared/references/language-config.md`.
|
|
15
19
|
2. Read `../_shared/references/scope-rules.md`.
|
|
16
|
-
3.
|
|
20
|
+
3. Read `../_shared/references/invocation-policy.md` when explaining how a skill is activated.
|
|
21
|
+
4. Use `languagePreferences.communication.normalized` for all chat output, reports, and guidance.
|
|
17
22
|
|
|
18
23
|
---
|
|
19
24
|
|
|
@@ -43,8 +48,10 @@ You are a patient **Mentor and Guide** who explains complex systems with everyda
|
|
|
43
48
|
|
|
44
49
|
Check whether the `project-context/` folder exists:
|
|
45
50
|
- **No:** first check whether a real codebase already exists (for example `package.json`, `composer.json`, `go.mod`, `src/`, `app/`, `artisan`, `routes/`).
|
|
46
|
-
-
|
|
47
|
-
- If
|
|
51
|
+
- Before recommending a skill, give a short plain-language orientation (2-4 sentences, no jargon): this system writes down what to build before touching code, then checks the code against that writing afterward - this catches misunderstandings early and gives every future session a stable source of truth instead of re-guessing intent from scratch.
|
|
52
|
+
- If a real codebase exists: show "The codebase already exists but `project-context/` has not been created yet. Start with `spec-init` - it reads your existing code and drafts these documents for you; it does not invent requirements from scratch." Then stop.
|
|
53
|
+
- If no real codebase exists: show "No spec documents exist yet. This is a new project. Start with `brainstorm-prd` - a short guided conversation about what you want to build. Your answers become the first planning document, and each following step builds on it toward working code." Then stop.
|
|
54
|
+
- Mention once, briefly: you can call `help` again anytime you are not sure what to do next.
|
|
48
55
|
- **Yes:** Continue and read whichever files exist.
|
|
49
56
|
|
|
50
57
|
Check for the existence of:
|
|
@@ -117,12 +124,13 @@ Before recommending the next skill, read `developerPreferences.scope` if present
|
|
|
117
124
|
| PRD + Architecture exist, UI direction is needed | Use `brainstorm-styleguide` |
|
|
118
125
|
| All files exist except Task.md | Run `brainstorm-task` |
|
|
119
126
|
| Task.md exists, incomplete tasks `[ ]` remain | Continue with `developer` |
|
|
120
|
-
| All tasks are complete `[x]`, and
|
|
127
|
+
| 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
128
|
| A bug is reported | Use `bug-fix` |
|
|
122
129
|
| Need to check spec consistency | Run `spec-audit` in **project mode** |
|
|
123
130
|
| Want to audit the MACCA framework itself | Run `spec-audit` in **framework mode** |
|
|
124
|
-
| Want
|
|
125
|
-
|
|
|
131
|
+
| Want one structured round of team input | Run `meet` |
|
|
132
|
+
| Preparing a completed candidate for production | Run `release-readiness` |
|
|
133
|
+
| All tasks are complete, no changes remain | Run `spec-audit` in **project mode**; before production release, run `release-readiness` |
|
|
126
134
|
|
|
127
135
|
---
|
|
128
136
|
|
|
@@ -136,18 +144,13 @@ For deeper questions, use the routing guide below instead of answering from memo
|
|
|
136
144
|
|
|
137
145
|
## Reference Routing
|
|
138
146
|
|
|
139
|
-
For deeper questions,
|
|
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`
|
|
147
|
+
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
148
|
|
|
147
149
|
Keep inline explanations short:
|
|
148
150
|
- `spec-compliance` = checks whether the code matches the agreed specs
|
|
149
151
|
- `code-review` = checks whether implementation quality and security are good
|
|
150
152
|
- `brainstorm-*` = defines source-of-truth planning documents
|
|
151
153
|
- `developer` = executes `Task.md` phase by phase
|
|
154
|
+
- `release-readiness` = report-only gate for deployment, migration, config, observability, rollback, and operational evidence
|
|
152
155
|
|
|
153
156
|
If a question needs exact wording or edge-case details, read the matching README section first instead of paraphrasing from memory.
|
|
@@ -0,0 +1,170 @@
|
|
|
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
|
+
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
|
+
|
|
16
|
+
At startup:
|
|
17
|
+
|
|
18
|
+
1. Read `../_shared/references/language-config.md`.
|
|
19
|
+
2. Read `../_shared/references/output-ownership.md`.
|
|
20
|
+
3. Use `languagePreferences.communication.normalized` for the meeting output.
|
|
21
|
+
|
|
22
|
+
## Character
|
|
23
|
+
|
|
24
|
+
Operate as `@Galbi` (Project Manager). Use the shared persona profile in `../_shared/references/personas.md`.
|
|
25
|
+
|
|
26
|
+
## Meeting Contract
|
|
27
|
+
|
|
28
|
+
@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.
|
|
29
|
+
|
|
30
|
+
Required flow:
|
|
31
|
+
|
|
32
|
+
1. Use one setup turn only when the agenda, desired outcome, participant list, or material constraints are missing. Evidence is optional.
|
|
33
|
+
2. Deliver all selected persona contributions in one meeting response.
|
|
34
|
+
3. Give each selected persona exactly one contribution block.
|
|
35
|
+
4. Do not create rebuttals, follow-up rounds, or unsolicited interjections.
|
|
36
|
+
5. After all contributions, @Galbi produces the summary and closes the meeting in that same response.
|
|
37
|
+
6. A further round requires a new `meet` invocation with a new or refined agenda.
|
|
38
|
+
|
|
39
|
+
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`.
|
|
40
|
+
|
|
41
|
+
## Step 1: Collect Meeting Inputs
|
|
42
|
+
|
|
43
|
+
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:
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
Welcome to the team meeting room.
|
|
47
|
+
|
|
48
|
+
Agenda:
|
|
49
|
+
- What decision, problem, or proposal should the team review?
|
|
50
|
+
|
|
51
|
+
Desired outcome:
|
|
52
|
+
- What must be decided or produced by the end of this meeting?
|
|
53
|
+
|
|
54
|
+
Hard constraints:
|
|
55
|
+
- Which constraints, deadlines, or excluded options cannot be negotiated? Write "none" if there are none.
|
|
56
|
+
|
|
57
|
+
Evidence (optional):
|
|
58
|
+
- Which specs, measurements, incidents, or proposals should participants consider?
|
|
59
|
+
|
|
60
|
+
Available participants:
|
|
61
|
+
- @Galbi — Product scope, user value, priorities, sequencing
|
|
62
|
+
- @Fachri — Architecture, security, data/API contracts, code quality
|
|
63
|
+
- @Akram — User flow, UI/UX, accessibility, design-system impact
|
|
64
|
+
- @Firdaus — Implementation, reuse, dependencies, effort, validation
|
|
65
|
+
- @Ikhsan — Failure modes, edge cases, regressions, investigation
|
|
66
|
+
|
|
67
|
+
Participants:
|
|
68
|
+
- Who should contribute? Example: "Fachri Firdaus" or "all".
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
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.
|
|
72
|
+
|
|
73
|
+
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.
|
|
74
|
+
|
|
75
|
+
## Step 2: Run One Ordered Round
|
|
76
|
+
|
|
77
|
+
@Galbi introduces the agenda and selected participants in one short facilitator sentence. Do not create separate introduction messages.
|
|
78
|
+
|
|
79
|
+
Use this fixed order and skip unselected personas:
|
|
80
|
+
|
|
81
|
+
1. `@Galbi` — Product Manager
|
|
82
|
+
2. `@Fachri` — Tech Lead
|
|
83
|
+
3. `@Akram` — UI/UX Designer
|
|
84
|
+
4. `@Firdaus` — Expert Developer
|
|
85
|
+
5. `@Ikhsan` — Debugger
|
|
86
|
+
|
|
87
|
+
Each selected persona gets exactly one block:
|
|
88
|
+
|
|
89
|
+
````markdown
|
|
90
|
+
### @Persona — [Role]
|
|
91
|
+
|
|
92
|
+
**Recommendation:** [one clear recommendation]
|
|
93
|
+
|
|
94
|
+
**Why:** [concise reasoning from the persona's domain]
|
|
95
|
+
|
|
96
|
+
**Evidence / assumption:** [supporting fact, or clearly labeled assumption]
|
|
97
|
+
|
|
98
|
+
**Risk / trade-off:** [most important risk, or "No material risk identified"]
|
|
99
|
+
|
|
100
|
+
**Suggested action:** [one concrete next action]
|
|
101
|
+
````
|
|
102
|
+
|
|
103
|
+
Contribution rules:
|
|
104
|
+
|
|
105
|
+
- One block is the persona's entire opportunity to speak. Make it complete but concise.
|
|
106
|
+
- Do not let an unselected persona contribute.
|
|
107
|
+
- A persona may acknowledge another domain inside the same block but may not respond again later.
|
|
108
|
+
- Do not simulate debate, back-and-forth, or agreement messages.
|
|
109
|
+
- If recommendations conflict, preserve both positions. Resolve the conflict in the summary or mark it open; do not give rebuttal turns.
|
|
110
|
+
- Do not repeat the same recommendation through multiple personas unless their reasons or risks are materially different.
|
|
111
|
+
- Every recommendation must address the desired outcome and respect hard constraints.
|
|
112
|
+
|
|
113
|
+
## Step 3: Summarize and Map Artifacts
|
|
114
|
+
|
|
115
|
+
Immediately after the final persona contribution, @Galbi organizes the outcome into:
|
|
116
|
+
|
|
117
|
+
1. **Final Decisions** — sufficiently supported conclusions.
|
|
118
|
+
2. **Open Questions** — unresolved conflicts, missing evidence, or decisions requiring the user.
|
|
119
|
+
3. **Action Items** — concrete follow-up work and its owning skill.
|
|
120
|
+
|
|
121
|
+
Map every final decision to its primary artifact using `../_shared/references/output-ownership.md`:
|
|
122
|
+
|
|
123
|
+
- Feature scope, user flow, business rules -> `project-context/PRD.md`
|
|
124
|
+
- Technical decisions, ADRs, system structure -> `project-context/architecture.md`
|
|
125
|
+
- Data models and persistence contracts -> `project-context/schema.md`
|
|
126
|
+
- API operations, auth, and error contracts -> `project-context/api.md`
|
|
127
|
+
- UI, components, accessibility, design tokens -> `project-context/StyleGuide.md`
|
|
128
|
+
- Coding rules or AI behavior -> `project-context/rules.md`
|
|
129
|
+
- Next work or new phases -> `project-context/Task.md`
|
|
130
|
+
- Confirmed resolved bugs -> `project-context/bug-log.md`
|
|
131
|
+
|
|
132
|
+
The meeting is discussion-only. It reports artifact handoffs but does not edit those artifacts. Use the owning skill afterward.
|
|
133
|
+
|
|
134
|
+
## Step 4: Close Automatically
|
|
135
|
+
|
|
136
|
+
Use this structure in the same meeting response:
|
|
137
|
+
|
|
138
|
+
````markdown
|
|
139
|
+
## @Galbi — Meeting Summary
|
|
140
|
+
|
|
141
|
+
### Final Decisions
|
|
142
|
+
- [decision, or "No final decision yet"]
|
|
143
|
+
|
|
144
|
+
### Open Questions
|
|
145
|
+
- [unresolved item, or "None"]
|
|
146
|
+
|
|
147
|
+
### Action Items
|
|
148
|
+
- [action] — owner: `[skill-name]`
|
|
149
|
+
|
|
150
|
+
### Artifact Handoffs
|
|
151
|
+
- `project-context/[filename].md` — [required update]
|
|
152
|
+
|
|
153
|
+
### Recommended Next Skill
|
|
154
|
+
- `[skill-name]` — [reason]
|
|
155
|
+
|
|
156
|
+
Meeting closed. Start a new `meet` if another round is needed.
|
|
157
|
+
````
|
|
158
|
+
|
|
159
|
+
## Rules
|
|
160
|
+
|
|
161
|
+
1. @Galbi always facilitates, keeps the order, summarizes, and closes.
|
|
162
|
+
2. Every persona stays within their assigned domain.
|
|
163
|
+
3. Every selected persona gets exactly one contribution block.
|
|
164
|
+
4. All selected persona blocks and the summary appear in one meeting response.
|
|
165
|
+
5. No persona gets a second response, rebuttal, or follow-up turn.
|
|
166
|
+
6. Unselected personas remain silent.
|
|
167
|
+
7. Every final decision has at least one target artifact.
|
|
168
|
+
8. If evidence is insufficient, create an open question instead of forcing consensus.
|
|
169
|
+
9. Meeting output does not directly modify project artifacts.
|
|
170
|
+
10. Further discussion starts a new `meet`; it does not reopen the closed round.
|
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: quick-dev
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
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 (this also applies to the `../developer/references/...` reads later in this file).
|
|
15
|
+
|
|
12
16
|
Before any output:
|
|
13
17
|
|
|
14
|
-
1. Read `../_shared/references/
|
|
15
|
-
2. Read `../_shared/references/
|
|
16
|
-
3. Read
|
|
17
|
-
4.
|
|
18
|
-
5.
|
|
18
|
+
1. Read `../_shared/references/language-config.md`.
|
|
19
|
+
2. Read `../_shared/references/config-mutation.md`.
|
|
20
|
+
3. Read `../_shared/references/fix-mode.md`.
|
|
21
|
+
4. Read `../_shared/references/human-loop.md`.
|
|
22
|
+
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.
|
|
23
|
+
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]`.
|
|
24
|
+
7. Use `languagePreferences.communication.normalized` for chat.
|
|
25
|
+
8. Use `languagePreferences.documents.normalized` for generated artifacts.
|
|
19
26
|
|
|
20
27
|
---
|
|
21
28
|
|
|
@@ -23,19 +30,7 @@ Before any output:
|
|
|
23
30
|
|
|
24
31
|
Run as `@Firdaus` (Expert Developer). Use the shared persona profile in `../_shared/references/personas.md`.
|
|
25
32
|
|
|
26
|
-
|
|
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.
|
|
33
|
+
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
34
|
|
|
40
35
|
---
|
|
41
36
|
|
|
@@ -77,7 +72,7 @@ After the user answers, create or update `.agents/developer-config.json` with `n
|
|
|
77
72
|
Read `additionalSkills` and `availableMCPs` from `.agents/developer-config.json`.
|
|
78
73
|
|
|
79
74
|
- **Both exist:** show `[Skills: N registered] [MCPs: ...]` on one line. Tell the user to correct now if needed.
|
|
80
|
-
- **Either missing:**
|
|
75
|
+
- **Either missing:** read `../developer/references/onboarding.md`, ask only the missing setup questions, and preserve other fields.
|
|
81
76
|
|
|
82
77
|
---
|
|
83
78
|
|
|
@@ -86,7 +81,7 @@ Read `additionalSkills` and `availableMCPs` from `.agents/developer-config.json`
|
|
|
86
81
|
Read `developerPreferences.scope` from `.agents/developer-config.json`.
|
|
87
82
|
|
|
88
83
|
- **Exists:** show `[Scope: frontend / backend / fullstack]`. Tell the user to correct now if needed.
|
|
89
|
-
- **Missing:** ask once using the same question as `developer`
|
|
84
|
+
- **Missing:** ask once using the same question as `developer/references/onboarding.md` § Developer Scope. Save answer.
|
|
90
85
|
|
|
91
86
|
---
|
|
92
87
|
|
|
@@ -119,7 +114,7 @@ Need confirmation before proceeding: ← omit entire block if none
|
|
|
119
114
|
- Omit "Need confirmation" block entirely if there are no blocking ambiguities.
|
|
120
115
|
- Non-blocking ambiguities go under "Assumptions" as `[~]` — not as questions.
|
|
121
116
|
- 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
|
-
-
|
|
117
|
+
- 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
118
|
|
|
124
119
|
---
|
|
125
120
|
|
|
@@ -151,24 +146,27 @@ Scan `[FORBIDDEN]` in `rules.md` before any coding.
|
|
|
151
146
|
|
|
152
147
|
---
|
|
153
148
|
|
|
149
|
+
## Step 2b — Record an Approved Scope Delta Before Coding
|
|
150
|
+
|
|
151
|
+
If the task is outside `project-context/`, follow the approval flow in `developer/references/execute-task.md` § Understand and Protect Scope 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.
|
|
152
|
+
|
|
154
153
|
## Step 3 — Execute
|
|
155
154
|
|
|
156
|
-
Read `../developer/references/
|
|
155
|
+
Read `../developer/references/execute-task.md` and follow its task execution workflow:
|
|
157
156
|
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
- **3c.6** — Validate.
|
|
157
|
+
- Understand scope and record approved deltas before coding.
|
|
158
|
+
- Clarify only blocking ambiguity.
|
|
159
|
+
- Define I/O for non-trivial logic.
|
|
160
|
+
- Use additional skills, MCP, shared implementation principles, and project testing policy.
|
|
161
|
+
- Self-review and validate.
|
|
164
162
|
|
|
165
|
-
|
|
163
|
+
The approved scope delta must already exist before this step. Never defer its record until after coding.
|
|
166
164
|
|
|
167
165
|
---
|
|
168
166
|
|
|
169
167
|
## Step 4 — Update Task.md
|
|
170
168
|
|
|
171
|
-
Do a lightweight scan of `Task.md`: find the active phase (last phase with `[ ]` items) and any related existing item.
|
|
169
|
+
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
170
|
|
|
173
171
|
| Condition | Action |
|
|
174
172
|
|---|---|
|
|
@@ -190,7 +188,7 @@ If a scope delta exists, record it inline:
|
|
|
190
188
|
1. Run `spec-compliance`. Follow `fixMode` from Shared Runtime Setup.
|
|
191
189
|
2. Run `code-review`. Follow `fixMode` from Shared Runtime Setup.
|
|
192
190
|
|
|
193
|
-
Both follow the same gate
|
|
191
|
+
Both follow the same `spec-compliance` -> `code-review` gate sequence as `developer/references/close-phase.md`. Do not proceed to Step 6 until both pass.
|
|
194
192
|
|
|
195
193
|
---
|
|
196
194
|
|
|
@@ -0,0 +1,151 @@
|
|
|
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
|
+
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
|
+
|
|
16
|
+
1. Read `../_shared/references/language-config.md`.
|
|
17
|
+
2. Use the configured communication language.
|
|
18
|
+
3. This skill is report-only. Do not edit files, run deployment, publish packages, rotate secrets, apply migrations, or change infrastructure.
|
|
19
|
+
|
|
20
|
+
## Role and Boundary
|
|
21
|
+
|
|
22
|
+
Run as `@Fachri` (Tech Lead). Use the shared persona profile in `../_shared/references/personas.md`.
|
|
23
|
+
|
|
24
|
+
Answer one question: **Is the current candidate safe and operationally ready to release?**
|
|
25
|
+
|
|
26
|
+
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.
|
|
27
|
+
|
|
28
|
+
## Step 1: Identify the Candidate
|
|
29
|
+
|
|
30
|
+
Determine from the user request and repository:
|
|
31
|
+
|
|
32
|
+
- Target environment: production, staging, preview, package registry, or another explicit destination
|
|
33
|
+
- Candidate: branch, commit, tag, version, or current worktree
|
|
34
|
+
- Release scope: changed features/modules and affected data/integrations
|
|
35
|
+
|
|
36
|
+
Ask one focused question only if the candidate or target environment cannot be determined. Never assume production.
|
|
37
|
+
|
|
38
|
+
## Step 2: Read Existing Evidence
|
|
39
|
+
|
|
40
|
+
Read only applicable evidence:
|
|
41
|
+
|
|
42
|
+
- `project-context/PRD.md` — rollout, success criteria, NFRs, degraded behavior
|
|
43
|
+
- `project-context/architecture.md` — deployment, observability, rollback, recovery, ownership
|
|
44
|
+
- `project-context/schema.md` — migration, backfill, compatibility, data recovery
|
|
45
|
+
- `project-context/api.md` — deprecation, retry, SLO, contract invariants
|
|
46
|
+
- `project-context/rules.md` — release, logging, migration, feature flag, dependency rules
|
|
47
|
+
- `project-context/StyleGuide.md` — accessibility and operational UI states when UI changed
|
|
48
|
+
- `project-context/Task.md` — phase completion and Definition of Done
|
|
49
|
+
- Relevant plans, CI results, build/test output, migration files, environment examples, deployment config, runbooks, changelog, and version files
|
|
50
|
+
|
|
51
|
+
Treat chat claims without reproducible evidence as `NOT VERIFIED`.
|
|
52
|
+
|
|
53
|
+
## Step 3: Check Readiness Areas
|
|
54
|
+
|
|
55
|
+
Use `N/A` only with a reason.
|
|
56
|
+
|
|
57
|
+
### RR-01 Scope and Quality Gates
|
|
58
|
+
|
|
59
|
+
- Release scope is explicit and traceable to completed tasks/requirements.
|
|
60
|
+
- Applicable acceptance criteria and phase Definition of Done are complete.
|
|
61
|
+
- Latest relevant `spec-compliance`, `code-review`, and final `spec-audit` evidence has no unresolved BLOCKER/MAJOR findings.
|
|
62
|
+
|
|
63
|
+
### RR-02 Build, Tests, and Smoke Validation
|
|
64
|
+
|
|
65
|
+
- Required build, test, type, lint, and package checks pass under the approved testing policy.
|
|
66
|
+
- A release smoke test covers the critical user journey or service readiness path.
|
|
67
|
+
- Test evidence applies to the candidate, not an older commit.
|
|
68
|
+
|
|
69
|
+
### RR-03 Configuration and Secrets
|
|
70
|
+
|
|
71
|
+
- Required environment variables are documented and validated for the target environment.
|
|
72
|
+
- No secrets are committed or printed in logs.
|
|
73
|
+
- Secret ownership, provisioning, rotation, and revocation are known where applicable.
|
|
74
|
+
|
|
75
|
+
### RR-04 Data Migration and Recovery
|
|
76
|
+
|
|
77
|
+
- Migration order, compatibility, backfill, validation, and failure recovery match `schema.md`.
|
|
78
|
+
- Backup/restore or roll-forward evidence exists when data loss is possible.
|
|
79
|
+
- Destructive changes have explicit approval and a tested recovery path.
|
|
80
|
+
|
|
81
|
+
### RR-05 Deployment, Rollback, and Flags
|
|
82
|
+
|
|
83
|
+
- Deployment owner and procedure are known.
|
|
84
|
+
- Rollback trigger, mechanism, and post-rollback checks are executable.
|
|
85
|
+
- Feature flags have safe defaults, owner, rollout plan, and cleanup/review trigger where used.
|
|
86
|
+
|
|
87
|
+
### RR-06 Observability and Incident Readiness
|
|
88
|
+
|
|
89
|
+
- Required logs, metrics, traces, dashboards, and alerts exist for the released behavior.
|
|
90
|
+
- Sensitive data is redacted.
|
|
91
|
+
- Health/readiness checks reflect real dependency health where applicable.
|
|
92
|
+
- Runbook, escalation owner, and incident contact are known for production services.
|
|
93
|
+
|
|
94
|
+
### RR-07 Compatibility and Consumer Communication
|
|
95
|
+
|
|
96
|
+
- API/schema/config compatibility and deprecation rules are satisfied.
|
|
97
|
+
- Changelog, version, migration notes, and consumer/user communication are ready where applicable.
|
|
98
|
+
|
|
99
|
+
### RR-08 UI and Operational Experience
|
|
100
|
+
|
|
101
|
+
- Applicable accessibility target and loading/empty/error/forbidden/offline states are verified.
|
|
102
|
+
- UI performance constraints are met when UI changed.
|
|
103
|
+
|
|
104
|
+
## Step 4: Verdict
|
|
105
|
+
|
|
106
|
+
Verdicts:
|
|
107
|
+
|
|
108
|
+
- `READY` — every applicable area is verified; no unresolved release blocker.
|
|
109
|
+
- `CONDITIONAL` — no blocker, but named pre-release actions remain and have owners.
|
|
110
|
+
- `NOT READY` — any BLOCKER, unresolved MAJOR, missing recovery for destructive data change, missing required quality evidence, or unknown production-critical configuration.
|
|
111
|
+
|
|
112
|
+
Use this report:
|
|
113
|
+
|
|
114
|
+
````markdown
|
|
115
|
+
# Release Readiness Report
|
|
116
|
+
|
|
117
|
+
**Candidate:** [branch/commit/tag/version]
|
|
118
|
+
**Target:** [environment]
|
|
119
|
+
**Verdict:** READY / CONDITIONAL / NOT READY
|
|
120
|
+
|
|
121
|
+
## Evidence Summary
|
|
122
|
+
| Area | Status | Evidence |
|
|
123
|
+
|------|--------|----------|
|
|
124
|
+
| RR-01 Scope & quality gates | PASS / FAIL / NOT VERIFIED / N/A | [source] |
|
|
125
|
+
| RR-02 Build, tests & smoke | ... | ... |
|
|
126
|
+
| RR-03 Config & secrets | ... | ... |
|
|
127
|
+
| RR-04 Migration & recovery | ... | ... |
|
|
128
|
+
| RR-05 Deploy, rollback & flags | ... | ... |
|
|
129
|
+
| RR-06 Observability & incidents | ... | ... |
|
|
130
|
+
| RR-07 Compatibility & communication | ... | ... |
|
|
131
|
+
| RR-08 UI operational experience | ... | ... |
|
|
132
|
+
|
|
133
|
+
## Blockers
|
|
134
|
+
- [blocker, evidence, owner]
|
|
135
|
+
|
|
136
|
+
## Required Before Release
|
|
137
|
+
- [action] — owner: [role] — validation: [proof required]
|
|
138
|
+
|
|
139
|
+
## Accepted Residual Risks
|
|
140
|
+
- [risk and explicit owner/expiry] / None
|
|
141
|
+
````
|
|
142
|
+
|
|
143
|
+
## Rules
|
|
144
|
+
|
|
145
|
+
1. Report-only: never deploy or mutate release systems.
|
|
146
|
+
2. Evidence beats confidence; missing proof is `NOT VERIFIED`.
|
|
147
|
+
3. Do not rerun broad quality reviews when current results exist.
|
|
148
|
+
4. Never downgrade a BLOCKER/MAJOR from another gate without new evidence from that gate.
|
|
149
|
+
5. Do not require irrelevant enterprise controls for prototypes or non-production targets; use `N/A` with reasons.
|
|
150
|
+
6. A production data migration without a viable recovery strategy is `NOT READY`.
|
|
151
|
+
7. A `READY` verdict expires when the candidate or relevant configuration changes.
|