diff --git a/skills/README.md b/skills/README.md index 49fd571..ca3ba7d 100644 --- a/skills/README.md +++ b/skills/README.md @@ -52,6 +52,7 @@ are no orphan agents (an anti-pattern after the 2026-05-09 build-out). | Agent | Path | Dispatched by skill | |-------|------|---------------------| +| `ailang-implement-orchestrator` | `implement/agents/` | `implement` (the only agent with the `Agent` tool; runs the per-task loop) | | `ailang-implementer` | `implement/agents/` | `implement` (Step 2.1; carries TDD as an independent layer) | | `ailang-spec-reviewer` | `implement/agents/` | `implement` (Step 2.3; did the diff match the task text?) | | `ailang-quality-reviewer`| `implement/agents/` | `implement` (Step 2.4; is the diff well-built? — only after spec is `compliant`) | @@ -137,9 +138,14 @@ dispatch can find them by `subagent_type`: - **No orphan agents.** Every agent lives under the skill that dispatches it. If a recurring need does not fit any skill, raise the question via a per-iter journal entry before adding the agent. -- **Agents do not call other agents.** The dirigierende skill - composes (e.g. `implement` dispatches implementer, then a separate - spec-compliance reviewer, then a code-quality reviewer). +- **Agents do not call other agents — one named exception.** The + dirigierende skill composes (e.g. `audit` dispatches architect, then + bencher, then docwriter). The single exception is + `ailang-implement-orchestrator`, which runs the per-task implementer + → spec-reviewer → quality-reviewer loop on its own; this exception + is documented in `skills/implement/SKILL.md` and exists to keep + per-iter chatter out of the Boss-context. No other agent gains the + `Agent` tool. - **Standing reading list stays in the agent file.** The skill provides the carrier (task text, bug symptom, drift focus, hypothesis) on top of the agent's standing reading list (CLAUDE.md, DESIGN.md, latest per-iter journals,