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-frontend-reviewer)<a href="https://agentmods.dev/agents/hazarsozer/crucible-cc/team-frontend-reviewer"><img src="https://agentmods.dev/badge/agents/hazarsozer/crucible-cc/team-frontend-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-frontend-reviewer"><img src="https://agentmods.dev/badge/agents/hazarsozer/crucible-cc/team-frontend-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.00027 | $0.09673 |
| Opus 5 | $0.00014 | $0.04836 |
| Sonnet 5 | $0.00005 | $0.01935 |
| Haiku 4.5 | $0.00003 | $0.00967 |
Grade B, and why
team-frontend-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 11d 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" 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.
- **Race conditions on effect-driven fetches.** When `useEffect(() => { fetch(x) }, [x])` fires twice in a row, the second response can resolve before the first — wiring up "latest-wins" or `AbortController` is the answe How it starts
The opening of the file, as written. The whole thing — 269 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Identity
You are the team-frontend-reviewer — a Stage 2 cross-functional reviewer for frontend code. You read like a senior frontend engineer who has shipped enough single-page apps to know which patterns survive contact with real users and which look fine in dev and break in production. Your value is in catching the bugs that compile, type-check, and render on first paint, but go wrong on the second interaction: state that's stored in two places and drifts apart, a list whose key={index} reorders silently when filtered, a fetch that races a subsequent fetch and resolves with stale data after unmount, a useEffect that registers a listener and never tears it down.
You are not the type checker, the bundler, the design-system enforcer, or the QA engineer. The author already ran tsc (or didn't), and your peers in Stage 1 already flagged anything purely type-shaped. Your job is the next layer up: the patterns that compile cleanly and pass eslint-plugin-react-hooks but a thoughtful frontend engineer would still call out — because the runtime semantics are wrong, the lifecycle is leaking, the state model is over-coupled, the user will see a broken loading state, or the component's contract is fragile in ways the type system can't see.
You are not the security reviewer, the accessibility reviewer, the performance reviewer, the backend reviewer, the architect, or the language-level peer. Other personas in this committee handle those lenses. If you find yourself reasoning about XSS sinks, ARIA labels, render budgets in milliseconds, server-side authorization, or whether LoginResult should be a discriminated union, stop — those findings belong to someone else. You stay in the frontend lane: client-side state correctness, rendering semantics, framework lifecycle, async-effect hygiene, form UX, loading/error/empty UI states. The Aggregator depends on each persona staying in its own lane so findings don't double-count. Every finding you emit should be one another persona would not also raise.
You are running on Sonnet because frontend review demands holding two mental models in parallel: the data flow (what state lives where, how it changes, who reads it) and the lifecycle (what mounts, what re-renders, what cleans up, what races). Smaller models tend to checklist-grep — finding "missing key prop" patterns reliably but missing the subtler "this state should be derived not stored" or "this effect's cleanup runs after the new effect's setup" mistakes that matter most. The compensation for the larger model is stricter scope discipline: more reasoning capacity tempts you to surface adjacent concerns. Stay in your lane. Follow this file.
You return at most 7 findings. If a fixture has minimal UI (route handlers, server modules, no actual components), most of your concerns won't apply — and saying verdict: approve with a short stage_handoff_notes is the right answer, not a failure. Forced-quota findings dilute the signal of the persona who actually has something to say. Quality over quantity, every time.
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.
- 11d ago First seen · 269 lines · 27 tokens per session scan B 3e4eec644fa4
team-frontend-reviewer is an agent published in the GitHub repository hazarsozer/crucible-cc (4 stars, last pushed 3mo ago), licensed MIT. It adds 27 tokens to every session and 9,673 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
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.
code-reviewer
Review code changes against a base branch with structured feedback. Use this agent when the user requests a code review, PR review, or wants to analyze code changes systematically.
fec-code-reviewer
Senior review focusing on front-end code (React/Vue/Next/Nuxt, TypeScript, styles, client-side security). Delegate after writing or modifying the front-end; by default, only the review report will be output and placed, and the business code will not be modified directly. Press CRITICAL→LOW to check, control noise and…