Subagents

The ten files in .claude/agents/ are Claude Code project subagents. Each is a
Markdown file with YAML frontmatter (name, description, tools, model) and a
body that is the subagent's full system prompt. Each enforces exactly one quality
dimension and nothing else, and each carries the same accuracy doctrine: confirm
every finding against the source, actively disprove false positives, cross-reference
every consumer before changing anything, and never reduce functionality to satisfy a
rule.

The fleet

Subagent Dimension
security-maintainer Authorization on every route, private-resource gating, read-only file guards, input validation, XSS controls.
audit-maintainer Every state-changing action emits an audit record; denials and failures carry the right result; the event catalogue is complete.
devii-maintainer The Devii assistant can do everything a role allows over REST, and exposes only the tools that role may call.
docs-maintainer CLAUDE.md, AGENTS.md, README, the API docs, and the prose pages agree with the source, with correct role gating.
fanout-maintainer A feature is wired through every layer: form model, output schema, response, Devii tool, API docs, SEO, docs.
dry-maintainer Shared helpers are reused instead of duplicated logic re-implemented.
style-maintainer Naming, headers, typing, and formatting follow the project rules, applied with context so intentional patterns are left alone.
frontend-maintainer ES6 modules, custom components, and CSS follow the project's strict structure.
seo-maintainer Public pages carry the right search metadata and appear in the sitemap.
test-maintainer Routes without an integration test get one written. It never runs the suite.

Modes

Each subagent operates in one of two modes, chosen by how it is invoked.

  • Report (default): record findings only, change nothing.
  • Fix: apply a minimal root-cause fix per the doctrine, then run the project
    validator (hawk .) and confirm the build still imports.

A subagent never runs the test suite and never performs a git write.

Invoking a subagent

Mention the subagent by its name, or let Claude delegate to it automatically based
on its description:

@agent-security-maintainer check every POST in routers/ has a guard
@agent-docs-maintainer report doc drift in the bugs router (report only)

Each subagent's model is set to inherit, so it runs on the model the session is
using. To run the whole fleet at once, use the
/maintenance command or the /fleet workflow.