@hegemonart/get-design-done 1.28.0 → 1.28.5
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +78 -0
- package/SKILL.md +1 -1
- package/hooks/gdd-decision-injector.js +149 -3
- package/package.json +1 -1
- package/reference/adr-format.md +96 -0
- package/reference/apply-reflections-procedure.md +68 -0
- package/reference/architecture-vocabulary.md +102 -0
- package/reference/cache-policy.md +126 -0
- package/reference/compare-rubric.md +171 -0
- package/reference/connections-onboarding.md +417 -0
- package/reference/context-md-format.md +106 -0
- package/reference/darkmode-audit-procedure.md +258 -0
- package/reference/debug-feedback-loops.md +119 -0
- package/reference/design-procedure.md +304 -0
- package/reference/discover-procedure.md +204 -0
- package/reference/explore-procedure.md +267 -0
- package/reference/health-mcp-detection.md +44 -0
- package/reference/health-skill-length-report.md +69 -0
- package/reference/heuristics.md +84 -0
- package/reference/milestone-completeness-rubric.md +87 -0
- package/reference/peer-cli-protocol.md +161 -0
- package/reference/plan-procedure.md +278 -0
- package/reference/registry.json +169 -1
- package/reference/registry.schema.json +1 -1
- package/reference/router-rules.md +84 -0
- package/reference/scan-procedure.md +731 -0
- package/reference/shared-preamble.md +78 -6
- package/reference/skill-authoring-contract.md +128 -0
- package/reference/start-procedure.md +115 -0
- package/reference/style-doc-procedure.md +150 -0
- package/reference/threat-modeling.md +101 -0
- package/reference/verify-procedure.md +512 -0
- package/scripts/validate-skill-length.cjs +283 -0
- package/skills/add-backlog/SKILL.md +1 -0
- package/skills/analyze-dependencies/SKILL.md +33 -122
- package/skills/apply-reflections/SKILL.md +1 -40
- package/skills/audit/SKILL.md +3 -1
- package/skills/bandit-status/SKILL.md +31 -66
- package/skills/benchmark/SKILL.md +15 -55
- package/skills/brief/SKILL.md +12 -1
- package/skills/cache-manager/SKILL.md +3 -57
- package/skills/check-update/SKILL.md +38 -75
- package/skills/compare/SKILL.md +29 -269
- package/skills/complete-cycle/SKILL.md +1 -1
- package/skills/connections/SKILL.md +21 -427
- package/skills/continue/SKILL.md +1 -0
- package/skills/darkmode/SKILL.md +32 -287
- package/skills/debug/SKILL.md +11 -8
- package/skills/design/SKILL.md +27 -245
- package/skills/discover/SKILL.md +26 -133
- package/skills/discuss/SKILL.md +18 -2
- package/skills/explore/SKILL.md +40 -205
- package/skills/fast/SKILL.md +1 -0
- package/skills/figma-write/SKILL.md +2 -2
- package/skills/health/SKILL.md +11 -33
- package/skills/help/SKILL.md +1 -0
- package/skills/list-assumptions/SKILL.md +1 -0
- package/skills/map/SKILL.md +8 -31
- package/skills/new-cycle/SKILL.md +3 -1
- package/skills/next/SKILL.md +1 -0
- package/skills/note/SKILL.md +1 -0
- package/skills/optimize/SKILL.md +21 -44
- package/skills/pause/SKILL.md +1 -0
- package/skills/peer-cli-add/SKILL.md +26 -108
- package/skills/peer-cli-customize/SKILL.md +22 -42
- package/skills/peers/SKILL.md +33 -57
- package/skills/plan/SKILL.md +33 -220
- package/skills/plant-seed/SKILL.md +1 -0
- package/skills/pr-branch/SKILL.md +1 -0
- package/skills/progress/SKILL.md +1 -7
- package/skills/quality-gate/SKILL.md +34 -166
- package/skills/quick/SKILL.md +1 -0
- package/skills/reapply-patches/SKILL.md +1 -0
- package/skills/recall/SKILL.md +1 -0
- package/skills/resume/SKILL.md +1 -0
- package/skills/review-backlog/SKILL.md +1 -0
- package/skills/router/SKILL.md +3 -59
- package/skills/scan/SKILL.md +36 -675
- package/skills/settings/SKILL.md +1 -0
- package/skills/ship/SKILL.md +1 -0
- package/skills/sketch/SKILL.md +1 -1
- package/skills/sketch-wrap-up/SKILL.md +13 -54
- package/skills/spike/SKILL.md +1 -1
- package/skills/spike-wrap-up/SKILL.md +12 -46
- package/skills/start/SKILL.md +13 -112
- package/skills/stats/SKILL.md +1 -0
- package/skills/style/SKILL.md +18 -140
- package/skills/synthesize/SKILL.md +1 -0
- package/skills/timeline/SKILL.md +1 -0
- package/skills/todo/SKILL.md +1 -0
- package/skills/turn-closeout/SKILL.md +36 -56
- package/skills/undo/SKILL.md +1 -0
- package/skills/update/SKILL.md +1 -0
- package/skills/verify/SKILL.md +42 -457
- package/skills/warm-cache/SKILL.md +3 -35
- package/skills/zoom-out/SKILL.md +26 -0
package/skills/verify/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verify
|
|
3
|
-
description: "Stage 5 of 5
|
|
4
|
-
argument-hint: "[--auto]"
|
|
3
|
+
description: "Stage 5 of 5 orchestrator that spawns design-auditor, design-verifier, and design-integration-checker in sequence, interprets pass/gap result, and drives the gap-response loop (inline fix, save-and-exit, or accept-as-is). Use when implementation is complete and ready for final pre-ship verification."
|
|
4
|
+
argument-hint: "[--auto] [--post-handoff]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
tools: mcp__gdd_state__get, mcp__gdd_state__transition_stage, mcp__gdd_state__add_must_have, mcp__gdd_state__add_blocker, mcp__gdd_state__resolve_blocker, mcp__gdd_state__update_progress, mcp__gdd_state__set_status, mcp__gdd_state__checkpoint, mcp__gdd_state__probe_connections
|
|
7
7
|
---
|
|
@@ -10,502 +10,87 @@ tools: mcp__gdd_state__get, mcp__gdd_state__transition_stage, mcp__gdd_state__ad
|
|
|
10
10
|
|
|
11
11
|
**Stage 5 of 5** in the get-design-done pipeline. Thin orchestrator. Verification intelligence lives in three agents: design-auditor, design-verifier, and design-integration-checker.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## State Integration
|
|
16
|
-
|
|
17
|
-
### Stage entry
|
|
18
|
-
|
|
19
|
-
1. `mcp__gdd_state__transition_stage` with `to: "verify"`.
|
|
20
|
-
2. `mcp__gdd_state__get` → snapshot `state`. Read `state.must_haves` — this is the verification checklist; each M-XX starts at `status: pending` and will be flipped to `pass` or `fail` as verification concludes.
|
|
21
|
-
|
|
22
|
-
#### Step 2.5 — Quality-gate gate (D-08, D-09)
|
|
23
|
-
|
|
24
|
-
Before resume detection, inspect `state.quality_gate` from the same snapshot. The Stage 4.5 quality-gate skill (see `skills/quality-gate/SKILL.md`) writes a single `<run/>` element capturing the most recent run; this step is the verify-side consumer of that result. Three branches, evaluated in order:
|
|
25
|
-
|
|
26
|
-
- **`state.quality_gate?.run?.status === "fail"`** → Refuse to advance. The fix loop in `quality-gate/SKILL.md` Step 4 reached `max_iters` without converging, and the verify stage MUST NOT paper over it. Print a blocker reason that includes the iteration count and the `commands_run` field from the run, then call:
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
mcp__gdd_state__add_blocker({
|
|
30
|
-
stage: "verify",
|
|
31
|
-
text: "quality-gate failed at iteration <N> (commands: <commands_run>) — re-run /gdd:quality-gate before /gdd:verify"
|
|
32
|
-
})
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Exit immediately with the failure surface visible to the user. Do NOT call `mcp__gdd_state__update_progress` to open the verify stage; the gate refused entry, so the stage was never opened.
|
|
36
|
-
|
|
37
|
-
- **`state.quality_gate?.run?.status === "timeout"` OR `=== "skipped"`** → Print a one-line warning naming the status and the `commands_run` value, then continue normally. Per D-07 these are signals, not walls: a slow test suite must not hostage the pipeline, and a project with no detectable quality commands must not block verify entry. The warning surfaces the degraded state without halting.
|
|
38
|
-
|
|
39
|
-
- **`state.quality_gate?.run?.status === "pass"` OR `state.quality_gate === null`** → Continue silently. `pass` is the happy path; `null` means the gate has never been run for this cycle (the user skipped Stage 4.5 entirely, which is permitted — verify only *checks* the gate result, never *runs* the gate itself, per the 25-07 out-of-scope clause).
|
|
40
|
-
|
|
41
|
-
This step is a pure read against the snapshot already loaded in Step 2 — no extra MCP call is required.
|
|
42
|
-
|
|
43
|
-
3. Resume detection (read `state.position.status` from the snapshot):
|
|
44
|
-
- If `status==in_progress` and `.design/DESIGN-VERIFICATION.md` exists: RESUME — skip re-spawning agents, go to Step 2 (gap-response loop).
|
|
45
|
-
- Otherwise: call `mcp__gdd_state__update_progress` with `task_progress: "0/3"`, `status: "in_progress"` to open the stage, then proceed to Step 1.
|
|
46
|
-
4. If STATE.md is missing entirely (edge case — verify is never the entry point): block with "No STATE.md found — run /get-design-done:discover first." Do NOT attempt to create a skeleton from verify; upstream stages own bootstrap.
|
|
13
|
+
Full procedure detail: `../../reference/verify-procedure.md`.
|
|
47
14
|
|
|
48
15
|
---
|
|
49
16
|
|
|
50
|
-
##
|
|
51
|
-
|
|
52
|
-
When verification concludes that M-XX is satisfied (or failed), record the result by issuing:
|
|
53
|
-
|
|
54
|
-
`mcp__gdd_state__add_must_have` with the SAME `id` as the existing entry and the updated `status`:
|
|
55
|
-
|
|
56
|
-
```json
|
|
57
|
-
{ "id": "M-03", "text": "Dark mode toggle persists to localStorage", "status": "pass" }
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
The gdd-state mutator treats an `add_must_have` with an existing id as an **update-in-place**, not a duplicate append. The entry's position in the `<must_haves>` block is preserved. This is intentional design — verify doesn't need a dedicated `update_must_have_status` tool because `add_must_have` handles both cases correctly.
|
|
61
|
-
|
|
62
|
-
Pass the original `text` verbatim when you're only flipping the status; supplying a changed `text` overwrites the prose in-place as well (useful when the M-XX description was imprecise and the verifier can restate it). Omit `text` by passing the value from the earlier `mcp__gdd_state__get` snapshot.
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
### Probe Preview connection
|
|
67
|
-
|
|
68
|
-
Run at stage entry, after reading STATE.md:
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
Step P1 — ToolSearch check:
|
|
72
|
-
ToolSearch({ query: "Claude_Preview", max_results: 5 })
|
|
73
|
-
→ Empty result → preview: not_loaded (MCP not registered — skip all Preview steps in this stage)
|
|
74
|
-
→ Non-empty result → proceed to Step P2
|
|
75
|
-
|
|
76
|
-
Step P2 — Live tool call:
|
|
77
|
-
call mcp__Claude_Preview__preview_list
|
|
78
|
-
→ Success → preview: available
|
|
79
|
-
→ Error containing "permission"/blocked → preview: permission_denied
|
|
80
|
-
→ Any other error → preview: unreachable
|
|
81
|
-
|
|
82
|
-
Record the preview probe result via `mcp__gdd_state__probe_connections` (batched with the storybook and chromatic probes below — one call per stage, see "Batched connections write" at the end of this section).
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
When `preview: available`, the design-verifier agent runs Phase 4B — Screenshot Evidence to resolve `? VISUAL` heuristic flags with real screenshot evidence. See `agents/design-verifier.md` Phase 4B for the screenshot evidence loop.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
### Probe Storybook connection
|
|
90
|
-
|
|
91
|
-
Run at stage entry, after reading STATE.md:
|
|
92
|
-
|
|
93
|
-
Step B1 — Project detection:
|
|
94
|
-
Bash: ls .storybook/ 2>/dev/null || grep -l '"storybook"' package.json 2>/dev/null
|
|
95
|
-
→ Found → storybook_project: true → proceed to Step B2
|
|
96
|
-
→ Not found → storybook: not_configured (skip all Storybook steps)
|
|
97
|
-
|
|
98
|
-
Step B2 — Dev server detection:
|
|
99
|
-
Bash: curl -sf http://localhost:6006/index.json 2>/dev/null | head -1
|
|
100
|
-
→ Returns JSON → storybook: available
|
|
101
|
-
→ Fails → Bash: curl -sf http://localhost:6006/stories.json 2>/dev/null | head -1
|
|
102
|
-
→ Returns JSON → storybook: available (compat endpoint)
|
|
103
|
-
→ Fails → storybook: unavailable
|
|
104
|
-
|
|
105
|
-
Record the storybook probe result for the batched `mcp__gdd_state__probe_connections` call (see below).
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
### Storybook A11y Loop (when storybook: available)
|
|
110
|
-
|
|
111
|
-
If `state.connections.storybook === "available"` (from the earlier `mcp__gdd_state__get` snapshot):
|
|
112
|
-
1. Run: Bash: npx storybook test --ci 2>&1 | tee .design/storybook-a11y-report.txt
|
|
113
|
-
2. Read .design/storybook-a11y-report.txt — pass to design-verifier as additional a11y evidence
|
|
114
|
-
3. design-verifier reads this file in its a11y gap analysis section and annotates DESIGN-VERIFICATION.md with per-story violations
|
|
115
|
-
|
|
116
|
-
If storybook: unavailable — skip this section; run standard WCAG grep-based a11y checks only.
|
|
117
|
-
If storybook: not_configured — skip; emit no note (opt-in feature).
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
### Probe Chromatic connection
|
|
122
|
-
|
|
123
|
-
Run at stage entry, after reading STATE.md:
|
|
124
|
-
|
|
125
|
-
Step C1 — CLI presence:
|
|
126
|
-
Bash: command -v chromatic 2>/dev/null || npx chromatic --version 2>/dev/null
|
|
127
|
-
→ found → proceed to Step C2
|
|
128
|
-
→ not found → chromatic: not_configured (skip all Chromatic steps)
|
|
129
|
-
|
|
130
|
-
Step C2 — Token check:
|
|
131
|
-
Bash: test -n "${CHROMATIC_PROJECT_TOKEN}"
|
|
132
|
-
→ true → chromatic: available
|
|
133
|
-
→ false → chromatic: unavailable
|
|
134
|
-
|
|
135
|
-
Also check: if storybook: not_configured → chromatic effectively unavailable (emit note, do not run).
|
|
136
|
-
Record the chromatic probe result for the batched `mcp__gdd_state__probe_connections` call below.
|
|
137
|
-
|
|
138
|
-
### Batched connections write
|
|
139
|
-
|
|
140
|
-
After all three probes (preview, storybook, chromatic) have a verdict, call `mcp__gdd_state__probe_connections` ONCE with `probe_results` = an array of `{ name, status }` entries — one per probed connection. Example:
|
|
141
|
-
|
|
142
|
-
```json
|
|
143
|
-
[
|
|
144
|
-
{ "name": "preview", "status": "available" },
|
|
145
|
-
{ "name": "storybook", "status": "unavailable" },
|
|
146
|
-
{ "name": "chromatic", "status": "not_configured" }
|
|
147
|
-
]
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
Unspecified connections keep their existing value. Do NOT issue multiple `probe_connections` calls — the tool is designed for a single batch write per stage.
|
|
151
|
-
|
|
152
|
-
### Chromatic Visual Delta (when chromatic: available)
|
|
153
|
-
|
|
154
|
-
After design executor has run (when verifying post-design):
|
|
155
|
-
1. Run: Bash: npx chromatic --project-token $CHROMATIC_PROJECT_TOKEN --output json 2>&1 | tee .design/chromatic-results.json
|
|
156
|
-
2. Pass .design/chromatic-results.json to design-verifier for narration (see design-verifier.md Chromatic Delta Narration section)
|
|
157
|
-
If chromatic: unavailable or not_configured: skip; note in DESIGN-VERIFICATION.md "visual regression check skipped".
|
|
158
|
-
|
|
159
|
-
---
|
|
17
|
+
## State Integration
|
|
160
18
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
19
|
+
1. `mcp__gdd_state__transition_stage` with `to: "verify"`; on gate failure surface `error.context.blockers` to the user without advancing.
|
|
20
|
+
2. `mcp__gdd_state__get` -> snapshot `state`. Read `state.must_haves` (verification checklist — each M-XX flips to `pass` or `fail`).
|
|
21
|
+
3. **Quality-gate gate (D-08, D-09)** — inspect `state.quality_gate?.run?.status`:
|
|
22
|
+
- `"fail"` -> refuse to advance; call `mcp__gdd_state__add_blocker` with the iteration count + `commands_run`; exit. Do NOT open the stage.
|
|
23
|
+
- `"timeout"` / `"skipped"` -> print one-line warning naming the status + `commands_run`, continue normally (signals, not walls).
|
|
24
|
+
- `"pass"` / `null` -> continue silently.
|
|
25
|
+
Full decision tree: `../../reference/verify-procedure.md` §Quality-gate gate.
|
|
26
|
+
4. Resume detection — if `state.position.status==in_progress` and `.design/DESIGN-VERIFICATION.md` exists: RESUME to Step 2 (gap-response loop). Otherwise call `mcp__gdd_state__update_progress` with `task_progress: "0/3"`, `status: "in_progress"` and proceed.
|
|
27
|
+
5. Missing STATE.md is a hard block — verify is never the entry point; upstream stages own bootstrap.
|
|
164
28
|
|
|
165
|
-
|
|
29
|
+
**Flipping a must-have status:** `mcp__gdd_state__add_must_have` with the SAME `id` updates in-place (no separate update tool). Detail: `../../reference/verify-procedure.md` §Flipping a must-have status.
|
|
166
30
|
|
|
167
31
|
---
|
|
168
32
|
|
|
169
|
-
##
|
|
170
|
-
|
|
171
|
-
When `--post-handoff` flag is present OR STATE.md `<position>` contains `status: handoff-sourced`:
|
|
172
|
-
|
|
173
|
-
1. **Skip DESIGN-PLAN.md prerequisite check** (no plan exists in handoff flows)
|
|
174
|
-
2. **Pass `post_handoff: true` to design-verifier** spawn prompt (see Step 1b below)
|
|
175
|
-
3. **Pass `handoff_path`** from STATE.md to design-verifier spawn prompt
|
|
176
|
-
4. **DESIGN-VERIFICATION.md** will include a `## Handoff Faithfulness` section generated by design-verifier (see `agents/design-verifier.md` Handoff Faithfulness Phase)
|
|
33
|
+
## Connection probes
|
|
177
34
|
|
|
178
|
-
|
|
35
|
+
Run preview / storybook / chromatic probes at stage entry, then issue ONE batched `mcp__gdd_state__probe_connections` call with all results. Full probe specs (project detection, dev-server probe, CLI presence, token check) and downstream loops (storybook a11y, chromatic visual delta) are in `../../reference/verify-procedure.md` §Connection Probes.
|
|
179
36
|
|
|
180
37
|
---
|
|
181
38
|
|
|
182
|
-
##
|
|
39
|
+
## Prerequisites + flags
|
|
183
40
|
|
|
184
|
-
-
|
|
185
|
-
- `--post-handoff`
|
|
41
|
+
- **DESIGN-PLAN.md prerequisite** (normal mode): missing -> block with "Verify requires DESIGN-PLAN.md. Run `/gdd:plan` first, or use `--post-handoff` if starting from a Claude Design handoff bundle."
|
|
42
|
+
- **Post-handoff mode** (`--post-handoff` OR STATE.md `status: handoff-sourced`): skip the DESIGN-PLAN.md check; pass `post_handoff: true` + `handoff_path` to design-verifier; DESIGN-VERIFICATION.md gains a `## Handoff Faithfulness` section. Detail: `../../reference/verify-procedure.md` §Post-Handoff Mode.
|
|
43
|
+
- **Flags:** `--auto` -> `auto_mode=true` (no interactive prompts; on gaps: save-and-exit); `--post-handoff` -> see above.
|
|
44
|
+
- **Parallelism decision:** read `.design/config.json` + `reference/parallelism-rules.md`. Default serial (verifier depends on auditor output). Record via `mcp__gdd_state__set_status` before spawning. Detail: `../../reference/verify-procedure.md` §Parallelism Decision.
|
|
186
45
|
|
|
187
46
|
---
|
|
188
47
|
|
|
189
|
-
## Parallelism Decision (before agent spawns)
|
|
190
|
-
|
|
191
|
-
- Read `.design/config.json` `parallelism` (or defaults from `reference/config-schema.md`).
|
|
192
|
-
- Apply rules from `reference/parallelism-rules.md`.
|
|
193
|
-
- `design-verifier` depends on `design-auditor` output (rule 1) → serial between those two. `design-integration-checker` is independent of the auditor's *file* output but runs after verifier in the current sequence; if config opts in, `design-auditor` and `design-integration-checker` can parallelize (disjoint writes). Default: serial.
|
|
194
|
-
- Record `<parallelism_decision>` via `mcp__gdd_state__set_status` (e.g., `status: "verify_parallelism_decided: <serial|parallel>"`) before spawning. Do not write STATE.md directly.
|
|
195
|
-
|
|
196
48
|
## Step 1 — Spawn Auditor + Verifier + Integration Checker
|
|
197
49
|
|
|
198
|
-
Initialize iteration counter to 0 (
|
|
199
|
-
|
|
200
|
-
Three agents run in sequence. Each waits for its completion marker before the next is spawned.
|
|
201
|
-
|
|
202
|
-
**Note on lazy gates (Plan 10.1-04 / D-21):** Each full checker is preceded by a cheap Haiku gate that reads the diff and may return `{spawn: false}` to short-circuit. When gated out, `lazy_skipped: true` is appended to `.design/telemetry/costs.jsonl`. Gates: `design-verifier-gate` (before 1b), `design-integration-checker-gate` (before 1c). `design-context-checker-gate` is wired into `skills/discover/SKILL.md` Step 1.75.
|
|
203
|
-
|
|
204
|
-
### 1a. Run design-auditor first (retrospective 6-pillar audit)
|
|
205
|
-
|
|
206
|
-
```
|
|
207
|
-
Task("design-auditor", """
|
|
208
|
-
<required_reading>
|
|
209
|
-
@.design/STATE.md
|
|
210
|
-
@.design/DESIGN-CONTEXT.md
|
|
211
|
-
@.design/DESIGN-PLAN.md
|
|
212
|
-
@.design/tasks/
|
|
213
|
-
@reference/audit-scoring.md
|
|
214
|
-
</required_reading>
|
|
215
|
-
|
|
216
|
-
You are the design-auditor agent. Run the 6-pillar retrospective audit (copy, visual hierarchy,
|
|
217
|
-
color, typography, layout/spacing, experience design) against the completed design work.
|
|
218
|
-
|
|
219
|
-
Score each pillar 1–4. Write your findings to .design/DESIGN-AUDIT.md.
|
|
220
|
-
|
|
221
|
-
This audit SUPPLEMENTS the 7-category 0-10 system in reference/audit-scoring.md — do not replace
|
|
222
|
-
or contradict it. Your output will be read by design-verifier as additional context.
|
|
223
|
-
|
|
224
|
-
Emit `## AUDIT COMPLETE` when done.
|
|
225
|
-
""")
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
Wait for `## AUDIT COMPLETE` in the agent response. Once detected, call `mcp__gdd_state__update_progress` with `task_progress: "1/3"` and a short `status` summary (e.g., `status: "audit_done"`).
|
|
229
|
-
|
|
230
|
-
### 1b-gate. Lazy gate — should design-verifier run?
|
|
231
|
-
|
|
232
|
-
Spawn the cheap Haiku gate before the expensive verifier:
|
|
233
|
-
|
|
234
|
-
Task("design-verifier-gate", """
|
|
235
|
-
<required_reading>
|
|
236
|
-
@.design/STATE.md
|
|
237
|
-
</required_reading>
|
|
238
|
-
|
|
239
|
-
You are the design-verifier-gate. Read the diff since the last verified commit
|
|
240
|
-
and decide whether design-verifier should spawn.
|
|
241
|
-
|
|
242
|
-
Context:
|
|
243
|
-
diff_files: <output of `git diff --name-only <baseline_sha>..HEAD`>
|
|
244
|
-
diff_body: <output of `git diff <baseline_sha>..HEAD` truncated to 4000 lines>
|
|
245
|
-
baseline_sha: <from .design/STATE.md last_verified_sha, or HEAD~1 if absent>
|
|
246
|
-
|
|
247
|
-
Apply the heuristic. Emit JSON + `## GATE COMPLETE`.
|
|
248
|
-
""")
|
|
249
|
-
|
|
250
|
-
Wait for `## GATE COMPLETE`. Parse the JSON:
|
|
251
|
-
|
|
252
|
-
- `spawn: false` → append pending telemetry row `{ts, agent: "design-verifier", tier: "skipped", tokens_in: 0, tokens_out: 0, cache_hit: false, est_cost_usd: 0, lazy_skipped: true, gate_rationale: "<from gate>", cycle, phase}` (PreToolUse hook from 10.1-01 flushes on next tool use; orchestrator MAY stub-append directly to `.design/telemetry/costs.jsonl` until 10.1-05 lands). Skip 1b. Call `mcp__gdd_state__update_progress` with `task_progress: "2/3"` and `status: "verifier_gate_skipped"`. Emit `design-verifier skipped — gate rationale: <rationale>`.
|
|
253
|
-
- `spawn: true` → proceed to 1b as currently written.
|
|
254
|
-
|
|
255
|
-
### 1b. Run design-verifier (reads auditor output as additional input)
|
|
256
|
-
|
|
257
|
-
```
|
|
258
|
-
Task("design-verifier", """
|
|
259
|
-
<required_reading>
|
|
260
|
-
@.design/STATE.md
|
|
261
|
-
@.design/DESIGN-AUDIT.md
|
|
262
|
-
@.design/DESIGN-PLAN.md
|
|
263
|
-
@.design/DESIGN-CONTEXT.md
|
|
264
|
-
@.design/tasks/
|
|
265
|
-
@reference/audit-scoring.md
|
|
266
|
-
@reference/heuristics.md
|
|
267
|
-
@reference/review-format.md
|
|
268
|
-
@reference/accessibility.md
|
|
269
|
-
</required_reading>
|
|
270
|
-
|
|
271
|
-
You are the design-verifier agent. Run the 5-phase verification against completed design work.
|
|
272
|
-
|
|
273
|
-
DESIGN-AUDIT.md (above) contains a retrospective 6-pillar qualitative audit from design-auditor.
|
|
274
|
-
Read it as supplementary signal — incorporate the priority fix list into your Phase 5 gap analysis
|
|
275
|
-
where relevant. The auditor's 1–4 scores complement your 0–10 category scores; they do not
|
|
276
|
-
replace your Phase 1 category scoring.
|
|
50
|
+
Initialize the fix-loop iteration counter to 0. Each full checker is preceded by a cheap Haiku gate that may return `{spawn: false}` to short-circuit (lazy-gate pattern from Plan 10.1-04 / D-21); skipped agents append `lazy_skipped: true` to `.design/telemetry/costs.jsonl`.
|
|
277
51
|
|
|
278
|
-
|
|
279
|
-
auto_mode: <true|false>
|
|
280
|
-
re_verify: false
|
|
281
|
-
post_handoff: <true|false — true when --post-handoff flag active or STATE.md status==handoff-sourced>
|
|
282
|
-
handoff_path: <value from STATE.md handoff_path, or empty string>
|
|
52
|
+
**1a. design-auditor** (retrospective 6-pillar audit) -> `.design/DESIGN-AUDIT.md`. Wait for `## AUDIT COMPLETE`, then `mcp__gdd_state__update_progress` `task_progress: "1/3"`.
|
|
283
53
|
|
|
284
|
-
|
|
285
|
-
(see agents/design-verifier.md Handoff Faithfulness Phase). If gaps found, emit `## GAPS FOUND` followed
|
|
286
|
-
by structured gap list, then `## VERIFICATION COMPLETE`. If no gaps, just emit `## VERIFICATION COMPLETE`.
|
|
287
|
-
""")
|
|
288
|
-
```
|
|
54
|
+
**1b-gate -> 1b. design-verifier** (5-phase verification, reads auditor output) -> `.design/DESIGN-VERIFICATION.md`. Wait for `## VERIFICATION COMPLETE`, then `task_progress: "2/3"`.
|
|
289
55
|
|
|
290
|
-
|
|
56
|
+
**1c-gate -> 1c. design-integration-checker** (per-decision wiring check on each D-XX in DESIGN-CONTEXT.md) -> reports Connected / Orphaned / Missing counts. Wait for `## INTEGRATION CHECK COMPLETE`, then `task_progress: "3/3"`.
|
|
291
57
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
Same pattern as 1b-gate:
|
|
295
|
-
|
|
296
|
-
Task("design-integration-checker-gate", """
|
|
297
|
-
<required_reading>
|
|
298
|
-
@.design/STATE.md
|
|
299
|
-
</required_reading>
|
|
300
|
-
|
|
301
|
-
You are the design-integration-checker-gate. Read the diff and decide whether
|
|
302
|
-
design-integration-checker should spawn.
|
|
303
|
-
|
|
304
|
-
Context:
|
|
305
|
-
diff_files: <git diff --name-only output>
|
|
306
|
-
diff_body: <git diff output, truncated>
|
|
307
|
-
baseline_sha: <from STATE.md or HEAD~1>
|
|
308
|
-
|
|
309
|
-
Apply the heuristic. Emit JSON + `## GATE COMPLETE`.
|
|
310
|
-
""")
|
|
311
|
-
|
|
312
|
-
Wait for `## GATE COMPLETE`. Parse JSON:
|
|
313
|
-
|
|
314
|
-
- `spawn: false` → append `lazy_skipped: true` telemetry row (same shape), skip 1c, call `mcp__gdd_state__update_progress` with `task_progress: "3/3"` and `status: "integration_checker_gate_skipped"`, emit `design-integration-checker skipped — gate rationale: <rationale>`.
|
|
315
|
-
- `spawn: true` → proceed to 1c as currently written.
|
|
316
|
-
|
|
317
|
-
### 1c. Run design-integration-checker (post-verification decision wiring check)
|
|
318
|
-
|
|
319
|
-
```
|
|
320
|
-
Task("design-integration-checker", """
|
|
321
|
-
<required_reading>
|
|
322
|
-
@.design/STATE.md
|
|
323
|
-
@.design/DESIGN-CONTEXT.md
|
|
324
|
-
@.design/DESIGN-VERIFICATION.md
|
|
325
|
-
</required_reading>
|
|
326
|
-
|
|
327
|
-
You are the design-integration-checker agent. Verify that each D-XX design decision recorded
|
|
328
|
-
in DESIGN-CONTEXT.md is actually reflected in the source code.
|
|
329
|
-
|
|
330
|
-
Check each decision by type:
|
|
331
|
-
- Typography decisions → grep font-size/scale values against declared scale
|
|
332
|
-
- Color decisions → grep for removed colors (expect 0 hits) and added tokens (expect ≥1 hit)
|
|
333
|
-
- Layout/spacing decisions → grep spacing values against declared grid
|
|
334
|
-
- Component decisions → grep for old patterns (expect 0) and new patterns (expect ≥1)
|
|
335
|
-
|
|
336
|
-
Return: Connected count, Orphaned count, Missing count with per-decision evidence.
|
|
337
|
-
Emit `## INTEGRATION CHECK COMPLETE` when done.
|
|
338
|
-
""")
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
Wait for `## INTEGRATION CHECK COMPLETE` in the agent response. Once detected, call `mcp__gdd_state__update_progress` with `task_progress: "3/3"` and a short `status` summary (e.g., `status: "integration_check_done"`).
|
|
342
|
-
|
|
343
|
-
**Note:** Integration-checker findings (Orphaned and Missing decisions) are treated as additional gaps and fed into the gap-response loop in Step 2 alongside verifier gaps.
|
|
58
|
+
Full agent prompts, lazy-gate decision logic, and telemetry-row shapes: `../../reference/verify-procedure.md` §Step 1.
|
|
344
59
|
|
|
345
60
|
---
|
|
346
61
|
|
|
347
62
|
## Step 2 — Interpret Result
|
|
348
63
|
|
|
349
|
-
|
|
350
|
-
- design-verifier: `## GAPS FOUND` marker in the verifier response (G-NN entries)
|
|
351
|
-
- design-integration-checker: Orphaned or Missing decisions in the integration checker response (any decision with status Orphaned or Missing is a gap)
|
|
352
|
-
|
|
353
|
-
### Consolidate gaps:
|
|
354
|
-
|
|
355
|
-
Merge verifier gaps (G-NN entries) and integration-checker gaps (Orphaned/Missing D-XX decisions) into a single gap list. Integration-checker Orphaned decisions become MAJOR gaps; Missing decisions become BLOCKER gaps (a decision that was never applied).
|
|
356
|
-
|
|
357
|
-
### If NO gaps from either source (PASS):
|
|
64
|
+
Consolidate gaps from both sources: verifier `## GAPS FOUND` (G-NN entries) and integration-checker (Orphaned -> MAJOR, Missing -> BLOCKER).
|
|
358
65
|
|
|
359
|
-
-
|
|
360
|
-
-
|
|
66
|
+
- **No gaps (PASS)** -> for each M-XX in the entry snapshot: `add_must_have` with `status: "pass"`. Proceed to Stage exit.
|
|
67
|
+
- **Gaps + `auto_mode=true`** -> preserve DESIGN-VERIFICATION.md, `set_status: "blocked"`, `add_blocker` with the gap count, exit with the failure message.
|
|
68
|
+
- **Gaps + `auto_mode=false`** -> proceed to Step 3.
|
|
361
69
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
- Parse all gaps (verifier + integration-checker combined).
|
|
365
|
-
- Count gaps by severity (BLOCKER, MAJOR, MINOR, COSMETIC).
|
|
366
|
-
- If `auto_mode=true`: preserve DESIGN-VERIFICATION.md, call `mcp__gdd_state__set_status` with `status: "blocked"`, then call `mcp__gdd_state__add_blocker` with `stage: "verify"` and `text: "N blockers found — see .design/DESIGN-VERIFICATION.md and integration-checker output"` (the mutator stamps the ISO date automatically). Exit with message:
|
|
367
|
-
```
|
|
368
|
-
Verification failed — N gaps found (X blockers, Y majors, Z minors, W cosmetics).
|
|
369
|
-
Report: .design/DESIGN-VERIFICATION.md
|
|
370
|
-
Fix gaps and re-run: /get-design-done:verify
|
|
371
|
-
```
|
|
372
|
-
- If `auto_mode=false`: present gap summary and menu (go to Step 3).
|
|
70
|
+
Detail: `../../reference/verify-procedure.md` §Step 2.
|
|
373
71
|
|
|
374
72
|
---
|
|
375
73
|
|
|
376
74
|
## Step 3 — Gap Response Loop
|
|
377
75
|
|
|
378
|
-
Present
|
|
379
|
-
|
|
380
|
-
```
|
|
381
|
-
━━━ Verification found N gaps ━━━
|
|
382
|
-
BLOCKER: X
|
|
383
|
-
MAJOR: Y
|
|
384
|
-
MINOR: Z
|
|
385
|
-
COSMETIC:W
|
|
386
|
-
|
|
387
|
-
Options:
|
|
388
|
-
[1] Fix now — inline fix for addressable gaps, then re-verify
|
|
389
|
-
[2] Save and exit — work preserved; fix in a later session
|
|
390
|
-
[3] Accept as-is — mark verify complete despite gaps (not recommended for blockers)
|
|
391
|
-
|
|
392
|
-
Choose:
|
|
393
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
### If user chose [2] Save and exit:
|
|
397
|
-
|
|
398
|
-
- Preserve DESIGN-VERIFICATION.md.
|
|
399
|
-
- Call `mcp__gdd_state__set_status` with `status: "blocked"`.
|
|
400
|
-
- Call `mcp__gdd_state__add_blocker` with `stage: "verify"` and `text: "N gaps outstanding — see .design/DESIGN-VERIFICATION.md"` (ISO date stamped by the mutator).
|
|
401
|
-
- Call `mcp__gdd_state__checkpoint` to record the save-and-exit checkpoint.
|
|
402
|
-
- Exit:
|
|
403
|
-
```
|
|
404
|
-
Gaps saved. Resume with: /get-design-done:verify
|
|
405
|
-
Report: .design/DESIGN-VERIFICATION.md
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
### If user chose [3] Accept as-is:
|
|
409
|
-
|
|
410
|
-
- For each unmet must-have (from the earlier snapshot, comparing against verifier gaps): call `mcp__gdd_state__add_must_have` with the same `id`, the same `text`, and `status: "fail"` (update-in-place idiom). Then proceed to exit.
|
|
411
|
-
- Call `mcp__gdd_state__add_blocker` with `stage: "verify"` and `text: "accepted with N unresolved gaps"`.
|
|
412
|
-
- Go to **Stage exit** with status=completed.
|
|
413
|
-
|
|
414
|
-
### If user chose [1] Fix now:
|
|
415
|
-
|
|
416
|
-
Check fix iteration counter. If counter >= 3:
|
|
417
|
-
```
|
|
418
|
-
Maximum fix iterations (3) reached. Saving current state and exiting.
|
|
419
|
-
Outstanding gaps remain — see .design/DESIGN-VERIFICATION.md.
|
|
420
|
-
```
|
|
421
|
-
Treat as Save and exit (option 2 above).
|
|
422
|
-
|
|
423
|
-
Otherwise: increment iteration counter and spawn design-fixer:
|
|
424
|
-
|
|
425
|
-
Task("design-fixer", """
|
|
426
|
-
<required_reading>
|
|
427
|
-
@.design/STATE.md
|
|
428
|
-
@.design/DESIGN-VERIFICATION.md
|
|
429
|
-
@.design/DESIGN-CONTEXT.md
|
|
430
|
-
</required_reading>
|
|
431
|
-
|
|
432
|
-
Fix all BLOCKER and MAJOR gaps from ## Phase 5 — Gaps in DESIGN-VERIFICATION.md.
|
|
433
|
-
For each gap: apply the targeted fix to the file/location in the gap's Location field.
|
|
434
|
-
After each fix, make an atomic commit: fix(design-gap-GNN): [gap title].
|
|
435
|
-
|
|
436
|
-
Context:
|
|
437
|
-
auto_mode: <true|false>
|
|
438
|
-
|
|
439
|
-
Emit ## FIX COMPLETE when all in-scope gaps have been attempted (partial success is still ## FIX COMPLETE).
|
|
440
|
-
Record any gap that could not be fixed via mcp__gdd_state__add_blocker with stage: "verify".
|
|
441
|
-
""")
|
|
442
|
-
|
|
443
|
-
Wait for `## FIX COMPLETE` in the agent response before continuing.
|
|
444
|
-
|
|
445
|
-
After the design-fixer spawn returns `## FIX COMPLETE`, re-spawn design-verifier with `re_verify=true` and loop to Step 2:
|
|
446
|
-
|
|
447
|
-
```
|
|
448
|
-
Task("design-verifier", """
|
|
449
|
-
<required_reading>
|
|
450
|
-
@.design/STATE.md
|
|
451
|
-
@.design/DESIGN-AUDIT.md
|
|
452
|
-
@.design/DESIGN-PLAN.md
|
|
453
|
-
@.design/DESIGN-CONTEXT.md
|
|
454
|
-
@.design/tasks/
|
|
455
|
-
@reference/audit-scoring.md
|
|
456
|
-
@reference/heuristics.md
|
|
457
|
-
@reference/review-format.md
|
|
458
|
-
@reference/accessibility.md
|
|
459
|
-
</required_reading>
|
|
460
|
-
|
|
461
|
-
You are the design-verifier agent. This is a re-verification run after inline fixes.
|
|
462
|
-
|
|
463
|
-
DESIGN-AUDIT.md contains the retrospective 6-pillar audit from design-auditor (read as supplementary context).
|
|
464
|
-
|
|
465
|
-
Context:
|
|
466
|
-
auto_mode: <true|false>
|
|
467
|
-
re_verify: true
|
|
468
|
-
|
|
469
|
-
Focus verification on previously-failed must-haves first. Run full 5-phase pass.
|
|
470
|
-
Write updated .design/DESIGN-VERIFICATION.md. Emit ## GAPS FOUND (if any), then ## VERIFICATION COMPLETE.
|
|
471
|
-
""")
|
|
472
|
-
```
|
|
76
|
+
Present the gap summary + 3-option menu (`[1] Fix now`, `[2] Save and exit`, `[3] Accept as-is`).
|
|
473
77
|
|
|
474
|
-
|
|
78
|
+
- **[1] Fix now** -> if iteration counter >= 3 fall back to [2]; otherwise increment counter, spawn `design-fixer` for BLOCKER+MAJOR gaps (each fix is an atomic `fix(design-gap-GNN):` commit), wait for `## FIX COMPLETE`, then re-spawn `design-verifier` with `re_verify=true` and loop to Step 2.
|
|
79
|
+
- **[2] Save and exit** -> preserve DESIGN-VERIFICATION.md, `set_status: "blocked"`, `add_blocker`, `checkpoint`, exit.
|
|
80
|
+
- **[3] Accept as-is** -> flip each unmet M-XX to `status: "fail"`, `add_blocker` with "accepted with N unresolved gaps", proceed to Stage exit.
|
|
475
81
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
1. Call `mcp__gdd_state__update_progress` with `task_progress: "<verified>/<total>"` (the total is `state.must_haves.length` from the entry snapshot; verified is the count set to `pass`) and `status: "verify_complete"`.
|
|
479
|
-
2. Call `mcp__gdd_state__set_status` with one of:
|
|
480
|
-
- `status: "pipeline_complete"` — all must-haves passed and no outstanding gaps.
|
|
481
|
-
- `status: "verify_failed_requires_loop"` — gaps remain (save-and-exit, accept-as-is with fails, or auto-mode blocker).
|
|
482
|
-
3. Call `mcp__gdd_state__checkpoint` — stamps `frontmatter.last_checkpoint` and appends a `verify_completed_at` timestamp entry. No direct STATE.md writes; the checkpoint tool owns the final persist.
|
|
82
|
+
Full prompts + branching: `../../reference/verify-procedure.md` §Step 3.
|
|
483
83
|
|
|
484
84
|
---
|
|
485
85
|
|
|
486
|
-
##
|
|
487
|
-
|
|
488
|
-
Print summary:
|
|
489
|
-
|
|
490
|
-
```
|
|
491
|
-
━━━ Verify complete ━━━
|
|
492
|
-
Status: PASS | FAIL | ACCEPTED-WITH-GAPS
|
|
493
|
-
Gaps: X blockers, Y majors, Z minors, W cosmetics
|
|
86
|
+
## Stage exit
|
|
494
87
|
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
design-verifier → .design/DESIGN-VERIFICATION.md (7-category + heuristics + UAT)
|
|
499
|
-
design-integration-checker-gate → JSON gate decision (may skip design-integration-checker)
|
|
500
|
-
design-integration-checker → inline (D-XX decision wiring)
|
|
88
|
+
1. `mcp__gdd_state__update_progress` -> `task_progress: "<verified>/<total>"`, `status: "verify_complete"`.
|
|
89
|
+
2. `mcp__gdd_state__set_status` -> `"pipeline_complete"` (all pass, no gaps) or `"verify_failed_requires_loop"` (gaps remain).
|
|
90
|
+
3. `mcp__gdd_state__checkpoint` — stamps `last_checkpoint` and appends `verify_completed_at`. No direct STATE.md writes.
|
|
501
91
|
|
|
502
|
-
|
|
503
|
-
Qualitative audit: .design/DESIGN-AUDIT.md
|
|
504
|
-
Full verification: .design/DESIGN-VERIFICATION.md
|
|
92
|
+
## After Completion
|
|
505
93
|
|
|
506
|
-
|
|
507
|
-
[if fail] fix gaps and re-run /get-design-done:verify
|
|
508
|
-
━━━━━━━━━━━━━━━━━━━━━
|
|
509
|
-
```
|
|
94
|
+
Print the `=== Verify complete ===` summary (status, gap counts, agent paths, next-step suggestion) from `../../reference/verify-procedure.md` §After Completion.
|
|
510
95
|
|
|
511
96
|
## VERIFY COMPLETE
|
|
@@ -4,6 +4,7 @@ description: "Pre-warms Anthropic's 5-min prompt cache across all agents that im
|
|
|
4
4
|
user-invocable: true
|
|
5
5
|
argument-hint: "[--agents <comma-list>]"
|
|
6
6
|
tools: Read, Bash, Grep
|
|
7
|
+
disable-model-invocation: true
|
|
7
8
|
---
|
|
8
9
|
|
|
9
10
|
# warm-cache
|
|
@@ -55,37 +56,7 @@ Print the markdown summary described in the Invocation Contract.
|
|
|
55
56
|
|
|
56
57
|
## Concrete Command Example
|
|
57
58
|
|
|
58
|
-
|
|
59
|
-
$ /gdd:warm-cache
|
|
60
|
-
|
|
61
|
-
Warming Anthropic prompt cache for 14 agents (5 min TTL)...
|
|
62
|
-
[1/14] design-verifier ... ok (0.3s)
|
|
63
|
-
[2/14] design-planner ... ok (0.3s)
|
|
64
|
-
[3/14] design-integration-checker ... ok (0.3s)
|
|
65
|
-
...
|
|
66
|
-
[14/14] design-reflector ... ok (0.3s)
|
|
67
|
-
|
|
68
|
-
## Warm-cache complete
|
|
69
|
-
- Agents warmed: 14
|
|
70
|
-
- Skipped (no shared preamble import): 3 (agents/README.md not an agent; 2 agents not yet migrated to shared preamble)
|
|
71
|
-
- Duration: 4.2s
|
|
72
|
-
- Next 5 min: repeated spawns of these agents pay cached_input_per_1m rate
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
Filtered example:
|
|
76
|
-
|
|
77
|
-
```
|
|
78
|
-
$ /gdd:warm-cache --agents design-verifier,design-planner
|
|
79
|
-
|
|
80
|
-
Warming Anthropic prompt cache for 2 agents (filtered from 14)...
|
|
81
|
-
[1/2] design-verifier ... ok (0.3s)
|
|
82
|
-
[2/2] design-planner ... ok (0.3s)
|
|
83
|
-
|
|
84
|
-
## Warm-cache complete
|
|
85
|
-
- Agents warmed: 2
|
|
86
|
-
- Filtered out by --agents: 12
|
|
87
|
-
- Duration: 0.7s
|
|
88
|
-
```
|
|
59
|
+
Full + filtered command-output examples live in `./reference/cache-policy.md#concrete-warm-cache-command-examples-layer-a` so this skill stays close to its step-by-step flow rather than its sample output.
|
|
89
60
|
|
|
90
61
|
## Integration Points
|
|
91
62
|
|
|
@@ -95,10 +66,7 @@ Warming Anthropic prompt cache for 2 agents (filtered from 14)...
|
|
|
95
66
|
|
|
96
67
|
## Cost Model
|
|
97
68
|
|
|
98
|
-
-
|
|
99
|
-
- At Haiku rates (reference/model-prices.md): `(50 / 1e6) * 1.00 + (5 / 1e6) * 5.00 = $0.00005 + $0.000025 = $0.000075` per agent.
|
|
100
|
-
- 14 agents × $0.000075 = **$0.00105** total for a full warm-cache invocation.
|
|
101
|
-
- Payback: a single subsequent Opus spawn with 40k cached input tokens saves `(40000/1e6) * (15.00 - 1.50) = $0.54`. Warm-cache pays for itself ~500× over on the first repeated planner spawn.
|
|
69
|
+
Full per-ping math, total-cost arithmetic for a 14-agent warm, and payback calculation versus a downstream Opus spawn live in `./reference/cache-policy.md#cost-model-layer-a`. Top-line: a full warm is ~$0.001 and pays back ~500× on the first repeated planner spawn.
|
|
102
70
|
|
|
103
71
|
## Failure Modes
|
|
104
72
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: zoom-out
|
|
3
|
+
description: "Asks the agent to go up a layer of abstraction and map the relevant modules and callers using the project's CONTEXT.md vocabulary. Use when the user is working in an unfamiliar area of code and needs orientation before deep work."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
argument-hint: "[scope]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Source: mattpocock/skills (MIT) — adapted with permission. See `../NOTICE` for the full attribution block.
|
|
9
|
+
|
|
10
|
+
# Zoom Out
|
|
11
|
+
|
|
12
|
+
**Role:** Give the user a map, not a fix.
|
|
13
|
+
|
|
14
|
+
I don't know this area of code well. Go up a layer of abstraction. Give me a map of all the relevant modules and callers, using the project's domain glossary (`CONTEXT.md`) vocabulary.
|
|
15
|
+
|
|
16
|
+
When invoked, produce a one-screen map that names:
|
|
17
|
+
|
|
18
|
+
1. **Modules in scope** — one-line description of each, using terms from `CONTEXT.md` (see `./../reference/context-md-format.md` for the schema). Do not invent terms.
|
|
19
|
+
2. **Callers** — who calls these modules from elsewhere, with file paths.
|
|
20
|
+
3. **Seams** — where data crosses module boundaries, named per `./../reference/architecture-vocabulary.md`.
|
|
21
|
+
|
|
22
|
+
Do not propose fixes. Do not write code. The output is a map.
|
|
23
|
+
|
|
24
|
+
If `CONTEXT.md` is absent, suggest `/gdd:discuss` to start one, but still produce the map using basenames and inferred terms.
|
|
25
|
+
|
|
26
|
+
## ZOOM-OUT COMPLETE
|