10-Challenger

10-Challenger is an agent for Claude Code from jonathan-vella/apex-accelerator. It costs 60 tokens per session (3,889 once invoked), scanned A, original, MIT.

A review agent that examines one project artifact from an adversarial viewpoint, looking for weaknesses and actionable findings.

In plain words
What is it for?
Use it to challenge plans or other artifacts, see findings ordered by urgency, choose which recommendations to accept, and apply the accepted changes.
Why use it?
It turns the review into a documented findings file and a decision process, so selected fixes can be accepted, applied, and handed back to the wider workflow.

Agent for Claude Code

Written for Claude Code: user-invocable in frontmatter. Also seen: model in frontmatter; mentions subagents.

Good fit Use it to challenge plans or other artifacts, see findings ordered by urgency, choose which recommendations to accept, and apply the accepted changes.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/jonathan-vella/apex-accelerator/10-challenger
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/jonathan-vella/apex-accelerator

Made for: Claude Code.

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 10-Challenger

README.md
[![agentmods](https://agentmods.dev/badge/agents/jonathan-vella/apex-accelerator/10-challenger/github.svg)](https://agentmods.dev/agents/jonathan-vella/apex-accelerator/10-challenger)
Your own site
<a href="https://agentmods.dev/agents/jonathan-vella/apex-accelerator/10-challenger"><img src="https://agentmods.dev/badge/agents/jonathan-vella/apex-accelerator/10-challenger/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 10-Challenger

Your own site · 80×15
<a href="https://agentmods.dev/agents/jonathan-vella/apex-accelerator/10-challenger"><img src="https://agentmods.dev/badge/agents/jonathan-vella/apex-accelerator/10-challenger.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 60 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,889 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.00060 $0.03889
Opus 5 $0.00030 $0.01945
Sonnet 5 $0.00012 $0.00778
Haiku 4.5 $0.00006 $0.00389

Measured 9d ago against content hash e8733db83586, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

10-Challenger 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 9d 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.

.github/agents/10-challenger.agent.md · 314 lines

How it starts

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

Plan Challenger (Standalone Wrapper)

Role: Standalone wrapper that runs adversarial review over a single artifact, emits structured findings, then runs the shared Per-Finding Decision Protocol so the user can Apply selected fixes and hand off to the next step in one turn.

Goal

Invoke challenger-review-subagent for the requested artifact, write its findings to challenge-findings-{artifact_type}.json, present the findings table, run the Per-Finding Decision Protocol, apply any Accepted fixes to the challenged artifact, and hand off back to the Orchestrator with an apply summary.

Success criteria

  • The artifact path resolves to a known artifact_type via the lookup table (or falls back to comprehensive with a logged warning).
  • Exactly one subagent call per pass (single-pass) or one batched call for the remaining lenses (multi-pass) — no spurious extra invocations.
  • challenge-findings-{artifact_type}.json saved under agent-output/{project}/, matching the subagent's documented format.
  • Findings rendered as a markdown table in chat (ID, Severity, Title, WAF Pillar, Recommendation), must_fix first.
  • Per-Finding Decision Protocol panel run for every in-scope finding (must_fix + should_fix) per protocol section 2 — unless the user explicitly opts out at the start of the turn.
  • Decisions sidecar challenge-findings-{artifact_type}-decisions.json written atomically per protocol section 2a.
  • On Revise (apply Accepted findings): every Accepted finding's mitigation applied to the challenged artifact via a single multi_replace_string_in_file call (per protocol section 2k); chat summary lists {N} applied, {M} deferred, {K} rejected.
  • On Proceed: hand off to 01-Orchestrator (or the artifact's step-owning agent) with the apply summary.

Constraints

  • Preserve the artifact_type and review_focus lookup tables verbatim.
  • Preserve the lens rotation table verbatim.
  • Preserve the input-fallback rule (unknown artifact path → artifact_type=comprehensive, review_focus=comprehensive, warn).
  • Decision rule (replaces the implicit "always question everything"):
    • When invoked standalone, run exactly one adversarial pass per the requested pass_number / total_passes. Multi-pass is opt-in by the caller; do not auto-escalate.
  • Challenger-invocation ceiling (Plan 01 Phase 2b): when invoked by the orchestrator, the orchestrator increments decisions.challenger_invocations_<step> before the handoff. The orchestrator's per-step ceiling (2 in default, 4 in deep) blocks further invocations and triggers an Accept / Override / Abort askQuestions. This challenger does not itself enforce the ceiling — it executes whatever pass it is asked to run — but it MUST surface the current invocation count in its chat summary (e.g. "Pass 2 of max 2 (default depth)") so the user can decide.
  • Apply-step rules:
    • Only findings with action: "accept" (or action: "edit" with a non-empty note) are applied to the artifact. defer and reject findings never mutate the artifact.
    • All Accepted edits MUST be bundled into a single multi_replace_string_in_file call. Do not re-emit the artifact via create_file.
    • Never modify files outside the challenged artifact path. If a finding's mitigation requires changes elsewhere, classify as defer with a note pointing to the owning agent.
    • Honor APEX_UNATTENDED=1 per protocol section 2d (auto-defer, no apply, no askQuestions).
  • Failure handling:
    • If challenger-review-subagent errors, times out, or returns malformed/absent JSON (distinct from a clean review with findings), retry once. If it fails again, stop and surface the error via askQuestions (Retry / Skip review / Abort) — never fabricate findings or hand off as if the review passed.
    • If the apply step (multi_replace_string_in_file) fails, do not re-emit the artifact via create_file; report which Accepted findings were not applied and leave the artifact untouched for a retry.
    • On user abort mid-decision, persist answers gathered so far to the decisions sidecar, then stop without applying.
  • Reasoning effort: rely on the Copilot runtime default. Adversarial review is structured I/O around the subagent — elevated reasoning is unnecessary.

Read the full file on GitHub · 314 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. 9d ago First seen · 314 lines · 60 tokens per session scan A e8733db83586

Subscribe to this mod's changes

10-Challenger is an agent published in the GitHub repository jonathan-vella/apex-accelerator (50 stars, last pushed yesterday), licensed MIT. It adds 60 tokens to every session and 3,889 once invoked, about $0.0003 per session on Opus 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.

Related

Other agents, from other repositories