@open-agent-toolkit/cli 0.3.13 → 0.3.15

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 (124) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/docs/contributing/index.md +14 -1
  4. package/assets/docs/contributing/markdown-features.md +38 -0
  5. package/assets/docs/contributing/skills.md +64 -2
  6. package/assets/docs/contributing/smoke-testing.md +23 -16
  7. package/assets/docs/contributing/updating-model-guidance.md +2 -2
  8. package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
  9. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +32 -0
  10. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  11. package/assets/docs/docs-tooling/index.md +1 -0
  12. package/assets/docs/docs-tooling/meta.json +1 -1
  13. package/assets/docs/docs-tooling/workflows.md +338 -2
  14. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  15. package/assets/docs/getting-started/concepts.md +120 -0
  16. package/assets/docs/getting-started/index.md +68 -0
  17. package/assets/docs/getting-started/meta.json +4 -0
  18. package/assets/docs/getting-started/quickstart.md +174 -0
  19. package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +142 -14
  20. package/assets/docs/index.md +47 -48
  21. package/assets/docs/meta.json +6 -7
  22. package/assets/docs/provider-sync/commands.md +25 -2
  23. package/assets/docs/provider-sync/config.md +60 -1
  24. package/assets/docs/provider-sync/index.md +31 -15
  25. package/assets/docs/provider-sync/instruction-sync.md +32 -1
  26. package/assets/docs/provider-sync/manifest-and-drift.md +92 -0
  27. package/assets/docs/provider-sync/meta.json +1 -0
  28. package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
  29. package/assets/docs/provider-sync/scope-and-surface.md +37 -3
  30. package/assets/docs/reference/cli-reference.md +33 -33
  31. package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
  32. package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
  33. package/assets/docs/reference/file-locations.md +4 -1
  34. package/assets/docs/reference/index.md +13 -1
  35. package/assets/docs/reference/meta.json +7 -1
  36. package/assets/docs/reference/oat-directory-structure.md +1 -1
  37. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  38. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +28 -21
  39. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  40. package/assets/docs/reference/troubleshooting.md +125 -10
  41. package/assets/docs/reference/what-oat-writes.md +410 -0
  42. package/assets/docs/skills/brainstorm.md +77 -0
  43. package/assets/docs/skills/diagnostics.md +56 -0
  44. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  45. package/assets/docs/skills/index.md +416 -0
  46. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  47. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  48. package/assets/docs/skills/repo-improve.md +254 -0
  49. package/assets/docs/skills/research.md +237 -0
  50. package/assets/docs/skills/session-closeout.md +61 -0
  51. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  52. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  53. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  54. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +20 -13
  55. package/assets/docs/workflows/advanced/index.md +19 -0
  56. package/assets/docs/workflows/advanced/meta.json +13 -0
  57. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +108 -35
  58. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  59. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  60. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  61. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  62. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  63. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  64. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  65. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  66. package/assets/docs/workflows/choose-workflow.md +114 -0
  67. package/assets/docs/workflows/ideas/index.md +3 -3
  68. package/assets/docs/workflows/ideas/lifecycle.md +225 -1
  69. package/assets/docs/workflows/index.md +11 -62
  70. package/assets/docs/workflows/meta.json +10 -2
  71. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  72. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  73. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  74. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  75. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  76. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  77. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +52 -38
  78. package/assets/docs/workflows/projects/execution/index.md +15 -0
  79. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  80. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  81. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  82. package/assets/docs/workflows/projects/index.md +38 -49
  83. package/assets/docs/workflows/projects/lifecycle.md +159 -74
  84. package/assets/docs/workflows/projects/meta.json +2 -23
  85. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  86. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  87. package/assets/docs/workflows/projects/planning/index.md +16 -0
  88. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  89. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  90. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  91. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  92. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  93. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  94. package/assets/docs/workflows/projects/reviews/review-flavors.md +650 -0
  95. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  96. package/assets/docs/workflows/waves/index.md +12 -0
  97. package/assets/docs/workflows/waves/meta.json +4 -0
  98. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  99. package/assets/public-package-versions.json +4 -4
  100. package/assets/skills/oat-docs/SKILL.md +19 -19
  101. package/assets/skills/oat-docs-analyze/SKILL.md +1 -1
  102. package/assets/skills/oat-docs-apply/SKILL.md +1 -1
  103. package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
  104. package/assets/skills/oat-docs-bootstrap/SKILL.md +1 -1
  105. package/assets/skills/oat-doctor/SKILL.md +25 -25
  106. package/assets/templates/docs-app-fuma/app/[[...slug]]/page.tsx +14 -2
  107. package/assets/templates/docs-app-fuma/app/globals.css +1 -0
  108. package/dist/release/public-package-contract.js +1 -1
  109. package/package.json +2 -2
  110. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  111. package/assets/docs/cli-utilities/index.md +0 -74
  112. package/assets/docs/cli-utilities/meta.json +0 -13
  113. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  114. package/assets/docs/guide/concepts.md +0 -88
  115. package/assets/docs/guide/index.md +0 -31
  116. package/assets/docs/guide/meta.json +0 -4
  117. package/assets/docs/quickstart.md +0 -88
  118. package/assets/docs/workflows/projects/autonomy.md +0 -196
  119. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  120. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  121. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  122. package/assets/docs/workflows/skills/index.md +0 -184
  123. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  124. package/assets/docs/workflows/wave-workflows.md +0 -77
package/README.md CHANGED
@@ -72,7 +72,7 @@ Use these commands when you want structured runtime/project state out of the CLI
72
72
  ## Docs
73
73
 
74
74
  - [Docs Home](https://voxmedia.github.io/open-agent-toolkit/)
75
- - [CLI Utilities](https://voxmedia.github.io/open-agent-toolkit/cli-utilities)
75
+ - [CLI Utilities](https://voxmedia.github.io/open-agent-toolkit/reference#general-cli-adoption-guidance)
76
76
  - [Provider Sync](https://voxmedia.github.io/open-agent-toolkit/provider-sync)
77
77
  - [Instruction Sync](https://voxmedia.github.io/open-agent-toolkit/provider-sync/instruction-sync)
78
78
  - [Reference](https://voxmedia.github.io/open-agent-toolkit/reference)
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "oatVersion": "0.3.13"
3
+ "oatVersion": "0.3.15"
4
4
  }
@@ -10,7 +10,7 @@ Use this section when you are changing OAT itself rather than consuming it as a
10
10
  ## Contents
11
11
 
12
12
  - [Contributing Code](code.md) - Repo setup, monorepo structure, quality gates, and PR expectations.
13
- - [Contributing Docs](documentation.md) - Docs contract, local docs workflow, and docs-specific authoring guidance.
13
+ - [Contributing to OAT Docs](documentation.md) - Docs contract, local docs workflow, and docs-specific authoring guidance.
14
14
  - [Markdown Features](markdown-features.md) - Supported docs syntax for callouts, tabs, Mermaid, and code blocks.
15
15
  - [Writing Skills](skills.md) - Skill authoring guidance, runtime contracts, and governance.
16
16
  - [CLI Design Principles](design-principles.md) - Cross-cutting CLI architecture and UX principles.
@@ -19,3 +19,16 @@ Use this section when you are changing OAT itself rather than consuming it as a
19
19
  - [Smoke Testing](smoke-testing.md) - Runbook for the live workflow smoke runner: prerequisites, scenarios, evidence reports, and recovery.
20
20
  - [Updating Model Guidance](updating-model-guidance.md) - Source map and verification checklist for provider model refreshes.
21
21
  - [Verifying Cursor Pins](verifying-cursor-pins.md) - Runbook for probe-verifying a Cursor model pin before shipping it.
22
+
23
+ ## Source-of-truth hierarchy
24
+
25
+ When you document OAT behavior, check it against these sources, highest
26
+ first:
27
+
28
+ 1. Runtime behavior: `packages/cli/src/**`
29
+ 2. Skill behavior contracts: `.agents/skills/*/SKILL.md`
30
+ 3. OAT templates and runtime state: `.oat/templates/**`, `.oat/sync/**`, `.oat/config.json`, `.oat/config.local.json`
31
+ 4. Repo reference records: `.oat/repo/**`
32
+
33
+ New pages belong in one of the top-level sections listed on the
34
+ [docs home page](../index.md); the older `guide/` section no longer exists.
@@ -62,6 +62,44 @@ Fenced code blocks with `mermaid` are rendered as diagrams.
62
62
  A[Read docs tree] --> B[Generate index]
63
63
  ```
64
64
 
65
+ Rendered Mermaid diagrams use the site palette. Click or tap one to open it
66
+ full screen at a legible size; on a phone, pan to see the rest. Press Escape,
67
+ the close button, or click again to close it.
68
+
69
+ ## Images and Diagram SVGs
70
+
71
+ Every Markdown image opens in a zoom view when clicked. SVG images open full
72
+ screen at a legible size, like Mermaid diagrams. Put images under
73
+ `public/` and link them with a root-relative path such as
74
+ `/diagrams/name.svg`; the site adds its base path.
75
+
76
+ Name a pair of files `<name>-light.<ext>` and `<name>-dark.<ext>` to show one
77
+ image per site theme. Place both images together; each is shown only in its
78
+ theme.
79
+
80
+ A diagram that needs to read well, especially on a phone, gets a hand-drawn SVG
81
+ pair next to its Mermaid source. Mermaid stays the source of truth: when you
82
+ change the Mermaid, update both SVGs in the same change.
83
+
84
+ === "Syntax"
85
+
86
+ ````text
87
+ === "Diagram"
88
+
89
+ ![What the diagram shows](/diagrams/name-light.svg)
90
+ ![What the diagram shows](/diagrams/name-dark.svg)
91
+
92
+ === "Mermaid source"
93
+
94
+ ```mermaid
95
+ flowchart LR
96
+ A[Read docs tree] --> B[Generate index]
97
+ ```
98
+ ````
99
+
100
+ The alt text describes what the diagram shows and claims nothing the Mermaid
101
+ does not.
102
+
65
103
  ## Tabs
66
104
 
67
105
  Tab groups use the existing tab transform syntax:
@@ -363,7 +363,7 @@ The Gate Execution step should:
363
363
 
364
364
  A null, missing, malformed, or unrecognized result is an operational failure
365
365
  that fails closed as unresolved. Never treat it as "no gate configured." See
366
- [Per-project gate overrides](../cli-utilities/workflow-gates.md#per-project-gate-overrides).
366
+ [Per-project gate overrides](../workflows/advanced/workflow-gates.md#per-project-gate-overrides).
367
367
 
368
368
  3. Export the resolved path with `export PROJECT_PATH` before launching the
369
369
  command shell.
@@ -387,7 +387,7 @@ that should report only the child process status, not review findings.
387
387
  Reusable lifecycle gate commands must omit `--target <id>` so the
388
388
  dispatcher can avoid the current runtime; reserve explicit targets for
389
389
  manual/debug commands or deliberate local/user-specific overrides. See
390
- [Workflow Gates](../cli-utilities/workflow-gates.md) for the config and command
390
+ [Workflow Gates](../workflows/advanced/workflow-gates.md) for the config and command
391
391
  surface.
392
392
 
393
393
  ## Reading project state
@@ -438,3 +438,65 @@ The JSON output is a stable contract: the field set consumed by migrated skills
438
438
  - `.agents/skills/oat-project-implement/SKILL.md`
439
439
  - `.agents/skills/oat-project-complete/SKILL.md`
440
440
  - `.agents/skills/oat-project-review-receive/SKILL.md`
441
+
442
+ ## create-agnostic-skill
443
+
444
+ **Invocation:** `/create-agnostic-skill verify-migration` (or
445
+ `$create-agnostic-skill verify-migration` in Codex). The skill is
446
+ explicit-invocation only, so use the slash or `$` form rather than asking the
447
+ agent to pick it. These are agent instructions, not terminal commands. Supply
448
+ a kebab-case skill name, or answer the naming question when prompted.
449
+
450
+ **Prerequisites:** A repeatable workflow with a stable enough trigger,
451
+ sequence, and outcome to be reusable, plus permission to create files in the
452
+ repository's canonical `.agents/skills/` directory. Needs an active OAT
453
+ project: no. Before creating another skill, check whether composition of
454
+ existing skills would meet the need. For a new `oat-*` skill, use
455
+ `/create-oat-skill` instead; it builds on this workflow and adds OAT
456
+ conventions such as `{PROJECTS_ROOT}` resolution and progress banners.
457
+
458
+ **Example scenario:** Your team repeatedly reviews database migrations for
459
+ rollback assumptions, compatibility with the previous application version,
460
+ and operator handoff. Turn that recurring review into a portable skill that
461
+ asks for the migration and constraints, produces a review, and stops before
462
+ running database commands. The skill is not a place to hide production
463
+ execution behind a convenient trigger.
464
+
465
+ The authoring conversation establishes when the skill should run, what it
466
+ accepts, what it produces, which tools it needs, and what remains outside its
467
+ authority. The agent presents a bounded file plan and asks for approval
468
+ before creating anything. Expanding the approved file set requires another
469
+ confirmation; approval of a `SKILL.md` does not implicitly authorize an
470
+ unplanned collection of scripts or assets.
471
+
472
+ **What it does without asking:** Before your approval it only asks questions
473
+ and presents the file plan; if you decline, it creates nothing. After you
474
+ approve the plan once, it creates the skill directory, its `SKILL.md`, and the
475
+ planned supporting files without asking again, then, in a repository that
476
+ uses OAT sync, runs `oat sync --scope project` to refresh this repository's provider views (the
477
+ provider-specific copies such as `.claude/skills/`). For a skill whose name
478
+ starts with `oat-`, it also runs `pnpm oat:validate-skills`. It does not
479
+ commit, push, or install the skill at user scope.
480
+
481
+ Use progressive disclosure to keep the result useful. The frontmatter's
482
+ trigger-oriented description helps an agent choose the skill. The body
483
+ contains the actual ordered workflow and stop conditions. Put detailed
484
+ references, deterministic helpers, and templates in supporting directories
485
+ only when the workflow needs them. Include both a direct invocation and a
486
+ conversational example so users can recognize the intended trigger without
487
+ memorizing provider-specific syntax.
488
+
489
+ **Expected output:** An approved canonical skill at
490
+ `.agents/skills/verify-migration/SKILL.md`, with its name matching the
491
+ directory, an initial `metadata.version` of `1.0.0`, workflow steps, examples, and any
492
+ approved support files. The authoring workflow synchronizes the project
493
+ scope and checks tool/provider discoverability; it does not install the
494
+ skill into the user's global scope. Canonical content remains the editable
495
+ owner rather than being duplicated into provider views.
496
+
497
+ **Next step:** Exercise the skill with a representative migration and verify
498
+ that its instructions produce the intended review without crossing the
499
+ execution boundary. Adjust the canonical workflow if the trigger or outcome
500
+ is unclear, then resynchronize project views. Pack distribution, public
501
+ publication, and user-scope installation are separate decisions, not an
502
+ automatic consequence of local authoring.
@@ -22,19 +22,26 @@ outcome of any particular run.
22
22
 
23
23
  ## Data flow
24
24
 
25
- ```mermaid
26
- flowchart TD
27
- F["Fixture template\ntools/smoke/fixture/"] --> PRE["Preflight\ninstall + auth + fixture + local oat"]
28
- PRE -->|blocked| STOP["Exit before provisioning"]
29
- PRE -->|ready| PREP["Prepare / provision\ndisposable worktree + isolated config + manifest"]
30
- PREP --> DRIVE["Drive\nper-harness protocol"]
31
- DRIVE --> AUTO["Automated: runner launches provider"]
32
- DRIVE --> OP["Operator: printed command + prompt"]
33
- AUTO --> COLLECT["Collect\nevidence bundle + report"]
34
- OP --> COLLECT
35
- COLLECT --> CLEAN["Cleanup\nmanifest-scoped"]
36
- COLLECT -.->|--keep| SKIP["Cleanup skipped"]
37
- ```
25
+ === "Diagram"
26
+
27
+ ![Smoke-test flow: fixture template, preflight (exit before provisioning if blocked), prepare and provision, drive automatically or by an operator, collect evidence, then manifest-scoped cleanup, skipped with --keep](/diagrams/smoke-testing-light.svg)
28
+ ![Smoke-test flow: fixture template, preflight (exit before provisioning if blocked), prepare and provision, drive automatically or by an operator, collect evidence, then manifest-scoped cleanup, skipped with --keep](/diagrams/smoke-testing-dark.svg)
29
+
30
+ === "Mermaid source"
31
+
32
+ ```mermaid
33
+ flowchart TD
34
+ F["Fixture template\ntools/smoke/fixture/"] --> PRE["Preflight\ninstall + auth + fixture + local oat"]
35
+ PRE -->|blocked| STOP["Exit before provisioning"]
36
+ PRE -->|ready| PREP["Prepare / provision\ndisposable worktree + isolated config + manifest"]
37
+ PREP --> DRIVE["Drive\nper-harness protocol"]
38
+ DRIVE --> AUTO["Automated: runner launches provider"]
39
+ DRIVE --> OP["Operator: printed command + prompt"]
40
+ AUTO --> COLLECT["Collect\nevidence bundle + report"]
41
+ OP --> COLLECT
42
+ COLLECT --> CLEAN["Cleanup\nmanifest-scoped"]
43
+ COLLECT -.->|--keep| SKIP["Cleanup skipped"]
44
+ ```
38
45
 
39
46
  Collection runs even when the drive stage fails, so a broken run still produces
40
47
  an evidence bundle before cleanup reclaims its resources.
@@ -224,7 +231,7 @@ Reading the output:
224
231
  The evidence is organized as three layers — launcher-owned production records,
225
232
  independent durable corroboration from Git and the fixture, and the normalized
226
233
  bundle and assertion report. See
227
- [Evidence Layers](../workflows/projects/evidence-layers.md) for the model.
234
+ [Evidence Layers](../workflows/advanced/evidence-layers.md) for the model.
228
235
 
229
236
  ## Cleanup and recovery
230
237
 
@@ -324,5 +331,5 @@ fixture does not pass, the workflow change is not accepted.
324
331
  ## Related
325
332
 
326
333
  - [Contributing Code](code.md)
327
- - [Implementation Execution](../workflows/projects/implementation-execution.md)
328
- - [Dispatch Ceiling](../workflows/projects/dispatch-ceiling.md)
334
+ - [Implementation Execution](../workflows/projects/execution/implementation-execution.md)
335
+ - [Dispatch Ceiling](../workflows/advanced/dispatch-ceiling.md)
@@ -81,7 +81,7 @@ or GPT-6.1 Cursor targets until that runtime lists and verifies them.
81
81
  A 2026-09-25 desktop 3.21.18 probe added Grok 4.6 and Fable 5.1 mappings
82
82
  and moved the bundled Cursor ladder to them. The same probe showed Grok 4.7
83
83
  resolves only bare flat IDs, never bracket selectors. It still needs its own
84
- approved registry entry and complete per-pin evidence before admission; see [Verifying Cursor Pins](verifying-cursor-pins.md). See [Dispatch Policy](../workflows/projects/dispatch-ceiling.md#cursor-evidence-authority)
84
+ approved registry entry and complete per-pin evidence before admission; see [Verifying Cursor Pins](verifying-cursor-pins.md). See [Dispatch Policy](../workflows/advanced/dispatch-ceiling.md#cursor-evidence-authority)
85
85
  for the distinction between catalog, configured mapping, and runtime identity.
86
86
 
87
87
  The October 1 refresh migrates Codex Sol defaults and examples to
@@ -142,5 +142,5 @@ bundled cells in the chosen scope, with a warning and a `--dry-run` preview;
142
142
  extra custom cells remain. Add `--keep-existing` to fill only missing cells.
143
143
  The active project's named ceiling is a separate policy in its `state.md`;
144
144
  a model update must not silently change it.
145
- See [Dispatch Policy](../workflows/projects/dispatch-ceiling.md#ownership-and-adoption)
145
+ See [Dispatch Policy](../workflows/advanced/dispatch-ceiling.md#ownership-and-adoption)
146
146
  for config precedence and examples.
@@ -339,5 +339,5 @@ oat sync --scope project
339
339
  ## Related
340
340
 
341
341
  - [Smoke Testing](smoke-testing.md) - Runbook for the live workflow smoke runner.
342
- - [Dispatch Policy](../workflows/projects/dispatch-ceiling.md) - How pins reach the recommendation and role files.
342
+ - [Dispatch Policy](../workflows/advanced/dispatch-ceiling.md) - How pins reach the recommendation and role files.
343
343
  - [Provider Sync](../provider-sync/providers.md) - Provider-specific sync behavior.
@@ -289,3 +289,35 @@ Important:
289
289
  - [`commands.md`](commands.md)
290
290
  - [`workflows.md`](workflows.md)
291
291
  - [`../reference/docs-index-contract.md`](../reference/docs-index-contract.md)
292
+
293
+ ## Choosing Markdown or a site framework
294
+
295
+ `oat docs init --framework` (and the `oat-docs-bootstrap` skill) sets up one of
296
+ three kinds of documentation. In all three, each folder's `index.md` has a
297
+ `## Contents` list of its pages.
298
+
299
+ | Framework | Choose it when | What you give up |
300
+ | -------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
301
+ | Plain Markdown | People and agents read the docs in the repository; no site is needed | A rendered site and search. You keep each `## Contents` list up to date by hand |
302
+ | Fumadocs | A Node/pnpm repository wants a hosted docs site | An app with dependencies and a build. A page missing from its folder's `## Contents` list is hidden from the sidebar |
303
+ | MkDocs | The team already uses Python and MkDocs Material | Python setup (`setup-docs.sh` runs `pip install`). `oat docs nav sync` rewrites the whole `nav:` block of `mkdocs.yml` |
304
+
305
+ When nothing chooses for it (a non-interactive run or `--yes`), `oat docs init`
306
+ uses Fumadocs. That is only a default; pick the smallest option your readers
307
+ need.
308
+
309
+ - If you are a solo developer or a team that only needs guides readable in the
310
+ repository, choose plain Markdown. It adds no app, dependencies, or build.
311
+ - If a Node/pnpm team wants a hosted site, choose Fumadocs. Its build hooks
312
+ regenerate the app-root `index.md` inventory but not the sidebar files, so run
313
+ `oat docs nav sync` after adding, moving, or renaming pages, commit the
314
+ `meta.json` files it writes, and add `oat docs nav sync --check` to your build
315
+ or CI yourself, because the scaffold does not.
316
+ - If your team uses Python and MkDocs Material, choose MkDocs. Run
317
+ `oat docs nav sync --check` to see what would change before letting nav sync
318
+ rewrite `nav:`.
319
+ - If the repository already has docs, do not initialize over them. Adopt
320
+ existing plain Markdown with `--adopt` (try `--dry-run` first), and record an
321
+ existing MkDocs site with `oat init --setup` instead of `oat docs init`. When
322
+ moving an MkDocs site to Fumadocs, `oat docs migrate` converts MkDocs syntax
323
+ and frontmatter; it only previews changes until you pass `--apply`.
@@ -0,0 +1,131 @@
1
+ ---
2
+ title: Improve Agent Instructions
3
+ description: Audit instruction coverage and accuracy, then apply approved recommendations without inventing repository conventions.
4
+ ---
5
+
6
+ # Improve Agent Instructions
7
+
8
+ Keep analysis and application separate. The analysis report establishes what
9
+ is supported by repository evidence; apply translates selected recommendations
10
+ into canonical instructions and provider views. Canonical instructions are
11
+ the provider-neutral source files OAT treats as the source of truth, such as
12
+ `AGENTS.md` and rule files under `.agents/rules/`. Provider views are the
13
+ per-tool files, such as Cursor rule files, that `oat sync` generates from
14
+ them. Neither skill needs an active OAT project.
15
+
16
+ The analysis report is an analysis artifact: a timestamped Markdown report
17
+ that analyze writes under `.oat/repo/analysis/` and that apply later reads.
18
+
19
+ The invocations below are agent instructions, not terminal commands. Use
20
+ slash names where supported, `$name` in Codex, or ask for the skill by name.
21
+
22
+ ## oat-agent-instructions-analyze
23
+
24
+ **Invocation:** `/oat-agent-instructions-analyze` in the repository you want
25
+ to evaluate. Confirm the provider scope when prompted so the audit covers
26
+ the instruction formats your team actually uses.
27
+
28
+ **Prerequisites:** A Git repository with at least one instruction file (root
29
+ `AGENTS.md` is the baseline), accessible configuration/documentation evidence,
30
+ and `jq` for the helper scripts. OAT documentation configuration is useful when present but not
31
+ required for discovering the repository's documentation surfaces. No active
32
+ project is required.
33
+
34
+ **Example scenario:** Claude, Cursor, and Codex users receive inconsistent
35
+ test instructions, and a nested package has no clear ownership guidance.
36
+ Audit the canonical instructions and relevant provider views against actual
37
+ package scripts and local documentation before copying another provider's
38
+ rules into every directory.
39
+
40
+ The audit checks quality, coverage, existing-rule accuracy, progressive
41
+ disclosure, file-type opportunities, and cross-format consistency. Full or
42
+ delta analysis follows valid tracking evidence. Claims about exhaustive
43
+ consistency need exhaustive evidence, not a convenient sample. Formatting
44
+ tools and canonical documentation are often better linked than restated as
45
+ large always-loaded instruction blocks.
46
+
47
+ Provider recommendations follow configured policy. For example, a Claude
48
+ shim (a `CLAUDE.md` file whose job is to import `AGENTS.md` with
49
+ `@AGENTS.md`) is not universally required. The setting
50
+ `instructions.claude.shims` chooses the strategy. Under the default, `none`,
51
+ Claude Code reads `AGENTS.md` itself, so analysis recommends no `CLAUDE.md`.
52
+ Under `pointer`, `symlink`, or `copy`, it checks for the matching shim next
53
+ to each `AGENTS.md`.
54
+
55
+ Some `CLAUDE.md` files hold the only copy of instructions that an
56
+ `AGENTS.md` links to. For those files, the recommended fix is to move the
57
+ content into each linking `AGENTS.md` first and only then remove the file.
58
+ A duplication finding is never permission to discard the sole copy of
59
+ useful guidance.
60
+
61
+ **Expected output:** A human-readable
62
+ `.oat/repo/analysis/agent-instructions-<timestamp>.md` report and its
63
+ companion bundle. The companion bundle is a folder next to the report
64
+ (`agent-instructions-<timestamp>.bundle/`) that holds `summary.md`,
65
+ `recommendations.yaml`, and one recommendation pack file per recommendation
66
+ under `packs/`. The bundle is what apply generates from; the Markdown report
67
+ provides review context. The default bounded artifact-review loop can
68
+ correct these outputs but cannot edit downstream instruction files. Skipped
69
+ review and residual findings remain visible in the handoff.
70
+
71
+ **What it does without asking:** It writes the report and companion bundle
72
+ under `.oat/repo/analysis/`, lets its review loop correct them, and updates
73
+ its tracking record in `.oat/tracking.json`. It does not create or modify
74
+ instruction files or repository configuration.
75
+
76
+ **Next step:** Review the recommendations and use
77
+ [oat-agent-instructions-apply](#oat-agent-instructions-apply) for approved
78
+ changes. Resolve missing evidence in analysis rather than making apply guess
79
+ which convention new files should follow.
80
+
81
+ ## oat-agent-instructions-apply
82
+
83
+ **Invocation:** `/oat-agent-instructions-apply` after reviewing an analysis
84
+ artifact. Choose batch approval, recommendation-by-recommendation review,
85
+ discussion, or cancellation when the skill presents the plan.
86
+
87
+ **Prerequisites:** A Git repository, `jq`, the installed
88
+ `oat-agent-instructions-analyze` skill (apply reuses its scripts and stops if
89
+ it cannot find them), and a recent analysis artifact. Apply always reads the
90
+ newest `.oat/repo/analysis/agent-instructions-*.md` report. Each
91
+ recommendation needs evidence, confidence, a disclosure decision (whether
92
+ the item is written inline, added only as a link, omitted, or left for you
93
+ to decide), and concrete link targets for link-only recommendations. When a
94
+ companion bundle exists, it is the primary generation contract; older
95
+ Markdown-only artifacts remain supported. `gh` is needed only if you want
96
+ apply to open the pull request. No active OAT project is required.
97
+
98
+ **Example scenario:** The audit recommends fixing one inaccurate test command
99
+ and adding scoped guidance to a package. Approve those two changes, but
100
+ decline a proposed always-loaded architecture summary in favor of its
101
+ documentation link. The resulting instructions should preserve that
102
+ disclosure choice rather than copying the full summary into every provider.
103
+
104
+ Apply may reopen cited sources to verify them and generate instruction text,
105
+ but cannot add new recommendations or infer a formatting rule from tool
106
+ defaults. Missing preferred patterns, evidence, or link targets are reasons
107
+ to stop for clarification. Provider baselines must already be explicit in
108
+ the analysis, including which shim strategy applies.
109
+
110
+ **Expected output:** Approved canonical instruction and rule changes
111
+ committed on a new `oat/agent-instructions-<timestamp>` branch, with
112
+ regenerated provider views where needed. The plan and source-backed
113
+ rationale remain aligned with the analysis bundle.
114
+
115
+ **What it does without asking:** Nothing changes until you approve the plan
116
+ (choosing `cancel`, or skipping every item, exits without changes). After
117
+ approval, apply continues without asking again. It creates branch
118
+ `oat/agent-instructions-<timestamp>` and writes the approved files. Items
119
+ whose disclosure is `ask_user` are confirmed with you once more before they
120
+ are written. When it writes canonical rule files, it runs
121
+ `oat sync --scope project` to regenerate the provider views. It then commits
122
+ the generated and updated files as `chore: update agent instruction files`.
123
+ If the branch cannot be created (for example because of uncommitted
124
+ changes), it asks you to resolve that first. After committing, it asks
125
+ whether to push and open a pull request; only a yes pushes. The PR targets
126
+ `main`, and its body includes the applied plan and the full analysis
127
+ report. Finally it updates `.oat/tracking.json`.
128
+
129
+ **Next step:** Review the committed diff and provider scope before you agree
130
+ to push or open a pull request. Reanalyze when you need to evaluate new
131
+ conventions or gaps; apply is not a second independent audit.
@@ -14,6 +14,7 @@ Use this section when you are adopting the docs app workflow in a repo, maintain
14
14
  - [Add or Adopt Docs in a Repo](add-docs-to-a-repo.md) - Set up Markdown or a docs app and safely adopt existing Markdown.
15
15
  - [Documentation Commands](commands.md) - Docs CLI surface for init, migration, index generation, and nav sync.
16
16
  - [Docs Workflows](workflows.md) - How the docs CLI helpers pair with analyze/apply workflows.
17
+ - [Improve Agent Instructions](agent-instructions.md) - Analyze instruction gaps and apply approved evidence-backed changes.
17
18
 
18
19
  ## What This Section Is
19
20
 
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "title": "Docs Tooling",
3
- "pages": ["add-docs-to-a-repo", "commands", "workflows"]
3
+ "pages": ["add-docs-to-a-repo", "commands", "workflows", "agent-instructions"]
4
4
  }