eho/agent-skills

design-doc-reviewer

Independently and read-only review a design doc, PRD, spec, or requirements for repository accuracy, material risks, and canonical story readiness.

First seen Mar 24, 2026

Installation

$ npx skills add eho/agent-skills --skill design-doc-reviewer

Summary

  • Independently and read-only review a design doc, PRD, spec, or requirements for repository accuracy, material risks, and canonical story readiness.
  • Produces a binary readiness verdict with evidence-backed blocking findings and optional non-blocking suggestions.
  • Use design-doc-review-loop when revisions or feature-delivery readiness are requested.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from eho/agent-skills · top by installs.

npx skills add eho/agent-skills

Browse all from eho/agent-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version3.0.0
More metadata
author
eho
version
3.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,397 B
  • docs SUMMARY.md 375 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 45 installs

SKILL.md

Design Doc Reviewer

Independently determine whether a design is a sound, economical implementation contract. Stay read-only: save a review artifact, but do not revise the design or change its status.

Read the complete target document and [../design-doc/references/design-contract.md](../design-doc/references/design-contract.md). Do not load the writer prompt; the shared contract is the review boundary.

Ground the review

Read repository instructions and relevant vision or architecture documents. Independently inspect the highest-risk code, tests, schemas, configuration, and call sites behind material claims. Distinguish in the review:

  • verified current repository facts;
  • proposed design decisions;
  • unresolved assumptions.

Use risk-proportionate exploration rather than reproducing the writer's entire discovery pass. A precise-looking path or signature is not evidence until verified.

Resolve design-to-issues/scripts/story_contract.py and run:

python3 <story-contract-script> <design-doc> \
  --repo-root <repository-root> --mode author

Mechanical validation failure is blocking. The script judges syntax and structure, not semantic quality.

Review modes

Initial review

Read the whole design and inspect all material implementation boundaries. Ask:

  • Does the design solve the stated product problem within its authorized scope?
  • Are architecture, ownership, state/data contracts, integration behavior, and

failure paths consistent with the repository and with one another?

  • Where relevant, are security, privacy, permissions, migration, compatibility,

rollout, rollback, performance, and operations safe enough to implement?

  • Can the risky behavior be verified without relying on circular, unavailable,

or post-hoc evidence?

  • Does each canonical story describe one coherent outcome, include all shared

requirements that affect it, use valid dependencies, and provide binary criteria and realistic verification?

  • Is any detail speculative, duplicated, or disproportionate to the feature?

Prefer simplification or existing mechanisms when they satisfy the invariant.

Treat a concern as blocking only when it could plausibly cause incompatible or unsafe implementations, incorrect behavior, data/security/migration/ compatibility failure, an impossible criterion, or an unresolved decision needed for an in-scope story. Missing polish or a possible enhancement is non-blocking.

Follow-up review

When given a prior review, verify:

  1. each prior blocking finding;
  2. changed sections and every story or dependency surface they affect;
  3. mechanical validation;
  4. critical regressions introduced by the revision.

Do not regenerate a full checklist or reopen waived suggestions. Widen to a full review when changes alter cross-cutting architecture, security boundaries, data contracts, migration, compatibility, rollout, or story sequencing enough that a focused review would be unsafe.

Findings

Every blocking finding contains:

  • Evidence: exact design location plus verified repository evidence or a

concrete internal contradiction;

  • Impact: how implementation or delivery could fail;
  • Required invariant: the condition a revision must satisfy.

Do not prescribe a new subsystem when several solutions could satisfy the invariant. Offer an example only when it materially clarifies the gap.

Non-blocking suggestions must be worthwhile and concise. They may remain or be waived and never prevent a Ready verdict. Do not require strengths, generic section commentary, numeric scores, or arbitrary issue counts.

Output

Use the next unused versioned path: docs/design/reviews/<design-slug>/review-<NN>.md. If repository conventions require another durable path, preserve every pass rather than overwriting the previous artifact.

# Design Review: [title]

- Design: `docs/design/<file>.md`
- Reviewed: YYYY-MM-DD
- Mode: Initial | Follow-up
- Verdict: Ready | Not ready
- Mechanical validation: Pass | Fail
- Blocking findings: N
- Non-blocking suggestions: N

## Blocking Findings

### B1: [short title]
- Evidence:
- Impact:
- Required invariant:

## Non-Blocking Suggestions
- N1: [concise optional improvement]

## Prior Findings
- B1: Resolved | Unresolved | Regressed — [evidence]

## Handoff
- User decisions required:
- Affected story IDs:
- Recommended next action:

Omit empty finding sections or state None. Ready means author-mode mechanical validation passed, no blocking finding remains, and no unresolved decision prevents an in-scope story. A one-time reviewer reports this verdict but never promotes the design to Revised.