@open-agent-toolkit/cli 0.1.20 → 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 (63) hide show
  1. package/assets/agents/oat-reviewer.md +48 -10
  2. package/assets/docs/cli-utilities/config-and-local-state.md +12 -0
  3. package/assets/docs/cli-utilities/configuration.md +19 -1
  4. package/assets/docs/contributing/documentation.md +6 -2
  5. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +24 -14
  6. package/assets/docs/docs-tooling/commands.md +16 -14
  7. package/assets/docs/docs-tooling/workflows.md +22 -9
  8. package/assets/docs/reference/cli-reference.md +6 -2
  9. package/assets/docs/reference/docs-index-contract.md +28 -6
  10. package/assets/docs/reference/index.md +1 -1
  11. package/assets/docs/workflows/projects/implementation-execution.md +1 -1
  12. package/assets/docs/workflows/projects/reviews.md +41 -0
  13. package/assets/docs/workflows/skills/index.md +3 -1
  14. package/assets/public-package-versions.json +4 -4
  15. package/assets/skills/authoring-docs/SKILL.md +135 -0
  16. package/assets/skills/authoring-docs/references/categories.md +251 -0
  17. package/assets/skills/authoring-docs/references/information-architecture.md +156 -0
  18. package/assets/skills/authoring-docs/references/page-types.md +119 -0
  19. package/assets/skills/authoring-docs/references/principles.md +98 -0
  20. package/assets/skills/authoring-docs/references/review-rubric.md +169 -0
  21. package/assets/skills/authoring-docs/references/templates.md +549 -0
  22. package/assets/skills/authoring-docs/references/workflow.md +133 -0
  23. package/assets/skills/authoring-docs/references/writing-style.md +128 -0
  24. package/assets/skills/oat-agent-instructions-analyze/SKILL.md +43 -13
  25. package/assets/skills/oat-docs-analyze/SKILL.md +183 -28
  26. package/assets/skills/oat-docs-analyze/references/analysis-artifact-template.md +101 -1
  27. package/assets/skills/oat-docs-analyze/references/directory-assessment-criteria.md +16 -0
  28. package/assets/skills/oat-docs-analyze/references/quality-checklist.md +83 -3
  29. package/assets/skills/oat-docs-authoring/SKILL.md +193 -0
  30. package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +64 -0
  31. package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +51 -0
  32. package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +77 -0
  33. package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +61 -0
  34. package/assets/skills/oat-docs-authoring/references/validation.md +61 -0
  35. package/assets/skills/oat-docs-bootstrap/SKILL.md +15 -11
  36. package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +5 -5
  37. package/assets/skills/oat-project-discover/SKILL.md +22 -4
  38. package/assets/skills/oat-project-import-plan/SKILL.md +38 -9
  39. package/assets/skills/oat-project-plan/SKILL.md +30 -7
  40. package/assets/skills/oat-project-plan-writing/SKILL.md +45 -2
  41. package/assets/skills/oat-project-progress/SKILL.md +9 -3
  42. package/assets/skills/oat-project-quick-start/SKILL.md +40 -8
  43. package/assets/skills/oat-project-review-provide/SKILL.md +24 -11
  44. package/assets/skills/oat-project-review-receive/SKILL.md +37 -17
  45. package/dist/commands/config/index.d.ts.map +1 -1
  46. package/dist/commands/config/index.js +36 -0
  47. package/dist/commands/index.d.ts.map +1 -1
  48. package/dist/commands/index.js +2 -0
  49. package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
  50. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
  51. package/dist/commands/init/tools/shared/skill-manifest.js +2 -0
  52. package/dist/commands/review/index.d.ts +3 -0
  53. package/dist/commands/review/index.d.ts.map +1 -0
  54. package/dist/commands/review/index.js +7 -0
  55. package/dist/commands/review/latest.d.ts +23 -0
  56. package/dist/commands/review/latest.d.ts.map +1 -0
  57. package/dist/commands/review/latest.js +182 -0
  58. package/dist/config/oat-config.d.ts +5 -0
  59. package/dist/config/oat-config.d.ts.map +1 -1
  60. package/dist/config/oat-config.js +12 -0
  61. package/dist/config/resolve.d.ts.map +1 -1
  62. package/dist/config/resolve.js +4 -0
  63. package/package.json +2 -2
@@ -12,7 +12,7 @@ oat_analysis_commit: { commitHash }
12
12
  **Date:** {YYYY-MM-DD}
13
13
  **Mode:** {full|delta}
14
14
  **Docs Target:** `{docs-target-path}`
15
- **Surface Type:** {mkdocs-app|docs-tree|root-markdown}
15
+ **Surface Type:** {mkdocs-app|oat-fumadocs-app|docs-tree|root-markdown}
16
16
  **Commit:** {short-hash}
17
17
 
18
18
  ## Summary
@@ -26,6 +26,11 @@ oat_analysis_commit: { commitHash }
26
26
  - **Open questions / ask-user items:** {N}
27
27
  - **Contradicted claims:** {N}
28
28
  - **Coverage gaps / content opportunities:** {N}
29
+ - **Generated index findings:** {N}
30
+ - **Broken or extensionless local docs links:** {N}
31
+ - **Markdown hygiene findings:** {N}
32
+ - **Local guidance gaps:** {N}
33
+ - **Owner-review gaps:** {N}
29
34
 
30
35
  ## Docs Inventory
31
36
 
@@ -108,6 +113,81 @@ None | {numbered list}
108
113
 
109
114
  {Or: "No directory contract gaps identified."}
110
115
 
116
+ ## Generated Index and Local Map Findings
117
+
118
+ Use this section for OAT/Fumadocs docs apps or any docs surface with generated
119
+ root indexes, generated manifests, `meta.json`, or comparable derived navigation
120
+ files. Treat authored `docs/**/index.md` `## Contents` maps as source unless
121
+ local configuration or guidance proves a different source of truth.
122
+
123
+ | # | Classification | Generated Artifact | Authored Source Evidence | Issue | Severity | Recommended Fix |
124
+ | --- | -------------------------------- | ------------------------ | ------------------------------- | ----------------------------- | -------- | --------------------------------------- |
125
+ | 1 | {missing output} | `{index.md or manifest}` | `{config/script/guidance refs}` | Generated output is absent | Medium | Run or document the generation workflow |
126
+ | 2 | {ignored/local output} | `{index.md or manifest}` | `{gitignore/config refs}` | Local generated file is stale | Medium | Regenerate locally or clarify lifecycle |
127
+ | 3 | {stale output} | `{index.md or manifest}` | `{docs/**/index.md refs}` | Deleted path still appears | High | Regenerate derived output |
128
+ | 4 | {authored-source contract drift} | `{index.md or manifest}` | `{parent index.md refs}` | Source map omits child docs | Medium | Fix authored `## Contents` map |
129
+ | 5 | {unclear generator semantics} | `{index.md or manifest}` | `{generator/config refs}` | Ordering or inclusion unclear | Low | Document or investigate semantics |
130
+
131
+ {Or: "No generated index or local-map findings identified."}
132
+
133
+ For every generated-index finding:
134
+
135
+ - Cite exact generated artifact paths and authored source-map paths.
136
+ - Distinguish missing entries, stale entries, ordering drift, unreachable
137
+ generated entries, and unclear generator behavior.
138
+ - State whether generated warning banners are present, absent, or not expected.
139
+ - Do not recommend hand-editing generated artifacts; recommend source-map fixes,
140
+ regeneration, local guidance updates, or generator investigation.
141
+
142
+ ## Authored Links, Contents, and Markdown Hygiene
143
+
144
+ Use this section for local Markdown links, `## Contents` quality, page-extension
145
+ conventions, and Markdown syntax issues that affect rendering, navigation, or
146
+ search quality.
147
+
148
+ | # | Category | File Ref | Issue | Evidence | Severity | Recommended Fix |
149
+ | --- | -------------------------- | ----------------- | ----------------------------------------------- | ------------------------------------ | -------- | --------------------------------------- |
150
+ | 1 | {broken local link} | `{docs/path.md}` | Target does not exist | `{source line and target path}` | High | Update or remove the link |
151
+ | 2 | {extensionless local link} | `{docs/path.md}` | Link omits `.md` suffix | `{source line}` | Medium | Use `.md` or `subdir/index.md` |
152
+ | 3 | {placeholder Contents} | `{docs/index.md}` | `## Contents` is scaffold | `{source line}` | Medium | Replace with useful local map |
153
+ | 4 | {overview.md} | `{docs/topic/}` | Legacy entrypoint remains | `{overview.md refs}` | Medium | Convert to `index.md` or topic page |
154
+ | 5 | {unexpected mdx} | `{docs/page.mdx}` | Plain content uses `.mdx` | `{page and local guidance}` | Medium | Convert to `.md` or document exception |
155
+ | 6 | {unlabeled code fence} | `{docs/path.md}` | Code fence has no language | `{source line}` | Low | Add a language identifier |
156
+ | 7 | {shell fence drift} | `{docs/path.md}` | Shell fence convention drifts | `{source line and guidance}` | Low | Use the documented shell fence language |
157
+ | 8 | {heading hygiene} | `{docs/path.md}` | Empty heading or extra H1 | `{source line}` | Low | Fix heading hierarchy |
158
+ | 9 | {metadata hygiene} | `{docs/path.md}` | Description too long, truncated, or README-like | `{frontmatter refs and local limit}` | Low | Rewrite concise metadata |
159
+
160
+ {Or: "No authored link, Contents, or Markdown hygiene findings identified."}
161
+
162
+ False-positive guardrails:
163
+
164
+ - Ignore external URLs, anchors-only links, `mailto:` links, image links, and
165
+ asset/file links that are not docs pages.
166
+ - Accept anchors on `.md` links, such as `page.md#section`.
167
+ - Ignore link syntax shown inside inline code, fenced snippets, placeholder
168
+ templates, or intentional examples.
169
+ - Only enforce frontmatter description length limits when local guidance,
170
+ schemas, or generators define the limit.
171
+ - Do not flag multiple H1s in intentional imported README/generated contexts
172
+ unless local guidance says those files are authored docs.
173
+
174
+ ## Local Docs-App Guidance
175
+
176
+ Use this section when the repository has docs-app `AGENTS.md`, contributing
177
+ docs, authoring guides, generated-index docs, or legacy docs workflow guidance.
178
+
179
+ | # | Guidance Area | Source Ref | Status | Evidence | Severity | Recommended Fix |
180
+ | --- | -------------------------- | ---------------------- | ----------------------------- | -------------- | -------- | ----------------------------------- |
181
+ | 1 | Authored docs source root | `{AGENTS.md or guide}` | {covered \| missing \| stale} | `{exact refs}` | Medium | Document the source root |
182
+ | 2 | Generated root index | `{AGENTS.md or guide}` | {covered \| missing \| stale} | `{exact refs}` | Medium | Explain derived output lifecycle |
183
+ | 3 | `index.md` / `## Contents` | `{AGENTS.md or guide}` | {covered \| missing \| stale} | `{exact refs}` | Medium | Add local map contract guidance |
184
+ | 4 | `.md` links | `{AGENTS.md or guide}` | {covered \| missing \| stale} | `{exact refs}` | Medium | Document `.md` relative links |
185
+ | 5 | `.md` vs `.mdx` | `{AGENTS.md or guide}` | {covered \| missing \| stale} | `{exact refs}` | Low | Explain when `.mdx` is allowed |
186
+ | 6 | Analyze/apply boundaries | `{AGENTS.md or guide}` | {covered \| missing \| stale} | `{exact refs}` | Medium | Route audits/apply work correctly |
187
+ | 7 | Freshness checks | `{AGENTS.md or guide}` | {covered \| missing \| stale} | `{exact refs}` | Medium | Add regeneration/freshness guidance |
188
+
189
+ {Or: "No local docs-app guidance gaps identified."}
190
+
111
191
  ## Accuracy Verification
112
192
 
113
193
  Check only claims that are verifiable from repo sources such as code, config, schemas,
@@ -122,6 +202,22 @@ runtime-only behavior here.
122
202
 
123
203
  {Or: "No repo-checkable substantive claims required accuracy verification."}
124
204
 
205
+ ## Coverage Review by Surface
206
+
207
+ Summarize which documentable surfaces were proven by repo evidence and how well
208
+ the docs cover them. Mark owner-review gaps instead of guessing when claims
209
+ depend on unsupported ownership, support, deployment, observability, rollback,
210
+ external integration, or production behavior.
211
+
212
+ | # | Surface | Repo Evidence | Docs Coverage State | Missing or Thin Areas | Owner Review Needed |
213
+ | --- | ----------- | ---------------------------------- | ---------------------------------------- | ---------------------------------------------------------- | ------------------- |
214
+ | 1 | App/service | `{entrypoint/service/config refs}` | {adequate \| thin \| no coverage \| N/A} | `{setup/testing/config/deploy/observability/runbook refs}` | {yes/no + reason} |
215
+ | 2 | API | `{router/schema refs}` | {adequate \| thin \| no coverage \| N/A} | `{contracts/auth/errors/examples/versioning}` | {yes/no + reason} |
216
+ | 3 | CLI | `{command/flag/test refs}` | {adequate \| thin \| no coverage \| N/A} | `{flags/output/dry-run/force/scripting/exit-codes}` | {yes/no + reason} |
217
+ | 4 | Operations | `{deploy/monitoring/runbook refs}` | {adequate \| thin \| no coverage \| N/A} | `{release/rollback/support/escalation/troubleshooting}` | {yes/no + reason} |
218
+
219
+ {Or: "No app/service, API, CLI, or operations surface required coverage review."}
220
+
125
221
  ## Content Opportunities
126
222
 
127
223
  Surface only repo-checkable coverage gaps based on routers, services, models, schemas,
@@ -180,6 +276,10 @@ canonical docs/config/examples.
180
276
 
181
277
  - `oat-docs-apply` may only implement recommendations backed by evidence in this artifact.
182
278
  - Findings based on contradicted claims must be resolved against cited repo sources before `oat-docs-apply` acts on them.
279
+ - Generated artifacts must not be hand-edited by `oat-docs-apply`. If a
280
+ generated-index finding requires output changes, apply should update authored
281
+ source maps or run the documented generator only after user approval and local
282
+ workflow confirmation.
183
283
  - Content opportunity recommendations require `oat-docs-apply` to read the cited router/service/model files before generating prose; it must not synthesize feature coverage from memory.
184
284
  - Recommendations marked `omit` must stay out of generated docs changes.
185
285
  - Recommendations marked `ask_user` require explicit user confirmation before generation.
@@ -10,6 +10,12 @@ Treat a directory as a docs node when one or more of these is true:
10
10
  - It has child directories that contain Markdown files.
11
11
  - It represents a distinct product, package, workflow, or topic area.
12
12
  - It is linked from another docs page as a navigable subsection.
13
+ - It is represented in a generated root index, sidebar metadata file, or local
14
+ `## Contents` map.
15
+
16
+ Treat a directory as asset-only when it contains no Markdown files, contains no
17
+ Markdown-bearing child directory, and is only referenced as an image/file asset
18
+ container. Asset-only directories do not need their own `index.md`.
13
19
 
14
20
  ## Severity guidance
15
21
 
@@ -20,14 +26,21 @@ Use `High` when the directory:
20
26
  - Is a top-level docs section with no `index.md`
21
27
  - Contains multiple pages or subtrees but lacks a local map
22
28
  - Is important to setup, operations, or contributor workflows
29
+ - Is listed in a parent map or generated index but has no useful entrypoint
23
30
 
24
31
  ### Medium
25
32
 
26
33
  Use `Medium` when the directory:
27
34
 
28
35
  - Has an `index.md` but no useful `## Contents`
36
+ - Has a placeholder-only `## Contents`, such as an empty list, HTML comment, or
37
+ generic scaffold text
29
38
  - Still uses `overview.md` as the directory entrypoint
30
39
  - Has a partial map that omits key siblings or child directories
40
+ - Is a single-page directory whose `index.md` does not orient readers to the
41
+ page's purpose or downstream links
42
+ - Uses `.mdx` for plain Markdown content without local guidance or JSX/component
43
+ evidence
31
44
 
32
45
  ### Low
33
46
 
@@ -35,6 +48,8 @@ Use `Low` when the directory:
35
48
 
36
49
  - Is technically covered but the descriptions are vague
37
50
  - Has minor organization issues that do not block discovery
51
+ - Has ordering drift between authored maps and generated indexes that does not
52
+ break reachability and may reflect documented generator behavior
38
53
 
39
54
  ## Exclusions
40
55
 
@@ -44,3 +59,4 @@ Do not require `index.md` for:
44
59
  - `site/`
45
60
  - build output directories
46
61
  - hidden tool directories that are not part of the docs surface
62
+ - asset-only image, media, or attachment directories
@@ -6,8 +6,45 @@ Use this checklist when evaluating a docs surface.
6
6
 
7
7
  - Every docs directory has an `index.md`.
8
8
  - Every `index.md` includes a `## Contents` section.
9
+ - `## Contents` is useful content, not a placeholder comment, empty list, or
10
+ generic "add links here" scaffold.
9
11
  - `## Contents` links describe sibling files and immediate child directories.
12
+ - Parent `## Contents` maps include immediate child directories that contain
13
+ docs.
14
+ - Single-page directories still expose a useful `index.md` entrypoint or local
15
+ section map.
16
+ - Asset-only directories are exempt when they contain no Markdown content and
17
+ are not linked as navigable docs sections.
10
18
  - `overview.md` is not used as the directory entrypoint.
19
+ - Plain docs content uses `.md` by default; `.mdx` is reserved for pages that
20
+ need JSX/components or are explicitly allowed by local guidance.
21
+
22
+ ## Links
23
+
24
+ - Local relative Markdown links resolve from the page where they appear.
25
+ - OAT/Fumadocs docs apps use `.md`-suffixed local links for docs pages,
26
+ including `subdir/index.md` for child directory maps.
27
+ - Anchors on `.md` links are allowed, such as `page.md#section`.
28
+ - Extensionless local docs links are flagged when local guidance follows the
29
+ OAT/Fumadocs `.md` link convention.
30
+ - Inline-code examples, fenced snippets, placeholder templates, external URLs,
31
+ anchors-only links, `mailto:` links, and asset/image links are not false
32
+ positives for broken docs-page links.
33
+
34
+ ## Markdown Hygiene
35
+
36
+ - Opening code fences have language identifiers.
37
+ - Shell command examples follow the repo's documented fence convention; default
38
+ to `sh` unless local guidance uses `bash` or the block requires Bash-only
39
+ syntax.
40
+ - Headings are non-empty.
41
+ - Each authored page has at most one document-level H1 unless the file is an
42
+ intentional imported README or generated/imported artifact.
43
+ - Frontmatter descriptions respect local length limits when those limits are
44
+ documented.
45
+ - Descriptions are not ellipsis-truncated.
46
+ - Titles, descriptions, and metadata do not look like copied README boilerplate
47
+ when rendered in docs navigation or search.
11
48
 
12
49
  ## Accuracy
13
50
 
@@ -23,9 +60,50 @@ Use this checklist when evaluating a docs surface.
23
60
 
24
61
  ## Docs App Contract
25
62
 
26
- - `mkdocs.yml` exists when the repo is using an OAT docs app.
27
- - Navigation is consistent with the docs tree.
28
- - `docs/contributing.md` documents enabled plugins/extensions when an MkDocs app exists.
63
+ - For `mkdocs-app`, `mkdocs.yml` exists.
64
+ - For `mkdocs-app`, navigation is consistent with the docs tree.
65
+ - For `mkdocs-app`, `docs/contributing.md` documents enabled
66
+ plugins/extensions when local convention requires it.
67
+ - For `oat-fumadocs-app`, OAT config or app-local evidence identifies the docs
68
+ app before any generic root `docs/` fallback.
69
+ - For `oat-fumadocs-app`, `.oat/config.json` `documentation.root` /
70
+ `documentation.tooling`, `apps/*/source.config.*`, `apps/*/next.config.*`, or
71
+ equivalent local guidance backs the classification.
72
+ - For `oat-fumadocs-app`, the authored docs source root exists and is distinct
73
+ from generated app-root indexes/manifests when the app uses generated output.
74
+ - For `oat-fumadocs-app`, generated app-root index evidence exists when local
75
+ config or guidance declares one.
76
+ - OAT/Fumadocs docs-app guidance identifies the authored docs source root.
77
+ - Local guidance explains that generated root indexes/manifests are derived
78
+ output and must not be hand-edited.
79
+ - Local guidance states that each content directory needs `index.md` and each
80
+ authored `index.md` needs a useful `## Contents`.
81
+ - Local guidance documents `.md`-suffixed relative docs links, including
82
+ `subdir/index.md`.
83
+ - Local guidance explains `.md` vs `.mdx` expectations.
84
+ - Local guidance routes broad read-only audits to `oat-docs-analyze` and
85
+ approved bulk changes to `oat-docs-apply`.
86
+ - Local guidance tells agents to regenerate or freshness-check generated
87
+ artifacts after source docs edits.
88
+ - Older analyze/apply aliases are mapped to the current flow or removed.
89
+
90
+ ## Coverage
91
+
92
+ - App/service docs cover purpose, audience, local setup, testing, configuration,
93
+ deployment/release, observability, runbooks, rollback, ownership,
94
+ support/escalation, troubleshooting, and common failure modes when those
95
+ surfaces exist in repo evidence.
96
+ - API docs for broad API surfaces include navigable contract-grade references:
97
+ routes/endpoints, request/response shapes, authentication, error modes,
98
+ examples, and versioning when applicable.
99
+ - CLI docs expose command groups, flags, output modes, destructive behavior,
100
+ dry-run/force options, scripting contracts, exit-code behavior when sourced,
101
+ and common workflow examples.
102
+ - Operations docs replace "Future Topics" placeholders with concrete pages or
103
+ explicit owner-reviewed gaps.
104
+ - Unsupported or unverifiable claims about owners, support, deployment,
105
+ observability, rollback, external integrations, or production behavior are
106
+ marked for owner review instead of being treated as facts.
29
107
 
30
108
  ## Claims Are Evidence-Backed
31
109
 
@@ -44,5 +122,7 @@ Use this checklist when evaluating a docs surface.
44
122
  - Nav points to missing files.
45
123
  - Files exist but are not represented in indexes/nav.
46
124
  - Index descriptions no longer match the content they point to.
125
+ - Generated root indexes include stale paths, omit authored-map entries, or
126
+ order entries differently without documented generator semantics.
47
127
  - Commands mention removed or renamed tooling.
48
128
  - Docs claim plugin support or structure rules that are not backed by current repo evidence.
@@ -0,0 +1,193 @@
1
+ ---
2
+ name: oat-docs-authoring
3
+ version: 1.0.0
4
+ description: Use when authoring or restructuring targeted content inside an existing OAT/Fumadocs docs app. Preserves OAT docs navigation, generated indexes, and validation boundaries.
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
+ # OAT Docs Authoring
12
+
13
+ Use this skill for targeted documentation authoring and small structural edits
14
+ inside an existing OAT/Fumadocs docs app.
15
+
16
+ This is a thin wrapper over `authoring-docs`. Load `authoring-docs` for
17
+ universal evidence gathering, page-type selection, writing style, templates,
18
+ and review standards. Keep this wrapper focused on OAT/Fumadocs placement,
19
+ navigation, generated artifacts, validation, and lifecycle boundaries.
20
+
21
+ ## Prerequisites
22
+
23
+ - The repository already has an OAT/Fumadocs docs app or a clearly identified
24
+ target docs app that follows OAT conventions.
25
+ - The task is a targeted authoring, restructuring, repair, or review task, not
26
+ a new docs-app bootstrap, broad audit, or approved bulk-apply workflow.
27
+
28
+ ## Mode Assertion
29
+
30
+ **OAT MODE: Docs Authoring Wrapper**
31
+
32
+ **Purpose:** Author or restructure focused docs content while preserving the
33
+ OAT/Fumadocs source-of-truth contract.
34
+
35
+ **BLOCKED Activities:**
36
+
37
+ - Bootstrapping a new docs app.
38
+ - Running a broad read-only docs audit as an ad hoc manual review.
39
+ - Applying a batch of approved audit recommendations.
40
+ - Writing project-derived release or feature docs from active OAT project
41
+ artifacts.
42
+ - Running a full MkDocs-to-OAT-Fumadocs migration.
43
+ - Treating generated navigation artifacts as editable source.
44
+
45
+ **ALLOWED Activities:**
46
+
47
+ - Creating or improving targeted docs pages inside an existing docs app.
48
+ - Moving or renaming a small number of docs pages when the local maps are
49
+ updated in the same change.
50
+ - Repairing local navigation, frontmatter, link, or Markdown issues near the
51
+ requested target.
52
+ - Reviewing a docs change for OAT/Fumadocs contract fit.
53
+
54
+ **Self-Correction Protocol:**
55
+ If you catch yourself:
56
+
57
+ - Writing general documentation guidance already covered by `authoring-docs` ->
58
+ STOP and reference the baseline instead.
59
+ - Expanding a targeted task into a repo-wide audit -> STOP and route to
60
+ `oat-docs-analyze`.
61
+ - Applying a broad set of recommendations -> STOP and route to `oat-docs-apply`.
62
+ - Bootstrapping or repairing a docs app shell -> STOP and route to
63
+ `oat-docs-bootstrap`.
64
+ - Migrating an existing MkDocs docs app to OAT/Fumadocs -> STOP and use the
65
+ standalone migration guide; bootstrap is not the migration workflow.
66
+ - Editing generated root indexes or derived navigation output -> STOP and move
67
+ the change back to authored docs sources.
68
+ - Treating generated root indexes as proof of local navigation health -> STOP
69
+ and inspect the nearest authored `## Contents` map.
70
+
71
+ **Recovery:**
72
+
73
+ 1. Re-state the narrower target and the lifecycle skill, if any, that owns the
74
+ larger work.
75
+ 2. Continue only with authored docs files and local validation relevant to the
76
+ target.
77
+
78
+ ## Progress Indicators (User-Facing)
79
+
80
+ When executing this skill, provide lightweight progress feedback so the user can
81
+ tell what is happening after they confirm.
82
+
83
+ - Print a phase banner once at start:
84
+
85
+ ```txt
86
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
87
+ OAT ▸ DOCS AUTHORING
88
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
89
+ ```
90
+
91
+ - Print each step indicator at the start of that step, not all at once upfront:
92
+ - `[1/5] Resolving docs app and local instructions...`
93
+ - `[2/5] Inspecting source evidence and navigation maps...`
94
+ - `[3/5] Authoring targeted docs changes...`
95
+ - `[4/5] Regenerating or checking derived docs artifacts...`
96
+ - `[5/5] Running validation and preparing handoff...`
97
+
98
+ ## Process
99
+
100
+ ### Step 1: Resolve the Authoring Target
101
+
102
+ Identify the docs task, target reader, docs app root, authored docs root, and
103
+ nearest local instruction files. Read repository and docs-app guidance before
104
+ choosing placement.
105
+
106
+ Use `references/lifecycle-boundaries.md` first when the request may be setup,
107
+ audit, apply, project-documentation, or migration work.
108
+
109
+ Use `references/docs-root-resolution.md` before assuming any path. OAT docs apps
110
+ commonly live outside `apps/oat-docs`, and `.oat/config.json` may describe the
111
+ generated root index separately from the authored docs root.
112
+
113
+ If the request needs universal documentation standards, load `authoring-docs`
114
+ and use its reference map for evidence gathering, page type, writing style,
115
+ templates, and review rubric.
116
+
117
+ ### Step 2: Inspect Evidence and Local Maps
118
+
119
+ Ground every new or changed claim in source evidence. Inspect the nearest
120
+ authored navigation map for the target area before adding, moving, or deleting a
121
+ page.
122
+
123
+ Use `references/targeted-authoring-workflow.md` for the focused edit loop.
124
+
125
+ ### Step 3: Edit Authored Docs Sources
126
+
127
+ Edit source docs pages and local maps together. Keep changes near the requested
128
+ target unless the user explicitly approved broader restructuring.
129
+
130
+ Use `references/oat-fumadocs-contract.md` for the concrete authored-source
131
+ rules: `index.md`, `## Contents`, `.md` links, generated root indexes, Markdown
132
+ defaults, and asset-only exceptions.
133
+
134
+ Prefer plain Markdown for content pages. Use MDX only when local guidance and
135
+ the task require JSX or custom components.
136
+
137
+ ### Step 4: Check Generated Artifacts and Validation
138
+
139
+ Regenerate or freshness-check derived docs artifacts using local scripts when
140
+ the change affects navigation or generated indexes. Run the docs app's local
141
+ validation commands when they exist and are meaningful.
142
+
143
+ Use `references/validation.md` for script discovery, generated-index checks,
144
+ and render spot-check guidance.
145
+
146
+ ### Step 5: Handoff
147
+
148
+ Summarize changed files, evidence inspected, local maps updated, generated
149
+ artifacts regenerated or intentionally not run, validation commands, unresolved
150
+ facts, and any recommended lifecycle follow-up.
151
+
152
+ ## Reference Map
153
+
154
+ Load only the references needed for the task:
155
+
156
+ - `references/docs-root-resolution.md`: resolve docs app root, authored docs
157
+ root, generated root index, and local instruction surfaces.
158
+ - `references/lifecycle-boundaries.md`: route setup, audits, applies,
159
+ project-derived docs, and migrations to the correct workflow owner.
160
+ - `references/oat-fumadocs-contract.md`: OAT/Fumadocs authored-source and
161
+ generated-artifact contract.
162
+ - `references/targeted-authoring-workflow.md`: focused OAT/Fumadocs authoring
163
+ flow for small edits.
164
+ - `references/validation.md`: local validation, generated-index, and render
165
+ spot-check guidance.
166
+ - `authoring-docs`: universal documentation-quality baseline.
167
+
168
+ ## Examples
169
+
170
+ Basic usage:
171
+
172
+ ```txt
173
+ /oat-docs-authoring apps/oat-docs/docs/reference/
174
+ ```
175
+
176
+ Conversational triggers:
177
+
178
+ ```txt
179
+ Add a new OAT docs page and wire it into the local Contents map.
180
+ Move this Fumadocs page without breaking generated navigation.
181
+ Review this docs change for OAT index contract issues.
182
+ Fix the local docs links near this page.
183
+ ```
184
+
185
+ ## Success Criteria
186
+
187
+ - The task stayed within targeted authoring or restructuring scope.
188
+ - Universal docs quality came from `authoring-docs` instead of duplicated
189
+ wrapper prose.
190
+ - Authored docs source files and local maps were updated together.
191
+ - Generated artifacts were checked or regenerated when navigation changed.
192
+ - Local validation ran, or the handoff explains why it was not available or not
193
+ meaningful.
@@ -0,0 +1,64 @@
1
+ ---
2
+ title: OAT docs root resolution
3
+ description: How to resolve OAT/Fumadocs app roots, authored docs roots, generated index outputs, and local instruction surfaces before editing.
4
+ ---
5
+
6
+ # OAT Docs Root Resolution
7
+
8
+ Do not assume the docs app lives at `apps/oat-docs`. Resolve the app and source
9
+ roots before editing.
10
+
11
+ ## Resolution Order
12
+
13
+ 1. Read repo-level instructions.
14
+ - Root `AGENTS.md` often names the docs app root, framework, and generated
15
+ index file.
16
+ - A docs-app `AGENTS.md` may override or narrow the repo-level guidance.
17
+ 2. Inspect `.oat/config.json`.
18
+ - Prefer documented `documentation.root` values for the docs app root.
19
+ - Treat `documentation.index` as the generated root index when present; it
20
+ may not be the same as the authored docs root.
21
+ - If config is incomplete, keep resolving from local files instead of
22
+ guessing.
23
+ 3. Inspect package scripts in likely docs app directories.
24
+ - Look for `predev`, `prebuild`, `fumadocs-mdx`, `oat docs generate-index`,
25
+ docs lint/format scripts, and local build commands.
26
+ - Use the scripts as evidence for generated-artifact ownership and
27
+ validation, not as a substitute for reading docs instructions.
28
+ 4. Inspect Fumadocs files when the task touches framework behavior.
29
+ - `source.config.ts`, `next.config.*`, and `app/layout.*` can reveal source
30
+ config, transforms, base paths, static export behavior, branding, metadata,
31
+ or custom components.
32
+ - Content-only edits usually should not modify these files.
33
+ - Site chrome, browser metadata, search behavior, image handling, and base
34
+ paths can be wired separately. Preserve local customizations unless the
35
+ user explicitly asked for app-shell work.
36
+ 5. Resolve the authored docs root.
37
+ - The common root is `<docs-app>/docs`, but local guidance is authoritative.
38
+ - Find the top-level authored `index.md`, then follow `## Contents` maps to
39
+ the target area.
40
+
41
+ ## Instruction Surfaces
42
+
43
+ Read applicable local guidance before placing content:
44
+
45
+ - repo-root `AGENTS.md`;
46
+ - docs-app `AGENTS.md`;
47
+ - nested `AGENTS.md` files in the target area;
48
+ - human contributing or documentation-authoring pages;
49
+ - nearest parent `index.md` with `## Contents`.
50
+
51
+ Keep the audiences distinct. Runtime agent instructions belong in `AGENTS.md`;
52
+ rendered human docs should describe durable authoring conventions and shipped
53
+ behavior.
54
+
55
+ ## Output of This Step
56
+
57
+ Before editing, know:
58
+
59
+ - docs app root;
60
+ - authored docs root;
61
+ - generated root index path, if any;
62
+ - nearest parent `index.md` map;
63
+ - relevant local validation scripts;
64
+ - any local exception or router that affects placement.
@@ -0,0 +1,51 @@
1
+ ---
2
+ title: OAT docs authoring lifecycle boundaries
3
+ description: Routing and self-correction rules for OAT docs setup, audit, apply, project-documentation, and migration workflows.
4
+ ---
5
+
6
+ # OAT Docs Authoring Lifecycle Boundaries
7
+
8
+ Use `oat-docs-authoring` for targeted authoring and small local restructuring.
9
+ Route larger lifecycle work to its owner.
10
+
11
+ ## Routing Rules
12
+
13
+ | Request shape | Owner | Why |
14
+ | ----------------------------------------------------------------------- | -------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
15
+ | New docs app setup, scaffold repair, package/app shell bootstrap | `oat-docs-bootstrap` | Bootstrap owns preflight, inputs, `oat docs init`, post-scaffold checks, config inspection, and walkthrough. |
16
+ | Read-only docs audit, structure analysis, coverage review, drift report | `oat-docs-analyze` | Analyze owns inventory, evidence gathering, severity-rated findings, and analysis artifacts. |
17
+ | Applying approved analysis recommendations or batch docs changes | `oat-docs-apply` | Apply owns branch creation, approved changes, deterministic nav sync, verification, commit, and optional PR. |
18
+ | Docs updates derived from an active OAT project | `oat-project-document` | Project-document owns artifact/code scanning, docs delta planning, approval, and project provenance. |
19
+ | Existing MkDocs app to OAT/Fumadocs migration | Standalone migration guide | Migration needs inventory, syntax conversion, app-shell work, render checks, config/CI changes, and owner-review handling. |
20
+
21
+ If a request mixes targeted authoring with lifecycle work, split it:
22
+
23
+ 1. Complete the lifecycle step through the owning skill or guide.
24
+ 2. Return to `oat-docs-authoring` only for a focused follow-up edit.
25
+
26
+ ## Self-Correction Rules
27
+
28
+ Stop and reroute when you notice:
29
+
30
+ - a new docs app is needed before content can be authored;
31
+ - the user asked for "audit docs", "find all gaps", or similar broad analysis;
32
+ - an analysis artifact or recommendation list is the source of truth;
33
+ - the docs change is derived from OAT project artifacts rather than a direct
34
+ authoring request;
35
+ - the migration requires converting MkDocs config, Python tooling, legacy
36
+ syntax, deploy workflows, or `overview.md` trees;
37
+ - you are hand-editing a generated root index, generated route output,
38
+ `mkdocs.yml` nav, or other derived artifact;
39
+ - you are treating the generated root index as source instead of checking the
40
+ nearest authored `## Contents`.
41
+
42
+ ## Migration Pointer
43
+
44
+ Full MkDocs-to-OAT-Fumadocs migration is not bootstrap and is not targeted
45
+ authoring. Use the standalone `mkdocs-to-oat-fumadocs-refactor-guide.md` handoff
46
+ when available, and keep the migration in an OAT project or explicit migration
47
+ branch with owner-review items for unverifiable claims.
48
+
49
+ For migration-sensitive follow-up after the migration workflow has created a
50
+ Fumadocs app, this wrapper can help with a specific page, local map, link, or
51
+ render issue. Keep that follow-up narrow.