@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
@@ -1,124 +0,0 @@
1
- ---
2
- title: Picking Up Projects
3
- description: Continue a synced OAT project on another machine or from another user through its dedicated Git ref.
4
- ---
5
-
6
- # Picking Up a Project on Another Machine or From Another User
7
-
8
- Synced projects travel through ordinary Git refs on `origin`. Their artifact
9
- history is independent from the implementation branch, so a teammate or a
10
- second machine can continue the project even before the branch carrying its
11
- record file merges.
12
-
13
- ## Discover and adopt
14
-
15
- From any checkout with access to `origin`:
16
-
17
- ```bash
18
- oat project list --remote
19
- oat project pull <project>
20
- ```
21
-
22
- `list --remote` discovers `refs/oat/projects/*` directly. `pull` can adopt a
23
- remote project that has no local record yet: it writes the record and creates
24
- the nested checkout. When the selected project is a coordination parent, pull
25
- also discovers and pulls its child projects by default. Pass `--no-children`
26
- only when you intentionally want the selected project alone.
27
-
28
- Completed projects are not adoption candidates. Their authoritative ref is
29
- `refs/oat/completed/<project>`; both `pull` and `open` return a terminal
30
- diagnosis instead of recreating an archived checkout or record. A same-SHA
31
- active ref may remain as an inert alias and is ignored. Differing active and
32
- completed SHAs require repair before lifecycle work continues. The same guard
33
- applies to coordination children: a terminal child discovered while pulling
34
- its parent is reported and skipped rather than adopted.
35
-
36
- After adoption, set or open the project through the normal lifecycle command
37
- you are using. Arrival-aware project skills pull before reading its artifacts.
38
-
39
- An adopted quick-workflow project whose `plan.md` is not implementation-ready
40
- resumes through `oat-project-quick-start`, which continues it in place without
41
- re-scaffolding, rather than through `oat-project-implement`. `oat-project-plan`,
42
- `oat-project-progress`, and `oat-project-next` all route by the single **quick
43
- plan readiness** predicate that `oat-project-quick-start` defines; readiness is
44
- never inferred from the presence of tasks alone.
45
-
46
- `oat project status` and `oat project list` apply the same predicate. For a
47
- quick project at the `plan` phase they recommend `oat-project-quick-start`, with
48
- the unmet clause in the reason, until the plan carries ready frontmatter, a
49
- durable `## Reviews` disposition, and a substantive task; only then do they
50
- recommend `oat-project-implement`. Recommendations for lite, spec-driven, and
51
- import projects are unchanged, because the predicate is quick-workflow policy.
52
-
53
- ## What travels
54
-
55
- - The project ref carries the complete active artifact tree and its history.
56
- - The tracked JSON record travels once the branch containing it is shared or
57
- merged.
58
- - Coordination relationships travel in the artifacts and records pulled with
59
- the project.
60
-
61
- ## What does not travel automatically
62
-
63
- - `local` projects never leave their original machine.
64
- - GitHub forks copy branches and tags, but not the `refs/oat/*` namespace. A
65
- fork collaborator needs access to the upstream remote or an explicit ref
66
- transfer.
67
- - A normal `git clone` fetches branches and tags, not custom OAT refs. OAT
68
- handles remote discovery with `ls-remote` and explicitly fetches the selected
69
- project ref during sync operations such as `pull`; do not expect a generic
70
- clone or `git fetch` to materialize the checkout.
71
-
72
- ## Why completed refs remain durable
73
-
74
- `refs/oat/completed/<project>` is a real Git ref locally and on `origin`. The
75
- objects reachable from it remain garbage-collection roots even when no nested
76
- checkout exists. Branch pruning, remote-tracking-ref pruning, and
77
- `git worktree prune` do not delete the completed ref. Completion deliberately
78
- retains this terminal reachability root so pinned PR links remain valid.
79
-
80
- Only the explicit destructive operation `oat project prune` removes the
81
- completed ref and any matching active alias. Treat that as permanent Git
82
- project-history reachability deletion and review its warnings before using
83
- `--force`. Prune does not remove durable local or S3 archive snapshots, and it
84
- refuses to delete either ref when their SHAs differ.
85
-
86
- ## Archive contents
87
-
88
- When archive is selected, completion copies a synced project into
89
- `.oat/projects/archived/<project>/` without the nested checkout's `.git`
90
- pointer or `reviews/`. S3 snapshots also omit `pr/`, following the existing
91
- archive policy. When archive is disabled or declined, the active synced
92
- checkout remains in place. Successful archived closeout instead uploads the S3
93
- snapshot first when configured, makes the completed ref authoritative, removes
94
- the checkout, and deletes the tracked JSON record. The local archive metadata
95
- retains the source-ref identity needed for recordless retries and later S3
96
- restore without recreating active state.
97
-
98
- If closeout is interrupted after terminal archive identity exists, rerun
99
- completion so it can resume from the completed ref and archive metadata. Do not
100
- use `pull` or `open` to recreate an active record or checkout.
101
-
102
- For a `shared` project, archive moves the project into
103
- `.oat/projects/archived/<project>/` and removes the source directory, while
104
- completion keeps the `activeProject` pointer until the receipt validates.
105
- Rerunning completion after an interruption between the archive and that clear
106
- recognizes exactly this state — the pointer names a source directory that no
107
- longer exists and the archive carries `oat_lifecycle: complete` plus the
108
- `Lifecycle complete; archived locally` phase marker — so it validates the
109
- discovered archive and clears the pointer without archiving a second time or
110
- sealing the project log again. An interruption before the archive leaves the
111
- source directory in place, so completion simply reruns from the start and skips
112
- the work it already finished.
113
-
114
- If the archive cannot be discovered — the source directory is gone and either
115
- no archived project or several match the name — completion stops and leaves the
116
- pointer untouched. Recover manually: locate the archive directory under
117
- `.oat/projects/archived/`, confirm `oat_lifecycle: complete` in its `state.md`,
118
- then clear the pointer with `oat config set activeProject ""`.
119
-
120
- ## Related
121
-
122
- - [Reviewing OAT PRs](reviewing-oat-prs.md)
123
- - [Project Artifacts](artifacts.md)
124
- - [Implementation Execution](implementation-execution.md#synced-projects-in-worktrees)
@@ -1,138 +0,0 @@
1
- ---
2
- title: Review Flavors
3
- description: 'The four OAT project review flavors, when each fires in the lifecycle, and who resolves its reviewer target.'
4
- ---
5
-
6
- # Review Flavors
7
-
8
- OAT projects run reviews at several different lifecycle points, and those points
9
- have different independence requirements. A self-review that checks a freshly
10
- written plan does not need the same producer isolation as a lifecycle gate that
11
- signs off on the final artifact. Rather than force one reviewer-selection rule
12
- onto every point, OAT recognizes **four review flavors**, each with its own
13
- target-resolution policy layered on the shared reviewer role class.
14
-
15
- The distinguishing question is always _"who resolves this review's target, and
16
- how independent must that target be from whatever produced the work?"_ The four
17
- flavors answer it differently while preserving one invariant: the reviewer runs
18
- **at or above the ceiling** (see [Dispatch Policy](dispatch-ceiling.md)). Gate
19
- independence is project policy layered on the generic reviewer role class
20
- described in the `oat-project-dispatch-subagents` lifecycle-role table; this page
21
- covers _which_ flavor fires _when_ and _who_ resolves its target, and links out
22
- for the deep review request/receive mechanics.
23
-
24
- ## Quick Look
25
-
26
- - What it does: names the four review flavors and states who resolves each
27
- one's reviewer target.
28
- - When to use it: when you need to know which review fires at a lifecycle point
29
- and whether it inherits, pins the ceiling, or requires an independent gate.
30
- - Primary sources: `oat-project-implement` phase-execution mechanics, the
31
- `oat-project-dispatch-subagents` lifecycle-role table, and project design
32
- Decision #11.
33
-
34
- ## Flow map
35
-
36
- ```mermaid
37
- flowchart TD
38
- subgraph Planning
39
- PL["Planning-phase\nartifact self-review"] --> PLR["Inherit planning parent"]
40
- PLR --> PLT["Parent model\n(root already at/above ceiling)"]
41
- end
42
-
43
- subgraph Implementation
44
- IM["Root-owned phase\nself-review"] --> IMR["Resolve dispatch ceiling"]
45
- IMR --> IMPIN["At-ceiling pin\n(ceiling final candidate)"]
46
- IMR --> IMINH["Inherit\n(only if dispatcher known at/above ceiling)"]
47
- IMR --> IMCLI["Exact CLI reviewer\n(selected pre-launch)"]
48
- end
49
-
50
- subgraph Gates
51
- PG["Phase review gate\n(external)"] --> PGR["Configured cross-family\nexec target (gates.execTargets)"]
52
- PGR --> PGT["Independent CLI/exec target\n(host-avoidance; fail closed)"]
53
-
54
- LG["Lifecycle / final gate"] --> LGR["Cross-runtime CLI\nexec target"]
55
- LGR --> LGT["Producer-independent target\n(fail closed, no self-review substitute)"]
56
- LGT -. may spawn .-> LGN["Nested managed\nreviewer child inside gate"]
57
- end
58
- ```
59
-
60
- The dotted branch marks the only flavor that may **spawn a nested managed
61
- reviewer child** inside the gate exec target: the lifecycle/final gate.
62
-
63
- ## The four flavors
64
-
65
- | Flavor | Lifecycle point | Target resolution |
66
- | ----------------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
67
- | Planning-phase artifact self-review | Auto artifact-review loop for plan/spec/design | Inherit the planning parent by default (root is already at/above ceiling) |
68
- | Implementation-phase self-review | Phase and final code reviews dispatched by `oat-project-implement` | Resolve the dispatch ceiling; pin the ceiling's final candidate (at-ceiling pin); inherit only when the review-owning dispatcher is known to be at/above ceiling; else select an exact CLI reviewer pre-launch |
69
- | Phase review gate (external) | Optional non-pausing gate after a phase passes its self-review | Independent configured cross-family CLI/exec target (`gates.execTargets`), host-avoidance, unconstrained by native catalog; fail closed if unavailable |
70
- | Lifecycle / final gate | End-of-lifecycle sign-off | Cross-runtime CLI exec target, independent of producer context; fails closed rather than substituting same-context self-review; may spawn a nested managed reviewer child inside the gate exec target |
71
-
72
- The first two flavors are **self-reviews**. Planning review inherits its
73
- producing parent by default; implementation phase review is dispatched by the
74
- project root after the phase producer returns. The last two are **gates** — an
75
- external, configured, producer-independent target. Phase implementation may run
76
- _below_ the review ceiling for cost reasons, but review must never silently
77
- inherit the below-ceiling phase agent.
78
-
79
- Pre-plan inheritance has a narrow executable guard. When dispatch resolution
80
- reports `unresolvedReason: policy`, an artifact review of `discovery`, `design`,
81
- or `spec` deliberately inherits the current planning context and records
82
- `selection_reason: inherit (pre-plan; no project policy)`. An explicit project
83
- policy is still honored at those scopes. Missing or incomplete ladders
84
- (`unresolvedReason: ladder | both`) fail closed, as do plan-scope artifact
85
- reviews and every code review without a resolved policy. Gate exec-target
86
- selection is separate and unaffected.
87
-
88
- ## Independence and fail-closed semantics
89
-
90
- The invariant across all four flavors is that the reviewer runs **at or above
91
- the ceiling**. What changes between flavors is the required _independence from
92
- the producer_, and that independence is enforced by failing closed rather than
93
- silently downgrading:
94
-
95
- - **Planning self-review** needs the least independence. The planning root
96
- already runs at or above the review ceiling, so inheriting the parent model
97
- satisfies the invariant without managed re-pinning. Pinning is _possible_
98
- once the ceiling is resolved during planning, but it is not the default.
99
- - **Implementation self-review** needs ceiling-level capability but not
100
- cross-family isolation. The root resolves the dispatch ceiling and pins the
101
- tier's final candidate after the phase report. Inheritance is allowed only
102
- when the root dispatcher is _known_ to be at or above the ceiling; otherwise
103
- an exact provider CLI reviewer is selected before launch. Reviewer selection
104
- is never delegated to the phase implementer.
105
- - **Phase review gate** adds cross-family independence. It uses a configured
106
- independent exec target from `gates.execTargets` with host-avoidance,
107
- unconstrained by the harness's native subagent catalog. If the required
108
- independent target cannot be enforced, the gate **fails closed** — it does
109
- not downgrade to producer-context review.
110
- - **Lifecycle / final gate** requires the strongest independence: a
111
- cross-runtime CLI exec target chosen independently of the producer context.
112
- It fails closed rather than substituting a same-context self-review, and it is
113
- the one flavor permitted to spawn a nested managed reviewer child _inside_ the
114
- gate exec target when the gate's own contract calls for it.
115
-
116
- Gate independence is not a property of the generic reviewer class; it is project
117
- policy layered on top of it. The dispatch adapter resolves the configured gate
118
- target before launch and passes it as exact selection input. Fail-closed
119
- behavior for both gate flavors is deliberate: an unavailable independent target
120
- blocks the gate instead of quietly reusing whatever produced the work. For the
121
- gate configuration keys and non-pausing behavior, see
122
- [Workflow gates](../../cli-utilities/workflow-gates.md) and the
123
- [phase review gate](reviews.md#phase-review-gate) section of the review doc.
124
-
125
- ## Related
126
-
127
- - [Reviews](reviews.md) — the review request/receive flows and the deep review
128
- contract these flavors plug into.
129
- - [Dispatch Policy](dispatch-ceiling.md) — named ceilings, at-ceiling reviewer
130
- selection, and the Dispatch Report V1 / producer-provenance record.
131
- - [HiLL Checkpoints](hill-checkpoints.md) — how the non-pausing phase review gate
132
- relates to pauseable lifecycle checkpoints.
133
- - [Orchestration Model](orchestration-model.md) — the native-first dispatch
134
- topology these reviewer roles run inside.
135
- - [Workflow gates](../../cli-utilities/workflow-gates.md) — gate configuration
136
- and exec-target selection.
137
- - [Smoke testing](../../contributing/smoke-testing.md) — how the fixture makes
138
- these flavors observable and assertable.
@@ -1,184 +0,0 @@
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
- - [Writing Skills](../../contributing/skills.md) - Contributor guide to skill authoring, contracts, and governance.
13
- - [Docs Workflows](../../docs-tooling/workflows.md) - How docs CLI helpers and docs skills work together.
14
- - [Explainer Kit](explainer-kit.md) - Agent-authored generation flow, direct and lifecycle callers, verification ladder, run package, and outcomes.
15
- - [Repo Improve](repo-improve.md) - Source modes, external-plan boundaries, optional tracking, and OAT import handoff.
16
- - [Recon Evidence Packets](recon.md) - Approved worker profiles, validated claim states, packet layout, partial outcomes, and directory-only handoff.
17
-
18
- ## Key Skills by Use Case
19
-
20
- - 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)
21
- - Resume an existing project: `oat-project-open` and `oat-project-progress`
22
- - Execute a ready plan: `oat-project-implement`
23
- - Import an existing plan: `oat-project-import-plan`
24
- - Split a broad discovery or brainstorm into child projects: `oat-project-split`
25
- - Retroactively capture existing work: `oat-project-capture`
26
- - Run or receive reviews: `oat-project-review-provide`, `oat-project-review-receive`, or the non-project review variants
27
- - Generate an evidence-grounded project retrospective, apply approved repo
28
- improvements, or file tracker feedback: `oat-project-retro` and
29
- `oat-project-retro-file`. See
30
- [Project Retrospectives](../projects/retro.md).
31
- - 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
32
- - Manage the repo backlog and reference docs: `oat-pjm-update-repo-reference`, `oat-pjm-review-backlog`
33
- - Operate an explicit GitHub, Linear, or Jira planning-record binding through a
34
- live host capability: `oat-pjm-remote`. The OAT CLI retains policy, preview,
35
- approval, journal, and verification authority; the skill discovers and
36
- invokes only the exact host action emitted for one durable operation.
37
- - 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.
38
- - 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.
39
- - 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).
40
- - 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`
41
- - Generate a shipping digest or scheduled recap: `oat-wrap-up`
42
- - 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](../wave-workflows.md)
43
- - Research a topic in depth: `deep-research`
44
- - Acquire and validate bounded evidence for another workflow: `recon`
45
- - Analyze an artifact, codebase, or document: `analyze`
46
- - Compare options with domain-aware dimensions: `compare`
47
- - Verify a claim adversarially: `skeptic`
48
- - Merge multiple analysis artifacts: `synthesize`
49
- - 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`
50
- - 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](../../cli-utilities/tool-packs.md) for the brainstorm pack details.
51
-
52
- ## Remote host execution loop
53
-
54
- Use `oat-pjm-remote` only for an explicit remote lifecycle request. Its loop is
55
- deliberately narrow:
56
-
57
- 1. Before the first provider-contacting command, inspect currently granted MCP
58
- or connector descriptions for a semantic and exact-context match.
59
- 2. If no capable connector is available, inspect an already configured
60
- provider CLI's live help before the first attempt. Do not install a tool,
61
- retain its dialect, or switch execution surfaces mid-attempt.
62
- 3. Construct only bounded provider-neutral capability evidence and pass it to
63
- the requested command with `--capability-evidence-stdin`. Treat the CLI's
64
- policy, preview, approval, safety, and durable state as authoritative.
65
- 4. When the CLI returns `pending` with `externalAction`, execute that exact
66
- semantic action at most once and submit one bounded,
67
- sanitized observation with `oat pjm remote operation continue`.
68
- 5. Continue only when the CLI emits another exact action for the same durable
69
- operation. Stop on its terminal envelope.
70
-
71
- The skill cannot broaden the normalized projection, bypass effective policy,
72
- binding clamps, purpose field grants, hard approval floors, or caller-owned
73
- authority evidence, read credential values, persist native provider data, or
74
- declare remote success. A connector result, process exit, or visible remote
75
- change is only evidence. Success requires an OAT `ok` envelope after
76
- authoritative read-back.
77
- See [Remote Project Management](../../cli-utilities/remote-project-management.md)
78
- for policy, storage, approval, and recovery details.
79
-
80
- ## If You Are Trying To...
81
-
82
- - choose the right skill for a task, stay in this guide page
83
- - write or update a skill, use [Writing Skills](../../contributing/skills.md)
84
- - understand how docs-specific skills fit with docs commands, use [Docs Workflows](../../docs-tooling/workflows.md)
85
-
86
- ## Full Catalog
87
-
88
- === "Project lifecycle"
89
-
90
- - `oat-project-new`
91
- - `oat-project-quick-start`
92
- - `oat-project-lite`
93
- - `oat-project-import-plan`
94
- - `oat-project-promote-spec-driven`
95
- - `oat-project-open`
96
- - `oat-project-clear-active`
97
- - `oat-project-discover`
98
- - `oat-project-spec`
99
- - `oat-project-design`
100
- - `oat-project-plan`
101
- - `oat-project-plan-writing`
102
- - `oat-project-split`
103
- - `oat-project-implement`
104
- - `oat-project-progress`
105
- - `oat-project-next`
106
- - `oat-project-capture`
107
- - `oat-project-reconcile`
108
- - `oat-project-review-provide`
109
- - `oat-project-review-provide-remote`
110
- - `oat-project-review-receive`
111
- - `oat-project-review-receive-remote`
112
- - `oat-project-pr-progress`
113
- - `oat-project-pr-final`
114
- - `oat-project-document`
115
- - `oat-project-retro`
116
- - `oat-project-retro-file`
117
- - `oat-explainer-kit`
118
- - `oat-wrap-up`
119
- - `oat-project-complete`
120
- - `oat-wave-program`
121
- - `oat-wave-execute`
122
-
123
- === "Ideas"
124
-
125
- - `oat-idea-new`
126
- - `oat-idea-ideate`
127
- - `oat-idea-scratchpad`
128
- - `oat-idea-summarize`
129
-
130
- === "Brainstorming"
131
-
132
- - `oat-brainstorm`
133
-
134
- === "Docs and instructions"
135
-
136
- - `authoring-docs`
137
- - `oat-docs-authoring`
138
- - `oat-docs-bootstrap`
139
- - `oat-docs-analyze`
140
- - `oat-docs-apply`
141
- - `oat-agent-instructions-analyze`
142
- - `oat-agent-instructions-apply`
143
-
144
- === "Review, backlog, and maintenance"
145
-
146
- - `oat-review-provide`
147
- - `oat-review-provide-remote`
148
- - `oat-review-receive`
149
- - `oat-review-receive-remote`
150
- - `oat-repo-knowledge-index`
151
- - `oat-repo-maintainability-review`
152
- - `oat-repo-improve`
153
- - `oat-pjm-add-backlog-item`
154
- - `oat-pjm-update-repo-reference`
155
- - `oat-pjm-review-backlog`
156
- - `oat-pjm-remote`
157
- - `docs-completed-projects-gap-review`
158
-
159
- === "Research"
160
-
161
- - `recon`
162
- - `deep-research`
163
- - `analyze`
164
- - `compare`
165
- - `skeptic`
166
- - `synthesize`
167
-
168
- === "Scaffolding and utility"
169
-
170
- - `subagent-orchestration`
171
- - `explainer-kit`
172
- - `oat-worktree-bootstrap`
173
- - `oat-worktree-bootstrap-auto`
174
- - `create-oat-skill`
175
- - `create-agnostic-skill`
176
- - `create-pr-description`
177
- - `create-ticket`
178
- - `codex-skill`
179
-
180
- ## Discovery Source
181
-
182
- `AGENTS.md` is the session-facing registry. It should stay aligned with skill frontmatter and the canonical skill directories under `.agents/skills/`.
183
-
184
- 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.
@@ -1,89 +0,0 @@
1
- ---
2
- title: Repo Improve
3
- description: 'Turn repository audits, maintainability reviews, and backlog sources into standalone external implementation plans.'
4
- ---
5
-
6
- # Repo Improve
7
-
8
- Use `oat-repo-improve` when the desired output is an executable implementation plan rather than another analysis report. Every successful run writes one or more standalone plans under `.oat/repo/reference/external-plans/`.
9
-
10
- ## Choose a source
11
-
12
- | Source | Use it when |
13
- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
14
- | Repo audit | You need fresh repository reconnaissance and vetted improvement findings. |
15
- | Maintainability review | A file-backed `oat-repo-maintainability-review` already identifies candidates. Improve verifies selected evidence without repeating the broad audit. |
16
- | Backlog review | A living backlog review and optional priority alignment already establish value, dependencies, and sequencing. |
17
- | Backlog directory | You want to start from active items. Substantive backlogs should pass through backlog review and alignment before plan generation. |
18
- | Backlog item | One existing item needs enough repository investigation to become executable. |
19
-
20
- With no source argument, the skill probes for available review and backlog artifacts, annotates all five options, and asks which source to use.
21
-
22
- ## Set repo-audit boundaries
23
-
24
- Fresh repo audits exclude agent-configuration directories from findings and plan candidates by default. The canonical default directory names are `.agents/`, `.claude/`, `.codex/`, and `.cursor/` at any depth. These locations commonly contain provider configuration, generated views, or externally sourced skills rather than the product surfaces being reviewed.
25
-
26
- Before reconnaissance, improve shows that default and asks whether to:
27
-
28
- - Keep all four exclusions.
29
- - Include selected directory names.
30
- - Include all four directory names.
31
-
32
- It then asks whether any other repo-relative directories should be excluded and suggests other recognizable provider directories when present. The resolved scope is shown before work begins and is applied consistently to direct searches and delegated audit lanes.
33
-
34
- These are findings exclusions, not absolute read prohibitions. Improve may read bounded instruction, convention, or intent files inside an excluded directory to understand the repository, but it does not turn those files into findings or plan candidates unless the user includes or explicitly targets that directory. A file cited by an artifact-backed source can still be verified after scope confirmation; symlinked provider views are never followed outside the repository.
35
-
36
- ## Output boundary
37
-
38
- External plans are not canonical OAT project `plan.md` files. They contain self-contained context, scope, steps, verification, done criteria, and STOP conditions, but no canonical OAT phase/task IDs or lifecycle bookkeeping. External execution-readiness metadata is a separate thing and is carried deliberately: it describes whether the plan's own prerequisites have merged, not how an OAT project is moving through phases.
39
-
40
- After generation, choose either execution path:
41
-
42
- - Execute a plan directly as a standalone handoff.
43
- - Run `oat-project-import-plan <external-plan-path>` to preserve and normalize one plan for tracked OAT execution.
44
-
45
- Project-sized candidates are split when possible. If inseparable work needs multiple design decisions or lacks one coherent verification boundary, improve recommends an OAT project workflow instead of emitting a mega-plan.
46
-
47
- ## Plan readiness and execution readiness
48
-
49
- Improve scores candidates on two independent axes. A candidate is plan-ready when it is understood well enough to write a self-contained executable plan, and execution-ready when every hard dependency it names has already merged.
50
-
51
- A blocked candidate is still planned. Rather than dropping work whose prerequisite has not landed, improve writes the plan and records the block:
52
-
53
- - `oat_execution_status` is `READY` or `BLOCKED` in plan frontmatter.
54
- - A typed `## Dependencies` table marks each row `Hard`, `Soft`, or `Satisfied`, and every `Hard` row names the state that would unblock it.
55
- - `## Landing-event impact` records what to re-anchor when a named PR or project lands, and `## Revalidation Before Execution` records when the plan must be re-checked against live state.
56
-
57
- Plan provenance is recorded as two separate SHAs: `oat_external_plan_commit` is the full SHA of the `HEAD` whose content was actually inspected, and `oat_external_plan_main_commit` is the fetched `origin/main` or merge-base used only for comparison. They may differ, and normally do when planning happens on a branch.
58
-
59
- Plans written before this contract landed are read in legacy mode: a short SHA, a missing comparison SHA, missing sections, and a missing status (read as `READY`) are all accepted, and those plans are never rewritten.
60
-
61
- ## Optional tracking
62
-
63
- Plans are always the primary output. Tracking is optional and source-aware:
64
-
65
- - `--backlog-items` creates missing PJM items for repo-audit or maintainability-review plans. Backlog-backed sources reuse their existing items and add `external_plans` reverse links.
66
- - `--issues` previews one GitHub issue per plan, checks repository visibility and sensitive content, and requires explicit confirmation before publication. It is useful as a fallback when PJM is not installed.
67
- - Request both modifiers explicitly to create both forms. Neither implies the other.
68
-
69
- Failure to publish a backlog item or issue does not invalidate a successfully written plan; the skill reports partial tracking results precisely.
70
-
71
- ## Orchestration
72
-
73
- Full repository audits use bounded read-only reconnaissance while the root
74
- agent retains classification, vetting, prioritization, cross-lane synthesis,
75
- and plan writing. Plan writes never move below the caller's model class — a
76
- parallelized author runs on the caller's model and every plan is
77
- caller-reviewed before publication or wave composition; the
78
- `keeps external-plan writes on the caller's model class` case in
79
- `skills-bundled-docs-contract.test.ts` is the backstop. Before launch, the
80
- caller loads the durable task classes and model-selection principles from
81
- `subagent-orchestration` plus exactly one active-provider selection reference.
82
-
83
- The internal `oat-dispatch-subagents` skill then owns capability checks, live
84
- catalog intersection, exact route selection, launch acceptance, recovery, and
85
- dispatch records. It loads exactly one matching provider mechanics reference;
86
- selection and mechanics references are not merged into one universal provider
87
- contract. Dispatch is native-first. Configured project/workflow policy may
88
- authorize required CLI or cross-runtime routes; an agent-improvised alternate
89
- route requires explicit current-run approval.
@@ -1,77 +0,0 @@
1
- ---
2
- title: Wave Workflows
3
- description: How OAT coordinates a corpus of external plans into waves while preserving project-lifecycle ownership and human judgment.
4
- ---
5
-
6
- # Wave Workflows
7
-
8
- A wave is a program layer above the per-project OAT lifecycle. It groups external implementation plans into an ordered delivery unit, then runs that unit as a wrapper OAT project. The wrapper uses the normal project lifecycle rather than replacing it.
9
-
10
- Use wave workflows when a plan corpus is too large to execute as one project and needs durable sequencing across multiple projects, worktree groups, and merges.
11
-
12
- ## The Two Wave Skills
13
-
14
- The workflow pack provides two complementary skills:
15
-
16
- - `oat-wave-program` 1.1.0 maintains the durable execution-program artifact over the full plan corpus. Its `new` mode inventories the corpus, verifies the coverage invariant, and records the orchestrator-composed, operator-approved first program; `refresh` adds newly landed plans to the artifact and records the orchestrator's re-composition of waves not yet started; and `wave-close` records a completed wave. Composing waves is the orchestrating agent's judgment; the skill records the result.
17
- - `oat-wave-execute` 1.5.0 runs one wave. It owns the repeatable mechanical layer: wrapper-project scaffolding, branch conventions, worktree bootstrap, briefs, gates, merge choreography, bookkeeping cadence, and closeout order.
18
-
19
- `oat-wave-program` records which plans belong to each wave. `oat-wave-execute` consumes that mapping and executes one wave through the project lifecycle.
20
-
21
- ## Mechanical Work and Judgment
22
-
23
- The ownership split is load-bearing. The skills automate mechanics, but the orchestrator retains judgment.
24
-
25
- The skills own:
26
-
27
- - integration and phase branch naming
28
- - wrapper-project scaffolding
29
- - worktree bootstrap
30
- - merge choreography
31
- - artifact and ledger bookkeeping
32
- - repeatable verification and closeout sequencing
33
-
34
- The orchestrator owns:
35
-
36
- - wave and parallel-group composition
37
- - review-finding dispositions
38
- - verification of load-bearing worker claims
39
- - merge-order decisions under live drift
40
- - cross-lane and end-of-run synthesis
41
- - all user checkpoints
42
-
43
- Do not treat a generated grouping or a mechanically successful lane as a substitute for these decisions.
44
-
45
- ## Composition With Project Implementation
46
-
47
- Each wave is scaffolded as a quick-mode wrapper project. Its plan points to the source plans while preserving their requirements, and `oat-project-implement` remains the lifecycle owner for phase execution, independent review, bounded fixes, checkpoints, and project state.
48
-
49
- For plan-declared parallel groups, `oat-wave-execute` invokes its bundled `scripts/bootstrap-group.sh` helper. The helper wraps the standard worktree bootstrap flow, creates phase worktrees at an explicit base, initializes each worktree, checks provider-view parity, and reports structured status. `oat-project-implement` then dispatches and verifies each phase in its assigned worktree. The wave layer owns the serialized fan-in and integration gates after those phases pass.
50
-
51
- This composition keeps the responsibilities separate:
52
-
53
- 1. `oat-wave-program` records the program and wave membership.
54
- 2. `oat-wave-execute` scaffolds and coordinates one wrapper project.
55
- 3. `oat-project-implement` executes that project's phases.
56
- 4. `oat-wave-program wave-close` updates the durable program after the wave merges.
57
-
58
- ## Execution-Program Artifact Format
59
-
60
- The execution-program artifact is durable reference material under `.oat/repo/reference/external-plans/`. It is not an executable plan or an `oat-project-import-plan` target.
61
-
62
- The current format contains:
63
-
64
- - **Wave table:** one row per source plan, including its link, source index, assigned wave, ordering or dependency notes, and status (`pending`, `in-wave`, `done`, `deferred`, or `dropped`).
65
- - **Coverage invariant:** every plan in every source plan index appears in exactly one row. A deferred or dropped plan includes a reason and re-entry trigger; an omitted plan is an error.
66
- - **Wave sections:** the theme, lane list, intra-wave ordering, and cross-wave prerequisites for each wave.
67
- - **Status ledger:** each wave advances from composed to in-progress to merged, with the wrapper-project link, PR, merge SHA, and completion-record link recorded as they become available.
68
-
69
- > **Important:** This format is documented as a description, not a stable contract. Contract work is deferred in **BL-260718-document-execution-program — Document execution-program artifact as stable OAT contract**, grouped with **BL-260718-add-oat-wave-lifecycle-cli — Add oat wave lifecycle CLI command family**.
70
-
71
- Until that grouped work ships, consumers should follow the bundled skill and template rather than depending on an independently versioned schema.
72
-
73
- ## Related
74
-
75
- - [Project lifecycle](projects/lifecycle.md)
76
- - [Implementation execution](projects/implementation-execution.md)
77
- - [Project artifacts](projects/artifacts.md)