Skip to content

reviewing-design-docs

Structured review of design documents checking for completeness, feasibility, and implementation readiness. Evaluates whether an implementer could code against the spec without guessing, flagging vague language, missing decisions, and underspecified interfaces. A core spellbook capability for catching design gaps before they become implementation failures.

Auto-invocation: Your coding assistant will automatically invoke this skill when it detects a matching trigger.

Use when reviewing design documents, technical specifications, architecture docs, RFCs, ADRs, or API designs for completeness and implementability. Triggers: 'review this design', 'is this spec complete', 'can someone implement from this', 'what's missing from this design', 'review this RFC', 'is this ready for implementation', 'audit this spec'. Core question: could an implementer code against this without guessing?

Workflow Diagram

Reviewing Design Docs - Diagrams

Seven-phase design document review workflow: inventories document structure, evaluates completeness checklist, detects hand-waving and vague language, verifies interface claims against source code, simulates implementation per component, compiles scored findings, and produces a prioritized remediation plan.

Overview: Phase Flow

flowchart TD
    subgraph Legend
        L1[Process]
        L2{Decision}
        L3([Terminal])
        L4[/"Command / Skill"/]:::subagent
        L5[[Quality Gate]]:::gate
        L6([Success]):::success
    end

    Start([Design document provided]) --> P1[Phase 1:<br>Document Inventory]
    P1 --> P23[/"Phases 2-3:<br>/review-design-checklist"/]:::subagent
    P23 --> VagueCheck{3+ VAGUE items?}
    VagueCheck -->|Yes| Sharpen[/"Optional:<br>/sharpen-audit on<br>specific sections"/]:::subagent
    Sharpen --> P45
    VagueCheck -->|No| P45
    P45[/"Phases 4-5:<br>/review-design-verify"/]:::subagent
    P45 --> P67[/"Phases 6-7:<br>/review-design-report"/]:::subagent
    P67 --> SelfCheck[[Self-Check:<br>8-item verification]]:::gate
    SelfCheck --> CoreQ{Implementable<br>without guessing?}
    CoreQ -->|Yes| Approved([Approved]):::success
    CoreQ -->|No| Revisions([Revisions Needed]):::success

    classDef subagent fill:#4a9eff,stroke:#333,color:#fff
    classDef gate fill:#ff6b6b,stroke:#333,color:#fff
    classDef success fill:#51cf66,stroke:#333,color:#fff

Cross-Reference Table

Overview Node Detail Diagram
Phase 1: Document Inventory Phase 1 Detail
Phases 2-3: /review-design-checklist Phases 2-3 Detail
Phases 4-5: /review-design-verify Phases 4-5 Detail
Phases 6-7: /review-design-report Phases 6-7 Detail
Self-Check: 8-item verification Self-Check Gate

Phase 1: Document Inventory

flowchart TD
    subgraph Legend
        L1[Process]
        L2([Terminal]):::success
    end

    Start([Begin Phase 1]) --> Sections[Catalog sections:<br>name + line ranges]
    Sections --> Components[Catalog components:<br>name + location]
    Components --> Deps[Catalog dependencies:<br>name + version Y/N]
    Deps --> Diagrams[Catalog diagrams:<br>type + line number]
    Diagrams --> Done([Document inventory complete]):::success

    classDef success fill:#51cf66,stroke:#333,color:#fff

Source: SKILL.md Phase 1 (lines 55-62)


Phases 2-3: Completeness Checklist + Hand-Waving Detection

flowchart TD
    subgraph Legend
        L1[Process]
        L2{Decision}
        L3([Terminal]):::success
        L4[[Quality Gate]]:::gate
    end

    Start([Begin Phases 2-3]) --> Checklist[Phase 2: Evaluate<br>completeness checklist]

    Checklist --> Arch[Architecture:<br>diagram, boundaries,<br>data/control flow,<br>state, sync/async]
    Checklist --> Data[Data:<br>models, schema,<br>validation, transforms,<br>storage]
    Checklist --> API[API/Protocol:<br>endpoints, schemas,<br>errors, auth,<br>rate limits, versioning]
    Checklist --> FS[Filesystem:<br>dirs, modules,<br>naming, classes]
    Checklist --> Errors[Errors:<br>categories, propagation,<br>recovery, retry, failures]
    Checklist --> Edge[Edge Cases:<br>boundary, null,<br>max limits, concurrency]
    Checklist --> DepCat[Dependencies:<br>versions, fallback,<br>API contracts]
    Checklist --> Migration[Migration:<br>steps, rollback,<br>data migration, compat]

    Arch & Data & API & FS & Errors & Edge & DepCat & Migration --> VerdictGate[[Each item:<br>SPECIFIED / VAGUE /<br>MISSING / N/A]]:::gate

    VerdictGate --> APICheck{API/Protocol is<br>SPECIFIED or VAGUE?}
    APICheck -->|Yes| RESTChecklist[REST API Design Checklist:<br>Richardson Maturity L2+,<br>Postel's Law checks,<br>Hyrum's Law flags,<br>12-item API spec checklist,<br>error response standard]
    APICheck -->|No| Phase3
    RESTChecklist --> Phase3

    Phase3[Phase 3: Hand-Waving Detection] --> VagueLang[Flag vague language:<br>etc., as needed, TBD,<br>standard approach,<br>straightforward]
    VagueLang --> Assumed[Flag assumed knowledge:<br>algorithm choices,<br>data structures,<br>config values, naming]
    Assumed --> Magic[Flag magic numbers:<br>buffer sizes, timeouts,<br>retry counts, thresholds]
    Magic --> Done([Completeness matrix +<br>vague inventory complete]):::success

    classDef gate fill:#ff6b6b,stroke:#333,color:#fff
    classDef success fill:#51cf66,stroke:#333,color:#fff

Source: review-design-checklist.md (Phases 2-3)


Phases 4-5: Interface Verification + Implementation Simulation

flowchart TD
    subgraph Legend
        L1[Process]
        L2{Decision}
        L3([Terminal]):::success
        L4[/"Skill invocation"/]:::subagent
        L5[[Quality Gate]]:::gate
    end

    Start([Begin Phases 4-5]) --> VerifyLoop{More interfaces<br>to verify?}
    VerifyLoop -->|Yes| ReadInterface[Read source/docstring<br>for interface]
    ReadInterface --> MarkVerdict{Source confirms<br>claim?}
    MarkVerdict -->|Yes| MarkVerified[Mark VERIFIED<br>in verification table]
    MarkVerdict -->|No source available| MarkAssumed[Mark ASSUMED<br>= critical gap]
    MarkVerdict -->|Source diverges| MarkAssumed
    MarkVerified --> VerifyLoop
    MarkAssumed --> VerifyLoop

    VerifyLoop -->|No| EscalationCheck{Security / performance /<br>concurrency / numeric /<br>external claims?}
    EscalationCheck -->|Yes| Escalate[Factchecker escalation:<br>claim, location,<br>category, depth<br>SHALLOW/MEDIUM/DEEP]
    EscalationCheck -->|No| Phase5
    Escalate --> Phase5

    Phase5[Phase 5: Implementation<br>simulation per component] --> SimLoop{More components?}
    SimLoop -->|Yes| SimComponent[Simulate implementation:<br>Implement now? YES/NO<br>Questions list<br>Must invent list<br>Must guess list]
    SimComponent --> InventCheck{3+ Must Invent<br>items?}
    InventCheck -->|Yes| Fractal[/"fractal-thinking<br>intensity: pulse<br>checkpoint: autonomous"/]:::subagent
    InventCheck -->|No| SimLoop
    Fractal --> SimLoop
    SimLoop -->|No| AllMarked[[All interfaces:<br>VERIFIED or ASSUMED]]:::gate
    AllMarked --> Done([Verification table +<br>simulations complete]):::success

    classDef subagent fill:#4a9eff,stroke:#333,color:#fff
    classDef gate fill:#ff6b6b,stroke:#333,color:#fff
    classDef success fill:#51cf66,stroke:#333,color:#fff

Source: review-design-verify.md (Phases 4-5)


Phases 6-7: Findings Report + Remediation Plan

flowchart TD
    subgraph Legend
        L1[Process]
        L2([Terminal]):::success
        L3[[Quality Gate]]:::gate
    end

    Start([Begin Phases 6-7]) --> Score[Phase 6: Compile score table<br>per category: Specified /<br>Vague / Missing / N/A counts]
    Score --> HWStats[Hand-Waving stats:<br>N vague, M assumed,<br>P magic numbers, Q escalated]
    HWStats --> Findings[Generate numbered findings:<br>Title, Location,<br>Current quote,<br>Problem, Would guess,<br>Required exact fix]
    Findings --> FindingsGate[[Every finding has<br>location + remediation]]:::gate

    FindingsGate --> P1Items[Phase 7: P1 Critical<br>blocks implementation]
    P1Items --> P2Items[P2 Important<br>clarifications needed]
    P2Items --> P3Items[P3 Minor<br>improvements]
    P3Items --> FactCheck[Factcheck Verification:<br>claim + category + depth]
    FactCheck --> Additions[Additions needed:<br>diagrams, tables,<br>sections to add]
    Additions --> RemGate[[All remediation items<br>independently actionable]]:::gate
    RemGate --> Done([Report + remediation<br>plan delivered]):::success

    classDef gate fill:#ff6b6b,stroke:#333,color:#fff
    classDef success fill:#51cf66,stroke:#333,color:#fff

Source: review-design-report.md (Phases 6-7)


Self-Check Gate

Final verification before delivering review results.

flowchart TD
    subgraph Legend
        L1[[Quality Gate]]:::gate
        L2([Terminal]):::success
    end

    Start([All phases complete]) --> SC1[[Full document<br>inventory completed]]:::gate
    SC1 --> SC2[[Every checklist<br>item marked]]:::gate
    SC2 --> SC3[[All vague<br>language flagged]]:::gate
    SC3 --> SC4[[Interfaces verified<br>via source reading]]:::gate
    SC4 --> SC5[[Claims escalated<br>to factchecker]]:::gate
    SC5 --> SC6[[Implementation simulated<br>per component]]:::gate
    SC6 --> SC7[[Every finding has<br>location + remediation]]:::gate
    SC7 --> SC8[[Prioritized remediation<br>complete]]:::gate
    SC8 --> CoreQ{Implementable<br>without guessing?}
    CoreQ -->|Yes| Approved([Approved]):::success
    CoreQ -->|No| Revisions([Revisions Needed]):::success

    classDef gate fill:#ff6b6b,stroke:#333,color:#fff
    classDef success fill:#51cf66,stroke:#333,color:#fff

Source: SKILL.md Self-Check (lines 106-117) and Final Emphasis (lines 119-127)


Source Cross-Reference

Diagram Node Source File Reference
Phase 1: Document Inventory SKILL.md Lines 55-62: section/component/dependency/diagram catalog
Phases 2-3: /review-design-checklist SKILL.md Lines 66-73: completeness checklist dispatch
8 checklist categories review-design-checklist.md Lines 17-28: Architecture through Migration
REST API Design Checklist review-design-checklist.md Lines 30-101: Richardson, Postel, Hyrum checks
Hand-Waving Detection review-design-checklist.md Lines 104-118: vague language, assumed knowledge, magic numbers
3+ VAGUE -> /sharpen-audit SKILL.md Line 74: optional deep audit
Phases 4-5: /review-design-verify SKILL.md Lines 78-84: interface verification dispatch
Interface VERIFIED/ASSUMED loop review-design-verify.md Lines 9-44: read source, mark verdict
Factchecker escalation review-design-verify.md Lines 46-50: security/performance/concurrency claims
Implementation simulation review-design-verify.md Lines 54-64: per-component YES/NO + gap lists
fractal-thinking invocation review-design-verify.md Line 64: 3+ Must Invent triggers fractal pulse
Phases 6-7: /review-design-report SKILL.md Lines 88-94: findings report dispatch
Score table review-design-report.md Lines 19-27: category counts
Numbered findings format review-design-report.md Lines 29-38: title, loc, current, problem, fix
P1/P2/P3 remediation plan review-design-report.md Lines 42-61: prioritized items + factcheck + additions
Self-Check 8-item gate SKILL.md Lines 106-117: checklist verification
Core question SKILL.md Lines 119-127: implementable without guessing

Skill Content

<ROLE>
Technical Specification Auditor. Reputation depends on catching gaps that would cause implementation failures, not rubber-stamping documents.
</ROLE>

## Invariant Principles

1. **Specification sufficiency determines implementation success.** Underspecified designs force implementers to guess, causing divergent implementations and rework.
2. **Method names are suggestions, not contracts.** Inferred behavior from naming is fabrication until verified against source.
3. **Vague language masks missing decisions.** "Standard approach", "as needed", "TBD" defer design work to implementation phase where it costs 10x more.
4. **Complete != comprehensive.** Document completeness means every item either specified or explicitly N/A with justification.

## Inputs

| Input | Required | Description |
|-------|----------|-------------|
| Design document | Yes | Markdown/text file containing technical specification, architecture doc, or design proposal |
| Source codebase | No | Existing code to verify interface claims against |
| Implementation context | No | Target platform, constraints, prior decisions |

## Outputs

| Output | Type | Description |
|--------|------|-------------|
| Findings report | Inline | Scored inventory with SPECIFIED/VAGUE/MISSING verdicts per category |
| Remediation plan | Inline | Prioritized P1/P2/P3 fixes with acceptance criteria |
| Factcheck escalations | Inline | Claims requiring verification before implementation |

## Reasoning Schema

```
<analysis>
[Document section under review]
[Specific claim or specification]
[What implementation decision this enables or blocks]
</analysis>

<reflection>
[Could I code against this RIGHT NOW?]
[What would I have to invent/guess?]
[Verdict: SPECIFIED | VAGUE | MISSING]
</reflection>
```

Example verdict: `"Authentication timeout: 30s" → SPECIFIED. "Retry on failure: standard approach" → VAGUE (retry count, backoff unspecified). "Rate limiting" → MISSING (no mention).`

---

## Phase 1: Document Inventory

```
## Sections: [name] - lines X-Y
## Components: [name] - location
## Dependencies: [name] - version: Y/N
## Diagrams: [type] - line X
```

---

## Phases 2-3: Completeness Checklist + Hand-Waving Detection

Evaluate every category for specification completeness. Detect vague language, assumed knowledge, and magic numbers.

**Execute:** `/review-design-checklist`

**Outputs:** Completeness matrix with SPECIFIED/VAGUE/MISSING verdicts, vague language inventory, assumed knowledge list, magic number list

**Optional deep audit:** For specs with 3+ VAGUE items, run `/sharpen-audit` on specific sections to get executor-prediction analysis (what an implementer would guess for each ambiguity).

**Optional claim decomposition:** For specification sections with dense factual content (3+ compound claims in a paragraph), invoke `/decompose-claims` to break them into atomic verifiable units before completeness scoring.

---

## Phases 4-5: Interface Verification + Implementation Simulation

Verify all interface claims against source code. Escalate unverifiable claims to factchecker. Simulate implementation per component to surface gaps.

**Execute:** `/review-design-verify`

**Outputs:** Verification table, factchecker escalations, per-component implementation simulation

---

## Phases 6-7: Findings Report + Remediation Plan

Compile scored findings report and prioritized remediation plan.

**Execute:** `/review-design-report`

**Outputs:** Score table, numbered findings with location and remediation, P1/P2/P3 remediation plan with factcheck and additions sections

---

<FORBIDDEN>
- Approving documents with unresolved TBD/TODO markers
- Inferring interface behavior from method names without reading source
- Marking items SPECIFIED when implementation details would require guessing
- Skipping factcheck escalation for security, performance, or concurrency claims
- Accepting "standard approach" or "as needed" as specifications
</FORBIDDEN>

## Self-Check

```
[ ] Full document inventory
[ ] Every checklist item marked
[ ] All vague language flagged
[ ] Interfaces verified (source read, not assumed)
[ ] Claims escalated to factchecker
[ ] Implementation simulated per component
[ ] Every finding has location + remediation
[ ] Prioritized remediation complete
```

<FINAL_EMPHASIS>
NOT "does this sound reasonable?"

**"Could someone create a COMPLETE implementation plan WITHOUT guessing design decisions?"**

For EVERY specification: "Is this precise enough to code against?"

If uncertain: under-specified. Find it. Flag it.
</FINAL_EMPHASIS>