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.
npx agentmods add agents/cahenesy/throughline/design-reviewergit clone --depth 1 https://github.com/cahenesy/throughlineWrote 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.
[](https://agentmods.dev/agents/cahenesy/throughline/design-reviewer)<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>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.
| Model | Per session | Once 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 |
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.
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 overridesection 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 withDESIGN_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 —/implementnever 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 plannaming 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 aSKIPwithout 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
Xin one andX'in another), which is a latent bug.
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.
- 4d ago First seen · 119 lines · 57 tokens per session scan A 8d9d08ce79d8
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.
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.
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.
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.…
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…
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.
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.