Invocation
Execution model
Four non-negotiable contracts govern every operation:- All data passed to agents via files, never inline. Spec content, dedup lists, and angle definitions are written to disk before the agent prompt. Inline data is silently truncated.
- State written before agent spawn, not after.
spawn_time_isois written tostate.jsonbefore the Agent tool call. Spawn failures recordspawn_failedstatus. - Structured output is the contract; free-text is ignored. Critic files must contain
STRUCTURED_OUTPUT_START/STRUCTURED_OUTPUT_ENDmarkers. Files without these markers are treated as failed. - No coordinator self-review of anything load-bearing. Severity classification, cross-fix consistency, section-impact scoring — all delegated to independent agents.
Workflow
Step 0: Input validation
state.json as the anti-tamper reference for concept drift checks.Step 2: Initial design draft
specs/v0-initial.md — a fast first-pass design covering: core concept, key mechanics/features, user/player flow, high-level technical approach, and known open questions. Deliberately rough — good enough to critique, not polished.Step 3: Dimension discovery
- correctness — does the design work as claimed?
- usability/UX — can users actually use it?
- economics/cost — is it affordable and sustainable?
- operability — can it be operated and maintained?
- security/trust — can it be abused or corrupted?
state.json at discovery time and is immutable once written.Step 4: Critique round
- Pop up to 6 highest-priority angles from the frontier
- Spawn one outside-frame critic (slot #7) seeded from the original concept description only — not the current spec
- Each critic writes to a content-addressed file; the coordinator cannot overwrite these files
- Quorum: ≥4 of 6 spec-derived critics must return parseable output
- Severity classification delegated to independent judge agents (two-pass blind protocol)
Step 5: Synthesis with independent judges
- A fact-sheet agent reads the current spec and extracts recovery behaviors as structured output.
- A severity judge receives the flaw description with severity stripped (blind pass 1), issues an independent verdict, then receives the critic’s original severity claim (pass 2) and confirms, upgrades, or downgrades.
- Each flaw is validated against 5 checks: contradiction, premise, existence, nerf, and falsifiability. Flaws that fail validation are downgraded to “disputed” — not silently dropped.
- GAP_REPORTs allow critics to re-open a closed flaw whose fix was insufficient (max 2 per flaw per run).
Step 6: Redesign
component_invariants list from state.json.The redesign agent performs its own internal grouping and writes the new versioned spec at specs/v{N}-post-round-{round}.md. Every change is annotated with <!-- Fixed: <description> -->.Complexity budget:- Rounds 1–2: ≤2 new components or state fields per redesign
- Rounds 3+: ≤1 new component or state field per redesign
Step 7: Termination check
max_rounds (default 5). Early exit is available but not the expected path — it requires all 5 required dimension categories covered, no new dimension categories for 2 consecutive rounds, and no open critical flaws.Termination label: “Conditions Met” or “Max Rounds Reached” — never “no critical flaws remain.”Step 8: Final spec
deep-design-{run_id}/spec.md using the coordinator summary, per-critique mini-syntheses, and the latest versioned spec — not raw critique files.The coverage report includes: dimensions covered, required categories covered, unverified sections, open issues, and an honest caveats section.After writing the spec, the skill offers a /deep-qa pass to audit the spec as a document:Self-review checklist
Before delivering, verify all of the following:- State file is valid JSON after every round;
generationcounter incremented after every state write core_claim_sha256stored at Step 0; verified before each drift check- No critique angle has status
in_progressafter round completes - Every critique file has: Flaws, Severity, Scenario, Suggested Fix, Mini-Synthesis, New Angles
- All critical flaws have a resolution (fixed, accepted, or disputed with rationale)
- Disputed flaws documented in coordinator summary — not silently dropped
- Final spec does NOT read raw critique files
- Final spec is internally consistent (no fix contradicts another)
- Termination label is “Conditions Met” or “Max Rounds Reached” — never “no critical flaws remain”
- Coverage report includes unverified sections and open issues
- Invariant-validation agent ran after each redesign
- Outside-frame critic spawned each round
- Frontier pop decisions logged in
logs/frontier_pop_log.jsonl
Golden rules
1. Critics must be adversarial
1. Critics must be adversarial
2. Every flaw needs a concrete scenario
2. Every flaw needs a concrete scenario
3. Fixes must address root causes
3. Fixes must address root causes
4. Independence invariant
4. Independence invariant
5. Never nerf what you can redesign
5. Never nerf what you can redesign
6. Question whether the feature should exist
6. Question whether the feature should exist
7. Critique what's missing, not just what's there
7. Critique what's missing, not just what's there
8. Termination means coverage is saturated, not zero flaws
8. Termination means coverage is saturated, not zero flaws
Reference files
| File | Contents |
|---|---|
DFS.md | Frontier management, dimension discovery, priority ordering, termination logic |
FORMAT.md | Critique file format, structured output markers, mini-synthesis format |
STATE.md | State schema, component_invariants, ordering_graph, generation counter |
SYNTHESIS.md | Coordinator summary format, final spec structure |