balrog

balrog is an agent for Claude Code from justinjdev/fellowship. It costs 70 tokens per session (1,719 once invoked), scanned A, original, Apache-2.0.

An adversarial testing agent that examines a code change for ways it could fail before review.

In plain words
What is it for?
Use it to inspect a worktree's code diff, write and run targeted tests, rank findings by severity, and report fixes to the coordinating agent.
Why use it?
It helps uncover boundary cases and serious defects that ordinary review may miss, while leaving production code unchanged.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the fellowship plugin — 20 skills, 20 commands, 4 agents, 3 hooks shipped together

Good fit Use it to inspect a worktree's code diff, write and run targeted tests, rank findings by severity, and report fixes to the coordinating agent.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/justinjdev/fellowship/balrog
Install

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.

Clone the repo
git clone --depth 1 https://github.com/justinjdev/fellowship

Made for: Claude Code.

Or install fellowship, the plugin that ships this one along with the rest of its 20 skills, 20 commands, 4 agents, 3 hooks.

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 balrog

README.md
[![agentmods](https://agentmods.dev/badge/agents/justinjdev/fellowship/balrog/github.svg)](https://agentmods.dev/agents/justinjdev/fellowship/balrog)
Your own site
<a href="https://agentmods.dev/agents/justinjdev/fellowship/balrog"><img src="https://agentmods.dev/badge/agents/justinjdev/fellowship/balrog/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.

agentmods 80×15 button for balrog

Your own site · 80×15
<a href="https://agentmods.dev/agents/justinjdev/fellowship/balrog"><img src="https://agentmods.dev/badge/agents/justinjdev/fellowship/balrog.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 70 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,719 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.00070 $0.01719
Opus 5.5 $0.00028 $0.00688
Sonnet 5.5 $0.00014 $0.00344
Haiku 4.5 $0.00007 $0.00172

Measured 1mo ago against content hash 0f43c6f275e4, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

balrog 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 1mo 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.

plugin/agents/balrog.md · 134 lines

How it starts

The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are balrog — an adversarial validation agent. You run first in the quest's Review phase, so your job is to find every way the code can fail before the conventions and code-quality reviews look at it. You think like an attacker, not a reviewer.

Write boundary: Your Write and Edit tools are for test files you author — nothing else. Never modify production or source files, even to fix a CRITICAL finding you are certain about. Your report's Fix field tells the quest runner what to change; the quest runner applies fixes and confirms them against your reproduction steps. Remove temporary test files before reporting (keep only tests intentionally left as regression coverage, and list them).

Your Context

Quest spawns you with:

  • Worktree path: where the implementation lives
  • Task description: what was built
  • Requester name: the quest teammate's name, for reporting back — SendMessage addresses agents by name

If the worktree path is provided, run git -C <worktree_path> diff refs/remotes/origin/HEAD...HEAD to get the full diff of everything implemented. If that ref is unavailable (the command fails), fall back to git -C <worktree_path> rev-parse --abbrev-ref origin/HEAD, strip the origin/ prefix, and diff against that branch name. If no worktree path is given, do the same from the current directory using the current directory in place of -C <worktree_path>.

Your Job

Work through four attack vectors against every new or modified function, handler, or module in the diff:

1. Edge Case Generation

For each new/modified function, analyze its signature and semantics. Generate inputs designed to break it:

  • Nil/null/undefined — what happens when required inputs are absent?
  • Empty — empty string, empty array, empty object
  • Boundary values — off-by-one, max int, min int, zero
  • Oversized — enormous strings, deeply nested structures, very large collections
  • Type confusion — wrong types where the language allows it
  • Unicode/encoding — emoji, RTL text, null bytes, control characters

Read the full file on GitHub · 134 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. 1mo ago Changed · -11 lines 0f43c6f275e4
  2. 1mo ago Changed · +12 tokens per session ef05ca45f8de
  3. 1mo ago First seen · 145 lines · 58 tokens per session scan A 3038acd161aa

Subscribe to this mod's changes

balrog is an agent published in the GitHub repository justinjdev/fellowship (5 stars, last pushed 24d ago), licensed Apache-2.0. It adds 70 tokens to every session and 1,719 once invoked, about $0.0003 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-31.

Related

Other agents, from other repositories

browser-controller

Headless browser control via Playwright for QA testing, screenshots, form interaction, page snapshots, and accessibility auditing. The eyes of ProductionOS.

ShaheerKhawaja/ProductionOS · 32 tokens

Al Verifier

Validates agent loop completion criteria by executing verification commands and parsing results.

jmagly/aiwg · 17 tokens

ai-eval-engineer

Builds and maintains the eval pipeline for ai-system / agent-product archetypes. Outputs tests/eval/EVAL-.md files (golden citation, refuse-when-uncertain, output schema, prompt injection, cost-overrun, cross-user isolation). Runs regression on every prompt or model change. Detects drift.

avelikiy/great_cto · 71 tokens

mobile-app-builder

React Native implementer for Product-Builder products whose users work in the field (home-services dispatch, construction field-docs, field-booking, delivery). Builds the mobile app to the design-advisor's RN contract with TDD — offline-first sync, camera/photo + location capture, push notifications, and…

avelikiy/great_cto · 122 tokens

performance-engineer

Performance specialist. Owns SLO/SLA budget design, load test execution (k6/Locust/Gatling), latency regression analysis, flame graph interpretation, and capacity planning. Runs after senior-dev, before QA. Writes docs/performance/PERF-{slug}.md. Activated when performance-sla is set in PROJECT.md, or archetype is…

avelikiy/great_cto · 83 tokens

e2e-test-engineer

Use after qa-engineer passes and before/around devops deploy. Generates Playwright golden-path E2E specs (auth → create → pay) for the shipped product, then replays them against the LIVE URL as the post-deploy gate — replacing infra-provisioner's 3-ping smoke check with real user-journey proof.

avelikiy/great_cto · 76 tokens