@open-agent-toolkit/cli 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/assets/docs/contributing/documentation.md +6 -2
  2. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +24 -14
  3. package/assets/docs/docs-tooling/commands.md +16 -14
  4. package/assets/docs/docs-tooling/workflows.md +15 -8
  5. package/assets/docs/reference/docs-index-contract.md +28 -6
  6. package/assets/docs/reference/index.md +1 -1
  7. package/assets/docs/workflows/projects/implementation-execution.md +1 -1
  8. package/assets/docs/workflows/skills/index.md +3 -1
  9. package/assets/public-package-versions.json +4 -4
  10. package/assets/skills/authoring-docs/SKILL.md +135 -0
  11. package/assets/skills/authoring-docs/references/categories.md +251 -0
  12. package/assets/skills/authoring-docs/references/information-architecture.md +156 -0
  13. package/assets/skills/authoring-docs/references/page-types.md +119 -0
  14. package/assets/skills/authoring-docs/references/principles.md +98 -0
  15. package/assets/skills/authoring-docs/references/review-rubric.md +169 -0
  16. package/assets/skills/authoring-docs/references/templates.md +549 -0
  17. package/assets/skills/authoring-docs/references/workflow.md +133 -0
  18. package/assets/skills/authoring-docs/references/writing-style.md +128 -0
  19. package/assets/skills/oat-docs-analyze/SKILL.md +143 -18
  20. package/assets/skills/oat-docs-analyze/references/analysis-artifact-template.md +101 -1
  21. package/assets/skills/oat-docs-analyze/references/directory-assessment-criteria.md +16 -0
  22. package/assets/skills/oat-docs-analyze/references/quality-checklist.md +83 -3
  23. package/assets/skills/oat-docs-authoring/SKILL.md +193 -0
  24. package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +64 -0
  25. package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +51 -0
  26. package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +77 -0
  27. package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +61 -0
  28. package/assets/skills/oat-docs-authoring/references/validation.md +61 -0
  29. package/assets/skills/oat-docs-bootstrap/SKILL.md +15 -11
  30. package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +5 -5
  31. package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
  32. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
  33. package/dist/commands/init/tools/shared/skill-manifest.js +2 -0
  34. package/package.json +2 -2
@@ -12,6 +12,7 @@ Documentation should ship with the code it explains. This page covers the core d
12
12
  - Every documentation directory must contain an `index.md`.
13
13
  - Each `index.md` must include a `## Contents` section.
14
14
  - The `## Contents` section is the machine-readable local map for sibling pages and child directories.
15
+ - Use `.md`-suffixed relative links in `## Contents`: `[Page](page.md)` for leaf pages and `[Section](subdir/index.md)` for child directories.
15
16
 
16
17
  ## Local workflow
17
18
 
@@ -51,7 +52,10 @@ Documentation should ship with the code it explains. This page covers the core d
51
52
 
52
53
  - Keep docs aligned with the current repo behavior and current command surface.
53
54
  - Prefer cross-links over duplicated conceptual content.
54
- - When you add, remove, or rename docs pages, refresh the generated docs surface:
55
+ - Use `oat-docs-authoring` for targeted OAT/Fumadocs docs edits; it delegates
56
+ universal page-quality guidance to `authoring-docs` and keeps local
57
+ navigation, generated-index, and validation expectations in scope.
58
+ - When you add, remove, or rename docs pages, refresh the generated Fumadocs root index. It is a generated file-tree manifest that should be checked against authored `docs/**/index.md` maps, not hand-edited:
55
59
 
56
60
  ```bash
57
61
  pnpm -w run cli -- docs generate-index --docs-dir apps/oat-docs/docs --output apps/oat-docs/index.md
@@ -63,7 +67,7 @@ Documentation should ship with the code it explains. This page covers the core d
63
67
 
64
68
  - Treat `index.md` plus its `## Contents` section as the local discovery source of truth.
65
69
  - Prefer linking to source files and commands explicitly when documenting behavior.
66
- - Regenerate the docs surface index after adding or removing pages.
70
+ - Regenerate or freshness-check the docs surface index after adding, removing, renaming, or reordering pages.
67
71
 
68
72
  ## Related Guides
69
73
 
@@ -46,9 +46,10 @@ Legacy pack-specific path:
46
46
  oat init tools docs
47
47
  ```
48
48
 
49
- The docs pack installs `oat-docs-analyze`, `oat-docs-apply`,
50
- `oat-agent-instructions-analyze`, and `oat-agent-instructions-apply`. For this
51
- quickstart, the docs pair is the part you need immediately.
49
+ The docs pack installs `authoring-docs`, `oat-docs-authoring`,
50
+ `oat-docs-analyze`, `oat-docs-apply`, `oat-agent-instructions-analyze`, and
51
+ `oat-agent-instructions-apply`. For this quickstart, the authoring and docs
52
+ analysis/apply skills are the parts you need immediately.
52
53
 
53
54
  ## 3. Scaffold the docs app
54
55
 
@@ -76,7 +77,7 @@ What the skill adds over the raw CLI:
76
77
  - **Build verification.** Runs install + build, classifies failures against known patterns, stops on unknown errors rather than guessing.
77
78
  - **Config inspection.** Reads `.oat/config.json` back, verifies paths exist on disk, handles the nested-standalone dual-config case, and collects the `requireForProjectCompletion` opt-in explicitly.
78
79
  - **Root-build explanation.** When the CLI safely patches a compatible Turbo root `build` script, the walkthrough explains why the filter was added, shows the diff shape, and documents how to adjust or revert it. When the CLI skips the patch, the walkthrough relays the recommended manual snippet.
79
- - **Educational walkthrough.** Seven sections covering the `documentation` config, the two-`index.md` model, the `## Contents` contract (with extension discipline), the three agent-instruction surfaces (root `AGENTS.md` pointer / docs-app `AGENTS.md` / `docs/contributing.md`), Fumadocs internals (or MkDocs Minimum Contract), and the OAT docs ecosystem (`oat-project-document`, `oat-docs-analyze`, `oat-docs-apply`).
80
+ - **Educational walkthrough.** Seven sections covering the `documentation` config, the authored-source/generated-navigation model, the `## Contents` contract (with extension discipline), the three agent-instruction surfaces (root `AGENTS.md` pointer / docs-app `AGENTS.md` / `docs/contributing.md`), Fumadocs internals (or MkDocs Minimum Contract), and the OAT docs ecosystem (`oat-project-document`, `oat-docs-analyze`, `oat-docs-apply`).
80
81
  - **Optional content kickoff.** Hands off to `oat-docs-analyze` + `oat-docs-apply` if you want to populate initial repo-specific content immediately.
81
82
 
82
83
  Capability-gated: every post-patch self-ratchets off as CLI fixes land upstream. The skill's labeled markers (`<!-- FP-NN patch -->`) are how you find them later when the CLI catches up.
@@ -115,25 +116,32 @@ root `build:docs` script is available for docs-only builds. Use
115
116
  `--no-root-patch` to opt out, or `--dry-run` to preview the diff without
116
117
  writing it.
117
118
 
118
- ## 3a. Migrating from MkDocs (optional)
119
+ ### 3c. Existing MkDocs content
119
120
 
120
- If you have an existing MkDocs site and want to switch to Fumadocs, use the
121
- migration command after scaffolding:
121
+ Bootstrap is not the migration workflow. If you have an existing MkDocs site
122
+ and want to switch to Fumadocs, treat that as a separate migration workstream.
123
+ The CLI migration helper can convert common Markdown syntax and frontmatter:
122
124
 
123
125
  ```bash
124
126
  oat docs migrate --docs-dir docs --config mkdocs.yml --apply
125
127
  ```
126
128
 
127
- This converts MkDocs admonitions to GFM callouts and injects frontmatter
128
- metadata. Run without `--apply` first to preview changes.
129
+ Run without `--apply` first to preview changes. For a full MkDocs-to-Fumadocs
130
+ refactor, use the assigned migration handoff guide or project plan; do not make
131
+ `oat-docs-bootstrap` own that migration.
129
132
 
130
133
  ## 4. Start authoring docs with the OAT contract
131
134
 
135
+ Use `oat-docs-authoring` for targeted OAT/Fumadocs content edits or local
136
+ restructuring. It uses `authoring-docs` for the portable documentation baseline
137
+ and adds the OAT-specific navigation, generated-index, and validation contract.
138
+
132
139
  Core rules:
133
140
 
134
141
  - every docs directory should have an `index.md`
135
142
  - every `index.md` should include a `## Contents` section
136
143
  - the `## Contents` section should map sibling pages and immediate child directories
144
+ - `## Contents` links should use `.md`-suffixed relative targets, including `subdir/index.md` for child directories
137
145
 
138
146
  For **MkDocs** apps, regenerate navigation after adding or moving pages:
139
147
 
@@ -141,16 +149,18 @@ For **MkDocs** apps, regenerate navigation after adding or moving pages:
141
149
  oat docs nav sync --target-dir apps/my-docs
142
150
  ```
143
151
 
144
- For **Fumadocs** apps, the docs index is generated automatically via
145
- `predev`/`prebuild` hooks. You can also run it manually:
152
+ For **Fumadocs** apps, the app-root docs index manifest is generated from the
153
+ Markdown file tree automatically via `predev`/`prebuild` hooks. You can also
154
+ run it manually:
146
155
 
147
156
  ```bash
148
157
  oat docs generate-index --docs-dir docs
149
158
  ```
150
159
 
151
160
  The generated app-root `index.md` is machine-owned and now starts with an
152
- `AUTOGENERATED` warning comment. Edit authored pages under `docs/`, not the
153
- generated root index.
161
+ `AUTOGENERATED` warning comment. Edit authored pages and `## Contents` maps
162
+ under `docs/`, then compare the generated manifest against those maps when
163
+ checking freshness.
154
164
 
155
165
  ## 5. Analyze the docs surface
156
166
 
@@ -193,7 +203,7 @@ Important:
193
203
  1. `oat init --scope project`
194
204
  2. `oat tools install docs`
195
205
  3. `oat docs init --app-name my-docs`
196
- 4. (optional) `oat docs migrate --docs-dir docs --config mkdocs.yml --apply`
206
+ 4. (optional) handle MkDocs migration as a separate workstream; use `oat docs migrate --docs-dir docs --config mkdocs.yml --apply` only for the syntax/frontmatter helper
197
207
  5. Author docs with `index.md` + `## Contents`
198
208
  6. `oat docs nav sync --target-dir apps/my-docs` (MkDocs) or `oat docs generate-index` (Fumadocs)
199
209
  7. `/oat-docs-analyze`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: Docs App Commands
3
- description: 'Docs scaffolding CLI surface for Fumadocs/MkDocs, migration, index generation, and nav sync.'
3
+ description: 'Docs scaffolding CLI surface for Fumadocs/MkDocs, migration helpers, Fumadocs index generation, and MkDocs nav sync.'
4
4
  ---
5
5
 
6
6
  # Docs App Commands
@@ -11,20 +11,20 @@ and **MkDocs Material**.
11
11
 
12
12
  ## Quick Look
13
13
 
14
- - What it does: documents the docs-specific CLI surface for scaffolding apps, migrating markdown, generating indexes, and syncing navigation.
14
+ - What it does: documents the docs-specific CLI surface for scaffolding apps, migrating markdown, generating Fumadocs app-root index manifests, and syncing MkDocs navigation.
15
15
  - When to use it: when you already know you are working on a docs surface and need the exact command-level behavior.
16
16
  - Primary commands: `oat docs init`, `oat docs migrate`, `oat docs generate-index`, `oat docs nav sync`
17
17
 
18
18
  ## Command surface
19
19
 
20
- | Command | Purpose |
21
- | ------------------------- | ------------------------------------------------------------------------------------ |
22
- | `oat docs init` | Scaffold a new docs app (Fumadocs or MkDocs). |
23
- | `oat docs migrate` | Convert MkDocs admonitions to GFM callouts and inject frontmatter. |
24
- | `oat docs generate-index` | Generate a docs index from the markdown file tree. |
25
- | `oat docs nav sync` | Regenerate `mkdocs.yml` navigation from directory `index.md` `## Contents` sections. |
26
- | `oat docs analyze` | CLI entrypoint that points users to the `oat-docs-analyze` skill. |
27
- | `oat docs apply` | CLI entrypoint that points users to the `oat-docs-apply` skill. |
20
+ | Command | Purpose |
21
+ | ------------------------- | ----------------------------------------------------------------------------- |
22
+ | `oat docs init` | Scaffold a new docs app (Fumadocs or MkDocs). |
23
+ | `oat docs migrate` | Convert MkDocs admonitions to GFM callouts and inject frontmatter. |
24
+ | `oat docs generate-index` | Generate a Fumadocs app-root docs index manifest from the Markdown file tree. |
25
+ | `oat docs nav sync` | Regenerate MkDocs `mkdocs.yml` navigation from directory `index.md` maps. |
26
+ | `oat docs analyze` | CLI entrypoint that points users to the `oat-docs-analyze` skill. |
27
+ | `oat docs apply` | CLI entrypoint that points users to the `oat-docs-apply` skill. |
28
28
 
29
29
  ## `oat docs init`
30
30
 
@@ -109,9 +109,10 @@ oat docs migrate --docs-dir docs --config mkdocs.yml --apply
109
109
 
110
110
  ## `oat docs generate-index`
111
111
 
112
- Use `oat docs generate-index` to produce a markdown index from the docs file
113
- tree. The generated index lists all pages with titles and descriptions, organized
114
- by directory structure.
112
+ Use `oat docs generate-index` to produce a generated Markdown manifest from the
113
+ docs file tree. In Fumadocs apps this is the app-root `index.md`, outside the
114
+ authored `docs/` source tree. The generated index lists all pages with titles
115
+ and descriptions, organized by directory structure.
115
116
 
116
117
  Key behavior:
117
118
 
@@ -121,6 +122,7 @@ Key behavior:
121
122
  - outputs to app root (`index.md`) by default, not inside the docs directory
122
123
  - updates `documentation.index` in `.oat/config.json`
123
124
  - prepends an `AUTOGENERATED` warning comment to the output and rewrites the file on every run; do not hand-edit the generated `index.md`
125
+ - should be freshness-checked against authored `docs/**/index.md` `## Contents` maps before treating it as navigation evidence
124
126
  - sorting: `index.md` first, then directories before files, then lexical
125
127
 
126
128
  Supported flags:
@@ -139,7 +141,7 @@ script hooks.
139
141
 
140
142
  ## `oat docs nav sync`
141
143
 
142
- Use nav sync after adding, removing, or renaming docs pages.
144
+ Use nav sync for MkDocs apps after adding, removing, or renaming docs pages.
143
145
 
144
146
  The command reads only the reserved `## Contents` section from each directory
145
147
  `index.md` and regenerates the `nav:` block in `mkdocs.yml`.
@@ -17,12 +17,18 @@ Install the workflow skills with `oat tools install docs` (preferred) or
17
17
 
18
18
  - `oat docs init` scaffolds a docs app (Fumadocs or MkDocs)
19
19
  - `oat docs migrate` converts MkDocs admonitions to GFM callouts and injects frontmatter
20
- - `oat docs generate-index` generates a docs index from the markdown file tree
21
- - `oat docs nav sync` regenerates mkdocs.yml nav from `index.md` `## Contents` sections
20
+ - `oat docs generate-index` generates a Fumadocs app-root docs index manifest from the Markdown file tree
21
+ - `oat docs nav sync` regenerates MkDocs `mkdocs.yml` nav from `index.md` `## Contents` sections
22
22
  - `oat docs analyze` and `oat docs apply` expose the workflow surface in CLI help
23
23
 
24
24
  ### Skills
25
25
 
26
+ - `authoring-docs` is the provider-agnostic baseline for evidence-first
27
+ technical documentation: page types, information architecture, category
28
+ guidance, templates, and review rubrics
29
+ - `oat-docs-authoring` layers the OAT/Fumadocs docs-app contract on top of
30
+ `authoring-docs` for targeted authoring, restructuring, link repair, and
31
+ local navigation maintenance inside an existing OAT docs app
26
32
  - `oat-docs-bootstrap` is the guided onramp for adding a docs app to a repo —
27
33
  wraps `oat docs init` with preflight detection, richer input gathering (site
28
34
  name distinct from package name), labeled post-patches for open CLI gaps,
@@ -55,15 +61,16 @@ skills.
55
61
  ## Typical flow
56
62
 
57
63
  1. Bootstrap a docs app with `oat-docs-bootstrap` (preferred — guided, includes post-scaffold patches and walkthrough) or `oat docs init` directly (CLI-only / non-interactive workflows)
58
- 2. (Optional) If migrating from MkDocs: `oat docs migrate --docs-dir docs --config mkdocs.yml --apply`
59
- 3. Author docs so every directory has an `index.md` with a `## Contents` section
60
- 4. Keep local `## Contents` sections current
61
- 5. Sync navigation:
64
+ 2. (Optional) If migrating from MkDocs, handle that as a separate migration workstream; `oat docs migrate --docs-dir docs --config mkdocs.yml --apply` is only the syntax/frontmatter helper
65
+ 3. Use `oat-docs-authoring` for targeted OAT/Fumadocs authoring work, with `authoring-docs` as the universal documentation-quality baseline
66
+ 4. Author docs so every directory has an `index.md` with a `## Contents` section
67
+ 5. Keep local `## Contents` sections current
68
+ 6. Refresh generated artifacts:
62
69
  - **MkDocs:** `oat docs nav sync`
63
70
  - **Fumadocs:** `oat docs generate-index` (runs automatically via `predev`/`prebuild` hooks)
64
- 6. Run `oat-docs-analyze`; by default it verifies the generated analysis artifact
71
+ 7. Run `oat-docs-analyze`; by default it verifies the generated analysis artifact
65
72
  through `workflow.autoArtifactReview.analysis`
66
- 7. Review the artifact and run `oat-docs-apply`
73
+ 8. Review the artifact and run `oat-docs-apply`
67
74
 
68
75
  ## Progressive disclosure
69
76
 
@@ -1,17 +1,19 @@
1
1
  ---
2
2
  title: Docs Index Contract
3
- description: 'Navigation generation contract: index.md format and authoring guidance.'
3
+ description: 'Docs source contract: authored index.md maps, generated Fumadocs manifests, and MkDocs nav sync.'
4
4
  ---
5
5
 
6
6
  # Docs Index Contract
7
7
 
8
- OAT docs navigation is generated from each directory `index.md`, not from hand-maintained `mkdocs.yml` trees.
8
+ OAT docs navigation starts from authored `docs/**/index.md` files. Each `## Contents` section is the local source of truth for sibling pages and child directories. Generated artifacts are derived from docs source and should not be edited directly.
9
9
 
10
10
  ## Rules
11
11
 
12
12
  - Every documentation directory must contain an `index.md`.
13
13
  - Every `index.md` must include a `## Contents` section.
14
- - The `## Contents` section is the only machine-readable source used by `oat docs nav sync`.
14
+ - Every `## Contents` link should use a `.md`-suffixed relative target, including child directory links such as `subdir/index.md`.
15
+ - For Fumadocs, refresh or freshness-check the generated app-root manifest after adding, removing, or renaming Markdown files. Compare that manifest against authored `## Contents` maps for drift; reordering `## Contents` does not reorder the generated manifest's file-tree sort.
16
+ - For MkDocs, run `oat docs nav sync` after adding, removing, renaming, or reordering pages. It regenerates `mkdocs.yml` from authored `## Contents` maps and preserves the order declared in each local map.
15
17
 
16
18
  ## `## Contents` format
17
19
 
@@ -28,23 +30,43 @@ Notes:
28
30
 
29
31
  - Links after `## Contents` can include short human-readable descriptions.
30
32
  - Child directories should link to their `index.md`.
33
+ - Leaf pages should link to their `.md` filename.
31
34
  - Prose outside `## Contents` is ignored by nav generation and remains freeform.
32
35
 
33
36
  ## Navigation generation
34
37
 
35
- `oat docs nav sync --target-dir <docs-app-dir>` walks the docs tree from `docs/index.md` downward and regenerates `mkdocs.yml` `nav` entries from the discovered `index.md` files.
38
+ Fumadocs and MkDocs use the same authored source, but they do not use the same generated artifact.
39
+
40
+ For Fumadocs docs apps, `oat docs generate-index` walks the Markdown file tree under `docs/` and writes the app-root generated manifest, for example `apps/oat-docs/index.md`.
41
+
42
+ ```bash
43
+ pnpm -w run cli -- docs generate-index --docs-dir apps/oat-docs/docs --output apps/oat-docs/index.md
44
+ ```
45
+
46
+ For MkDocs docs apps, `oat docs nav sync --target-dir <docs-app-dir>` walks the docs tree from `docs/index.md` downward and updates the `nav:` entries in `mkdocs.yml`.
36
47
 
37
48
  Generated behavior:
38
49
 
39
50
  - Root `docs/index.md` becomes `Home`.
40
51
  - Child directory `index.md` files become section landing pages.
41
- - Nested entries are emitted in the order they appear under each local `## Contents` block.
52
+ - Fumadocs generated entries are ordered by the file-tree generator: `index.md` first, directories before files, then lexical order.
53
+ - MkDocs nested entries are emitted in the order they appear under each local `## Contents` block.
54
+ - Fumadocs generated manifests should carry an autogen warning and are rewritten by `predev` / `prebuild`.
55
+ - MkDocs `mkdocs.yml` may contain other configuration, but its `nav:` block is derived from authored `## Contents`.
56
+
57
+ ## Generated-file boundaries
58
+
59
+ - Edit authored files under `docs/`, especially the nearest `index.md` and `## Contents`.
60
+ - Do not hand-edit a Fumadocs app-root generated `index.md`; regenerate it from the docs source tree.
61
+ - Do not hand-maintain MkDocs `nav:` entries when the local workflow uses `oat docs nav sync`.
62
+ - If a Fumadocs generated manifest lists pages that are missing from authored `## Contents`, treat that as authored-source drift or intentional generator-inventory behavior to verify before relying on the generated file as navigation evidence.
42
63
 
43
64
  ## Authoring guidance
44
65
 
45
66
  - Use `index.md` as the local discovery surface for humans and agents.
46
67
  - Add a short topic description next to each link so agents can choose the right file without opening every page.
47
- - Update `## Contents` whenever you add, remove, or rename docs files in a directory.
68
+ - Update `## Contents` whenever you add, remove, rename, or reorder docs files in a directory.
69
+ - Refresh or freshness-check the generated artifact before committing structural docs changes.
48
70
 
49
71
  ## If You Are Trying To...
50
72
 
@@ -13,7 +13,7 @@ Contributor how-to material now lives under `contributing/`, and user-facing rou
13
13
 
14
14
  - [CLI Reference](cli-reference.md) - Shallow map of the OAT command surface with links to owning sections.
15
15
  - [File Locations](file-locations.md) - Where core OAT files, assets, and artifacts live.
16
- - [Docs Index Contract](docs-index-contract.md) - Rules for directory `index.md` files and reserved `## Contents` sections.
16
+ - [Docs Index Contract](docs-index-contract.md) - Authored `index.md` maps, `.md` links, generated Fumadocs manifests, and MkDocs nav sync boundaries.
17
17
  - [OAT Directory Structure](oat-directory-structure.md) - Canonical `.oat/` tree map and the role of each major directory.
18
18
  - [Troubleshooting](troubleshooting.md) - Common issues, diagnostics, and remediation guidance.
19
19
 
@@ -29,7 +29,7 @@ The approval decision covers both phase implementation and checkpoint review for
29
29
 
30
30
  The selected tier is reported to the user and locked for the remainder of the run:
31
31
 
32
- ```
32
+ ```text
33
33
  [preflight] Checking subagent availability…
34
34
  → oat-phase-implementer + oat-reviewer: available
35
35
  → Selected: Tier 1 — Subagents
@@ -23,7 +23,7 @@ Use this section when you want to choose the right OAT skill for a task. If you
23
23
  - Run or receive reviews: `oat-project-review-provide`, `oat-project-review-receive`, or the non-project review variants
24
24
  - Capture a scoped, shippable backlog item: `oat-pjm-add-backlog-item` directly when the work is already scoped, or `oat-brainstorm` when the thought hasn't converged yet — the brainstorm dispatcher's "scoped backlog item" destination pre-fills the title / description / acceptance criteria / scope estimate / priority from the conversation and then runs `oat-pjm-add-backlog-item` with confirmed inputs
25
25
  - Manage the repo backlog and reference docs: `oat-pjm-update-repo-reference`, `oat-pjm-review-backlog`
26
- - Work on docs surfaces: `oat-docs-bootstrap` (guided bootstrap of a new docs app), `oat-docs-analyze`, `oat-docs-apply`, and `oat-project-document`
26
+ - Work on docs surfaces: `authoring-docs` (general documentation baseline), `oat-docs-authoring` (targeted OAT/Fumadocs authoring), `oat-docs-bootstrap` (guided bootstrap of a new docs app), `oat-docs-analyze`, `oat-docs-apply`, and `oat-project-document`
27
27
  - Generate a shipping digest or scheduled recap: `oat-wrap-up`
28
28
  - Research a topic in depth: `deep-research`
29
29
  - Analyze an artifact, codebase, or document: `analyze`
@@ -83,6 +83,8 @@ Use this section when you want to choose the right OAT skill for a task. If you
83
83
 
84
84
  === "Docs and instructions"
85
85
 
86
+ - `authoring-docs`
87
+ - `oat-docs-authoring`
86
88
  - `oat-docs-bootstrap`
87
89
  - `oat-docs-analyze`
88
90
  - `oat-docs-apply`
@@ -1,6 +1,6 @@
1
1
  {
2
- "cli": "0.1.21",
3
- "docs-config": "0.1.21",
4
- "docs-theme": "0.1.21",
5
- "docs-transforms": "0.1.21"
2
+ "cli": "0.1.22",
3
+ "docs-config": "0.1.22",
4
+ "docs-theme": "0.1.22",
5
+ "docs-transforms": "0.1.22"
6
6
  }
@@ -0,0 +1,135 @@
1
+ ---
2
+ name: authoring-docs
3
+ version: 1.0.0
4
+ description: Use when creating, restructuring, migrating, auditing, or reviewing technical documentation for software projects. Provides evidence-first, provider-portable Markdown authoring standards.
5
+ argument-hint: '[docs task or target path]'
6
+ disable-model-invocation: false
7
+ allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
8
+ user-invocable: true
9
+ ---
10
+
11
+ # Authoring Docs
12
+
13
+ Use this skill to produce technical documentation that is grounded in the
14
+ repository, useful to humans, and explicit enough for future agents.
15
+
16
+ The prime directive is simple: do not write plausible docs. Extract truth from
17
+ code, configuration, schemas, tests, CI, deployment files, and existing docs;
18
+ then organize that truth around reader tasks.
19
+
20
+ ## When to Use
21
+
22
+ Use when:
23
+
24
+ - Creating or improving docs for a software repository.
25
+ - Migrating existing docs into a clearer Markdown structure.
26
+ - Auditing docs for missing, stale, duplicated, or risky content.
27
+ - Writing API, CLI, app, service, library, framework, architecture, operations,
28
+ or internal/public docs.
29
+ - Reviewing a documentation change for accuracy, usefulness, or safety.
30
+
31
+ ## When NOT to Use
32
+
33
+ Do not use by itself when:
34
+
35
+ - The user only asks for copy editing that does not require repository evidence.
36
+ - A repository-specific docs framework contract is the main problem; load the
37
+ local skill or instruction set alongside this baseline.
38
+ - Generated reference output must be regenerated from a tool; run the generator
39
+ first and use this skill for review and surrounding prose.
40
+ - Legal, policy, marketing, or brand copy needs domain-specific approval outside
41
+ the repository.
42
+
43
+ ## Workflow
44
+
45
+ ### Step 1: Resolve Scope and Evidence
46
+
47
+ Identify the docs target, intended reader, and source of truth before editing.
48
+ Inspect local instructions, existing docs, source files, config, schemas, tests,
49
+ CI, deployment files, and scripts that support the claims you plan to make.
50
+
51
+ Never invent commands, environment variables, endpoints, fields, deployment
52
+ steps, ownership, escalation paths, compatibility promises, or security
53
+ behavior. Mark useful but unverified facts as needing confirmation.
54
+
55
+ ### Step 2: Classify the Project and Reader Task
56
+
57
+ Classify the project type and docs category: API, CLI, frontend app, backend
58
+ service, worker, library, framework, monorepo, architecture, operations, or
59
+ mixed. Identify the reader's job: first success, task completion, exact lookup,
60
+ system understanding, safe operation, or review. Load
61
+ `references/categories.md` when category-specific coverage matters.
62
+
63
+ ### Step 3: Choose the Right Page Type
64
+
65
+ Use one primary page type per page:
66
+
67
+ - Tutorial: first successful path.
68
+ - How-to guide: complete one task.
69
+ - Reference: exact facts and contracts.
70
+ - Explanation: mental model, design, and tradeoffs.
71
+ - Runbook: operational recovery with checks, mitigation, and verification.
72
+
73
+ Small supporting sections are fine, but keep the page's primary job clear.
74
+
75
+ ### Step 4: Structure the Docs
76
+
77
+ Prefer predictable information architecture: landing page, getting started,
78
+ how-to guides, reference, concepts, and operations. Preserve useful existing
79
+ intent, remove duplication, and avoid creating parallel docs when an existing
80
+ page can be improved.
81
+
82
+ ### Step 5: Write Direct, Verifiable Markdown
83
+
84
+ Use plain language, active voice, specific nouns, exact file paths, exact
85
+ commands, code block language identifiers, expected output, and useful links.
86
+ Document prerequisites, verification, rollback for risky operations, and
87
+ uncertainty.
88
+
89
+ ### Step 6: Verify and Handoff
90
+
91
+ Run relevant validation commands when available: docs build, link check, tests
92
+ for generated examples, formatters, or local preview. In the final handoff,
93
+ summarize files changed, sources inspected, verification run, unresolved facts,
94
+ and recommended follow-ups.
95
+
96
+ ## Reference Map
97
+
98
+ Load only the references needed for the current task:
99
+
100
+ - `references/principles.md`: core documentation principles.
101
+ - `references/workflow.md`: evidence gathering and writing workflow.
102
+ - `references/information-architecture.md`: docs structure, naming, and links.
103
+ - `references/page-types.md`: tutorial, how-to, reference, explanation, and
104
+ runbook guidance.
105
+ - `references/categories.md`: API, CLI, app, service, library, framework,
106
+ monorepo, architecture, operations, and audience-specific guidance.
107
+ - `references/writing-style.md`: plain technical writing and Markdown rules.
108
+ - `references/templates.md`: reusable page and handoff templates.
109
+ - `references/review-rubric.md`: readiness checklist and review rubric.
110
+
111
+ ## Examples
112
+
113
+ Basic usage:
114
+
115
+ ```txt
116
+ /authoring-docs docs/
117
+ ```
118
+
119
+ Conversational triggers:
120
+
121
+ ```txt
122
+ Audit this repo's docs and identify missing pages.
123
+ Create a getting-started guide grounded in the package scripts.
124
+ Improve the CLI reference without inventing flags or exit codes.
125
+ Review this runbook for operational safety.
126
+ ```
127
+
128
+ ## Success Criteria
129
+
130
+ - Claims are grounded in repository evidence or marked as uncertain.
131
+ - The reader can complete the intended task without tribal knowledge.
132
+ - Page type, location, and navigation are clear.
133
+ - Commands, examples, paths, options, and references are accurate.
134
+ - Risky operations include verification and rollback.
135
+ - Internal-only or sensitive information is handled appropriately.