design-reviewer

design-reviewer is an agent for coding agents from cahenesy/throughline. It costs 57 tokens per session (1,855 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

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

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.

agentmods
npx agentmods add agents/cahenesy/throughline/design-reviewer
Clone the repo
git clone --depth 1 https://github.com/cahenesy/throughline

Or install throughline, the plugin that ships this one along with the rest of its 6 skills, 2 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.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.svg" alt="Measured on agentmods" 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 1,855 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00057 $0.01855
Opus 5 $0.00028 $0.00928
Sonnet 5 $0.00011 $0.00371
Haiku 4.5 $0.00006 $0.00186

Measured 4d ago against content hash 8d9d08ce79d8, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, 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 4d 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 · 119 lines

How it starts

The opening of the file, as written. The whole thing — 119 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, and you are deliberately on a different model than the author — bring genuinely independent judgment. There is NO code yet: review the DESIGN, not an implementation.

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.

Read the full file on GitHub · 119 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. 4d 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 (2 stars, last pushed 19d ago), licensed MIT. It adds 57 tokens to every session and 1,855 once invoked, about $0.0003 per session on Opus 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

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

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

facilitator

The Facilitator of the aSPARK team. Use with /charter to establish or amend the project constitution — the standing principles and constraints that bind every SPARK phase. Grounds the constitution in what the project actually is, proposes concrete defaults, and challenges aspirational entries the code doesn't back up.…

a-lottes/aSPARK · 74 tokens

citation-parser

Sub-agent that parses bibliographic sections and inline citations from SOTA / article text. Takes raw text (a section header + content, or an inline excerpt) and returns structured JSON [{author, year, title, doi?, venue?, raw}]. Isolates the LLM extraction from the main agent context. Invoke from the INGEST pipeline…

roomi-fields/paper-trail · 88 tokens

researcher

Sub-agent that performs exhaustive multi-source academic search (paper-search MCP across 22 platforms + optional NotebookLM + optional WebSearch). Returns structured JSON of candidate refs for sota-writer phase A. Invoke when broad literature search is needed without polluting the main agent's context.

roomi-fields/paper-trail · 58 tokens

seo-manager

SEO specialist. Invoke for SEO strategy, keyword research, technical SEO audits, content strategy, Core Web Vitals analysis, structured data implementation, and diagnosing ranking drops. All three SEO pillars: technical, content, and authority.

pranav8494/team-of-agents · 48 tokens