@rosenfan/matrix 0.1.0 → 0.1.2

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 (37) hide show
  1. package/.claude/skills/matrix/SKILL.md +62 -21
  2. package/.claude/skills/matrix/agents/openai.yaml +4 -4
  3. package/.claude/skills/matrix/scripts/matrix_claude.py +11 -166
  4. package/.claude/skills/matrix/scripts/matrix_state.py +60 -114
  5. package/.claude/skills/matrix-archive/SKILL.md +33 -26
  6. package/.claude/skills/matrix-build/SKILL.md +26 -39
  7. package/.claude/skills/matrix-claude/SKILL.md +22 -22
  8. package/.claude/skills/matrix-design/SKILL.md +28 -29
  9. package/.claude/skills/matrix-hotfix/SKILL.md +8 -8
  10. package/.claude/skills/matrix-open/SKILL.md +17 -20
  11. package/.claude/skills/matrix-status/SKILL.md +4 -3
  12. package/.claude/skills/matrix-tweak/SKILL.md +8 -8
  13. package/.claude/skills/matrix-verify/SKILL.md +18 -29
  14. package/LICENSE +21 -21
  15. package/README.md +255 -242
  16. package/README.zh-CN.md +254 -242
  17. package/assets/skills-zh-CN/matrix/SKILL.md +57 -5
  18. package/assets/skills-zh-CN/matrix-archive/SKILL.md +23 -2
  19. package/assets/skills-zh-CN/matrix-build/SKILL.md +26 -2
  20. package/assets/skills-zh-CN/matrix-claude/SKILL.md +12 -11
  21. package/assets/skills-zh-CN/matrix-design/SKILL.md +16 -11
  22. package/assets/skills-zh-CN/matrix-hotfix/SKILL.md +8 -8
  23. package/assets/skills-zh-CN/matrix-open/SKILL.md +16 -11
  24. package/assets/skills-zh-CN/matrix-status/SKILL.md +12 -11
  25. package/assets/skills-zh-CN/matrix-tweak/SKILL.md +8 -8
  26. package/assets/skills-zh-CN/matrix-verify/SKILL.md +22 -8
  27. package/bin/matrix.js +15 -15
  28. package/package.json +56 -56
  29. package/src/catalog.js +85 -80
  30. package/src/cli.js +116 -111
  31. package/src/distribution.js +216 -152
  32. package/src/installer.js +45 -45
  33. package/src/matt.js +45 -34
  34. package/src/messages.js +33 -33
  35. package/src/ui.js +89 -89
  36. package/src/workflow-transaction.js +622 -0
  37. package/src/workflow.js +547 -74
package/README.md CHANGED
@@ -1,273 +1,286 @@
1
- # Matrix Workflow
2
-
3
- A structured workflow orchestrator for [Matt Pocock's Claude Code skills](https://github.com/mattpocock/skills), inspired by [Comet](https://github.com/rpamis/comet). It enforces evidence-based phase transitions to standardize your development process when using these skills.
4
-
5
- English | **[中文](./README.zh-CN.md)**
6
-
7
- <p align="center">
8
- <img src="./assets/matrix-workflow-poster-en.svg" alt="Matrix Workflow" width="100%">
9
- </p>
10
-
11
- ---
12
-
13
- ## Table of Contents
14
-
15
- - [Why Matrix?](#why-matrix)
16
- - [What It Does](#what-it-does)
17
- - [Prerequisites](#prerequisites)
18
- - [Installation](#installation)
19
- - [Quick Start](#quick-start)
20
- - [Workflow Phases](#workflow-phases)
21
- - [How It Works](#how-it-works)
22
- - [Workflow Types](#workflow-types)
23
- - [Integration with Matt Pocock's Skills](#integration-with-matt-pococks-skills)
24
- - [License](#license)
25
-
26
- ---
27
-
28
- ## Why Matrix
29
-
30
- [Matt Pocock's skills](https://github.com/mattpocock/skills) are excellent individual tools — `/grill-with-docs` for requirements, `/tdd` for test-driven development, `/implement` for execution. But using them in isolation leads to common problems:
31
-
32
- - **No process memory**: You grill, then implement, but there's no record of what was decided
33
- - **Phase confusion**: Did we finish design? Are we in build? Hard to tell after context loss
34
- - **Silent scope creep**: Requirements change mid-build without returning to design
35
- - **Missing evidence**: "Looks done" without verification proof
36
-
37
- Matrix solves this by wrapping these skills into a deterministic state machine with explicit phases, guard conditions, and artifact tracking — inspired by [Comet](https://github.com/rpamis/comet)'s phase-based approach.
38
-
39
- ---
40
-
41
- ## What It Does
42
-
43
- Matrix orchestrates Matt Pocock's skills into a structured workflow:
1
+ # Matrix Workflow
2
+
3
+ An evidence-driven development workflow with Prim and Arch orchestration, inspired by [Comet](https://github.com/rpamis/comet). Matrix can work with its own capabilities or conditionally invoke a verified cohort of [Matt Pocock's agent skills](https://github.com/mattpocock/skills) without giving up lifecycle ownership.
4
+
5
+ English | **[中文](./README.zh-CN.md)**
6
+
7
+ <p align="center">
8
+ <img src="./assets/matrix-workflow-poster-en.svg" alt="Matrix Workflow" width="100%">
9
+ </p>
10
+
11
+ ---
12
+
13
+ ## Table of Contents
14
+
15
+ - [Why Matrix?](#why-matrix)
16
+ - [What It Does](#what-it-does)
17
+ - [Prerequisites](#prerequisites)
18
+ - [Installation](#installation)
19
+ - [Quick Start](#quick-start)
20
+ - [Workflow Phases](#workflow-phases)
21
+ - [How It Works](#how-it-works)
22
+ - [Workflow Types](#workflow-types)
23
+ - [Integration with Matt Pocock's Skills](#integration-with-matt-pococks-skills)
24
+ - [License](#license)
25
+
26
+ ---
27
+
28
+ ## Why Matrix
29
+
30
+ [Matt Pocock's skills](https://github.com/mattpocock/skills) provide focused capabilities such as `/grilling`, `/tdd`, and `/code-review`. Using independent tools without a lifecycle owner leads to common problems:
31
+
32
+ - **No process memory**: You grill, then implement, but there's no record of what was decided
33
+ - **Phase confusion**: Did we finish design? Are we in build? Hard to tell after context loss
34
+ - **Silent scope creep**: Requirements change mid-build without returning to design
35
+ - **Missing evidence**: "Looks done" without verification proof
36
+
37
+ Matrix solves this with one deterministic state machine, explicit phases, guard conditions, and artifact tracking — inspired by [Comet](https://github.com/rpamis/comet)'s phase-based approach. Skills can assist a phase, but Matrix always owns the lifecycle.
38
+
39
+ ---
40
+
41
+ ## What It Does
42
+
43
+ Matrix provides two capability-orchestration modes over the same workflow:
44
44
 
45
45
  ```
46
46
  open → design → build → verify → archive
47
- ↓ ↓ ↓ ↓ ↓
48
- grill plan implement tdd commit
49
- design review
50
- ```
51
-
52
- Each phase:
53
- - Has specific deliverables (artifacts)
54
- - Has guard conditions that must pass
55
- - Logs all transitions
56
- - Survives context loss (state on disk)
57
-
58
- ---
59
-
60
- ## Prerequisites
61
47
 
62
- - [Claude Code](https://docs.anthropic.com/claude-code) and/or Codex installed
63
- - Node.js 18+ (for the installer)
64
- - Python is optional during the compatibility window; new installations run the bundled Node workflow runtime.
65
-
66
- ---
67
-
68
- ## Installation
69
-
70
- Install the Matrix CLI once:
71
-
72
- ```bash
73
- npm install --global @rosenfan/matrix
48
+ Prim: Matrix performs phase work itself
49
+ Arch: Matrix invokes verified atomic Skills only when task facts trigger them
74
50
  ```
75
51
 
76
- Then initialize Matrix inside any project:
52
+ Recovery paths are controlled Runtime intents:
77
53
 
78
- ```bash
79
- cd /path/to/your/project
80
- matrix init
54
+ ```text
55
+ build --design-gap--------------------> design
56
+ verify --verification-failed-----------> build
57
+ verify --acceptance-or-design-gap------> design
58
+ any active phase --abort--------------> aborted
81
59
  ```
82
60
 
83
- The interactive setup lets you:
84
-
85
- - Choose English or Chinese, project or global scope, and Claude Code, Codex, or both
86
- - Copy skills (recommended) or symlink them for local development
87
- - Safely update an existing installation with an automatic backup
61
+ Each phase:
62
+ - Has specific deliverables (artifacts)
63
+ - Has guard conditions that must pass
64
+ - Logs all transitions
65
+ - Survives context loss (state on disk)
66
+
67
+ ---
68
+
69
+ ## Prerequisites
70
+
71
+ - [Claude Code](https://docs.anthropic.com/claude-code) and/or Codex installed
72
+ - Node.js 18+ (for the installer)
73
+ - Python is optional during the compatibility window; new installations run the bundled Node workflow runtime.
74
+
75
+ ---
76
+
77
+ ## Installation
78
+
79
+ Install the Matrix CLI once:
80
+
81
+ ```bash
82
+ npm install --global @rosenfan/matrix
83
+ ```
84
+
85
+ Then initialize Matrix inside any project:
86
+
87
+ ```bash
88
+ cd /path/to/your/project
89
+ matrix init
90
+ ```
91
+
92
+ The interactive setup lets you:
93
+
94
+ - Choose English or Chinese, project or global scope, and Claude Code, Codex, or both
95
+ - Copy skills (recommended) or symlink them for local development
96
+ - Safely update an existing installation with an automatic backup
88
97
  - Install Matt Pocock's companion skills in the same flow
89
-
90
- For automation and CI:
91
-
92
- ```bash
93
- # Safe non-interactive installation for both verified platforms
98
+ - Choose **Prim** or **Arch** as the project default without disabling the other available mode
99
+
100
+ For automation and CI:
101
+
102
+ ```bash
103
+ # Safe non-interactive installation for both verified platforms
94
104
  matrix init --yes --platform claude-code --platform codex --with-mattpocock
95
105
 
96
- # Preview exactly what would change (including backups) without writing
97
- matrix init --platform codex --dry-run --json
98
-
99
- # Inspect Matrix ownership, Matt Skills inheritance, and the selected platform
100
- matrix doctor --platform codex
101
- ```
102
-
103
- Until the npm package is published, install directly from GitHub:
104
-
105
- ```bash
106
- npm install --global github:Rosenfan/Matrix
107
- ```
108
-
109
- Matrix installs:
110
- - `matrix/` — Entry point and state management
111
- - `matrix-open/` — Open phase (uses `/grill-with-docs`)
112
- - `matrix-design/` — Design phase (uses `/prototype`, `/research`)
113
- - `matrix-build/` — Build phase (uses `/implement`, `/tdd`)
114
- - `matrix-verify/` — Verify phase (uses `/code-review`)
115
- - `matrix-archive/` — Archive phase
116
- - `matrix-hotfix/` — Shortcut for small bugs
117
- - `matrix-tweak/` — Shortcut for bounded changes
118
- - `matrix-status/` — Check current state
119
- - `matrix-claude/` — Optional: export for Claude Code
120
-
121
- ---
122
-
123
- ## Quick Start
124
-
125
- In Claude Code:
126
-
127
- ```
128
- $matrix I want to add user authentication
129
- ```
130
-
131
- Matrix will:
132
- 1. Initialize a change with workflow type `full`
133
- 2. Enter `open` phase → invokes `/grill-with-docs` to clarify requirements
134
- 3. Create `proposal.md` with Goal, Scope, Acceptance, Risks
135
- 4. Guard check: are all sections substantive?
136
- 5. If pass → transition to `design`
137
-
138
- ---
139
-
140
- ## Workflow Phases
141
-
142
- | Phase | Matt Pocock Skills Used | Deliverables | Guard Condition |
143
- |-------|-------------------------|--------------|-----------------|
144
- | **open** | `/grill-with-docs` (auto-invokes `/grilling` + `/domain-modeling`) | `proposal.md`, `CONTEXT.md`, ADRs | Goal, Scope, Acceptance, Risks present |
145
- | **design** | `/domain-modeling` → `/research` → `/wayfinder` → `/prototype` → `/codebase-design` | `design.md`, `plan.md` | Decisions, Test seams, Steps documented |
146
- | **build** | `/implement` (auto-invokes `/tdd` + `/code-review`), `/diagnosing-bugs`, `/resolving-merge-conflicts` | Code, `verification.md` | Plan exists, build evidence recorded |
147
- | **verify** | `/code-review` (two-axis: Standards + Spec), `/improve-codebase-architecture` | Test & review evidence | Test and review evidence present |
148
- | **archive** | — | Git commit | Verify guard passed |
149
-
150
- ---
151
-
152
- ## How It Works
153
-
154
- State is stored in `.matrix/`:
155
-
156
- ```
157
- .matrix/
158
- ├── active.json # Current change ID
159
- ├── config.yaml
160
- ├── changes/
161
- │ └── <change-id>/
162
- │ ├── matrix.yaml # Phase, workflow, timestamps
163
- │ ├── run-state.json
106
+ # Explicitly select the project default
107
+ matrix init --yes --with-mattpocock --default-orchestration arch
108
+
109
+ # Preview exactly what would change (including backups) without writing
110
+ matrix init --platform codex --dry-run --json
111
+
112
+ # Inspect Matrix ownership, Matt Skills inheritance, and the selected platform
113
+ matrix doctor --platform codex
114
+ ```
115
+
116
+ Until the npm package is published, install directly from GitHub:
117
+
118
+ ```bash
119
+ npm install --global github:Rosenfan/Matrix
120
+ ```
121
+
122
+ Matrix installs:
123
+ - `matrix/` — Entry point and state management
124
+ - `matrix-open/` — Open phase and canonical proposal
125
+ - `matrix-design/` — Design, plan, and Contract approval
126
+ - `matrix-build/` — Bounded implementation and build evidence
127
+ - `matrix-verify/` — Test and two-axis review evidence
128
+ - `matrix-archive/` — Archive phase
129
+ - `matrix-hotfix/` — Shortcut for small bugs
130
+ - `matrix-tweak/` — Shortcut for bounded changes
131
+ - `matrix-status/` — Check current state
132
+ - `matrix-claude/` — Optional: export for Claude Code
133
+
134
+ ---
135
+
136
+ ## Quick Start
137
+
138
+ In Claude Code:
139
+
140
+ ```
141
+ $matrix I want to add user authentication
142
+ ```
143
+
144
+ Matrix will:
145
+ 1. Initialize a change with workflow type `full` and frozen orchestration `prim|arch`
146
+ 2. Enter `open`; Prim works directly, while Arch invokes only proven requirement triggers
147
+ 3. Create `proposal.md` with Goal, Scope, Non-goals, Acceptance, Risks
148
+ 4. Guard check: are all sections substantive?
149
+ 5. If pass → transition to `design`
150
+
151
+ ---
152
+
153
+ ## Workflow Phases
154
+
155
+ | Phase | Arch capabilities (triggered, not a fixed sequence) | Deliverables | Guard Condition |
156
+ |-------|------------------------------------------------------|--------------|-----------------|
157
+ | **open** | `/grilling`, `/domain-modeling` | `proposal.md`; optional repository-standard context/ADR evidence | Goal, Scope, Non-goals, Acceptance, Risks present |
158
+ | **design** | `/domain-modeling`, `/research`, `/wayfinder`, `/prototype`, `/codebase-design` | `design.md`, `plan.md` | Decisions, Test seams, Steps documented |
159
+ | **build** | `/tdd`, `/diagnosing-bugs`, `/resolving-merge-conflicts` | Code, `verification.md` | Exact approved Contract matches; build evidence recorded |
160
+ | **verify** | `/code-review` | Test & review evidence | Test and review evidence present |
161
+ | **archive** | None; Matrix-owned in both modes | Archive record | Verify guard passed |
162
+
163
+ ---
164
+
165
+ ## How It Works
166
+
167
+ State is stored in `.matrix/`:
168
+
169
+ ```
170
+ .matrix/
171
+ ├── active.json # Current change ID
172
+ ├── config.yaml
173
+ ├── changes/
174
+ │ └── <change-id>/
175
+ │ ├── matrix.yaml # Canonical workflow, orchestration, phase, status, revision
164
176
  │ ├── events.jsonl
165
177
  │ └── artifacts/
166
178
  │ ├── proposal.md
167
179
  │ ├── design.md
168
180
  │ ├── plan.md
169
- │ └── verification.md
181
+ │ ├── verification.md
182
+ │ └── evidence-history/
170
183
  └── archive/
171
184
  ```
172
-
173
- The state machine enforces transitions:
174
-
175
- ```bash
185
+
186
+ The state machine enforces transitions:
187
+
188
+ ```bash
176
189
  # Check guard
177
- python .claude/skills/matrix/scripts/matrix_state.py guard open
190
+ matrix workflow guard open
178
191
 
179
192
  # Advance (only if guard passes)
180
- python .claude/skills/matrix/scripts/matrix_state.py transition design
181
- ```
193
+ matrix workflow transition design
182
194
 
183
- ---
195
+ # Return from verification failure; stale evidence is retained in history
196
+ matrix workflow return build --reason verification-failed
184
197
 
185
- ## Workflow Types
198
+ # Abort without deleting artifacts or undoing worktree changes
199
+ matrix workflow abort --reason requirement-cancelled
186
200
 
187
- | Type | When to Use | Phases |
188
- |------|-------------|--------|
189
- | **full** | New features, architecture changes | All 5 phases |
190
- | **hotfix** | Reproducible small bugs | Simplified: open → build → verify → archive |
191
- | **tweak** | Bounded changes, no API/schema impact | Simplified: open → build → verify → archive |
201
+ # Final Archive is a mandatory two-step optimistic commit
202
+ matrix workflow archive --dry-run
203
+ matrix workflow archive --expect-preflight <sha256-returned-by-dry-run>
192
204
 
193
- ---
194
-
195
- ## Special Feature: matrix-claude
196
-
197
- **Default usage**: Just use the main workflow (`$matrix`). Whether you're using Codex or Claude Code, the standard flow works for both:
205
+ # Diagnose an interrupted Workflow without writing
206
+ matrix workflow doctor
198
207
 
208
+ # Repair only the exact transaction or stale lock reported by doctor
209
+ matrix workflow doctor --repair --transaction <id> --strategy <continue|rollback>
210
+ matrix workflow doctor --repair --lock <id>
199
211
  ```
200
- $matrix → open → design → build → verify → archive
201
- ```
202
-
203
- **When to use `$matrix-claude`**: Only when you want to **split the work across tools** — use Codex for design, then hand off to Claude Code for implementation.
204
-
205
- | Scenario | What to Do |
206
- |----------|------------|
207
- | Use one tool for everything (default) | Just use `$matrix`, no extra steps |
208
- | Codex designs + Codex implements | Standard flow: design → build → verify |
209
- | Codex designs + Claude Code implements | design → `$matrix-claude` → Claude Code → verify |
210
-
211
- ### How matrix-claude Works
212
-
213
- 1. Design phase completes, guard passes
214
- 2. Run `$matrix-claude` → exports frozen design as `artifacts/claude-task.md`
215
- 3. Claude Code reads the task package and implements
216
- 4. Claude Code produces evidence in `artifacts/verification.md`
217
- 5. Return to Matrix: build guard → verify → archive
218
-
219
- The sidecar does NOT change Matrix state. It's a pure export — like taking a snapshot of the design for another tool to consume.
220
-
221
- ---
222
212
 
213
+ `matrix.yaml` is the only canonical workflow/orchestration/phase/status/revision record, using `matrix/change/v2`. The resolved `prim|arch` value is frozen at initialization. Older schemas are rejected without mutation. The Design -> Build transition records a SHA-256 identity of the exact bytes of `proposal.md`, `design.md`, and `plan.md`; any byte change blocks Build, Verify, Archive, and Claude export until a controlled Return to Design and a new approval. Final Archive requires a read-only dry-run and a hash-bound commit; Runtime recomputes the protected change-directory manifest inside the Archive boundary and rejects drift. Every multi-file Workflow mutation is protected by a durable journal under `.matrix/transactions/`. `matrix workflow doctor` is read-only, and recovery requires the exact transaction/strategy or lock identity it reports. Terminal journals become bounded audit receipts; unresolved or conflicting journals are never automatically deleted.
214
+
215
+ ---
216
+
217
+ ## Workflow Types
218
+
219
+ | Type | When to Use | Phases |
220
+ |------|-------------|--------|
221
+ | **full** | New features, architecture changes | All 5 phases |
222
+ | **hotfix** | Reproducible small bugs | Simplified: open → build → verify → archive |
223
+ | **tweak** | Bounded changes, no API/schema impact | Simplified: open → build → verify → archive |
224
+
225
+ ---
226
+
227
+ ## Special Feature: matrix-claude
228
+
229
+ **Default usage**: Just use the main workflow (`$matrix`). Whether you're using Codex or Claude Code, the standard flow works for both:
230
+
231
+ ```
232
+ $matrix → open → design → build → verify → archive
233
+ ```
234
+
235
+ **When to use `$matrix-claude`**: Only when you want to **split the work across tools** — use Codex for design, then hand off to Claude Code for implementation.
236
+
237
+ | Scenario | What to Do |
238
+ |----------|------------|
239
+ | Use one tool for everything (default) | Just use `$matrix`, no extra steps |
240
+ | Codex designs + Codex implements | Standard flow: design → build → verify |
241
+ | Codex designs + Claude Code implements | design → `$matrix-claude` → Claude Code → verify |
242
+
243
+ ### How matrix-claude Works
244
+
245
+ 1. Design phase completes, guard passes
246
+ 2. Run `$matrix-claude` → exports frozen design as `artifacts/claude-task.md`
247
+ 3. Claude Code reads the task package and implements
248
+ 4. Claude Code produces evidence in `artifacts/verification.md`
249
+ 5. Return to Matrix: build guard → verify → archive
250
+
251
+ The sidecar does NOT change Matrix state. It's a pure export — like taking a snapshot of the design for another tool to consume.
252
+
253
+ ---
254
+
223
255
  ## Integration with Matt Pocock's Skills
224
256
 
225
- Matrix is designed to work **on top of** Matt Pocock's skills, not replace them. Here's how they map:
226
-
227
- ### open Phase
228
-
229
- | Skill | How Matrix Uses It |
230
- |-------|-------------------|
231
- | `/grill-with-docs` | Main skill: runs `/grilling` + `/domain-modeling` to clarify requirements |
232
- | `/grilling` | Stress-tests the plan through relentless Q&A |
233
- | `/domain-modeling` | Establishes shared vocabulary, creates `CONTEXT.md` and ADRs |
234
-
235
- ### design Phase (Recommended Order)
236
-
237
- | Order | Skill | How Matrix Uses It |
238
- |-------|-------|-------------------|
239
- | 1 | `/domain-modeling` | Establish or refine domain vocabulary from the proposal |
240
- | 2 | `/research` | Investigate external APIs, docs, specs (runs in background) |
241
- | 3 | `/wayfinder` | Explore complex codebase structure and dependencies |
242
- | 4 | `/prototype` | Validate design questions with throwaway experiments |
243
- | 5 | `/codebase-design` | Define module boundaries, interfaces, test seams |
244
-
245
- ### build Phase
246
-
247
- | Skill | How Matrix Uses It |
248
- |-------|-------------------|
249
- | `/implement` | Main skill: executes plan with TDD, then runs code review, then commits |
250
- | `/tdd` | Auto-invoked by `/implement`: red-green-refactor at pre-agreed seams |
251
- | `/diagnosing-bugs` | On failure: builds tight feedback loop before fixing |
252
- | `/resolving-merge-conflicts` | On merge conflicts: systematic resolution |
253
-
254
- ### verify Phase
255
-
256
- | Skill | How Matrix Uses It |
257
- |-------|-------------------|
258
- | `/code-review` | Two-axis review: **Standards** (coding conventions) + **Spec** (requirements fidelity) |
259
- | `/improve-codebase-architecture` | Optional: scan for shallow-module deepening opportunities |
260
-
261
- ---
262
-
263
- **Key difference**: Matt Pocock's skills are individual tools. Matrix adds:
264
- - **State persistence**: Survives context loss
265
- - **Phase enforcement**: Can't skip design and jump to build
266
- - **Evidence requirements**: Guards check for artifacts, not assertions
267
- - **Transition logging**: Full audit trail of phase changes
268
-
269
- ---
270
-
271
- ## License
272
-
273
- [MIT](./LICENSE)
257
+ Prim uses Matrix's own capability. Arch uses one initialization-verified cohort of ten atomic capabilities:
258
+
259
+ | Phase | Capability | Trigger |
260
+ |---|---|---|
261
+ | open | `/grilling` | Material ambiguity or explicit stress-test request |
262
+ | open/design | `/domain-modeling` | Unclear vocabulary, invariants, or architectural decisions |
263
+ | design | `/research` | Required external facts are unavailable in the repository |
264
+ | design | `/wayfinder` | Module ownership or dependency seams are unknown |
265
+ | design | `/prototype` | A material design question needs disposable evidence |
266
+ | design | `/codebase-design` | A deep-module, interface, or test-seam decision remains |
267
+ | build | `/tdd` | Observable behavior changes at a testable seam |
268
+ | build | `/diagnosing-bugs` | An actual failure exists and root cause is unknown |
269
+ | build | `/resolving-merge-conflicts` | A merge or rebase conflict is in progress |
270
+ | verify | `/code-review` | Standards and Spec review evidence is required |
271
+
272
+ `grill-with-docs`, `implement`, and `improve-codebase-architecture` are not Matrix-managed or automatically invoked. Existing user-installed copies are preserved as unmanaged extras. A companion never transitions, commits, archives, or writes Matrix state.
273
+
274
+ ---
275
+
276
+ **Key difference**: Matt Pocock's skills are individual tools. Matrix adds:
277
+ - **State persistence**: Survives context loss
278
+ - **Phase enforcement**: Can't skip design and jump to build
279
+ - **Evidence requirements**: Guards check for artifacts, not assertions
280
+ - **Transition logging**: Full audit trail of phase changes
281
+
282
+ ---
283
+
284
+ ## License
285
+
286
+ [MIT](./LICENSE)