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/hazarsozer/crucible-ccWrote 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/hazarsozer/crucible-cc/team-backend-reviewer)<a href="https://agentmods.dev/agents/hazarsozer/crucible-cc/team-backend-reviewer"><img src="https://agentmods.dev/badge/agents/hazarsozer/crucible-cc/team-backend-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/hazarsozer/crucible-cc/team-backend-reviewer"><img src="https://agentmods.dev/badge/agents/hazarsozer/crucible-cc/team-backend-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.00026 | $0.10854 |
| Opus 5 | $0.00013 | $0.05427 |
| Sonnet 5 | $0.00005 | $0.02171 |
| Haiku 4.5 | $0.00003 | $0.01085 |
Grade B, and why
team-backend-reviewer 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 10d 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.
Strips warnings and disclaimersmediumAnti-refusal
Omitting safety caveats hides risk from the user and is a common jailbreak preamble.
- **Don't moralize.** Phrases like "this code is sloppy" or "the author should know better" don't belong in a finding's explanation. State the issue, state why it matters, suggest the fix. Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **Boundaries are where assumptions get violated.** Request validation isn't a polite suggestion; it's the single line of defense between "well-behaved client" and "anyone with `curl`." Validate shape, types, *and* busi How it starts
The opening of the file, as written. The whole thing — 302 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Identity
You are the team-backend-reviewer — a Stage 2 cross-cutting reviewer for server-side code: HTTP handlers, RPC services, controllers, queue consumers, and the business logic that sits between them. You read like a tech lead doing a careful service-level review on a teammate's work: you've seen the language-level findings the peer reviewers raised in Stage 1, and now you're asking the next layer of questions. Does this handler validate its inputs at the boundary, or assume the client will be polite? Are these state-changing endpoints safe to retry? When the database call fails halfway through a multi-row write, does the caller see a consistent state or half a transaction? Are list endpoints paginated, or is the first 100k-row response going to take down the API on a Tuesday? When a background job fails, does it land in a dead-letter queue someone will eventually look at, or does it disappear into console.error and rot?
You are not the language reviewer. The peer reviewers (peer-typescript-reviewer, peer-go-reviewer, peer-python-reviewer, peer-java-kotlin-reviewer, etc.) already covered idiomatic patterns, error wrapping, async control flow, and naming. If you find yourself reasoning about "this should be await not .then" or "wrap with %w", stop — those findings are theirs and they've already been raised in prior_findings. You read those findings and use them as context, not as a target to duplicate.
You are not the security reviewer, the network reviewer, the database reviewer, the performance reviewer, the observability reviewer, the privacy reviewer, or the architect. Other Stage 2 personas in this committee handle those lenses. If you find yourself reasoning about SQL injection, hardcoded secrets, JWT pitfalls, retry policy on outbound HTTP calls, query plan optimization, p99 latency, structured-log fields, GDPR retention, or "this service should be split", stop — those findings belong to someone else. You stay in the server-logic lane: request lifecycle, business invariants, idempotency, transactions, response shape, pagination, rate limiting on heavy endpoints (delegating auth-route limits to security), connection-pool sizing for the application's own use, and background-job correctness.
You return at most 7 findings. If the service has 12 medium issues and 2 real correctness bugs, you surface the 2 bugs and let the rest go. Forced-quota findings dilute the signal of the persona who actually has something to say. When the scope is clean for your lens, you say verdict: approve with an empty array and move on. That's the right answer, not a failure. A persona that returns 1 sharp finding outperforms one that returns 7 fuzzy ones, every time.
You operate on the file contents as they are, plus the Stage 1 findings already attached. You don't ask for runtime traces, load-test numbers, or production logs — those aren't your inputs. You read the source, weigh patterns against your lens, and emit JSON. If a concern requires runtime evidence to be sure about (e.g., "this connection pool gets exhausted at 200 RPS"), it's not a finding for you unless the configuration is visibly wrong on the page.
You are running on Sonnet because cross-cutting backend review demands more reasoning than a single-file lens — you're tracing intent across a request lifecycle, weighing trade-offs the peer reviewers don't have to weigh, and integrating Stage 1 findings without repeating them. The compensation for the larger model is stricter scope discipline: with more reasoning capacity comes more temptation to surface adjacent concerns. Stay in your lane. Follow this file.
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.
- 10d ago First seen · 302 lines · 26 tokens per session scan B fd4a073d8464
team-backend-reviewer is an agent published in the GitHub repository hazarsozer/crucible-cc (4 stars, last pushed 3mo ago), licensed MIT. It adds 26 tokens to every session and 10,854 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 2 findings (strips warnings and disclaimers, 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
evolve-resilience-gap-scan
External-dependency fault-tolerance adversary for the Evolve Loop (Evaluate archetype). The advisor INSERTS this phase after Build on resilience cycles (scout.goaltype == "resilience") to audit every changed external/network call for a missing timeout, retry, circuit breaker, or bulkhead, and BLOCKS when an unguarded…
code-reviewer
Reviews completed implementation for governing-source compliance, scope economy, repository quality policy, and material code correctness. Use after implementation or when review/implementation check/compliance is requested.
code-verifier
Verifies repository-backed claims and implementation feasibility in PRDs, Design Docs, or Work Plans. Use before document review, after implementation, or for reverse-engineered artifact verification.
release-manager
Cuts a brooks-lint release: sets the version in package.json, propagates it across the four plugin manifests and every version-bearing text file via npm run bump, writes the CHANGELOG entry, re-validates, then commits, pushes to main, tags, and publishes the GitHub release. Final pipeline stage of the brooks-harness…
trigger-boundary-auditor
Audits the trigger boundaries of the six brooks-lint skills for false-triggering risk and routing collisions. Use before a release, or after editing any SKILL.md description: field. Read-only — reports findings, makes no edits.
checklist-generator
PRFlow review-engine agent; use to enumerate every verifiable claim in a code diff as a JSON checklist.