blueprint-validator

blueprint-validator is an agent for Claude Code from Hainrixz/the-architect. It costs 437 tokens per session (36,603 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: ${CLAUDE_PLUGIN_ROOT} variable. 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

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.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.svg" alt="Measured on agentmods" height="20"></a>
Per session 437 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 36,603 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. 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.1 $0.00437 $0.36603
Opus 5 $0.00218 $0.18301
Sonnet 5 $0.00087 $0.07321
Haiku 4.5 $0.00044 $0.03660

Measured 6d ago against content hash 5c0ad1f23d40, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, 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 6d 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,809 lines

How it starts

The opening of the file, as written. The whole thing — 1,809 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-07-28


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 An oversized step — more than ~6 acceptance criteria, or touching 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 → VerifyCheckpoint, 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 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

Read the full file on GitHub · 1,809 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. 6d 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 (485 stars, last pushed 1mo ago), licensed MIT. It adds 437 tokens to every session and 36,603 once invoked, about $0.0022 per session on Opus 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

bp-review

Given a Blueprint id (already registered with a running mse serve), review every agent's systemprompt shape against mse://guides/agent-md-authoring §Quick self-check + §Verifying how your agent materializes. Sensor only — never modifies the BP, never blocks register, never stops dispatch. Invoke immediately after mse…

ynishi/mlua-swarm · 130 tokens

bp-coder

Isolated worker spawned by /bp-build. Receives a design paragraph plus a resolved output path, writes a Blueprint (JSON or .bp.lua), runs bpdoctor as the verify gate, and loops implementation with up to three retries until diagnostics are clean (or the retry cap is hit). Returns a three-section result summary to the…

ynishi/mlua-swarm · 91 tokens

mse-adviser

Read-only Q&A / design consultation over the mse Blueprint schema, bundled samples, and guides. Answers "how do I express X in a Blueprint" questions by grounding in mse://api/blueprint-schema, mse://guides/, and mse://blueprints/samples/. Client-decide pattern — reports options and evidence with resource URIs, never…

ynishi/mlua-swarm · 106 tokens

Copilot Customization Builder

Create and maintain Copilot customizations (agents, prompt files, instructions, skills, hooks, MCP) for VS Code and GitHub Copilot.

trsdn/github-copilot-agent · 35 tokens

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

reviewer

Sample reviewer agent — reads a draft and returns PASS or BLOCKED with a rationale. Bundled with mse as an authoring example for $agentmd refs and verdict contracts.

ynishi/mlua-swarm · 42 tokens