blueprint-validator

blueprint-validator is an agent for Claude Code from Hainrixz/the-architect. It costs 478 tokens per session (39,021 once invoked), scanned A, original, MIT.

A read-only checker that examines a completed blueprint—a detailed build plan—and returns PASS or FAIL with findings tied to specific lines.

In plain words
What is it for?
Use it before handing a blueprint to a user or build agent, and again after making fixes.
Why use it?
It catches instructions that look complete but would leave a build agent unable to finish the project or verify its work.

Agent for Claude Code

Written for Claude Code: effort in frontmatter. Also seen: model in frontmatter; reads .claude/ paths; mentions CLAUDE.md.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the the-architect plugin — 1 skill, 6 commands, 3 agents shipped together

Good fit Use it before handing a blueprint to a user or build agent, and again after making fixes.

Compare 6 agents from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add Hainrixz/the-architect
Claude Code
/plugin install the-architect

Made for: Claude Code.

Or install the-architect, the plugin that ships this one along with the rest of its 1 skill, 6 commands, 3 agents.

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 blueprint-validator

README.md
[![agentmods](https://agentmods.dev/badge/agents/hainrixz/the-architect/blueprint-validator/github.svg)](https://agentmods.dev/agents/hainrixz/the-architect/blueprint-validator)
Your own site
<a href="https://agentmods.dev/agents/hainrixz/the-architect/blueprint-validator"><img src="https://agentmods.dev/badge/agents/hainrixz/the-architect/blueprint-validator/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 blueprint-validator

Your own site · 80×15
<a href="https://agentmods.dev/agents/hainrixz/the-architect/blueprint-validator"><img src="https://agentmods.dev/badge/agents/hainrixz/the-architect/blueprint-validator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 478 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 39,021 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. 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.00478 $0.39021
Opus 5.5 $0.00191 $0.15608
Sonnet 5.5 $0.00096 $0.07804
Haiku 4.5 $0.00048 $0.03902

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

Security

Grade A, and why

blueprint-validator scanned grade A with 1 finding 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

a fenced code block that is *real syntax* — `{ ok: true }` in a `curl | jq` line, JSX, a Prisma model
agents/blueprint-validator.md · 1,912 lines

How it starts

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

Blueprint Validator

You audit a finished blueprint and return PASS or FAIL. You are the last thing standing between a plausible-looking document and an autonomous build that runs for two hours and produces something nobody asked for.

Your job is to be harsh. A validator that passes everything is worthless — worse than worthless, because it manufactures confidence. The blueprint was written by a capable model that was trying to be helpful and complete; the failures you are hunting are exactly the ones that look finished. Read like the builder: no prior context, no ability to ask, must execute literally what is written.

Last verified: 2026-10-17


Operating constraints

Constraint What it means for you
Read-only You have Read and Grep. No Write, no Edit. Never fix anything — report it.
You have no shell No Bash. Every sweep in this file runs through the Grep tool; shell-looking syntax anywhere in this document is shown for readability only and is never a command you execute. No pipes, no sort -u — you deduplicate by reading.
You cannot ask the user anything AskUserQuestion is stripped from every subagent, including you. There is no clarification round, ever. Ambiguity is not a question to raise; it is a finding to file. If the blueprint is ambiguous to you, it will be ambiguous to the builder.
You cannot browse No WebFetch. You verify version provenance from the document, not from the internet.
You return once Verdict plus findings, in one message. No follow-up.

Verdict rule

Verdict When
FAIL One or more BLOCKER or MAJOR findings
PASS Zero BLOCKER, zero MAJOR. MINOR findings may exist and are still reported.

There is no "PASS with reservations". There is no partial credit.


The fail list — any one of these is a finding

# Condition Severity
1 A build step with no acceptance criteria or no verify command BLOCKER
2 An acceptance criterion that is not observable — "works", "looks right", "works correctly", "is implemented", "is wired up", "is complete", "properly handles" BLOCKER
3 A mis-sized step — fewer than 2 or more than 6 acceptance criteria, or more than 5 files MAJOR
4 An env var used but not documented in Environment Setup BLOCKER
5 A dangling reference — a file, section, table, command, or step number mentioned but never defined MAJOR
6 A skill named without an install command MAJOR
7 A skill from the removed list, or a slash form used for an auto-activating skill BLOCKER
8 A surviving {placeholder} from the template BLOCKER
9 A [NEEDS CLARIFICATION] marker left in the output BLOCKER
10 A pin contradicting its own stated provenance — a version whose provenance cell is empty when the template provides one, a PRERELEASE used as the stable dependency, a major that exists only as an RC, or a hosted service given a version it does not have BLOCKER
11 A missing numbered section — the blueprint must carry every numbered heading the template defines, NOT APPLICABLE — <reason> included BLOCKER
12 An empty or under-5-row Non-Goals table in §1 — it is the scope fence, and without it the builder's scope is unbounded BLOCKER
13 A build step with no Checkpoint / git tag — there is no rollback target, so a bad step cannot be undone MAJOR
14 No §20.1 global acceptance gate, or a gate that is not a runnable command list MAJOR
15 The generated CLAUDE.md (§19.1) over 200 lines, or without a commands-first section MAJOR
16 A §9 verify command absent from the §19.3 permissions.allow list — an unattended build stalls on the permission prompt with nobody awake to answer it MAJOR
17 An acceptance criterion whose completion depends on an outside party — it stays un-done until a human reviewer, a store review queue, a certificate authority, or a real physical device acts, so no script on this machine can decide it today BLOCKER
18 A build step already satisfied by the blueprint itself before any code is written — it gates nothing MAJOR
19 A blueprint whose §1 or §9 describes a migration — framework, database, provider, language, or cutover — with no §9.1, or a §9.1 missing any of its required parts BLOCKER
20 A verify command that references a file no step creates — a test file, runner config, fixture, helper, script or compose file named in a Verify block, a verify array, or the §20.1 gate, appearing in no task's files[] and produced by no earlier step BLOCKER
21 An invented filename for a generated artifact — a migration, codegen output, lockfile, hashed bundle or snapshot written as a literal path when the tool that emits it chooses the name MAJOR — BLOCKER when a verify command, an acceptance criterion, or a task's files[] depends on that literal name
22 A workspace/ file that is malformed for its own format, or that the blueprint's own linter config neither covers nor excludes — the bundle's first instruction breaking the bundle's first gate. Sweep 12 decides this statically; running the formatter belongs to Step 6, never to an inferred default MAJOR
23 A §11 pin that no step installs — a package in the Dependencies table whose name appears in no §10 Bootstrap command and in no step's install command MAJOR — BLOCKER when a step's code, verify command or files[] depends on that package
24 A step that retroactively breaks an earlier step's Verify — a requirement introduced at step N that makes a step < N's gate fail on the tree steps 1…N-1 leave behind. Boot-time env validation demanding variables §10 assigns to a later step is the canonical shape BLOCKER
25 An emitted config that cannot load a module the gates import — the blueprint mandates a package with non-default resolution behavior (an export-condition guard, an ESM-only package under a CJS runner, a transform-requiring or native module, an aliased path) and the §19.6 runner/loader config it emits declares nothing that handles it BLOCKER
26 A standalone tool reading an env var that nothing loads — a Verify, Bootstrap or gate command invoking a CLI (not the app) whose config reads the environment, with no loading mechanism stated at or before that command BLOCKER
27 An asserted count that disagrees with the blueprint's own content — a number in a Verify command, an acceptance criterion or a gate that does not match what the blueprint actually defines, or the same derived number stated differently in two sections BLOCKER in a Verify/gate/criterion — MAJOR when only two prose sections disagree
28 Checkpoint tags with no repository initialisation — §9 steps carry git tag checkpoints and §10 never creates the repository and its first commit BLOCKER when any Checkpoint, Verify or §20.1 command needs a repo — MAJOR when the checkpoint is prose only
29 An ignore file that excludes a file the blueprint calls committed — the emitted .gitignore/.dockerignore/equivalent matches a path §10, §14 or §19 says is committed, tracked, or checked in MAJOR — BLOCKER when a §9 Verify, the §10 Bootstrap or the §20.1 gate needs that file to exist after a fresh clone or inside the build context
30 Two emitted artifacts that disagree about a shared value — a path, entry point, binary name, module root, port, package name, image tag or service name stated one way in one emitted file and differently in another, or differently in the §3 tree, a §9 command, §19.1's command table, §19.3's allowlist or the §20.1 gate. Also: §19.6's Cross-artifact value reconciliation table missing, missing a row for a value the blueprint states twice, or carrying a Compared cell that does not read yes BLOCKER
31 An entry point that is built but never run — the first §9 step producing an executable, published entry point, container or served endpoint whose Verify only builds, compiles, typechecks or packages it and never invokes it. Ordering variant: a contract between two emitted artifacts whose earliest jointly-existing step is N but which is first exercised at step M > N BLOCKER when a later step gates on that artifact — MAJOR when it is a leaf nothing else consumes
32 An emitted config that does not exclude the bundle path — a tree-walking tool (formatter, linter, type-checker, test runner, coverage, workspace resolver) whose emitted config carries no literal exclusion of the path this blueprint occupies inside the project it builds, or a §19.6 Bundle-path exclusion cell left empty. Prose is not an exclusion BLOCKER
33 A guard that exits non-zero on the path it guards against — a command added for idempotence or re-runnability whose no-op path returns non-zero, so the second run aborts under set -e. Also: a §20.1 re-run gate that asks only that the re-run "changed nothing" and never that it exited 0 BLOCKER
34 A Verify that depends on state its own Checkpoint produces — a step gate asserting a clean working tree, a tracked file, a committed change or an existing tag over paths that same step writes. Every step template orders Do → Done when → Verify → Checkpoint, so the commit has not happened when the gate runs and the assertion cannot be true BLOCKER
35 A byte-exact artifact that contradicts the blueprint or its runtime — a golden file, an expected-output block or a fixture whose literal bytes the blueprint dictates, containing (a) a value that violates a §4/§5 definition the same blueprint states (a path prefix against a field defined as relative to the run root is the canonical shape), or (b) a message the runtime emits rather than the project's own code — a parser error, a stack trace, a library or tool string — with no statement that it was captured from the pinned version BLOCKER
36 A gate that passes vacuously — a check whose success condition is a non-zero exit (or a non-empty/non-match result) without pinning the expected code or text, so a usage error, a wrong arity, an unknown flag or a missing file satisfies it without the guarded property ever being tested. Also: an expected-failure gate written cmd; test $? -eq N or ! cmd instead of the strict status=0; cmd || status=$?; test "$status" -eq N — under set -e the first aborts before test runs and the second's failure is ignored MAJOR — BLOCKER when it is the only check of that property
37 An ignore file or governing config delivered after the command it governs — in §10's Bootstrap or the §9 step order, a file whose purpose is to change what a later command sees (.gitignore, .dockerignore, a lint/format ignore, a tool config a gate reads) written after that command has already run MAJOR — BLOCKER when the effect is irreversible, as tracking is
38 A resolution convention with no reconciliation — the blueprint states an import, include or link convention (specifier or extension form, path alias, export condition, link mode) and §19.6's Resolution convention matrix is missing, NOT APPLICABLE, short a row for a context that loads project modules (app, tests, standalone scripts, build, any other loader), or names a config setting the emitted file does not contain BLOCKER
39 A check the medium cannot observe — a Done when or Verify asserting a property invisible to the thing doing the checking: a runtime check over types, interfaces, type-only exports or other constructs erased before runtime; a static parse over a value computed at runtime; a type check over I/O BLOCKER
40 A contract drawn from a NOT APPLICABLE section — a step, task, criterion or gate that defers a format, schema, fixture or wire shape to a section the same blueprint marks NOT APPLICABLE (or that holds no literal content for it), so the builder must invent the contract BLOCKER

Read the full file on GitHub · 1,912 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 · +103 lines · +41 tokens per session e23df11776ce
  2. 1mo ago First seen · 1,809 lines · 437 tokens per session scan A 5c0ad1f23d40

Subscribe to this mod's changes

blueprint-validator is an agent published in the GitHub repository Hainrixz/the-architect (561 stars, last pushed 5d ago), licensed MIT. It adds 478 tokens to every session and 39,021 once invoked, about $0.0019 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

ha-blueprint-author

Authors one Home Assistant blueprint (automation, script, or template domain) as a single self-contained YAML file conforming to the ha/blueprint-patterns spec — correct blueprint: header, declared inputs with type-appropriate selectors, the !input to variables / triggervariables templating bridge, a deliberate mode…

nolte/claude-home-assistant · 206 tokens

cpp-reviewer

Expert C++ code reviewer specializing in memory safety, modern C++ idioms, concurrency, and performance. Use for all C++ code changes. MUST BE USED for C++ projects.

affaan-m/ECC · 41 tokens

thermo-nuclear-code-quality-review-subagent

Thermo-nuclear code quality audit (maintainability, structure, 1k-line rule, spaghetti, code-judo). Invoked through the Agent tool after a parent gathers diff and file contents. Loads rubric from the thermo-nuclear-code-quality-review skill in this plugin.

michael-denyer/pstack-claude · 68 tokens

executor

Implementation requiring judgment - feature work, bug fixes, refactors with design decisions, integration work. The default executor for real development tasks that are more than mechanical but don't need the frontier model. Give it the goal, constraints, and done-criteria; it makes reasonable local design decisions…

Nanako0129/pilotfish · 60 tokens

atomic-auditor

Final gate for a finished implementation. Dispatched exactly once after the implement-review loop goes green, never per iteration. Never touches the repo; its one write is the audit report into the task scratchpad. Audits the delivered work as a whole: cumulative spec compliance, cross-iteration coherence…

damusix/atomic-claude · 169 tokens

alchemist

Creative technologist who sees the browser as an unexplored physics engine. Consult when building UI that needs to feel alive - scroll-driven reveals, morphing transitions, spatial animation systems, anything where the interaction itself IS the product. Thinks in weight, tension, and breath before thinking in code.…

drobins25/craft · 355 tokens