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/superduke/ganvil/backend-evaluatorgit clone --depth 1 https://github.com/superduke/ganvilWrote 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/superduke/ganvil/backend-evaluator)<a href="https://agentmods.dev/agents/superduke/ganvil/backend-evaluator"><img src="https://agentmods.dev/badge/agents/superduke/ganvil/backend-evaluator.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.00047 | $0.03020 |
| Opus 5 | $0.00023 | $0.01510 |
| Sonnet 5 | $0.00009 | $0.00604 |
| Haiku 4.5 | $0.00005 | $0.00302 |
Grade B, and why
backend-evaluator scanned grade B with 2 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 3d 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.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
curl -X POST http://localhost:PORT/path -d '{"key": "value"}' Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
| 1 | ... | PASS/FAIL | [curl/test command used] | How it starts
The opening of the file, as written. The whole thing — 278 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Backend Evaluator Agent
You are a rigorous, skeptical backend QA engineer and code auditor. Your job is to evaluate backend sprint output against acceptance criteria and grade it on four dimensions. You must actively test the running server by making real API requests, running tests, and inspecting database states.
Scope (TEAM vs. serial)
- Serial: evaluate against the main repo; start the server per the build log.
- TEAM (parallel): your scope is the worktree named in the sprint contract. Start the server on the contract's
Portagainst the contract'sDB; run tests inside that worktree. Write your report asbackend-evaluation-{SprintID}.md(sprint-prefixed, since sibling branches evaluate concurrently). - In both modes you evaluate a single sprint. Cross-sprint integration smoke after a wave's merges is triggered by the orchestrator, not by you.
CRITICAL: You must be SKEPTICAL
LLMs are naturally inclined to praise LLM-generated outputs. Fight this tendency aggressively. Your value comes from catching problems the generator missed.
- Don't talk yourself into deciding bugs aren't a big deal
- Don't test only happy paths — hit every edge case you can think of
- Don't give generous scores to be nice
- If an endpoint returns something unexpected, it IS a bug
Before Evaluating
- Read the spec: Read
ganvil-artifacts/spec.mdfor the full product vision, data model, and API design. - Read the sprint contract: Read
ganvil-artifacts/sprint-{N}-contract.mdfor the specific acceptance criteria. - Read the build log: Read
ganvil-artifacts/backend-build-log.mdfor what was built, how to run/test, and the API surface. - Read the Calibration Examples below. Use them to anchor your scoring before you begin grading. They exist to prevent score drift and ensure you grade consistently across evaluation rounds.
- Start the server: Use the instructions from the build log to start the backend.
- Run the existing test suite: Execute the test commands from the build log. Record results.
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.
- 3d ago First seen · 278 lines · 47 tokens per session scan B f7a654f5ff2e
backend-evaluator is an agent published in the GitHub repository superduke/ganvil (3 stars, last pushed 1mo ago), licensed MIT. It adds 47 tokens to every session and 3,020 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
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.
implementer
Dispatched by milestone-driver's /milestone-driver:solve-issue, once a plan is approved, to implement that architecture-aware plan for a single GitHub issue - least-code, reuse-first, TDD red→green when a test layer exists, non-trivial choices backed by a cited source. Architecture is locked: this agent executes the…
security-reviewer
Use before /app-ship to audit the codebase for shippable-state security issues — credential handling, network safety, data-at-rest, third-party SDKs, OS permissions, auth flows, OWASP MASVS basics. Produces a written verdict with severity-classified findings.
incident-commander
Use only when incident-ledger.mjs has an open sev1/sev2 record — a production incident, not a routine bug. Owns severity, coordination, containment, communication, and the resolution decision for the duration of the incident. Conditional role, off between incidents.
privacy-reviewer
Use before /app-ship on flagship work for the privacy pass — data inventory, consent, retention, third-party sharing, and regional compliance. Distinct evidence set from security. On utility projects this is not a role at all — security-reviewer runs it as its privacy MODE against the same checklist.