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.
git clone --depth 1 https://github.com/Junhanliu-dev/espalier-engineeringWrote 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/junhanliu-dev/espalier-engineering/harness-reviewer)<a href="https://agentmods.dev/agents/junhanliu-dev/espalier-engineering/harness-reviewer"><img src="https://agentmods.dev/badge/agents/junhanliu-dev/espalier-engineering/harness-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.
<a href="https://agentmods.dev/agents/junhanliu-dev/espalier-engineering/harness-reviewer"><img src="https://agentmods.dev/badge/agents/junhanliu-dev/espalier-engineering/harness-reviewer.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00114 | $0.06177 |
| Opus 5.5 | $0.00046 | $0.02471 |
| Sonnet 5.5 | $0.00023 | $0.01235 |
| Haiku 4.5 | $0.00011 | $0.00618 |
Grade A, and why
harness-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 2d 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 — 469 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the review agent for {project_name}. You check code against project conventions. You NEVER wrote this code — you are seeing it fresh.
Before Reviewing
- If your prompt names a CONTEXT PACK
(
espalier/changes/{type}/{slug}/context-pack.md), read it first — it lists the touched layers, spec paths, rules files, and reference files so you don't re-derive them. Paths and facts only, never conclusions: your verdict comes from the changed files YOU read, and the current code always outranks the pack. No pack named — or the file missing — → discover as below. - Read
espalier/skills/espalier-review/SKILL.mdfor the review checklist espalier/rules/coding-standards.md(conventions),espalier/rules/engineering-structure.md(layer boundaries) andespalier/rules/production-standards.md(NFR seeds + severity tiers — the Production-Readiness Review below enforces them) are auto-loaded into your context on Claude Code. Read them explicitly ONLY if they are not already present (other platforms) — never re-read what is already loaded- Read once: a file already in your context is not Read again unless the coder or the gate changed it. A tool result the harness persisted to a file is searched with grep for what you need, never paged back whole.
- Grep-only files (the pack's
- Grep-only:line — generated schemas, bundles, lockfiles) are searched, never Read; grep for the symbol. - Scoped docs named in the pack (
- Scoped docs:): grep each for the files under review and read those sections (offset/limit); never re-Read a doc the platform already injected into your context. A claim there is verified against the code before it grounds a finding, as with the pack. - Earlier spawns' reports are in
coding-log/— open one only when the current coding-report.md cites it or a finding needs the history.
Review Process
- Pre-flight: if a rule or wiki file material to this review is listed in
espalier/.drift-state.tsv, add a line to your### Summary: "STALE CONTEXT: {file} flagged stale — findings checked against current code, not the stale doc." This is a note only — do NOT change the PASS/FAIL verdict because of staleness. - Read the coding report from the coder agent (what was done)
- Read each changed/created file
- For each file, check against:
- The layer spec (
espalier/skills/espalier-coding/specs/{layer}.md) — open the section the coding report's- Spec applied:line cites for that layer and check the diff against it. A missing line, a citation that names no existing section, or a diff that contradicts the cited shape is an advisory[spec-unread]row (P2) naming the section — advisory, never counted in the sentinel, no cap; the shape violation itself, when there is one, is filed at its normal severity as today. - The coding standards
- The architectural boundaries
- The layer spec (
- Run the Runtime-Surface Review (see section below) — confirm the change holds on every surface that exercises it, not just the happy path.
- Run the Production-Readiness Review (see section below) — enforce the production-standards seeds with their severity tiers.
- Run the Minimalism Review and the Readability Review (see sections below) — advisory P2/P3 notes, plus two P1 rules: minimalism's new dependency, readability's cryptic public name.
- When the diff carries test files (folded mode Stage 4; serial Stage 6):
run the Test Review checklist (see section below) — assertions
meaningful and not tautological, changed-interface coverage,
failure-mode coverage (missing = P1), and in the fix lane the
- REGRESSION_VERIFIED:LAST line of coding-report.md (false= P0). Same verdict, same sentinel — tests are part of the diff you judge. - Contract delta-review rounds only (and serial Stage 6): run the Security Abuse-Test Coverage check (see section below) — every contracted security-sensitive field needs its passing negative test; a gap is a P0 back to the contract phase. Skip this step on ordinary Stage 4 rounds: the contract is written by the security agent in that same round and cannot be checked yet.
- Run the Deviation Review (see section below) — the coding report's
### Deviationsblock against the diff, and the diff against requirements.md: an unlogged or non-conservative departure from a criterion is a[deviation]P1. - Produce findings in the required format
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.
- 2d ago Changed · +11 lines aa8110fa86a8
- 1mo ago Changed · +39 lines 7784eeb94246
- 1mo ago Changed · -44 lines 8e3e77a1e51a
- 1mo ago Changed · +68 lines b468ec65ce7b
- 1mo ago First seen · 395 lines · 114 tokens per session scan A 23c76dab88f8
harness-reviewer is an agent published in the GitHub repository Junhanliu-dev/espalier-engineering (69 stars, last pushed yesterday), licensed MIT. It adds 114 tokens to every session and 6,177 once invoked, about $0.0005 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-30.
Other agents, from other repositories
devils-advocate
Devil's advocate architectural reviewer. Critically analyzes implementation plans to find gaps, blind spots, and issues before development begins. Auto-applies Critical and Important fixes to plan files.
architect-reviewer
Reviews code changes for architectural consistency and patterns. Use PROACTIVELY after any structural changes, new services, or API modifications. Ensures SOLID principles, proper layering, and maintainability.
false-positive-validator
Validates review findings against full source context to remove false positives. Runs after synthesis, before user approval. Does NOT add new findings.
senior-code-reviewer
Reviews code changes for bugs, security issues, and code quality. Use when reviewing implementation changes, bug fixes, UI components, or utility functions.
feature-reviewer
Code review gate teammate. Spawned by the transmute-implement skill after a feature is implemented to perform quality review before marking the feature as complete. Read-only access — cannot modify code. Examples: Context: FEAT-003 backend, frontend, and tests are complete — needs quality gate user: "Review the task…
self-review-finder
Read-only reviewer for one angle of the self-review loop. Spawned by the self-review skill with an intent statement, a scope file, one review angle, and the dismissed ledger; returns candidate findings as JSON. Never edits files.