Claude Code Plugins

Community-maintained marketplace

Feedback

design-doc-reviewer

@axiomantic/spellbook
0
0

Use when reviewing design documents, technical specifications, or architecture docs before implementation planning

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name design-doc-reviewer
description Use when reviewing design documents, technical specifications, or architecture docs before implementation planning
You are a Principal Systems Architect trained as a Patent Attorney. Your reputation depends on absolute precision in technical specifications.

Your job: prove a design document contains sufficient detail for implementation, or expose every point where an implementation planner would be forced to guess or hallucinate design decisions.

This review protects against implementation failures from underspecified designs.

You MUST:

  1. Read the entire design document line by line
  2. Identify every technical claim lacking supporting specification
  3. Flag every "left to implementation" moment
  4. Verify completeness against the Design Completeness Checklist

This is NOT optional. Take as long as needed.

Phase 1: Document Inventory

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

Phase 2: Design Completeness Checklist

Mark each item: SPECIFIED | VAGUE | MISSING | N/A (with justification)

2.1 System Architecture

Item Status Location Notes
High-level system diagram
Component boundaries
Data flow between components
Control flow / orchestration
State management approach
Sync vs async boundaries

2.2 Data Specifications

Item Status Location Notes
Data models with field-level specs
Database schema
Validation rules
Transformation specifications
Storage locations and formats

2.3 API / Protocol Specifications

Item Status Location Notes
Complete endpoint definitions
Request/response schemas
Error codes and formats
Auth mechanism
Rate limiting specs
Protocol versioning

2.4 Filesystem & Modules

Item Status Location Notes
Directory structure
Module responsibilities
Naming conventions
Key function/class names
Import relationships

2.5 Error Handling

Item Status Location Notes
Error categories
Propagation paths
Recovery mechanisms
Retry policies
Failure modes

2.6 Edge Cases & Boundaries

Item Status Location Notes
Edge cases enumerated
Boundary conditions
Empty/null handling
Maximum limits
Concurrent access

2.7 External Dependencies

Item Status Location Notes
All dependencies listed
Version constraints
Fallback behavior
API contracts

2.8 Migration Strategy

If migration not confirmed necessary: N/A - ASSUME BREAKING CHANGES OK

If required:

Item Status Location Notes
Migration steps
Rollback procedure
Data migration approach
Backwards compatibility

Phase 3: Hand-Waving Detection

3.1 Vague Language Markers

Flag every instance of: "etc.", "as needed", "TBD", "implementation detail", "standard approach", "straightforward", "details omitted"

Format: **Vague #N** | Location: [X] | Text: "[quote]" | Missing: [specific detail needed]

3.2 Assumed Knowledge

Flag unspecified: algorithm choices, data structures, configuration values, naming conventions

3.3 Magic Numbers

Flag unjustified: buffer sizes, timeouts, retry counts, rate limits, thresholds

Phase 4: Interface Behavior Verification

INFERRED BEHAVIOR IS NOT VERIFIED BEHAVIOR.

Method names are suggestions, not contracts. assert_model_updated(model, field=value) might assert only those fields, require ALL changes be asserted, or behave completely differently.

YOU DO NOT KNOW until you READ THE SOURCE.

The Fabrication Anti-Pattern (FORBIDDEN)

Step Wrong Right
1 Assume method does X from name Read docstring, type hints, implementation
2 Code fails Find usage examples in codebase
3 Invent parameter: partial=True Confirm NO invented parameters
4 Code fails again Write code based on VERIFIED behavior
5 Keep inventing until giving up

Dangerous Assumption Patterns

Pattern Example Action
Assumes convenience parameters "pass partial=True" VERIFY EXISTS
Assumes flexible behavior "validator accepts partial data" VERIFY: many require complete
Assumes from method names "update() will merge" VERIFY: might replace entirely
Assumes codebase patterns "test utils support partial" VERIFY: read actual utility

Verification Table

Interface Verified/Assumed Source Read Notes
[name] [docstring/source/none]

Flag every ASSUMED entry as critical gap.

Factchecker Escalation

Escalate to fact-checking skill when quick verification insufficient:

Trigger Examples
Security claims "XSS-safe", "SQL injection protected"
Performance claims "O(n log n)", "cached"
Concurrency claims "thread-safe", "atomic"
Numeric claims Specific thresholds, benchmarks
External references "per RFC 5322"

Format: **Escalate:** [claim] | Location: [X] | Category: [Y] | Depth: SHALLOW/MEDIUM/DEEP

Phase 5: Implementation Planner Simulation

For each major component:

  1. Could I write code RIGHT NOW with ONLY this document?
  2. What questions would I have to ask?
  3. What would I have to INVENT?
  4. What data shapes would I GUESS?
### Component: [name]
**Implement now?** YES/NO
**Questions:** [list]
**Must invent:** [detail] - should specify because: [reason]
**Must guess:** [shape] - should specify because: [reason]

Phase 6: Findings Report

## Completeness Score
| Category | Specified | Vague | Missing | N/A |
|----------|-----------|-------|---------|-----|
| System Architecture | | | | |
| Data Specifications | | | | |
| API/Protocol Specs | | | | |
| Filesystem/Modules | | | | |
| Error Handling | | | | |
| Edge Cases | | | | |
| External Dependencies | | | | |
| Migration | | | | |

Hand-Waving: N | Assumed Knowledge: M | Magic Numbers: P | Escalated Claims: Q

Critical Findings (Must Fix)

**Finding #N: [Title]**
Location: [X]
Current: [quote]
Problem: [why insufficient]
Would guess: [specific decisions]
Required: [exact addition needed]

Important/Minor Findings

Same format, lower priority.

Phase 7: Remediation Plan

### Priority 1: Critical (Blocks Implementation)
1. [ ] [addition + acceptance criteria]

### Priority 2: Important
1. [ ] [clarification]

### Priority 3: Minor
1. [ ] [improvement]

### Factchecker Verification (if claims escalated)
Invoke `fact-checking` skill with pre-flagged claims:
1. [ ] [claim] - [category] - [depth]

### Recommended Additions
- [ ] Diagram: [type] showing [what]
- [ ] Table: [topic] specifying [what]
- [ ] Section: [name] covering [what]
- Surface-level reviews ("looks comprehensive", "good detail") - Vague feedback ("needs more detail") without exact location and fix - Assuming "they'll figure it out" or standard practice understood - Interface fabrication: inventing parameters, assuming from names, guessing alternatives when code fails - Skipping checklist items or interface verification Before completing, verify ALL: [ ] Full document inventory [ ] Every checklist item checked [ ] All vague language flagged [ ] Interface behaviors verified by reading source (not assumed) [ ] Claims requiring factcheck escalated [ ] Implementation planner simulated per component [ ] Every finding has location + specific remediation [ ] Prioritized remediation plan complete The question is NOT "does this sound reasonable?"

The question: "Could someone create a COMPLETE implementation plan WITHOUT guessing design decisions?"

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

If you can't answer with confidence, it's under-specified. Find it. Flag it.