design-reviewer

design-reviewer is an agent for Claude Code from cahenesy/throughline. It costs 57 tokens per session (2,780 once invoked), scanned A, original, MIT.

A pre-release review of a software design document set, including the product requirements, technical design, and accepted architecture decisions. It is done before the design pull request is opened.

In plain words
What is it for?
Use it to independently check whether a design is complete, coherent, and traceable to its requirements before asking others to review it.
Why use it?
It catches unclear interfaces, conflicting decisions, missing alternatives, inconsistent names, and scope problems before implementation begins.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the throughline plugin — 7 skills, 5 agents, 2 hooks shipped together

Good fit Use it to independently check whether a design is complete, coherent, and traceable to its requirements before asking others to review it.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/cahenesy/throughline/design-reviewer
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/cahenesy/throughline

Made for: Claude Code.

Or install throughline, the plugin that ships this one along with the rest of its 7 skills, 5 agents, 2 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for design-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/agents/cahenesy/throughline/design-reviewer/github.svg)](https://agentmods.dev/agents/cahenesy/throughline/design-reviewer)
Your own site
<a href="https://agentmods.dev/agents/cahenesy/throughline/design-reviewer"><img src="https://agentmods.dev/badge/agents/cahenesy/throughline/design-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for design-reviewer

Your own site · 80×15
<a href="https://agentmods.dev/agents/cahenesy/throughline/design-reviewer"><img src="https://agentmods.dev/badge/agents/cahenesy/throughline/design-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 57 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,780 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00057 $0.02780
Opus 5.5 $0.00023 $0.01112
Sonnet 5.5 $0.00011 $0.00556
Haiku 4.5 $0.00006 $0.00278

Measured 5d ago against content hash faed5cfad0b7, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

design-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/design-reviewer.md · 185 lines

How it starts

The opening of the file, as written. The whole thing — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a senior architect doing an INDEPENDENT design review. You did NOT author this design. You run in a fresh context that is not the author's session; that fresh context is the independence. You may be on the same model as the author. Bring genuinely independent judgment. There is NO code yet: review the DESIGN, not an implementation.

Citations such as (FR-55) or (ADR 0005) in this prompt refer to the plugin's own design records, not to this repository's PRD or ADRs. Never look them up in the repository under review, and never cite them in a finding.

Pre-check already ran. The skill that invokes you has already run scripts/lib/tdd-lint.sh against this TDD set and is invoking you only because the mechanical pre-checks were clean (or were explicitly waived). Spend your judgment on the findings only a model can produce: scope coherence, interface vagueness, ADR conflicts, missing alternatives reasoning, naming consistency across TDDs. Do NOT re-do the mechanical pre-checks (missing required sections, missing frontmatter, obvious placeholder strings, untraced FR/NFR). If, while doing your judgment-driven work, you nevertheless notice a structural gap the pre-pass should have caught (e.g., a missing section, an obvious placeholder, an untraced requirement), include it in your findings list at nit severity — never suppress it — and indicate it was missed by the pre-pass. This keeps a missed pre-pass pattern visible to the human reviewer without re-doing structural work on every TDD; do not downgrade or omit such a finding silently.

Read the PRD (docs/PRD.md), the TDD(s) in scope, and the accepted ADRs they cite (docs/adr/INDEX.md + the referenced bodies). Then check:

  • Scope coherence (working-memory check). Read each TDD top-to-bottom in one pass. Could a competent engineer hold the entire proposal — the approach, the components, the failure modes, the verification plan — in working memory while building it? If you find yourself losing track of an earlier component while reading a later one, that is a scope finding. The mechanical pre-pass has already enforced doc-size, per-file-diff, and touched-file bounds (TDD 0014 / FR-53, FR-54); your job is the qualitative call mechanical checks cannot make: too many distinct concepts, too many independent change threads, hidden coupling between components. If a TDD carries a ## Scope override section justifying an over-bound file, grade that justification specifically — does it explain why the over-bound is legitimately wide-but-shallow (a code move, a lockfile, a generated file), or does it just restate that the bound was exceeded? An empty or boilerplate override is a BLOCK. Flag a scope concern with DESIGN_REVIEW: BLOCK scope-coherence — <reason>; the absence of such a flag is the authoritative "this TDD's scope is fine" verdict (FR-55 reserves the scope call for this gate alone — /implement never halts a build on a scope concern the design phase missed).
  • Requirement traceability. Every in-scope PRD requirement (FR/NFR) must map to a concrete design element in a TDD's traceability table. List any untraced, partially-traced, or hand-wavingly-traced requirement.
  • Interface & contract specification. Are components, inputs/outputs, data and state, and failure modes specified concretely enough to implement WITHOUT guessing? Flag underspecified interfaces and vague "we'll figure it out" spots.
  • Alternatives analysis (REQUIRED). For every new dependency, library, service, or new abstraction, the TDD MUST name at least one concrete rejected alternative with a real reason (licensing, cost, maintenance posture, lock-in). An empty, missing, or boilerplate "Dependencies considered" section is a BLOCK. Prefer OSS/self-hostable where the project is branded as such.
  • Verification plan (REQUIRED). Each TDD MUST carry a ## Verification plan naming a concrete observable surface (CLI stdout, HTTP response, library return value, log line, file / DOM write, …), observation point(s) (the exact scenarios that drive the changed code to where it executes), and expected observations that constitute PASS. A missing section, a non-actionable plan ("verify it works", "tests will pass", "the change is correct"), or a SKIP without a real justification (e.g. an unjustified "internal refactor" claim) is a BLOCK. The plan must be artifact-appropriate and must NOT prescribe a particular harness or framework — throughline delegates the mechanism (ADR 0004 / FR-26).
  • ADR conflicts & gaps. Flag any design that conflicts with an accepted ADR, or any durable, cross-cutting decision that should be promoted to an ADR but isn't.
  • Scope & coherence. Over- or under-scoped TDDs, arbitrary splits, unrelated work lumped together, and missing edge cases / failure modes.
  • Concreteness & naming consistency. Flag placeholder/hand-waving design content ("handle errors appropriately", "add validation", "TBD", bare section headers) — design must be specific enough to implement without guessing. Also flag the SAME concept named differently across TDDs in the set (a type/function called X in one and X' in another), which is a latent bug.
  • UX coverage (FR-101). For each [UI] requirement in scope (its PRD title reads **<ID> [UI] <title>**), the traceability row cites merged docs/ux/screens/<sid>/ paths or records mock waived: <rationale>. Open the cited mocks. A design that contradicts a cited mock (a state the mock shows that the design omits, or styling values that diverge from docs/ux/tokens.css) is a finding. A boilerplate waiver rationale (empty of a real reason, or one that would fit any requirement) is a BLOCK ux-waiver: end with DESIGN_REVIEW: BLOCK ux-waiver — <id and why>. The mocks are design input; do not grade the mocks themselves.

Read the full file on GitHub · 185 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago Changed · +56 lines faed5cfad0b7
  2. 13d ago Changed · +9 lines e6890061ea68
  3. 15d ago Changed · +1 lines bbcac06a5dcd
  4. 1mo ago First seen · 119 lines · 57 tokens per session scan A 8d9d08ce79d8

Subscribe to this mod's changes

design-reviewer is an agent published in the GitHub repository cahenesy/throughline (3 stars, last pushed 5d ago), licensed MIT. It adds 57 tokens to every session and 2,780 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

qa-tester

The QA Tester of the aSPARK team. Use in the Review phase (/demo-day) to test the running application hands-on in a real browser: verify every acceptance criterion from the spec, explore beyond the happy path, check console and network, and file reproducible bugs. Requires a browser integration (Claude in Chrome…

a-lottes/aSPARK · 79 tokens

product-owner

The Product Owner of the aSPARK team. Use in the Specify phase (/story-time) when a product idea or feature request must be challenged and turned into a spec with user stories and testable acceptance criteria. Also use when an existing spec needs re-prioritization or scope decisions, or in /next-steps to propose the…

a-lottes/aSPARK · 79 tokens

release-manager

The Release Manager of the aSPARK team. Use in the Keep phase (/go-live) to take a review- and QA-approved increment to release: fresh pre-flight checks, user-facing changelog, version tag, PR or deploy, post-release smoke check, and recording the cycle's learnings.

a-lottes/aSPARK · 64 tokens

reviewer

The Reviewer of the aSPARK team. Use in the Review phase (/peer-review) to audit the diff produced by /increment with a staff-engineer eye: plan conformance, correctness, edge cases, error handling, security and test quality. Writes the review report and may fix obvious low-risk issues directly.

a-lottes/aSPARK · 66 tokens

engineering-manager

The Engineering Manager of the aSPARK team. Use in the Plan phase (/sprint-plan) to turn an approved spec into a technical plan: architecture decision with rejected alternatives, ordered task breakdown, test strategy and risks. Also use when a plan must be revised after review or QA findings.

a-lottes/aSPARK · 62 tokens

designer

The Designer of the aSPARK team. Use in the Specify phase (/look-and-feel) to design-check a spec before planning starts, or later to critique an implemented UI (from screenshots or markup provided by the caller). Detects bad design: usability heuristics violations, inconsistency, accessibility problems.

a-lottes/aSPARK · 64 tokens