feat: add six specialized Claude agent definitions under .claude/agents for audit, devii, docs, dry, fanout, and frontend maintenance
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
<div class="docs-content" data-render>
|
||||
# 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 (`python -m agents.validator .`) 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](/docs/claude-workflows.html).
|
||||
|
||||
## The off-limits directory
|
||||
|
||||
Every subagent is instructed never to read, scan, or modify the `agents/` directory.
|
||||
That directory holds the Python fleet's own source, which intentionally contains the
|
||||
patterns the reviewers hunt for as detection data. A finding inside `agents/` is
|
||||
never real, so it is excluded from every search.
|
||||
</div>
|
||||
Reference in New Issue
Block a user