Adds ailang-docwriter to /agents/ — a recurring role for keeping crate-, module-, and pub-item-level rustdoc accurate. First mission: ailang-core. Crate root, every module root, every pub item documented; intra-doc links throughout; Iter-13a additions (TypeDef.vars, Type::Con.args) get an explicit backwards-compat note. Two stale broken-link warnings in ailang-check fixed in passing. cargo doc --no-deps now warning-free across the workspace; promoted to verification invariant 6 in DESIGN.md.
AILang agents
These 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.
What lives here
| Agent | Role |
|---|---|
ailang-implementer.md |
Carries out tightly scoped implementation tasks. |
ailang-architect.md |
Read-only reviewer; checks for drift against DESIGN.md after iterations. |
ailang-tester.md |
Writes examples and E2E tests. |
ailang-debugger.md |
Diagnoses compiler or codegen bugs. |
ailang-docwriter.md |
Writes and maintains rustdoc on the Rust crates. |
Invocation scheme
Each .md file consists of YAML frontmatter (name, description, tools)
and a system-prompt body. There are two ways to invoke them:
-
As a subagent (preferred, when the tooling supports it). When the file sits under
~/.claude/agents/or.claude/agents/, Claude Code loads it as asubagent_typeand calls it as a native agent. The files here are deliberately NOT in.claude/because they belong to the project toolchain and should be visible. Anyone who wants to enable subagent loading can symlink:ln -s $(pwd)/agents .claude/agents. -
As a prompt prefix (always available). The body of the
.mdfile is prepended to the concrete task description and handed to ageneral-purposeagent. Functionally identical to the subagent call, except the caller has to send the body explicitly.
Extending or changing agents
- New agent: another
.mdfile with frontmatter (name,description,tools) and system-prompt body. - Existing agent: edit directly, like any other code file. Changes show up in git history.
- Convention: the frontmatter
descriptionfield is the one-sentence description an orchestrator reads to decide whether to call the agent. Keep it short and specific.