Agents

Agents are custom subagents that Claude Code can delegate a task to via its built-in Agent tool. Each .claude/agents/<name>.md file gives a subagent a system prompt, a description (what Claude Code matches invocations against), and a restricted tools list. Claude Code discovers agents in .claude/agents/ automatically — like skills, no separate registration step is needed once this repo is bootstrapped.

Why read-only fan-out workers

Several skills fan a task out across many independent targets — one competitor community per research pass, one dependency pin per audit, one claim per fact-check — and want each target checked in parallel without risking a stray worker writing a file, filing an issue, or running a destructive command. Every scout, auditor, and reviewer agent in this repo omits Edit and Write from its Claude Code tools list. Claude Code honors that allowlist (the tools: field, documented at https://code.claude.com/docs/en/sub-agents and in this repo since ai-config#341; still the mechanism Claude Code uses as of 2026-08-26). Some other harnesses still grant Write schemas to the same persona (Cursor Cloud Task, measured 2026-08-25 PDT on ai-config#2265, ai-config#2266, and ai-config#2272), so the restriction is not a universal harness guarantee. All but one of them also keep Bash, which can run write-capable shell commands (git push, rm, a redirect); for those, staying read-only is instruction-level discipline, not a harness guarantee (see the note below the table). Each agent returns a report. Even when a harness still grants the worker Write schemas, the worker stays read-only by instruction, and the calling session is what dispositions findings and applies fixes, on the user’s go-ahead.

adversarial-reviewer is the one that is not a fan-out worker but a critic — it reviews the calling session’s own diff rather than investigating the repo fresh. The read-only constraint matters for the same reason and one more: a reviewer that could edit would turn a finding into a silent fix, losing the finding and its disposition together.

The editor agents (prose-editor and code-editor, in the table below) are bounded implementation workers granted Edit and Write access to revise drafts in-place. Writing agents do not need to enforce all style guidelines on their first draft; they work iteratively, producing substantively-correct but stylistically loose first drafts and then handing off to editor agents for revisions.

Agents in this repo

Agent Tools Used by What it does
adversarial-reviewer Bash, Read, Grep, Glob, WebFetch, WebSearch every self-review — push, ardi, self-review-fallback Scrutinizes a diff for defects, unhandled edge cases, false factual and tool-behaviour claims, and convention violations — judging it by what it says rather than by the author’s account of it — and emits a structured review ending in a verdict (Ready for merge vs Needs more work)
code-editor Bash, Read, Edit, Write, Grep, Glob, WebFetch tidy, coding workflows Improves code style and enforces compliance with a style guide (SERG Lab Manual by default), taking working implementations and revising them directly to decompose functions, avoid nesting, and pass linters
community-demand-scout WebSearch, WebFetch, Read, Grep, Glob opposition-research (oppo) Mines one competitor community surface — an issue tracker, feature-request board, subreddit, Q&A site, forum, or review site — for user-demanded features, and reports each with demand evidence and a source link
dependency-auditor Bash, Read, Grep, Glob, WebFetch check-dependency-updates (cdu) Surveys pinned GitHub Actions tags/SHAs, renv.lock versions, pre-commit revs, Quarto/tool versions in CI, and submodules for available upgrades, reads changelogs, and reports what each bump would buy
hallucination-detector Bash, Read, Grep, Glob, WebFetch purge-hallucinations (ph) Verifies concrete, checkable references — files, functions, action refs, URLs, citations, config keys — against ground truth and sorts each into Resolves / Fabricated / Unverifiable
prose-editor Bash, Read, Edit, Write, Grep, Glob, WebFetch use-preferred-style, drafting workflows Improves prose style and enforces compliance with a style guide (Principles of Scientific Writing (PSW) by default), taking substantively-correct drafts and revising them directly while preserving facts and technical precision
prose-fact-checker Bash, Read, Grep, Glob, WebFetch fact-check-prose (fcp) Checks one factual claim, reasoning step, or computed value/figure against domain knowledge, an external source, or a rendered artifact, and returns a verdict naming the exact source it checked
overlap-detector Bash, Read, Grep, Glob find-overlap Clusters comparable units (skills, memories, docs, code, prose) by similarity, classifies each cluster as intentional-alias / adjacent-but-distinct / genuine-duplicate, and reports each with evidence and a recommended disposition
reproducibility-auditor Bash, Read, Grep, Glob, WebFetch reproducibility-audit Surveys a project for hidden dependencies, hardcoded absolute paths, undocumented prerequisites, environment assumptions, and output traceability, scoped per project type
skill-usage-auditor Bash, Read, Grep, Glob skill-audit Enumerates skills, greps local session transcripts for their invocations, rolls alias counts into their canonical skill, and buckets every skill into actively-used / dormant / dead

Every scout, auditor, and reviewer agent except community-demand-scout keeps Bash for read-only checks (grep, gh api, git submodule status, test -e) — avoiding a write-capable shell command (renv::update() without check = TRUE, pre-commit autoupdate) is instruction-level discipline for those. The editor agents (prose-editor and code-editor) use Bash to run linters, formatters, and test suites alongside their direct Edit and Write tools. Each read-only agent’s file under .claude/agents/ says so in as many words, so the Bash discipline is instructed where it is relied on rather than only asserted here. The Claude Code versus other-harness split for Edit/Write is in Why read-only fan-out workers above. adversarial-reviewer is the persona that currently carries the Write-schema hedge. The .opencode/ mirrors are not all the same: opencode’s own permission block can deny bash outright, in which case the Bash restriction is harness-enforced there. A harness that still grants Write schemas is not bound by that block. Which copy Cursor Cloud reads was not isolated (measured 2026-08-25 PDT).

How they’re invoked

The calling skill fans work out to one of these agents through Claude Code’s Agent tool, passing a scope line — what to check, against what — rather than letting the agent pick its own scope. To use one standalone rather than through its usual skill, invoke the Agent tool with subagent_type set to the agent’s name and describe the single target to check.

Back to top