@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.
- package/README.md +1 -1
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/contributing/index.md +14 -1
- package/assets/docs/contributing/markdown-features.md +38 -0
- package/assets/docs/contributing/skills.md +64 -2
- package/assets/docs/contributing/smoke-testing.md +23 -16
- package/assets/docs/contributing/updating-model-guidance.md +2 -2
- package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +32 -0
- package/assets/docs/docs-tooling/agent-instructions.md +131 -0
- package/assets/docs/docs-tooling/index.md +1 -0
- package/assets/docs/docs-tooling/meta.json +1 -1
- package/assets/docs/docs-tooling/workflows.md +338 -2
- package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
- package/assets/docs/getting-started/concepts.md +120 -0
- package/assets/docs/getting-started/index.md +68 -0
- package/assets/docs/getting-started/meta.json +4 -0
- package/assets/docs/getting-started/quickstart.md +174 -0
- package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +142 -14
- package/assets/docs/index.md +47 -48
- package/assets/docs/meta.json +6 -7
- package/assets/docs/provider-sync/commands.md +25 -2
- package/assets/docs/provider-sync/config.md +60 -1
- package/assets/docs/provider-sync/index.md +31 -15
- package/assets/docs/provider-sync/instruction-sync.md +32 -1
- package/assets/docs/provider-sync/manifest-and-drift.md +92 -0
- package/assets/docs/provider-sync/meta.json +1 -0
- package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
- package/assets/docs/provider-sync/scope-and-surface.md +37 -3
- package/assets/docs/reference/cli-reference.md +33 -33
- package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
- package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
- package/assets/docs/reference/file-locations.md +4 -1
- package/assets/docs/reference/index.md +13 -1
- package/assets/docs/reference/meta.json +7 -1
- package/assets/docs/reference/oat-directory-structure.md +1 -1
- package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
- package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +28 -21
- package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
- package/assets/docs/reference/troubleshooting.md +125 -10
- package/assets/docs/reference/what-oat-writes.md +410 -0
- package/assets/docs/skills/brainstorm.md +77 -0
- package/assets/docs/skills/diagnostics.md +56 -0
- package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
- package/assets/docs/skills/index.md +416 -0
- package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
- package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
- package/assets/docs/skills/repo-improve.md +254 -0
- package/assets/docs/skills/research.md +237 -0
- package/assets/docs/skills/session-closeout.md +61 -0
- package/assets/docs/workflows/advanced/autonomy.md +344 -0
- package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
- package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
- package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +20 -13
- package/assets/docs/workflows/advanced/index.md +19 -0
- package/assets/docs/workflows/advanced/meta.json +13 -0
- package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +108 -35
- package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
- package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
- package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
- package/assets/docs/workflows/approvals-and-automation.md +261 -0
- package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
- package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
- package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
- package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
- package/assets/docs/workflows/choose-workflow.md +114 -0
- package/assets/docs/workflows/ideas/index.md +3 -3
- package/assets/docs/workflows/ideas/lifecycle.md +225 -1
- package/assets/docs/workflows/index.md +11 -62
- package/assets/docs/workflows/meta.json +10 -2
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
- package/assets/docs/workflows/projects/closeout/index.md +14 -0
- package/assets/docs/workflows/projects/closeout/meta.json +4 -0
- package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
- package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
- package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
- package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +52 -38
- package/assets/docs/workflows/projects/execution/index.md +15 -0
- package/assets/docs/workflows/projects/execution/meta.json +9 -0
- package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
- package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
- package/assets/docs/workflows/projects/index.md +38 -49
- package/assets/docs/workflows/projects/lifecycle.md +159 -74
- package/assets/docs/workflows/projects/meta.json +2 -23
- package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
- package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
- package/assets/docs/workflows/projects/planning/index.md +16 -0
- package/assets/docs/workflows/projects/planning/meta.json +10 -0
- package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
- package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
- package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
- package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
- package/assets/docs/workflows/projects/reviews/meta.json +4 -0
- package/assets/docs/workflows/projects/reviews/review-flavors.md +650 -0
- package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
- package/assets/docs/workflows/waves/index.md +12 -0
- package/assets/docs/workflows/waves/meta.json +4 -0
- package/assets/docs/workflows/waves/wave-workflows.md +206 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-docs/SKILL.md +19 -19
- package/assets/skills/oat-docs-analyze/SKILL.md +1 -1
- package/assets/skills/oat-docs-apply/SKILL.md +1 -1
- package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
- package/assets/skills/oat-docs-bootstrap/SKILL.md +1 -1
- package/assets/skills/oat-doctor/SKILL.md +25 -25
- package/assets/templates/docs-app-fuma/app/[[...slug]]/page.tsx +14 -2
- package/assets/templates/docs-app-fuma/app/globals.css +1 -0
- package/dist/release/public-package-contract.js +1 -1
- package/package.json +2 -2
- package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
- package/assets/docs/cli-utilities/index.md +0 -74
- package/assets/docs/cli-utilities/meta.json +0 -13
- package/assets/docs/cli-utilities/remote-project-management.md +0 -191
- package/assets/docs/guide/concepts.md +0 -88
- package/assets/docs/guide/index.md +0 -31
- package/assets/docs/guide/meta.json +0 -4
- package/assets/docs/quickstart.md +0 -88
- package/assets/docs/workflows/projects/autonomy.md +0 -196
- package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
- package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
- package/assets/docs/workflows/projects/review-flavors.md +0 -138
- package/assets/docs/workflows/skills/index.md +0 -184
- package/assets/docs/workflows/skills/repo-improve.md +0 -89
- 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)
|