Docs Workflows
OAT’s docs workflow combines deterministic CLI helpers with higher-judgment skills for analysis and controlled updates.
Install the workflow skills with oat tools install docs (preferred) or
oat init tools docs before using the analyze/apply flow in a new repo.
Docs workflow pieces
CLI helpers
oat docs initscaffolds a docs app (Fumadocs or MkDocs)oat docs migrateconverts MkDocs admonitions to GFM callouts and injects frontmatteroat docs generate-indexgenerates a docs index from the markdown file treeoat docs nav syncregenerates mkdocs.yml nav fromindex.md## Contentssectionsoat docs analyzeandoat docs applyexpose the workflow surface in CLI help
Skills
oat-docs-analyzeevaluates a docs surface for structure, drift, coverage, contributor guidance, and docs-app contract issuesoat-docs-applyconsumes the analysis artifact and applies only approved, evidence-backed recommendations
Contract model
The docs workflow mirrors the agent-instructions analyze/apply split:
- Analyze owns discovery, evidence gathering, confidence, and disclosure decisions
- Apply consumes the artifact, asks for approval, and must not invent new docs conventions
This keeps deterministic behavior in the CLI and judgment-heavy behavior in the skills.
Typical flow
- Bootstrap a docs app with
oat docs init(choose Fumadocs or MkDocs) - (Optional) If migrating from MkDocs:
oat docs migrate --docs-dir docs --config mkdocs.yml --apply - Author docs so every directory has an
index.mdwith a## Contentssection - Keep local
## Contentssections current - Sync navigation:
- MkDocs:
oat docs nav sync - Fumadocs:
oat docs generate-index(runs automatically viapredev/prebuildhooks)
- MkDocs:
- Run
oat-docs-analyze - Review the artifact and run
oat-docs-apply
Progressive disclosure
The docs workflow expects local indexes to guide discovery without forcing agents to open every page.
- keep local topic summaries in
index.md - link to deeper setup/config/reference material when full detail is not needed inline
- let the analysis artifact decide what should be inline, link-only, omitted, or escalated to the user