# AILang agents — roster Agent definitions are part of the project toolchain. They bundle the discipline and context that every task in this repo needs (which design documents to read first, which tests must run, which output format comes back). They are versioned, reviewable, and changeable like any other part of the repo. Since the 2026-05-09 skill-system migration, agents live next to the skill that primarily dispatches them, NOT in a flat `agents/` directory. This file is the roster pointing into the new layout. ## Where to find each agent | Agent | Path | Dispatched by skill | |-------|------|---------------------| | `ailang-implementer` | `skills/implement/agents/` | `implement` | | `ailang-tester` | `skills/implement/agents/` | `implement` (E2E coverage) | | `ailang-architect` | `skills/audit/agents/` | `audit` | | `ailang-bencher` | `skills/audit/agents/` | `audit` (regression diagnostics) | | `ailang-docwriter` | `skills/audit/agents/` | `audit` (rustdoc-drift branch) | | `ailang-debugger` | `skills/debug/agents/` | `debug` | ## Subagent-type discovery Subagent dispatch needs the agent files reachable under `.claude/agents/`. The repo provides one symlink per skill: ``` .claude/agents/implement -> skills/implement/agents .claude/agents/audit -> skills/audit/agents .claude/agents/debug -> skills/debug/agents ``` These symlinks are tracked in git. After cloning, no extra setup is needed. ## Convention - Each agent is a `.md` file with YAML frontmatter (`name`, `description`, `tools`) and a system-prompt body. - The `description` field is the one-sentence summary the orchestrator (or a skill) reads to decide whether to dispatch. - Edits go through git; agent definitions are reviewable code. - Agents do NOT call other agents. The dirigierende skill handles composition (per `skills/implement/SKILL.md` for the implementer + reviewer + tester pattern, etc.). - The agent's "mandatory reading order" stays in the agent file (it's agent discipline). The dirigierende skill provides the task-specific context (plan extract, bug symptom, drift item) on top. ## Adding a new agent 1. Decide which skill primarily dispatches it. 2. Add the `.md` file under that skill's `agents/` directory. 3. Update the table above and the dispatching skill's "Cross-references" section. 4. If the agent is genuinely standalone (no skill dispatches it), raise the question in `docs/JOURNAL.md` first — orphan agents are an anti-pattern after the 2026-05-09 build-out.