@open-agent-toolkit/cli 0.3.13 → 0.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/docs/contributing/index.md +14 -1
  4. package/assets/docs/contributing/markdown-features.md +38 -0
  5. package/assets/docs/contributing/skills.md +64 -2
  6. package/assets/docs/contributing/smoke-testing.md +23 -16
  7. package/assets/docs/contributing/updating-model-guidance.md +2 -2
  8. package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
  9. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +32 -0
  10. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  11. package/assets/docs/docs-tooling/index.md +1 -0
  12. package/assets/docs/docs-tooling/meta.json +1 -1
  13. package/assets/docs/docs-tooling/workflows.md +338 -2
  14. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  15. package/assets/docs/getting-started/concepts.md +120 -0
  16. package/assets/docs/getting-started/index.md +68 -0
  17. package/assets/docs/getting-started/meta.json +4 -0
  18. package/assets/docs/getting-started/quickstart.md +174 -0
  19. package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +142 -14
  20. package/assets/docs/index.md +47 -48
  21. package/assets/docs/meta.json +6 -7
  22. package/assets/docs/provider-sync/commands.md +25 -2
  23. package/assets/docs/provider-sync/config.md +60 -1
  24. package/assets/docs/provider-sync/index.md +31 -15
  25. package/assets/docs/provider-sync/instruction-sync.md +32 -1
  26. package/assets/docs/provider-sync/manifest-and-drift.md +92 -0
  27. package/assets/docs/provider-sync/meta.json +1 -0
  28. package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
  29. package/assets/docs/provider-sync/scope-and-surface.md +37 -3
  30. package/assets/docs/reference/cli-reference.md +33 -33
  31. package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
  32. package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
  33. package/assets/docs/reference/file-locations.md +4 -1
  34. package/assets/docs/reference/index.md +13 -1
  35. package/assets/docs/reference/meta.json +7 -1
  36. package/assets/docs/reference/oat-directory-structure.md +1 -1
  37. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  38. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +28 -21
  39. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  40. package/assets/docs/reference/troubleshooting.md +125 -10
  41. package/assets/docs/reference/what-oat-writes.md +410 -0
  42. package/assets/docs/skills/brainstorm.md +77 -0
  43. package/assets/docs/skills/diagnostics.md +56 -0
  44. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  45. package/assets/docs/skills/index.md +416 -0
  46. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  47. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  48. package/assets/docs/skills/repo-improve.md +254 -0
  49. package/assets/docs/skills/research.md +237 -0
  50. package/assets/docs/skills/session-closeout.md +61 -0
  51. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  52. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  53. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  54. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +20 -13
  55. package/assets/docs/workflows/advanced/index.md +19 -0
  56. package/assets/docs/workflows/advanced/meta.json +13 -0
  57. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +108 -35
  58. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  59. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  60. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  61. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  62. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  63. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  64. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  65. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  66. package/assets/docs/workflows/choose-workflow.md +114 -0
  67. package/assets/docs/workflows/ideas/index.md +3 -3
  68. package/assets/docs/workflows/ideas/lifecycle.md +225 -1
  69. package/assets/docs/workflows/index.md +11 -62
  70. package/assets/docs/workflows/meta.json +10 -2
  71. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  72. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  73. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  74. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  75. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  76. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  77. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +52 -38
  78. package/assets/docs/workflows/projects/execution/index.md +15 -0
  79. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  80. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  81. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  82. package/assets/docs/workflows/projects/index.md +38 -49
  83. package/assets/docs/workflows/projects/lifecycle.md +159 -74
  84. package/assets/docs/workflows/projects/meta.json +2 -23
  85. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  86. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  87. package/assets/docs/workflows/projects/planning/index.md +16 -0
  88. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  89. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  90. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  91. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  92. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  93. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  94. package/assets/docs/workflows/projects/reviews/review-flavors.md +650 -0
  95. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  96. package/assets/docs/workflows/waves/index.md +12 -0
  97. package/assets/docs/workflows/waves/meta.json +4 -0
  98. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  99. package/assets/public-package-versions.json +4 -4
  100. package/assets/skills/oat-docs/SKILL.md +19 -19
  101. package/assets/skills/oat-docs-analyze/SKILL.md +1 -1
  102. package/assets/skills/oat-docs-apply/SKILL.md +1 -1
  103. package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
  104. package/assets/skills/oat-docs-bootstrap/SKILL.md +1 -1
  105. package/assets/skills/oat-doctor/SKILL.md +25 -25
  106. package/assets/templates/docs-app-fuma/app/[[...slug]]/page.tsx +14 -2
  107. package/assets/templates/docs-app-fuma/app/globals.css +1 -0
  108. package/dist/release/public-package-contract.js +1 -1
  109. package/package.json +2 -2
  110. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  111. package/assets/docs/cli-utilities/index.md +0 -74
  112. package/assets/docs/cli-utilities/meta.json +0 -13
  113. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  114. package/assets/docs/guide/concepts.md +0 -88
  115. package/assets/docs/guide/index.md +0 -31
  116. package/assets/docs/guide/meta.json +0 -4
  117. package/assets/docs/quickstart.md +0 -88
  118. package/assets/docs/workflows/projects/autonomy.md +0 -196
  119. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  120. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  121. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  122. package/assets/docs/workflows/skills/index.md +0 -184
  123. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  124. package/assets/docs/workflows/wave-workflows.md +0 -77
@@ -0,0 +1,381 @@
1
+ ---
2
+ title: Planning skills
3
+ description: 'Continue discovery, formalize requirements, design a solution, write executable tasks, or promote an existing project.'
4
+ ---
5
+
6
+ # Planning skills
7
+
8
+ These skills act on an existing project. They do not create one from a new
9
+ idea. Choose a [project entry skill](starting-projects.md) first if the work is
10
+ not yet tracked.
11
+
12
+ For a spec-driven project (one using the full workflow: discovery, design, plan,
13
+ then implementation), the usual path is discovery, then design, then plan.
14
+ Design confirms requirements and produces `spec.md` as well as `design.md`.
15
+ Standalone spec is optional when you want to review requirements before
16
+ designing. Quick, lite, and import workflows author their own plans through
17
+ their entry skills. Do not send those projects through spec-driven planning
18
+ just because they contain a file named `plan.md`.
19
+
20
+ | You need to resolve | Skill |
21
+ | --------------------------------------------------------------- | --------------------------------- |
22
+ | The problem, scope, alternatives, and success criteria. | `oat-project-discover` |
23
+ | Formal requirements before technical design. | `oat-project-spec` |
24
+ | Architecture, interfaces, and verification decisions. | `oat-project-design` |
25
+ | Executable phases and tasks from a completed design. | `oat-project-plan` |
26
+ | More lifecycle rigor for an existing quick or imported project. | `oat-project-promote-spec-driven` |
27
+
28
+ ## Check the project before continuing
29
+
30
+ The examples are requests to your agent. `/oat-project-design` uses slash-command
31
+ syntax. A provider that uses `$` skill syntax accepts `$oat-project-design`
32
+ instead. Neither form is an `oat` terminal subcommand. Terminal commands below
33
+ use `bash` blocks.
34
+
35
+ Every skill on this page acts on the _active project_, the project recorded as
36
+ `activeProject` in `.oat/config.local.json`. Resolve it and inspect its
37
+ artifacts (project files such as `discovery.md`, `design.md`, and `state.md`)
38
+ before continuing:
39
+
40
+ ```bash
41
+ oat config get activeProject
42
+ oat project status
43
+ ```
44
+
45
+ Read the reported project's `state.md` and relevant artifact frontmatter.
46
+ An artifact that exists can still be a template or unfinished draft. Its
47
+ presence alone does not prove readiness. If another project is active, switch
48
+ to the intended project through `oat-project-open` before invoking these skills.
49
+
50
+ Planning writes and commits artifacts without asking, but it does not implement
51
+ the product. For synced-scope projects, each commit is pushed to `origin` with
52
+ `oat project push`. A committed draft is not necessarily approved.
53
+
54
+ A _HiLL (human-in-the-loop lifecycle) checkpoint_ is a point where a skill stops
55
+ and waits for your explicit approval before marking a phase complete. Projects
56
+ created with `oat-project-new` have HiLL approvals on discovery and design **by
57
+ default**: each skill stops after writing its artifact and waits for your
58
+ explicit approval before marking it complete. Quick, lite, and import projects
59
+ have no workflow-phase HiLL checkpoints. Configured exit gates (optional reviews
60
+ or commands your repository runs before a skill marks its work complete) can
61
+ also keep an artifact in progress. See [HiLL checkpoints](hill-checkpoints.md).
62
+ The [skill catalog](../../../skills/index.md) lists the broader lifecycle tools.
63
+
64
+ ## oat-project-discover
65
+
66
+ Use discovery to clarify the problem before deciding how to implement it. The
67
+ skill explores alternatives and captures constraints without writing code,
68
+ technical specifications, or task lists.
69
+
70
+ **Invocation:** Explicitly request discovery for the active spec-driven project.
71
+ The skill confirms the project before continuing.
72
+
73
+ ```text
74
+ /oat-project-discover
75
+ Continue discovery for webhook-delivery. Clarify delivery guarantees and which failures users need to investigate.
76
+ ```
77
+
78
+ **Prerequisites:** Needs an active OAT project: yes, a spec-driven one. If none
79
+ is active, discovery stops and points you to `oat-project-new` or
80
+ `oat-project-open`. A missing workflow-mode field is accepted only for a legacy
81
+ spec-driven project. The repository knowledge index must exist at
82
+ `.oat/repo/knowledge/project-index.md`. If it is missing, run
83
+ `oat-repo-knowledge-index` first. The skill checks knowledge staleness and asks
84
+ whether to refresh or continue when the index is stale.
85
+
86
+ Quick, import, and lite projects use their own next step instead. Mentioning a
87
+ new idea does not authorize automatic discovery invocation.
88
+
89
+ **Example scenario:** The webhook-delivery project is active, but the team has
90
+ not agreed whether duplicate deliveries are acceptable or how operators detect
91
+ lost events. Discovery asks targeted questions, compares approaches, and records
92
+ the chosen direction and measurable outcomes. It leaves concrete component
93
+ design for the next phase.
94
+
95
+ **Expected output:** `discovery.md` records the request, clarifying answers,
96
+ approaches, decisions, constraints, success criteria, and exclusions. Deferred
97
+ ideas and open questions stay visible. The skill also evaluates whether the
98
+ scope is one cohesive project or needs a confirmed split. If you confirm a
99
+ split, `oat-project-split` still needs a saved split-plan JSON file. Discovery
100
+ does not write one. See [oat-project-split](starting-projects.md#oat-project-split).
101
+
102
+ By default, discovery is a HiLL checkpoint: the skill stops and asks you to
103
+ approve discovery before it continues. If you do not approve yet, discovery
104
+ stays in progress. After approval and any configured exit gate resolve,
105
+ discovery completes through the CLI validation boundary and becomes ready for
106
+ `oat-project-design`. A split child must revalidate inherited context before
107
+ discovery can complete.
108
+
109
+ **What it does without asking:** After you confirm it should continue with the
110
+ active project, its setup steps copy fresh `state.md` and `discovery.md`
111
+ templates into the project with `oat template resolve --output`, which
112
+ overwrites existing files of those names. At completion it runs
113
+ `oat project complete-discovery --ready-for oat-project-design`, updates
114
+ `state.md`, and commits `discovery.md` and `state.md` (an `oat project push` to
115
+ `origin` in synced scope). It runs any configured exit gate and passes an
116
+ eligible result to `oat-project-review-receive`. If you choose to split, it
117
+ hands off to `oat-project-split`. In non-interactive runs that detect a split,
118
+ it appends a "Detected Split Recommendation" section to `discovery.md` and
119
+ exits with an error. It asks before: continuing with the active project,
120
+ continuing on a stale knowledge index, choosing an approach, the scope check
121
+ (always shown in interactive runs), and the HiLL approval.
122
+
123
+ **Next step:** Run `oat-project-design` for requirements confirmation and full
124
+ design. If you want a standalone requirements review first, check
125
+ [oat-project-spec's readiness requirement](#oat-project-spec) before invoking it.
126
+
127
+ ## oat-project-spec
128
+
129
+ Use standalone spec when discovery is complete but you want requirements
130
+ formalized before starting technical design. Running this skill is not a
131
+ mandatory step before design.
132
+
133
+ **Invocation:** Explain the requirements review you want for the active project.
134
+
135
+ ```text
136
+ /oat-project-spec
137
+ Formalize the webhook delivery requirements and acceptance criteria before we decide on storage and worker design.
138
+ ```
139
+
140
+ **Prerequisites:** Needs an active OAT project: yes. If none is active, the
141
+ skill asks for a project name and sets it as the active project. The existing
142
+ project's `discovery.md` must record `oat_status: complete` and
143
+ `oat_ready_for: oat-project-spec`. Discovery content must include the chosen
144
+ approach with rationale, constraints, measurable success criteria, and scope
145
+ boundaries. Relevant repository knowledge provides additional context.
146
+
147
+ Current behavior: standalone spec refuses any discovery completed the normal
148
+ way. Discovery records `oat_ready_for: oat-project-design`, and spec requires
149
+ `oat-project-spec`. There are two ways forward:
150
+
151
+ 1. **Recommended:** skip standalone spec and run `oat-project-design`, which
152
+ confirms requirements and writes `spec.md` for you.
153
+ 2. **If you need a separate requirements review:** re-mark discovery as ready
154
+ for spec, commit the change (with `oat project push` for a synced project),
155
+ and then invoke spec. This command sets `oat_ready_for` in `discovery.md`'s
156
+ frontmatter after validating the project:
157
+
158
+ ```bash
159
+ oat project complete-discovery <project-path> --ready-for oat-project-spec
160
+ ```
161
+
162
+ **Example scenario:** Stakeholders need to agree on retention and delivery
163
+ guarantees before you choose infrastructure. With discovery complete and
164
+ re-marked as ready for spec, spec translates those outcomes into functional and
165
+ non-functional requirements, priorities, and testable acceptance criteria.
166
+ Choose it instead of design because the immediate decision is what the system
167
+ must do, not how its components work.
168
+
169
+ **Expected output:** `spec.md` contains the problem, goals, non-goals,
170
+ requirements, constraints, dependencies, proposed high-level approach, and
171
+ success metrics. Its Requirement Index gives each requirement a stable ID and
172
+ verification method. Planned tasks remain unassigned until planning.
173
+
174
+ The skill iterates on requirements with you and checks quality and boundaries.
175
+ It does not select new technology beyond discovery, design component internals,
176
+ or write implementation tasks. After the completion boundary, the spec is ready
177
+ for `oat-project-design`.
178
+
179
+ **What it does without asking:** It copies the spec template to `spec.md`
180
+ (overwriting an existing `spec.md`), writes the requirements, marks the spec
181
+ complete and ready for design, updates `state.md`, and commits `spec.md` and
182
+ `state.md` (an `oat project push` to `origin` in synced scope). It stops for
183
+ approval only if `spec` is a configured HiLL checkpoint, which it is not by
184
+ default. It runs no exit gate. It asks for a project name when none is active,
185
+ and asks you to confirm the requirements until you agree they are complete.
186
+
187
+ **Next step:** Run `oat-project-design`, which reuses the completed spec instead
188
+ of drafting the requirements again.
189
+
190
+ ## oat-project-design
191
+
192
+ Use design to make the architecture and implementation decisions that a plan
193
+ needs. Requirements confirmation is part of this flow, so a separate spec phase
194
+ is usually unnecessary.
195
+
196
+ **Invocation:** Choose an interaction mode when you know how you want to review
197
+ the design.
198
+
199
+ ```text
200
+ /oat-project-design --mode collaborative
201
+ ```
202
+
203
+ Supported modes are `collaborative`, `selective`, and `draft`. Collaborative
204
+ presents each section for confirmation. Selective drafts routine sections and
205
+ walks you through sections that need review, after confirming a section review
206
+ plan. Draft writes the full design for review together. See
207
+ [Design modes](design-modes.md) for selection and precedence.
208
+
209
+ **Prerequisites:** Needs an active OAT project: yes. If none is active, the
210
+ skill asks for a project name and sets it as the active project. The existing
211
+ project needs completed discovery. A pre-existing `spec.md` must be complete and
212
+ ready for design. If that file is an incomplete draft, resolve it before
213
+ continuing. If no spec exists, design creates it from discovery. Repository
214
+ knowledge provides architecture and implementation context.
215
+
216
+ **Example scenario:** Webhook requirements are clear, but the queue, delivery
217
+ record, and retry worker need consistent responsibilities. Choose collaborative
218
+ mode to review those interfaces and failure cases section by section. Design
219
+ confirms requirements, reaffirms the chosen approach once, and checks that the
220
+ testing strategy covers each requirement.
221
+
222
+ **Expected output:** A completed or reused `spec.md` and a `design.md` covering
223
+ architecture, components, data, interfaces, security, failure handling, tests,
224
+ deployment, migration, and risks as applicable. Requirements map to verification
225
+ scenarios, and implementation phases give planning a starting point.
226
+
227
+ In collaborative mode, approved sections are assembled into the file after the
228
+ section pass. Draft mode writes the full file first. The skill self-reviews and
229
+ commits the design before its user-review prompt. By default, design is a HiLL
230
+ checkpoint on projects created with `oat-project-new`: after the commit, the
231
+ skill shows you where `design.md` and `spec.md` are and waits for your approval
232
+ or change requests. It marks design complete only after you approve and any
233
+ configured exit gate resolves. Committing the draft alone does not mean it is
234
+ approved.
235
+
236
+ **What it does without asking:** When it writes `spec.md`, it commits it
237
+ separately. It self-reviews `design.md` and `spec.md` and fixes issues inline
238
+ without a prompt, then commits `spec.md`, `design.md`, and `state.md` as a
239
+ draft, even when no HiLL checkpoint is configured. In selective mode, routine
240
+ sections are drafted without live confirmation. Each revision after your
241
+ feedback is a new commit. Without a `design` or `spec` HiLL checkpoint, it skips
242
+ the review prompt and continues to completion. It runs any configured exit gate,
243
+ passes an eligible result to `oat-project-review-receive`, then marks design
244
+ complete and commits `design.md` and `state.md`. In synced scope every commit is
245
+ an `oat project push` to `origin`. It asks before: choosing the interaction mode
246
+ (unless `--mode`, `OAT_DESIGN_MODE`, or `workflow.designMode` sets it),
247
+ confirming requirements, reaffirming the approach, confirming sections as the
248
+ mode requires, and the HiLL approval.
249
+
250
+ **Next step:** Run `oat-project-plan` when `design.md` is complete and ready for
251
+ planning. Quick projects that only need lightweight design stay in quick-start;
252
+ they do not use this full design flow.
253
+
254
+ ## oat-project-plan
255
+
256
+ Use plan to convert a completed spec-driven design into tasks an implementer
257
+ can execute and verify. Planning preserves design decisions rather than
258
+ reopening architecture or adding scope.
259
+
260
+ **Invocation:** Request task decomposition for the active project. Name useful
261
+ constraints in the conversation rather than inventing planning flags.
262
+
263
+ ```text
264
+ /oat-project-plan
265
+ Turn the completed webhook design into phases with exact files, requirement coverage, verification commands, and task commits.
266
+ ```
267
+
268
+ **Prerequisites:** Needs an active OAT project: yes. If none is active, the
269
+ skill asks for a project name and sets it as the active project. The project
270
+ must use spec-driven mode, with `design.md` recording `oat_status: complete` and
271
+ `oat_ready_for: oat-project-plan`.
272
+
273
+ Quick, import, and lite projects never use this skill to author a plan. On a
274
+ quick project, it resumes quick-start if the plan is not ready, and **starts
275
+ `oat-project-implement` immediately** if the plan is ready. On an import project
276
+ with a plan, it points you to `oat-project-implement`. On a lite project, it
277
+ points you to `oat-project-lite`. Do not invoke it on those projects unless you
278
+ intend that handoff.
279
+
280
+ **Example scenario:** The webhook design now defines persistence, retries, and
281
+ operator reporting. Plan turns those decisions into testable milestones and
282
+ stable task IDs, each with a declared file scope and verification command.
283
+ It fills the spec's Planned Tasks column so you can trace a requirement to the
284
+ tasks that implement it.
285
+
286
+ **Expected output:** `plan.md` contains phases, stable `pNN-tNN` tasks,
287
+ implementation and proof steps, exact verification commands, commit messages,
288
+ review rows, and references. Existing review history remains intact. If a draft
289
+ plan exists, the skill offers resume, view, or explicit overwrite instead of
290
+ silently discarding it.
291
+
292
+ The skill resolves dispatch policy and review readiness, records artifact
293
+ review, and runs any configured exit gate. Implementation tracking begins when
294
+ you run `oat-project-implement`. Resolving dispatch policy means you are asked
295
+ to choose a _dispatch policy_, the highest tier of models and effort OAT may use
296
+ for implementation and review agents. If your configuration has no complete
297
+ dispatch ladder, you are offered the bundled one to adopt into shared, local, or
298
+ user config; see [Dispatch policy](../../advanced/dispatch-ceiling.md).
299
+ Implementation checkpoint selection is deferred to implementation start unless
300
+ already supplied and confirmed. The plan contains no product code.
301
+
302
+ **What it does without asking:** It writes `plan.md`, updates the spec's
303
+ requirement index, and records the dispatch policy you choose in `state.md`.
304
+ Plan artifact review runs automatically, usually in your current agent session,
305
+ and may launch a separate reviewer agent when the current model is unknown or
306
+ below the reviewer tier. It applies unambiguous Critical and High fixes to
307
+ `plan.md`. It runs any configured exit gate and passes an eligible result to
308
+ `oat-project-review-receive`. It then marks the plan complete and commits
309
+ `plan.md` and `state.md` (an `oat project push` to `origin` in synced scope). If
310
+ you chose a project explainer, it generates one after the commit. It does not
311
+ write `implementation.md`. It asks before: resuming, viewing, or overwriting an
312
+ existing plan; generating a project explainer (once); accepting the phase
313
+ breakdown; declaring parallel phase groups; adopting a dispatch ladder into
314
+ config; choosing the dispatch policy; enabling an extra phase gate review; and
315
+ keeping or disabling configured gates for this project.
316
+
317
+ **Next step:** Run `oat-project-implement` after the plan is ready. If task
318
+ decomposition exposes a missing design decision, resolve it in design instead
319
+ of making that decision inside the plan.
320
+
321
+ ## oat-project-promote-spec-driven
322
+
323
+ Use promotion when an existing quick or imported project needs more lifecycle
324
+ rigor. Promotion works in place and preserves the plan and implementation
325
+ history. It is not a project reset or a fresh discovery run.
326
+
327
+ **Invocation:** Make the intended project active first (for example with
328
+ `oat-project-open`), then invoke the skill without a project-selector flag. The
329
+ skill's argument hint lists `--project`, but the skill currently ignores it and
330
+ always acts on the active project.
331
+
332
+ ```text
333
+ /oat-project-promote-spec-driven
334
+ Promote the active cache-refresh project, keeping its imported plan and completed task history.
335
+ ```
336
+
337
+ **Prerequisites:** Needs an active OAT project: yes. If none is active, the
338
+ skill asks for a project name and sets it as the active project. The active
339
+ project's `state.md` must record quick or import workflow mode. A spec-driven
340
+ project is already promoted, so the skill reports a no-op unless you request
341
+ artifact refresh. Lite must promote to quick first through the actual terminal
342
+ command:
343
+
344
+ ```bash
345
+ oat project promote <lite-project-path> --to quick
346
+ ```
347
+
348
+ Use the reported lite project path, for example
349
+ `.oat/projects/synced/retry-message` in the default synced scope. Then use this
350
+ skill against the active quick project.
351
+
352
+ **Example scenario:** The imported cache-refresh plan is partly implemented,
353
+ but its next stage requires explicit requirements and architecture rationale.
354
+ Promotion fills missing lifecycle artifacts from the existing plan,
355
+ implementation records, and imported source. It keeps completed tasks and the
356
+ original plan provenance rather than starting the project over.
357
+
358
+ **Expected output:** The project remains in the same directory and switches to
359
+ spec-driven mode. Missing discovery, spec, and design documents are drafted
360
+ from existing context. Existing artifacts are inspected rather than blindly
361
+ replaced. The skill preserves `oat_plan_source` unless you explicitly request
362
+ new spec-driven plan regeneration, and retains workflow origin and execution
363
+ history.
364
+
365
+ Backfilled drafts are not a claim that full discovery and design approval have
366
+ already happened. Promotion aligns state with actual progress, persists the
367
+ artifact changes, and reports created artifacts, retained provenance, and the
368
+ next action.
369
+
370
+ **What it does without asking:** It creates each missing `discovery.md`,
371
+ `spec.md`, and `design.md` from templates and fills them from the plan,
372
+ implementation records, and imported source. It switches `state.md` to
373
+ spec-driven mode and sets the phase to match actual progress, then commits
374
+ `discovery.md`, `spec.md`, `design.md`, and `state.md` (an `oat project push` to
375
+ `origin` in synced scope). There is no confirmation step before these writes,
376
+ and it runs no exit gate. It asks only for a project name when none is active.
377
+
378
+ **Next step:** Follow the reported phase and readiness. The handoff commonly
379
+ continues implementation or review for work already planned or executed.
380
+ Review missing requirements and design detail before treating new drafts as
381
+ completed lifecycle artifacts.
@@ -74,6 +74,6 @@ to show them. Completed coordination parents render as `decomposition (complete)
74
74
 
75
75
  ## Related Pages
76
76
 
77
- - [Lifecycle](lifecycle.md)
78
- - [Artifacts](artifacts.md)
79
- - [Implementation Execution](implementation-execution.md)
77
+ - [Lifecycle](../lifecycle.md)
78
+ - [Artifacts](../../../reference/project-artifacts.md)
79
+ - [Implementation Execution](../execution/implementation-execution.md)