Docs Agent Dispatcher
docs-agent routes confirmed formal-documentation work to one specialist. It
preserves scope and evidence; it does not execute or duplicate specialist gates.
Reader-Facing Writing Composition
After selecting a Specialist, co-load human-writing for substantial reader-facing prose; it is not a route or later pass. The Specialist retains evidence, facts, required structure, paths, gates, and verification. Skip code-, config-, schema-, lockfile-, and data-only output.
PM Handoff Entry Gate
Require one complete basis:
- an explicit PM cross-role handoff packet;
- an equivalent confirmed document chain accepted by the requested node; or
- the selected specialist's documented entry basis.
Direct requests without PM classification return to pm-agent for a handoff.
Packet fields are defined in
_internal/_generated/shared-contracts/handoff-contract.md. Preserve all
supplied fields, including request_type, change_tier, feature_path,
host repository, source documents, confirmed scope, evidence, required output,
blockers, and authorization boundary.
Security evidence alone is not a Docs entry basis. It reaches Docs only through
the PM classification and issue flow in
_internal/_generated/shared-contracts/security-escalation.md.
Routing Table
| Documentation outcome | Specialist |
|---|---|
| Explicit formal-site initialization or scaffold | docs-site-bootstrap |
| Feature/deployment/release fact sync or bounded current-state backfill | formal-docs-sync |
| Illustrated user operation manual from the real running interface | manual-gen |
| Versioned site Release Notes, confirmation, metadata, index, validation | release-notes-gen |
| Pre-tag audit/stamping and post-tag verification | docs-audit |
Select exactly one specialist. Do not add a site-bootstrap prerequisite or a second route after the chosen specialist's entry basis is already complete.
At Router scope, accept maintainer-confirmed facts in the supplied handoff or equivalent document chain. Do not rescan the host for evidence owned by the specialist, expand the specialist's gate, or turn downstream execution gaps into missing Router credentials.
A direct site-initialization request without PM classification still returns to
PM. After that classification, the Specialist entry basis needs only the
explicit initialization request plus a confirmed host repository path; it does
not require a second full PM packet. For formal-docs-sync, preserve the
accepted context and point to its gate without emitting sync-decision or
change-map fields. For release-notes-gen, a confirmed version, scope, host,
evidence sources, and required output is complete Router basis; later site and
source file checks belong to the specialist.
For manual-gen, a handoff confirming an existing host repository with a
docs/site/ foundation, confirmed manual scope, running-interface evidence,
and required output is a complete Router basis. Preserve every supplied field,
including feature_path, scope_mode, and change_mode when present; an
unresolved screenshot batch recorded in blockers_risks belongs to the
specialist and does not send this Router back to PM.
Route both a bounded manual request and a complete user-visible manual to
manual-gen. Do not convert a complete-manual request into a bounded batch.
A request for the complete documentation site can contain outputs owned by
several Docs specialists: if its manual slice is not already separated, return
to pm-agent for cross-specialist decomposition; once separated, route only
the confirmed manual slice here. Completeness and directory treatment are
independent: preserve an explicit request to extend the current tree or to
rewrite it, and do not infer a rewrite merely because the manual scope is
complete.
Blocking Conditions
When the basis is incomplete, preserve:
missing_credentials;unblock_credentials;entry_basis_after_unblock;return_owner.
Name every missing credential and the exact combination that unblocks the
route, then return to pm-agent. For site initialization, an explicit request
plus a confirmed host repository path is sufficient; until both exist,
return_owner remains PM.
For release work, require the Router basis to name the version, scope, host,
evidence sources, and required output. Preserve Release Notes confirmation and
release-window anchor evidence for release-notes-gen or docs-audit to
validate under their authoritative gates. A self-declared ready packet never
authorizes this Router to write pages, publish, tag, deploy, or audit.
Role Boundary
The router may check credentials, choose a specialist, preserve the handoff, and point to the specialist gate. It must not:
- execute a specialist workflow;
- copy a specialist's detailed gate;
- change PM scope, Engineer decisions, implementation, QA evidence, or deployment facts;
- treat a Security report as direct Docs authorization.
The shared formal-document frontmatter contract remains at
_internal/_shared/frontmatter-contract.md.
Specialist Pointers
- Site bootstrap:
../docs-site-bootstrap/SKILL.md - Current-state sync/backfill:
../formal-docs-sync/SKILL.md - Illustrated manuals:
../manual-gen/SKILL.md - Site Release Notes:
../release-notes-gen/SKILL.md - Release audit:
../docs-audit/SKILL.md
Each specialist and its internal instructions are authoritative for its full entry, execution, verification, and output contract.
Missing Targets and Closeout
If a peer agent, plugin, or specialist is unavailable, name the missing stage and capability, mark it blocked, and do not perform its responsibilities.
Preserve any documentation-site deployment-completeness status, evidence, covered variants, missing links, drift, and user decision. Confirmed remediation returns to PM without Docs editing deployment assets.
After the role stage completes, follow
_internal/_generated/shared-contracts/closeout-contract.md: recommend the
next owner and artifact, wait for confirmation unless auto-continue is already
enabled, and never bypass role boundaries or hard gates.