@open-agent-toolkit/cli 0.3.12 → 0.3.14

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 (152) 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/skills.md +64 -2
  5. package/assets/docs/contributing/smoke-testing.md +3 -3
  6. package/assets/docs/contributing/updating-model-guidance.md +2 -2
  7. package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
  8. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +112 -15
  9. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  10. package/assets/docs/docs-tooling/commands.md +74 -30
  11. package/assets/docs/docs-tooling/index.md +7 -6
  12. package/assets/docs/docs-tooling/meta.json +1 -1
  13. package/assets/docs/docs-tooling/workflows.md +357 -11
  14. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  15. package/assets/docs/{guide → getting-started}/concepts.md +28 -10
  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 +146 -15
  20. package/assets/docs/index.md +47 -48
  21. package/assets/docs/meta.json +6 -7
  22. package/assets/docs/provider-sync/commands.md +26 -3
  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 +43 -5
  26. package/assets/docs/provider-sync/manifest-and-drift.md +85 -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 +34 -34
  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/docs-index-contract.md +19 -4
  34. package/assets/docs/reference/file-locations.md +7 -2
  35. package/assets/docs/reference/index.md +13 -1
  36. package/assets/docs/reference/meta.json +7 -1
  37. package/assets/docs/reference/oat-directory-structure.md +24 -22
  38. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  39. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
  40. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  41. package/assets/docs/reference/troubleshooting.md +125 -10
  42. package/assets/docs/reference/what-oat-writes.md +410 -0
  43. package/assets/docs/skills/brainstorm.md +77 -0
  44. package/assets/docs/skills/diagnostics.md +56 -0
  45. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  46. package/assets/docs/skills/index.md +416 -0
  47. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  48. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  49. package/assets/docs/skills/repo-improve.md +254 -0
  50. package/assets/docs/skills/research.md +237 -0
  51. package/assets/docs/skills/session-closeout.md +61 -0
  52. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  53. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  54. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  55. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
  56. package/assets/docs/workflows/advanced/index.md +19 -0
  57. package/assets/docs/workflows/advanced/meta.json +13 -0
  58. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
  59. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  60. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  61. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  62. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  63. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  64. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  65. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  66. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  67. package/assets/docs/workflows/choose-workflow.md +114 -0
  68. package/assets/docs/workflows/ideas/index.md +3 -3
  69. package/assets/docs/workflows/ideas/lifecycle.md +218 -1
  70. package/assets/docs/workflows/index.md +11 -62
  71. package/assets/docs/workflows/meta.json +10 -2
  72. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  73. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  74. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  75. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  76. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  77. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  78. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
  79. package/assets/docs/workflows/projects/execution/index.md +15 -0
  80. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  81. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  82. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  83. package/assets/docs/workflows/projects/index.md +38 -49
  84. package/assets/docs/workflows/projects/lifecycle.md +47 -11
  85. package/assets/docs/workflows/projects/meta.json +2 -23
  86. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  87. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  88. package/assets/docs/workflows/projects/planning/index.md +16 -0
  89. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  90. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  91. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  92. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  93. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  94. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  95. package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
  96. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  97. package/assets/docs/workflows/waves/index.md +12 -0
  98. package/assets/docs/workflows/waves/meta.json +4 -0
  99. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  100. package/assets/public-package-versions.json +4 -4
  101. package/assets/skills/oat-docs/SKILL.md +19 -19
  102. package/assets/skills/oat-docs-analyze/SKILL.md +27 -7
  103. package/assets/skills/oat-docs-analyze/references/quality-checklist.md +16 -3
  104. package/assets/skills/oat-docs-apply/SKILL.md +20 -3
  105. package/assets/skills/oat-docs-authoring/SKILL.md +11 -7
  106. package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +12 -5
  107. package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +7 -7
  108. package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +13 -3
  109. package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +5 -4
  110. package/assets/skills/oat-docs-authoring/references/validation.md +11 -1
  111. package/assets/skills/oat-docs-bootstrap/SKILL.md +31 -8
  112. package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +2 -1
  113. package/assets/skills/oat-doctor/SKILL.md +25 -25
  114. package/assets/skills/oat-project-document/SKILL.md +21 -2
  115. package/assets/templates/docs-markdown/contributing.md +35 -0
  116. package/assets/templates/docs-markdown/index.md +18 -0
  117. package/dist/commands/docs/index-generate/index.d.ts.map +1 -1
  118. package/dist/commands/docs/index-generate/index.js +41 -8
  119. package/dist/commands/docs/init/index.d.ts +17 -2
  120. package/dist/commands/docs/init/index.d.ts.map +1 -1
  121. package/dist/commands/docs/init/index.js +194 -14
  122. package/dist/commands/docs/init/markdown.d.ts +39 -0
  123. package/dist/commands/docs/init/markdown.d.ts.map +1 -0
  124. package/dist/commands/docs/init/markdown.js +317 -0
  125. package/dist/commands/docs/init/resolve-options.d.ts +3 -1
  126. package/dist/commands/docs/init/resolve-options.d.ts.map +1 -1
  127. package/dist/commands/docs/init/resolve-options.js +36 -0
  128. package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
  129. package/dist/commands/docs/init/scaffold.js +11 -0
  130. package/dist/commands/shared/agents-md.d.ts +7 -0
  131. package/dist/commands/shared/agents-md.d.ts.map +1 -1
  132. package/dist/commands/shared/agents-md.js +131 -91
  133. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  134. package/dist/commands/tools/shared/pack-manifest.js +1 -0
  135. package/dist/config/oat-config.d.ts +2 -1
  136. package/dist/config/oat-config.d.ts.map +1 -1
  137. package/dist/config/oat-config.js +4 -2
  138. package/package.json +2 -2
  139. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  140. package/assets/docs/cli-utilities/index.md +0 -74
  141. package/assets/docs/cli-utilities/meta.json +0 -13
  142. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  143. package/assets/docs/guide/index.md +0 -31
  144. package/assets/docs/guide/meta.json +0 -4
  145. package/assets/docs/quickstart.md +0 -88
  146. package/assets/docs/workflows/projects/autonomy.md +0 -196
  147. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  148. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  149. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  150. package/assets/docs/workflows/skills/index.md +0 -184
  151. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  152. package/assets/docs/workflows/wave-workflows.md +0 -77
@@ -192,3 +192,124 @@ oat tools install workflows
192
192
 
193
193
  The adapter checks the installed canonical core path and compatible version
194
194
  before reading OAT configuration. It never falls back to a source checkout.
195
+
196
+ ## explainer-kit
197
+
198
+ **Invocation:** `/explainer-kit` is the reliable way to start it (Codex:
199
+ `$explainer-kit`); asking for the skill by name usually works too. Then give
200
+ it a recipe, inputs, and an output folder, for example: “Use explainer-kit
201
+ with the engineer-tour recipe,
202
+ `--inputs /abs/path/docs/architecture.md /abs/path/docs/api-flows.md`, and
203
+ `--out /abs/path/explainers/api-tour`.” Use absolute paths: the core's
204
+ scripts run from the installed skill directory, so a relative path would
205
+ resolve there instead of in your repository. This is an agent instruction,
206
+ not a shell command. The core requires explicit inputs and an output
207
+ destination: choose one source mode, `--project`, `--inputs`, or
208
+ `--fact-base`, rather than relying on an OAT active-project pointer.
209
+
210
+ **Prerequisites:** Node.js on your PATH (every stage runs the bundled `.mjs`
211
+ scripts) and the core installed from the `utility` tool pack
212
+ (`oat tools install utility --scope user`), plus accessible inputs, a
213
+ recipe, and a writable output destination. Needs an active OAT project: no.
214
+ `--inputs` reads only `.md`, `.txt`, `.html`, and `.json` files; any other
215
+ file in an input directory, such as `.ts` or `.py` source, is skipped without
216
+ a warning, and a directory holding only source code fails bundling because no
217
+ facts were collected. If you supply a fact base, it must be an explainer-kit fact-base
218
+ JSON file that passes the bundled schema and contains the evidence the
219
+ explainer needs; the renderer is not a substitute for missing research. Theme
220
+ selection is resolved before the artifact bundle is materialized; with no
221
+ theme, the skill writes the default `clean-neutral` theme file first.
222
+
223
+ **Example scenario:** A teammate will take over an API module next week. Give
224
+ the skill the module's architecture and design documents (Markdown, text,
225
+ HTML, or JSON) so it can produce an engineer tour grounded in those
226
+ documents. `--inputs` reads only `.md`, `.txt`, `.html`, and `.json` files;
227
+ source-code files in a directory are skipped, so describe the code in
228
+ documents or supply a prepared fact base. Choose an output folder you can
229
+ review before sharing; generating an HTML file is not permission to publish
230
+ it.
231
+
232
+ **What it does without asking:** It writes everything into the run folder you
233
+ named with `--out`: the fact base and claim ledger under `source/`, the
234
+ resolved theme, the authored `site/index.html`, verification results under
235
+ `qa/`, and finally `manifest.json`. After bundling, it shows a short summary
236
+ of the prepared facts so you can correct the scope before it writes the page.
237
+ Verification uses a host browser or the bundled Playwright probe when one is
238
+ available, to take screenshots. If bundling reports that a satisfied run
239
+ already exists (`reuse: true`), it returns that run unchanged. It does not
240
+ publish, commit, or push anything.
241
+
242
+ **Expected output:** A self-contained HTML explainer and its supporting fact
243
+ base, claim ledger, resolved theme, and verification record. Inspect the
244
+ verification outcome, not just whether the file opens. `built` means the
245
+ browser and visual checks passed; `built-needs-review` means
246
+ the usable artifact still needs review. Missing visual capability or a
247
+ failed verification must not be reported as a visual pass.
248
+
249
+ **Next step:** Review the content and available verification evidence, resolve
250
+ remaining issues, then share the artifact through an explicitly chosen
251
+ channel. For OAT artifact binding and repository defaults, use the adapter
252
+ below rather than making the core infer local configuration.
253
+
254
+ ## oat-explainer-kit
255
+
256
+ **Invocation:** `/oat-explainer-kit` is the reliable way to start it (Codex:
257
+ `$oat-explainer-kit`), for example: “/oat-explainer-kit generate a project
258
+ explainer from this project's approved planning artifacts.” Asking for the
259
+ skill by name usually works too. Name the recipe you want:
260
+ `project-explainer` (after planning), `project-recap` (after
261
+ implementation), or `program-recap` (for a multi-wave program). This request
262
+ is not a terminal command or a promise of a particular CLI flag. OAT
263
+ lifecycle skills also call the adapter automatically at the points listed in
264
+ [OAT lifecycle callers](#oat-lifecycle-callers).
265
+
266
+ **Prerequisites:** Node.js on your PATH, a compatible `explainer-kit` core
267
+ from the `utility` tool pack (`oat tools install utility --scope user`), and
268
+ this adapter from the `workflows` pack. If the core is missing or too old,
269
+ the adapter stops and prints the install or update command. Needs an active
270
+ OAT project: for `project-explainer` and `project-recap`, yes. Those recipes
271
+ require the project to be the active OAT project (`oat project open <name>`)
272
+ and read its lifecycle artifacts (planning files such as `plan.md`,
273
+ `design.md`, and `spec.md`; for a recap also the completion, summary, and
274
+ project-log records). A repository-level run with a fact base you supply needs no active
275
+ project; its output goes to `.oat/repo/reference/explainers/`.
276
+
277
+ **Example scenario:** A project has approved planning artifacts, and you need
278
+ to explain the chosen scope and approach to a teammate before implementation
279
+ starts. Make it the active project with `oat project open <name>`, then ask
280
+ for the `project-explainer` recipe. Let the adapter bind those OAT artifacts
281
+ and repository defaults, then use the core to generate the explainer; open
282
+ the resulting `site/index.html` under `<project>/explainers/<run-slug>/` and
283
+ check its verification outcome before sharing it. Do not ask it to present
284
+ planned capabilities as already shipped.
285
+
286
+ The adapter checks the installed core before resolving OAT configuration.
287
+ It owns source binding, intent, output placement, and defaults; the core owns
288
+ the reusable artifact-generation pipeline. This boundary keeps a project
289
+ explainer grounded in its planning evidence and a recap grounded in its
290
+ actual implementation evidence rather than treating the two as equivalent.
291
+
292
+ **What it does without asking:** It checks the installed core, then resolves
293
+ whether to generate. With the `workflow.explainers.*` preference set to
294
+ `always` or `never` it decides without asking; with the default `ask` it asks
295
+ once in an interactive run. Before generating, it records that generate or
296
+ skip decision in the project's `state.md` (the project's status file);
297
+ later runs reuse the recorded decision instead of asking again. It then
298
+ writes the run folder (fact base, page, verification results, and manifest)
299
+ under the output path below. If a run fails, an interactive run asks you to
300
+ retry or skip and records a skip in `state.md`. Lifecycle calls never prompt.
301
+ It does not commit, push, or publish the explainer.
302
+
303
+ **Expected output:** The core explainer bundle under
304
+ `<project>/explainers/<run-slug>/` (project recipes) or
305
+ `.oat/repo/reference/explainers/` (program or repository runs), with its
306
+ verification outcome preserved. The adapter also records the generate or
307
+ skip decision in the project's `state.md`; later runs reuse that decision
308
+ instead of asking again. A lifecycle call can produce it without an
309
+ interactive prompt, but unattended generation does not erase missing
310
+ evidence or upgrade a needs-review outcome.
311
+
312
+ **Next step:** Inspect the explainer and verification record, then return to
313
+ the relevant planning, implementation, or closeout workflow. An explainer
314
+ helps communicate a decision or outcome; it does not itself approve a plan,
315
+ complete a project, or publish a recap.
@@ -0,0 +1,416 @@
1
+ ---
2
+ title: Skills
3
+ description: 'User-facing guide to OAT skill families, recommended entry points, and where contributor-facing skill authoring docs live.'
4
+ ---
5
+
6
+ # Skills
7
+
8
+ Use this section when you want to choose the right OAT skill for a task. If you are writing or changing skills, jump to the contributor docs instead.
9
+
10
+ ## Contents
11
+
12
+ - [Research and Evaluate a Decision](research.md) - Research, compare, challenge and synthesize evidence.
13
+ - [Brainstorm Before Choosing a Workflow](brainstorm.md) - Explore an idea before deciding how to track it.
14
+ - [Diagnose Your OAT Setup](diagnostics.md) - Inspect prerequisites and choose a safe repair.
15
+ - [Summarize What Shipped](session-closeout.md) - Produce a verified digest across projects and merged work.
16
+ - [Explainer Kit](explainer-kit.md) - Agent-authored generation flow, direct and lifecycle callers, verification ladder, run package, and outcomes.
17
+ - [Repo Improve](repo-improve.md) - Source modes, external-plan boundaries, optional tracking, and OAT import handoff.
18
+ - [Recon Evidence Packets](recon.md) - Approved worker profiles, validated claim states, packet layout, partial outcomes, and directory-only handoff.
19
+
20
+ ## How to run a skill
21
+
22
+ A skill is a set of written instructions that your coding agent (Claude Code,
23
+ Codex, Cursor and similar tools) follows. An `oat` command is a program you run
24
+ in a terminal; a skill may run `oat` commands for you. To run a skill, type its
25
+ name with a slash in your agent's chat, for example `/oat-docs-analyze`. Codex
26
+ uses `$` instead: `$oat-docs-analyze`. Some guides show arguments or a short
27
+ request after the name.
28
+
29
+ Some skills start only when you type their name; the agent will not choose them
30
+ on its own. In the catalog below, these show `model disabled: true` under
31
+ Visibility. Follow a skill's name to its guide, which says whether it needs an
32
+ active project (an OAT project already open in this checkout) and what it does
33
+ without asking you.
34
+
35
+ **Example.** Your docs are stale: several pages describe commands that have
36
+ changed. In the [catalog](#supported-skill-catalog), the Docs workflows table
37
+ lists `oat-docs-analyze`. Its [guide](../docs-tooling/workflows.md#oat-docs-analyze)
38
+ says it needs no active project and, without asking, writes a report under
39
+ `.oat/repo/analysis/` and updates `.oat/tracking.json`; it does not edit your
40
+ pages. Type `/oat-docs-analyze`, read the report, then run `/oat-docs-apply` to
41
+ make only the changes you approve.
42
+
43
+ ## Key Skills by Use Case
44
+
45
+ - Start a new tracked project: `oat-project-new`, `oat-project-quick-start`, or `oat-project-lite` for a single-sitting change with one batched interview and one approval (quick start accepts a project name plus optional description; if you omit the description it should ask before discovery begins)
46
+ - Resume an existing project: `oat-project-open` to select it,
47
+ `oat-project-progress` to see where it stands, then `oat-project-next` to
48
+ continue. See
49
+ [Resume work on this machine](../workflows/projects/execution/picking-up-projects.md#resume-work-on-this-machine).
50
+ - Execute a ready plan: `oat-project-implement`
51
+ - Import an existing plan: `oat-project-import-plan`
52
+ - Split a broad discovery or brainstorm into child projects: `oat-project-split`
53
+ - Retroactively capture existing work: `oat-project-capture`
54
+ - Run or receive reviews: `oat-project-review-provide`, `oat-project-review-receive`, or the non-project review variants
55
+ - Generate an evidence-grounded project retrospective, apply approved repo
56
+ improvements, or file tracker feedback: `oat-project-retro` and
57
+ `oat-project-retro-file`. See
58
+ [Project Retrospectives](../workflows/projects/closeout/retro.md).
59
+ - 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
60
+ - Manage the repo backlog and reference docs: `oat-pjm-update-repo-reference`, `oat-pjm-review-backlog`
61
+ - Operate an explicit GitHub, Linear, or Jira planning-record binding through a
62
+ live host capability: `oat-pjm-remote`. The OAT CLI retains policy, preview,
63
+ approval, journal, and verification authority; the skill discovers and
64
+ invokes only the exact host action emitted for one durable operation.
65
+ - Turn a repo audit, maintainability review, backlog review, backlog directory, or backlog item into standalone external implementation plans: `oat-repo-improve`. Plans land under `.oat/repo/reference/external-plans/`; execute them directly or optionally pass one to `oat-project-import-plan` for tracked OAT execution.
66
+ - Choose what to delegate and route bounded work by task class across Codex, Claude, or Cursor: `subagent-orchestration`. It is self-contained and usable without OAT; live catalogs and current instructions take precedence over its dated provider examples.
67
+ - Build visual project explainers and final project recaps: `oat-explainer-kit`, backed by the destination-neutral `explainer-kit` core. See [Explainer Kit](explainer-kit.md).
68
+ - 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`
69
+ - Generate a shipping digest or scheduled recap: `oat-wrap-up`
70
+ - Run a wave program over a corpus of external plans: `oat-wave-program` (durable program artifact: new/refresh/wave-close) and `oat-wave-execute` (one wave as a wrapper project) — see [Wave Workflows](../workflows/waves/wave-workflows.md)
71
+ - Research a topic in depth: `deep-research`
72
+ - Acquire and validate bounded evidence for another workflow: `recon`
73
+ - Analyze an artifact, codebase, or document: `analyze`
74
+ - Compare options with domain-aware dimensions: `compare`
75
+ - Verify a claim adversarially: `skeptic`
76
+ - Merge multiple analysis artifacts: `synthesize`
77
+ - Capture or refine ideas: `oat-idea-new` (capture a new idea), `oat-idea-ideate` (resume an existing tracked idea or expand a scratchpad seed — not for blank-slate brainstorms; use `oat-brainstorm` for those), `oat-idea-scratchpad`, `oat-idea-summarize`
78
+ - Run a project-independent brainstorming conversation: `oat-brainstorm` — entry point with an explicit activation contract. Hard Activation fires only on the `brainstorm` verb ("let's brainstorm", "brainstorm this", "can we brainstorm X", "help me brainstorm X", or `/oat-brainstorm`); ambiguous exploratory phrasing answers conversationally without the banner and offers structured mode only after sustained exploration. Once entered, runs a structured design conversation (one question at a time, 2-3 approaches with a recommendation) and routes to inline / doc-to-path / idea / backlog item / project handoffs based on installed packs. See [Tool Packs](../getting-started/tool-packs.md) for the brainstorm pack details.
79
+
80
+ ## Remote host execution loop
81
+
82
+ Use `oat-pjm-remote` only for an explicit remote lifecycle request. Its loop is
83
+ deliberately narrow:
84
+
85
+ 1. Before the first provider-contacting command, inspect currently granted MCP
86
+ or connector descriptions for a semantic and exact-context match.
87
+ 2. If no capable connector is available, inspect an already configured
88
+ provider CLI's live help before the first attempt. Do not install a tool,
89
+ retain its dialect, or switch execution surfaces mid-attempt.
90
+ 3. Construct only bounded provider-neutral capability evidence and pass it to
91
+ the requested command with `--capability-evidence-stdin`. Treat the CLI's
92
+ policy, preview, approval, safety, and durable state as authoritative.
93
+ 4. When the CLI returns `pending` with `externalAction`, execute that exact
94
+ semantic action at most once and submit one bounded,
95
+ sanitized observation with `oat pjm remote operation continue`.
96
+ 5. Continue only when the CLI emits another exact action for the same durable
97
+ operation. Stop on its terminal envelope.
98
+
99
+ The skill cannot broaden the normalized projection, bypass effective policy,
100
+ binding clamps, purpose field grants, hard approval floors, or caller-owned
101
+ authority evidence, read credential values, persist native provider data, or
102
+ declare remote success. A connector result, process exit, or visible remote
103
+ change is only evidence. Success requires an OAT `ok` envelope after
104
+ authoritative read-back.
105
+ See [Remote Project Management](../workflows/backlog-and-planning/remote-project-management.md)
106
+ for policy, storage, approval, and recovery details.
107
+
108
+ ## If You Are Trying To...
109
+
110
+ - choose the right skill for a task, stay in this guide page
111
+ - write or update a skill, use [Writing Skills](../contributing/skills.md)
112
+ - understand how docs-specific skills fit with docs commands, use [Docs Workflows](../docs-tooling/workflows.md)
113
+
114
+ ## Full Catalog
115
+
116
+ === "Project lifecycle"
117
+
118
+ - `oat-project-new`
119
+ - `oat-project-quick-start`
120
+ - `oat-project-lite`
121
+ - `oat-project-import-plan`
122
+ - `oat-project-promote-spec-driven`
123
+ - `oat-project-open`
124
+ - `oat-project-clear-active`
125
+ - `oat-project-discover`
126
+ - `oat-project-spec`
127
+ - `oat-project-design`
128
+ - `oat-project-plan`
129
+ - `oat-project-plan-writing`
130
+ - `oat-project-split`
131
+ - `oat-project-implement`
132
+ - `oat-project-progress`
133
+ - `oat-project-next`
134
+ - `oat-project-capture`
135
+ - `oat-project-reconcile`
136
+ - `oat-project-review-provide`
137
+ - `oat-project-review-provide-remote`
138
+ - `oat-project-review-receive`
139
+ - `oat-project-review-receive-remote`
140
+ - `oat-project-pr-progress`
141
+ - `oat-project-pr-final`
142
+ - `oat-project-document`
143
+ - `oat-project-retro`
144
+ - `oat-project-retro-file`
145
+ - `oat-explainer-kit`
146
+ - `oat-wrap-up`
147
+ - `oat-project-complete`
148
+ - `oat-wave-program`
149
+ - `oat-wave-execute`
150
+
151
+ === "Ideas"
152
+
153
+ - `oat-idea-new`
154
+ - `oat-idea-ideate`
155
+ - `oat-idea-scratchpad`
156
+ - `oat-idea-summarize`
157
+
158
+ === "Brainstorming"
159
+
160
+ - `oat-brainstorm`
161
+
162
+ === "Docs and instructions"
163
+
164
+ - `authoring-docs`
165
+ - `oat-docs-authoring`
166
+ - `oat-docs-bootstrap`
167
+ - `oat-docs-analyze`
168
+ - `oat-docs-apply`
169
+ - `oat-agent-instructions-analyze`
170
+ - `oat-agent-instructions-apply`
171
+
172
+ === "Review, backlog, and maintenance"
173
+
174
+ - `oat-review-provide`
175
+ - `oat-review-provide-remote`
176
+ - `oat-review-receive`
177
+ - `oat-review-receive-remote`
178
+ - `oat-repo-knowledge-index`
179
+ - `oat-repo-maintainability-review`
180
+ - `oat-repo-improve`
181
+ - `oat-pjm-add-backlog-item`
182
+ - `oat-pjm-update-repo-reference`
183
+ - `oat-pjm-review-backlog`
184
+ - `oat-pjm-remote`
185
+ - `docs-completed-projects-gap-review`
186
+
187
+ === "Research"
188
+
189
+ - `recon`
190
+ - `deep-research`
191
+ - `analyze`
192
+ - `compare`
193
+ - `skeptic`
194
+ - `synthesize`
195
+
196
+ === "Scaffolding and utility"
197
+
198
+ - `subagent-orchestration`
199
+ - `explainer-kit`
200
+ - `oat-worktree-bootstrap`
201
+ - `oat-worktree-bootstrap-auto`
202
+ - `create-oat-skill`
203
+ - `create-agnostic-skill`
204
+ - `create-pr-description`
205
+ - `create-ticket`
206
+ - `codex-skill`
207
+
208
+ ## Discovery Source
209
+
210
+ `AGENTS.md` is the session-facing registry. It should stay aligned with skill frontmatter and the canonical skill directories under `.agents/skills/`.
211
+
212
+ Legacy compatibility note: `review-backlog` and `update-repo-reference` may still exist in some environments, but prefer the `oat-pjm-*` family for the current file-backed backlog/reference workflow.
213
+
214
+ ## Related Guides
215
+
216
+ - [Writing Skills](../contributing/skills.md) - Contributor guide to skill authoring, contracts, and governance.
217
+ - [Docs Workflows](../docs-tooling/workflows.md) - How docs CLI helpers and docs skills work together.
218
+ - [Repository PR Comment Analysis](../reference/repository-pr-comments.md) - Repo-wide PR comment collection and triage.
219
+
220
+ ## Supported Skill Catalog
221
+
222
+ <!-- oat:skill-catalog:start -->
223
+
224
+ Generated from canonical skill metadata and the reviewed guide mapping. Do not edit this block; run `pnpm docs:skills:generate` after changing those sources.
225
+
226
+ Follow a skill name for its invocation, prerequisites, scenario and output. “Needs an active project?” says whether the skill needs an OAT project (a tracked unit of work under `.oat/projects/`) to be already open in this checkout: “Yes” means it does, “Optional” means it works with or without one, and “No” means it does not need one. Conditional details are in each guide.
227
+
228
+ Visibility reports source metadata: “user” is `user-invocable` and “model disabled” is `disable-model-invocation`. “Not declared” is not an explicit visibility setting.
229
+
230
+ ### Agent instructions
231
+
232
+ | Skill | Description | Visibility | Needs an active project? |
233
+ | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------ |
234
+ | [`oat-agent-instructions-analyze`](../docs-tooling/agent-instructions.md#oat-agent-instructions-analyze) | Run when you need to evaluate agent instruction file coverage, quality, and drift. Produces a severity-rated analysis artifact. Run before oat-agent-instructions-apply to identify what needs improvement. | user: true; model disabled: true | No |
235
+ | [`oat-agent-instructions-apply`](../docs-tooling/agent-instructions.md#oat-agent-instructions-apply) | Run when you have an agent instructions analysis artifact and want to generate or update instruction files. Creates a branch, generates files from templates, and optionally opens a PR. | user: true; model disabled: true | No |
236
+
237
+ ### Autonomous execution
238
+
239
+ | Skill | Description | Visibility | Needs an active project? |
240
+ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------ |
241
+ | [`oat-project-autonomous`](../workflows/advanced/autonomy.md#oat-project-autonomous) | Use when a user explicitly asks to run an OAT project autonomously end-to-end. Activates session-only autonomy, resumes the correct lifecycle phase, and drives the existing OAT skills through final PR or a reported boundary. | user: true; model disabled: true | No |
242
+
243
+ ### Backlog and planning
244
+
245
+ | Skill | Description | Visibility | Needs an active project? |
246
+ | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
247
+ | [`oat-pjm-add-backlog-item`](../workflows/backlog-and-planning/backlog-lifecycle.md#oat-pjm-add-backlog-item) | Use when the user requests or confirms adding a new repo backlog item — e.g. "add a backlog item for X", "capture that as backlog", "track that follow-up", "file a backlog ticket", or confirms a previously offered backlog capture. Do NOT auto-invoke when a follow-up is mentioned. Creates the item file in the file-per-item backlog structure, regenerates the index, and prompts for curated overview updates. | user: true; model disabled: false | No |
248
+ | [`oat-pjm-decision`](../workflows/backlog-and-planning/backlog-lifecycle.md#oat-pjm-decision) | Use when the user requests or confirms recording a durable repo decision — e.g. "capture that as a decision", "write an ADR for X", "record this architectural choice", or confirms a previously offered decision capture. Creates a file-per-record decision under reference/decisions/ via &#96;oat decision new&#96; and refreshes the generated decision index. Do NOT auto-invoke for routine choices that do not warrant durable history. | user: true; model disabled: false | No |
249
+ | [`oat-pjm-remote`](../workflows/backlog-and-planning/backlog-lifecycle.md#oat-pjm-remote) | Use when explicitly intaking, publishing, refreshing, reconciling, or continuing an OAT PJM remote binding through a live host capability. Keeps policy, approval, state, and success verdicts in the OAT CLI while the host discovers and invokes currently granted execution capabilities. | user: true; model disabled: false | No |
250
+ | [`oat-pjm-review-backlog`](../workflows/backlog-and-planning/backlog-lifecycle.md#oat-pjm-review-backlog) | Use when prioritizing the file-backed repo backlog or evaluating roadmap alignment. Produces value-effort ratings, dependency mapping, execution recommendations, and an optional external-plan handoff. | user: true; model disabled: true | No |
251
+ | [`oat-pjm-update-repo-reference`](../workflows/backlog-and-planning/backlog-lifecycle.md#oat-pjm-update-repo-reference) | Use when repo reference artifacts need updating — roadmap, decision records, backlog status, or completed history. Frequently invoked at project completion, often chained from &#96;oat-project-document&#96;, to ensure active &#96;.oat/repo/pjm/&#96; state and durable &#96;.oat/repo/reference/&#96; records reflect what shipped. | user: true; model disabled: false | Optional |
252
+
253
+ ### Brainstorm
254
+
255
+ | Skill | Description | Visibility | Needs an active project? |
256
+ | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- | ------------------------ |
257
+ | [`oat-brainstorm`](brainstorm.md#oat-brainstorm) | Use when the user explicitly invokes the &#96;brainstorm&#96; verb, including &#96;/oat-brainstorm&#96;, "let's brainstorm", "brainstorm this", "can we brainstorm X", or "help me brainstorm X". For ambiguous exploratory phrasing &#40;"I've been thinking", "what if", "help me think through"&#41;, do NOT auto-enter; respond conversationally and offer mode only after ≥2 sustained exploratory turns. Do NOT use for review, debug, PR, status, implementation, or active-workflow questions. | user: true; model disabled: false | Optional |
258
+
259
+ ### Cursor Cloud
260
+
261
+ | Skill | Description | Visibility | Needs an active project? |
262
+ | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
263
+ | [`oat-cursor-cloud-projects`](../workflows/advanced/cursor-cloud.md#oat-cursor-cloud-projects) | Use when OAT work is mentioned in a Cursor Cloud environment. Orients agents to cloud detection, repo-rooted project homes, user-first assets, CLI availability, and Cursor dispatch context without owning lifecycle execution. | user: true; model disabled: false | Optional |
264
+
265
+ ### Docs workflows
266
+
267
+ | Skill | Description | Visibility | Needs an active project? |
268
+ | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
269
+ | [`authoring-docs`](../docs-tooling/workflows.md#authoring-docs) | Use when creating, restructuring, migrating, auditing, or reviewing technical documentation for software projects. Provides evidence-first, provider-portable Markdown authoring standards. | user: true; model disabled: false | No |
270
+ | [`oat-docs`](../docs-tooling/workflows.md#oat-docs) | Use when a user asks questions about OAT workflows, CLI commands, skill authoring, configuration, or project lifecycle. Answers questions by reading locally-bundled OAT documentation. | user: true; model disabled: false | No |
271
+ | [`oat-docs-analyze`](../docs-tooling/workflows.md#oat-docs-analyze) | Run when you need to evaluate documentation structure, navigation, and coverage against the OAT documentation contract. Produces a severity-rated analysis artifact for oat-docs-apply. | user: true; model disabled: true | No |
272
+ | [`oat-docs-apply`](../docs-tooling/workflows.md#oat-docs-apply) | Run when you have a docs analysis artifact and want to generate or update documentation structure and content. Creates a branch, applies approved changes, and optionally opens a PR. | user: true; model disabled: true | No |
273
+ | [`oat-docs-authoring`](../docs-tooling/workflows.md#oat-docs-authoring) | Use when authoring or restructuring targeted content inside an existing OAT Markdown surface or OAT/Fumadocs docs app. Preserves OAT docs navigation, generated indexes, and validation boundaries. | user: true; model disabled: false | No |
274
+ | [`oat-docs-bootstrap`](../docs-tooling/workflows.md#oat-docs-bootstrap) | Use when bootstrapping or adopting an OAT documentation surface in a repo. Guides the user through preflight detection, richer input gathering than the raw CLI, &#96;oat docs init&#96; invocation with gated post-patches for open CLI gaps, build verification, post-scaffold config inspection, and an educational walkthrough. Supports plain Markdown &#40;file-level path&#41;, Fumadocs &#40;full path&#41;, and MkDocs &#40;lean path with defined minimum contract&#41;. | user: true; model disabled: true | Optional |
275
+
276
+ ### Explainer Kit
277
+
278
+ | Skill | Description | Visibility | Needs an active project? |
279
+ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ---------------------------------------- | ------------------------ |
280
+ | [`explainer-kit`](explainer-kit.md#explainer-kit) | Use when building destination-neutral visual explainer artifacts from explicit, versioned inputs. | user: true; model disabled: not declared | No |
281
+ | [`oat-explainer-kit`](explainer-kit.md#oat-explainer-kit) | Use when building project explainers or recaps from OAT configuration, state, and lifecycle artifacts. | user: true; model disabled: false | Optional |
282
+
283
+ ### Ideas
284
+
285
+ | Skill | Description | Visibility | Needs an active project? |
286
+ | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------ |
287
+ | [`oat-idea-ideate`](../workflows/ideas/lifecycle.md#oat-idea-ideate) | Use when continuing an existing tracked idea or expanding an explicit scratchpad seed from &#123;IDEAS_ROOT&#125;/scratchpad.md. Do NOT use to start a brand-new, destinationless brainstorm; use oat-brainstorm for that. | user: true; model disabled: true | No |
288
+ | [`oat-idea-new`](../workflows/ideas/lifecycle.md#oat-idea-new) | Use when starting ideation for a new concept or problem. Creates an idea directory for lightweight capture and handoff to ongoing ideation. | user: true; model disabled: true | No |
289
+ | [`oat-idea-scratchpad`](../workflows/ideas/lifecycle.md#oat-idea-scratchpad) | Use when you need quick idea capture or want to review scratchpad entries. Manages lightweight idea seeds and optional notes. | user: true; model disabled: true | No |
290
+ | [`oat-idea-summarize`](../workflows/ideas/lifecycle.md#oat-idea-summarize) | Use when an idea is mature enough to move from brainstorming into the backlog. Generates a summary document and adds the idea to the backlog. | user: true; model disabled: true | No |
291
+
292
+ ### Project closeout
293
+
294
+ | Skill | Description | Visibility | Needs an active project? |
295
+ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
296
+ | [`oat-project-complete`](../workflows/projects/closeout/closeout-skills.md#oat-project-complete) | Use when all implementation work is finished and the project is ready to close. Marks the OAT project lifecycle as complete. | user: true; model disabled: true | Yes |
297
+ | [`oat-project-document`](../workflows/projects/closeout/closeout-skills.md#oat-project-document) | Use when the user requests or confirms documenting an active OAT project — e.g. "document the project", "update the docs", "run oat-project-document", or confirms a previously offered documentation run. Do NOT auto-invoke when implementation completes. Analyzes project artifacts, presents a documentation delta plan, and applies approved changes. | user: true; model disabled: false | Yes |
298
+ | [`oat-project-pr-final`](../workflows/projects/closeout/closeout-skills.md#oat-project-pr-final) | Use when the user requests or confirms opening the final PR for an active OAT project — e.g. "open the final PR", "ship it", "run oat-project-pr-final", or confirms a previously offered final-PR step. Do NOT auto-invoke when phases are marked complete. Generates the final lifecycle PR description from artifacts and creates the PR. | user: true; model disabled: false | Yes |
299
+ | [`oat-project-pr-progress`](../workflows/projects/closeout/closeout-skills.md#oat-project-pr-progress) | Use when an active OAT project needs a mid-project PR for a completed phase &#40;pNN&#41;. Generates a phase-scoped progress PR description from OAT artifacts and commit history, with optional PR creation. | user: true; model disabled: true | Yes |
300
+ | [`oat-project-retro`](../workflows/projects/closeout/closeout-skills.md#oat-project-retro) | Use when the user requests or confirms a project retrospective — e.g. "run the project retro", "write project-retro.md", "retrospective this project", or confirms a previously offered retro. Do NOT auto-invoke merely because implementation or summary completed. Produces references/project-retro.md from project logs, execution learnings, and session/transcript evidence, with repo improvements and OAT upstream feedback. | user: true; model disabled: false | Yes |
301
+ | [`oat-project-retro-file`](../workflows/projects/closeout/closeout-skills.md#oat-project-retro-file) | Use when the user requests or confirms filing proposed feedback from a project retro into repository or upstream GitHub issues and OAT backlog items. Runs destination capability, duplicate, approval, and sanitization checks before filing, then writes destinations and statuses back to the retro artifact. | user: true; model disabled: false | Yes |
302
+ | [`oat-project-revise`](../workflows/projects/closeout/closeout-skills.md#oat-project-revise) | Use when a project has an open PR and human feedback needs to be incorporated. Creates revision tasks and re-enters implementation. | user: true; model disabled: true | Yes |
303
+ | [`oat-project-summary`](../workflows/projects/closeout/closeout-skills.md#oat-project-summary) | Use when the user requests or confirms summarizing an active OAT project — e.g. "summarize the project", "generate the summary", "run oat-project-summary", or confirms a previously offered summary run. Do NOT auto-invoke when implementation completes. Generates summary.md from project artifacts as institutional memory. | user: true; model disabled: false | Yes |
304
+
305
+ ### Project entry
306
+
307
+ | Skill | Description | Visibility | Needs an active project? |
308
+ | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------ |
309
+ | [`oat-project-capture`](../workflows/projects/planning/starting-projects.md#oat-project-capture) | Use when work happened outside the OAT project workflow and needs retroactive project tracking. Creates a full project from an existing branch and conversation context. | user: true; model disabled: true | No |
310
+ | [`oat-project-import-plan`](../workflows/projects/planning/starting-projects.md#oat-project-import-plan) | Use when you have an external markdown plan to execute with OAT. Preserves the source plan and normalizes it into canonical plan.md format. | user: true; model disabled: true | No |
311
+ | [`oat-project-lite`](../workflows/projects/planning/starting-projects.md#oat-project-lite) | Use when a single-sitting change needs a critical interview, an approved single-phase plan, and resumable OAT implementation with minimal ceremony. | user: true; model disabled: true | No |
312
+ | [`oat-project-new`](../workflows/projects/planning/starting-projects.md#oat-project-new) | Use when starting a spec-driven OAT project from scratch. Scaffolds a new project under PROJECTS_ROOT and sets it active. | user: true; model disabled: true | No |
313
+ | [`oat-project-quick-start`](../workflows/projects/planning/starting-projects.md#oat-project-quick-start) | Use when a task is small enough for quick mode or rapid iteration is preferred. Scaffolds a lightweight OAT project from discovery directly to a runnable plan, with optional brainstorming and lightweight design. | user: true; model disabled: true | No |
314
+ | [`oat-project-split`](../workflows/projects/planning/starting-projects.md#oat-project-split) | Use when a discovery or brainstorm should split one broad scope into coordinated OAT child projects. | user: true; model disabled: true | No |
315
+
316
+ ### Project execution
317
+
318
+ | Skill | Description | Visibility | Needs an active project? |
319
+ | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------ |
320
+ | [`oat-project-implement`](../workflows/projects/execution/execution-skills.md#oat-project-implement) | Use when plan.md is ready for execution. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases. | user: true; model disabled: true | Yes |
321
+ | [`oat-project-reconcile`](../workflows/projects/execution/execution-skills.md#oat-project-reconcile) | Use when human-implemented commits need to be mapped back to planned tasks. Reconciles implementation.md and state.md after manual work outside the OAT workflow. | user: true; model disabled: true | Yes |
322
+
323
+ ### Project planning
324
+
325
+ | Skill | Description | Visibility | Needs an active project? |
326
+ | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
327
+ | [`oat-project-design`](../workflows/projects/planning/planning-skills.md#oat-project-design) | Use when discovery is complete and implementation-ready decisions are needed. Runs a collaborative, selective collaborative, or draft-and-review design flow, confirms requirements and produces both &#96;spec.md&#96; and &#96;design.md&#96;, and commits artifacts before the user-review gate. | user: true; model disabled: true | Yes |
328
+ | [`oat-project-discover`](../workflows/projects/planning/planning-skills.md#oat-project-discover) | Use when the user explicitly asks to continue discovery for an active spec-driven OAT project — e.g. "continue discovery", "run discovery", or confirms a previously offered discovery step. Do NOT auto-invoke for new ideas or quick/lite-mode projects. Gathers requirements and context before spec/design. | user: true; model disabled: false | Yes |
329
+ | [`oat-project-plan`](../workflows/projects/planning/planning-skills.md#oat-project-plan) | Use when design.md is complete and executable implementation tasks are needed. Breaks design into bite-sized TDD tasks in canonical plan.md format. | user: true; model disabled: true | Yes |
330
+ | [`oat-project-promote-spec-driven`](../workflows/projects/planning/planning-skills.md#oat-project-promote-spec-driven) | Use when a quick or imported project now needs Spec-Driven lifecycle rigor. Backfills missing discovery, spec, and design artifacts in place. | user: true; model disabled: true | Yes |
331
+ | [`oat-project-spec`](../workflows/projects/planning/planning-skills.md#oat-project-spec) | Use when discovery is complete but you're not ready to design yet, and you want to formalize requirements into a structured spec.md as an optional standalone step. Independent of the design workflow — oat-project-design confirms requirements automatically and does not require this skill to be run first. | user: true; model disabled: true | Yes |
332
+
333
+ ### Project state and resume
334
+
335
+ | Skill | Description | Visibility | Needs an active project? |
336
+ | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
337
+ | [`oat-project-clear-active`](../workflows/projects/execution/picking-up-projects.md#oat-project-clear-active) | Use when switching context or cleaning up project state. Clears the active OAT project. | user: true; model disabled: true | Optional |
338
+ | [`oat-project-next`](../workflows/projects/execution/picking-up-projects.md#oat-project-next) | Use when continuing work on the active OAT project. Reads project state, determines the next lifecycle action, and invokes the appropriate skill automatically. | user: true; model disabled: true | Yes |
339
+ | [`oat-project-open`](../workflows/projects/execution/picking-up-projects.md#oat-project-open) | Use when switching to or resuming a specific OAT project. Delegates to &#96;oat project open&#96; for validation and activation. | user: true; model disabled: true | No |
340
+ | [`oat-project-progress`](../workflows/projects/execution/picking-up-projects.md#oat-project-progress) | Use when the user explicitly asks to check OAT project progress — e.g. "check progress", "what's next", "where are we", or confirms a previously offered progress check. Do NOT auto-invoke just because a workflow step completed. Reads project status and offers the next route. | user: true; model disabled: false | Optional |
341
+
342
+ ### Reconnaissance
343
+
344
+ | Skill | Description | Visibility | Needs an active project? |
345
+ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------ |
346
+ | [`recon`](recon.md#recon) | Use when a bounded investigation needs source-grounded evidence before analysis or implementation. Produces a validated evidence-packet directory through approved provider-neutral worker waves. | user: true; model disabled: true | No |
347
+
348
+ ### Repository improvement
349
+
350
+ | Skill | Description | Visibility | Needs an active project? |
351
+ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
352
+ | [`oat-repo-improve`](repo-improve.md#oat-repo-improve) | Use when auditing a repository or turning maintainability reviews, backlog reviews, backlog directories, or backlog items into self-contained external implementation plans. | user: true; model disabled: false | No |
353
+ | [`oat-repo-knowledge-index`](repo-improve.md#oat-repo-knowledge-index) | Use when onboarding OAT to a repository or when knowledge artifacts are stale. Generates or refreshes the codebase knowledge index using parallel mapper agents. | user: true; model disabled: true | No |
354
+ | [`oat-repo-maintainability-review`](repo-improve.md#oat-repo-maintainability-review) | Use when you need a structured maintainability analysis for a repository or directory target with actionable findings and an optional external-plan handoff. | user: true; model disabled: true | No |
355
+
356
+ ### Research and analysis
357
+
358
+ | Skill | Description | Visibility | Needs an active project? |
359
+ | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- | ------------------------ |
360
+ | [`analyze`](research.md#analyze) | Multi-angle analysis of existing artifacts, codebases, documents, or systems. Examines what you have from six analysis angles and produces structured findings with prioritized recommendations. | user: true; model disabled: not declared | No |
361
+ | [`compare`](research.md#compare) | Domain-aware comparative analysis with clear recommendations. Compares options across auto-detected or user-specified dimensions and produces a qualitative assessment with a clear winner. | user: true; model disabled: not declared | No |
362
+ | [`deep-research`](research.md#deep-research) | Comprehensive research orchestrator that classifies topics, dispatches parallel research-angle workers, and produces structured artifacts using domain-specific schemas. | user: true; model disabled: not declared | No |
363
+ | [`skeptic`](research.md#skeptic) | Use when the user questions or suspects an agent claim is wrong. Adversarially gathers evidence to verify or refute the claim using the best sources available in the current environment. | user: true; model disabled: not declared | No |
364
+ | [`synthesize`](research.md#synthesize) | Merge multiple analysis artifacts into a single coherent report with provenance tracking. Reads existing artifacts from /deep-research, /analyze, and /compare. | user: true; model disabled: not declared | No |
365
+
366
+ ### Review
367
+
368
+ | Skill | Description | Visibility | Needs an active project? |
369
+ | ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
370
+ | [`oat-project-review-provide`](../workflows/projects/reviews/review-flavors.md#oat-project-review-provide) | Use when the user explicitly asks to review an OAT project — e.g. "review project", "review the project", "run project review", or confirms a previously offered review. Do NOT auto-invoke on completed work alone. Resolves a project review scope and offers before running. | user: true; model disabled: false | Yes |
371
+ | [`oat-project-review-provide-remote`](../workflows/projects/reviews/review-flavors.md#oat-project-review-provide-remote) | Use when reviewing a GitHub PR opened on another machine for an active OAT project and posting findings back as a single PR review. Resolves the project from the PR diff, reads project artifacts for mode-aware review, and posts via gh api. | user: true; model disabled: true | Yes |
372
+ | [`oat-project-review-receive`](../workflows/projects/reviews/review-flavors.md#oat-project-review-receive) | Use when the user explicitly asks to receive review findings for an OAT project — e.g. "receive review", "process review", "process the project review", or confirms a previously offered review-receive step. Do NOT auto-invoke merely because a review file exists. Resolves the latest review and offers before acting. | user: true; model disabled: false | Yes |
373
+ | [`oat-project-review-receive-remote`](../workflows/projects/reviews/review-flavors.md#oat-project-review-receive-remote) | Use when processing GitHub PR review comments within project context. Fetches PR comments, creates plan tasks, and updates project artifacts. | user: true; model disabled: true | Yes |
374
+ | [`oat-review-provide`](../workflows/projects/reviews/review-flavors.md#oat-review-provide) | Use when you need an ad-hoc review outside an active OAT project lifecycle. Reviews code or artifacts without project phase state, unlike oat-project-review-provide. | user: true; model disabled: true | No |
375
+ | [`oat-review-provide-remote`](../workflows/projects/reviews/review-flavors.md#oat-review-provide-remote) | Use when reviewing a GitHub PR opened on another machine and posting findings back as a single PR review, outside any OAT project context. Fetches the PR via gh, reviews it, and posts via gh api. | user: true; model disabled: true | No |
376
+ | [`oat-review-receive`](../workflows/projects/reviews/review-flavors.md#oat-review-receive) | Use when processing review findings outside project context. Converts local review artifacts into actionable task lists. | user: true; model disabled: true | No |
377
+ | [`oat-review-receive-remote`](../workflows/projects/reviews/review-flavors.md#oat-review-receive-remote) | Use when processing GitHub PR review comments outside project context. Fetches PR comments via agent-reviews and converts them into actionable task lists. | user: true; model disabled: true | No |
378
+
379
+ ### Session closeout
380
+
381
+ | Skill | Description | Visibility | Needs an active project? |
382
+ | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
383
+ | [`oat-wrap-up`](session-closeout.md#oat-wrap-up) | Use when preparing a shipping digest or weekly/biweekly wrap-up summarizing OAT projects and merged PRs over a time window. Reads local summary files and GitHub PR metadata; writes a version-controlled markdown report. | user: true; model disabled: false | No |
384
+
385
+ ### Setup diagnostics
386
+
387
+ | Skill | Description | Visibility | Needs an active project? |
388
+ | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------ |
389
+ | [`oat-doctor`](diagnostics.md#oat-doctor) | Use when you want to check the health of your OAT setup in one place — config, project management &#40;PJM&#41;, agent instructions, docs, and installed tools — and then work through what it finds. Sweeps read-only, reports by area, and dives into an area on request, teaching from the bundled docs and offering exact fix commands. | user: true; model disabled: true | No |
390
+
391
+ ### Skill authoring
392
+
393
+ | Skill | Description | Visibility | Needs an active project? |
394
+ | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------- | ------------------------ |
395
+ | [`create-agnostic-skill`](../contributing/skills.md#create-agnostic-skill) | Use when adding a reusable workflow skill for AI coding agents. Scaffolds a new .agents/skills skill using the Agent Skills open standard. | user: true; model disabled: true | No |
396
+
397
+ ### Subagent orchestration
398
+
399
+ | Skill | Description | Visibility | Needs an active project? |
400
+ | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- | ------------------------ |
401
+ | [`subagent-orchestration`](../workflows/advanced/orchestration-model.md#subagent-orchestration) | Use when delegating work to subagents or choosing a model for a task — routing by task class, selecting provider-specific models and effort, and verifying subagent claims. Covers OpenAI/Codex, Anthropic/Claude, and Cursor. | user: true; model disabled: not declared | No |
402
+
403
+ ### Waves
404
+
405
+ | Skill | Description | Visibility | Needs an active project? |
406
+ | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------ |
407
+ | [`oat-wave-execute`](../workflows/waves/wave-workflows.md#oat-wave-execute) | Use when executing a wave of external implementation plans as a wrapper OAT project — scaffolding, drift refresh, parallel worktree groups, briefs, gates, merge choreography, and closeout. | user: true; model disabled: false | No |
408
+ | [`oat-wave-program`](../workflows/waves/wave-workflows.md#oat-wave-program) | Use when decomposing a corpus of external implementation plans into an ordered wave program — coverage inventory, dependency mapping, wave composition, and the durable execution-program artifact that oat-wave-execute consumes and updates. | user: true; model disabled: false | No |
409
+
410
+ ### Worktree bootstrap
411
+
412
+ | Skill | Description | Visibility | Needs an active project? |
413
+ | ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------ |
414
+ | [`oat-worktree-bootstrap`](../workflows/advanced/worktree-bootstrap.md#oat-worktree-bootstrap) | Use when creating or resuming a git worktree for OAT implementation. Creates or validates a worktree and runs OAT bootstrap checks. | user: true; model disabled: true | Optional |
415
+
416
+ <!-- oat:skill-catalog:end -->
@@ -1,8 +1,10 @@
1
1
  {
2
2
  "title": "Skills",
3
3
  "pages": [
4
- "[Writing Skills](/contributing/skills)",
5
- "[Docs Workflows](/docs-tooling/workflows)",
4
+ "research",
5
+ "brainstorm",
6
+ "diagnostics",
7
+ "session-closeout",
6
8
  "explainer-kit",
7
9
  "repo-improve",
8
10
  "recon"