@open-agent-toolkit/cli 0.2.59 → 0.2.63
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/assets/agents/oat-phase-implementer.md +27 -4
- package/assets/agents/oat-reviewer.md +25 -14
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/cli-utilities/config-and-local-state.md +1 -0
- package/assets/docs/cli-utilities/configuration.md +10 -8
- package/assets/docs/cli-utilities/project-log.md +16 -0
- package/assets/docs/cli-utilities/workflow-gates.md +127 -19
- package/assets/docs/provider-sync/commands.md +3 -0
- package/assets/docs/provider-sync/instruction-sync.md +107 -0
- package/assets/docs/reference/cli-reference.md +26 -9
- package/assets/docs/reference/oat-directory-structure.md +33 -31
- package/assets/docs/workflows/ideas/index.md +1 -1
- package/assets/docs/workflows/index.md +1 -0
- package/assets/docs/workflows/projects/artifacts.md +24 -3
- package/assets/docs/workflows/projects/hill-checkpoints.md +21 -0
- package/assets/docs/workflows/projects/implementation-execution.md +5 -0
- package/assets/docs/workflows/projects/lifecycle.md +169 -7
- package/assets/docs/workflows/projects/picking-up-projects.md +14 -0
- package/assets/docs/workflows/projects/pr-flow.md +2 -0
- package/assets/docs/workflows/projects/reviews.md +1 -1
- package/assets/docs/workflows/projects/state-machine.md +20 -0
- package/assets/docs/workflows/skills/explainer-kit.md +10 -4
- package/assets/docs/workflows/skills/index.md +2 -1
- package/assets/docs/workflows/skills/repo-improve.md +15 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-brainstorm/SKILL.md +61 -12
- package/assets/skills/oat-docs/SKILL.md +13 -8
- package/assets/skills/oat-doctor/SKILL.md +3 -3
- package/assets/skills/oat-explainer-kit/SKILL.md +14 -1
- package/assets/skills/oat-explainer-kit/references/config-contract.md +12 -0
- package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +57 -10
- package/assets/skills/oat-explainer-kit/scripts/check-terminal-outcome.mjs +28 -5
- package/assets/skills/oat-explainer-kit/scripts/probe-recap-seams.mjs +371 -0
- package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +123 -1
- package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
- package/assets/skills/oat-project-autonomous/SKILL.md +23 -9
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +164 -150
- package/assets/skills/oat-project-capture/SKILL.md +2 -2
- package/assets/skills/oat-project-complete/SKILL.md +134 -4
- package/assets/skills/oat-project-discover/SKILL.md +6 -5
- package/assets/skills/oat-project-document/SKILL.md +11 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +164 -150
- package/assets/skills/oat-project-implement/SKILL.md +3 -3
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +144 -21
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +164 -150
- package/assets/skills/oat-project-implement/references/phase-execution.md +16 -1
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +19 -1
- package/assets/skills/oat-project-import-plan/SKILL.md +47 -3
- package/assets/skills/oat-project-lite/SKILL.md +467 -0
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +331 -0
- package/assets/skills/oat-project-next/SKILL.md +75 -16
- package/assets/skills/oat-project-plan/SKILL.md +44 -6
- package/assets/skills/oat-project-plan-writing/SKILL.md +6 -3
- package/assets/skills/oat-project-pr-final/SKILL.md +33 -7
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +164 -150
- package/assets/skills/oat-project-pr-progress/SKILL.md +3 -3
- package/assets/skills/oat-project-progress/SKILL.md +27 -5
- package/assets/skills/oat-project-promote-spec-driven/SKILL.md +3 -1
- package/assets/skills/oat-project-quick-start/SKILL.md +264 -4
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +164 -150
- package/assets/skills/oat-project-review-provide/SKILL.md +25 -6
- package/assets/skills/oat-project-summary/SKILL.md +61 -26
- package/assets/skills/oat-repo-improve/SKILL.md +40 -5
- package/assets/skills/oat-repo-improve/references/plan-template.md +84 -7
- package/assets/templates/plan-lite.md +165 -0
- package/assets/templates/plan.md +1 -1
- package/assets/templates/state.md +1 -1
- package/dist/commands/config/index.d.ts +1 -0
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +401 -18
- package/dist/commands/gate/index.d.ts +3 -1
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +699 -211
- package/dist/commands/init/tools/shared/skill-script-references.d.ts +126 -0
- package/dist/commands/init/tools/shared/skill-script-references.d.ts.map +1 -0
- package/dist/commands/init/tools/shared/skill-script-references.js +311 -0
- package/dist/commands/instructions/instructions.types.d.ts +63 -0
- package/dist/commands/instructions/instructions.types.d.ts.map +1 -1
- package/dist/commands/instructions/instructions.utils.d.ts +51 -2
- package/dist/commands/instructions/instructions.utils.d.ts.map +1 -1
- package/dist/commands/instructions/instructions.utils.js +201 -4
- package/dist/commands/instructions/sync/sync.d.ts.map +1 -1
- package/dist/commands/instructions/sync/sync.js +12 -1
- package/dist/commands/instructions/validate/validate.d.ts.map +1 -1
- package/dist/commands/instructions/validate/validate.js +12 -1
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +2 -0
- package/dist/commands/project/log/append.d.ts +195 -0
- package/dist/commands/project/log/append.d.ts.map +1 -1
- package/dist/commands/project/log/append.js +1034 -11
- package/dist/commands/project/new/index.d.ts +3 -2
- package/dist/commands/project/new/index.d.ts.map +1 -1
- package/dist/commands/project/new/index.js +2 -1
- package/dist/commands/project/new/scaffold.d.ts +5 -3
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +38 -10
- package/dist/commands/project/promote/index.d.ts +2 -0
- package/dist/commands/project/promote/index.d.ts.map +1 -0
- package/dist/commands/project/promote/index.js +1 -0
- package/dist/commands/project/promote/promote.d.ts +47 -0
- package/dist/commands/project/promote/promote.d.ts.map +1 -0
- package/dist/commands/project/promote/promote.js +322 -0
- package/dist/commands/project/split/run.d.ts.map +1 -1
- package/dist/commands/project/split/run.js +8 -1
- package/dist/commands/project/validate-plan/index.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/index.js +25 -1
- package/dist/commands/project/validate-plan/validate-plan.d.ts +8 -0
- package/dist/commands/project/validate-plan/validate-plan.d.ts.map +1 -1
- package/dist/commands/project/validate-plan/validate-plan.js +49 -0
- package/dist/commands/shared/frontmatter.d.ts +1 -1
- package/dist/commands/shared/frontmatter.d.ts.map +1 -1
- package/dist/commands/shared/frontmatter.js +1 -0
- package/dist/commands/state/generate.d.ts.map +1 -1
- package/dist/commands/state/generate.js +23 -0
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +2 -0
- package/dist/config/oat-config.d.ts +41 -0
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +111 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-next
|
|
3
|
-
version: 1.
|
|
3
|
+
version: 1.1.1
|
|
4
4
|
description: Use when continuing work on the active OAT project. Reads project state, determines the next lifecycle action, and invokes the appropriate skill automatically.
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
user-invocable: true
|
|
@@ -106,6 +106,7 @@ projects, and synced records whose detached checkout is absent.
|
|
|
106
106
|
- **The `projects` array is empty:** Report error and suggest:
|
|
107
107
|
- `oat-project-new` — Create a spec-driven project
|
|
108
108
|
- `oat-project-quick-start` — Start a quick workflow project
|
|
109
|
+
- `oat-project-lite` — Start a lite workflow project
|
|
109
110
|
- `oat-project-import-plan` — Import an external plan
|
|
110
111
|
- **STOP.** Do not attempt routing.
|
|
111
112
|
|
|
@@ -124,15 +125,16 @@ projects, and synced records whose detached checkout is absent.
|
|
|
124
125
|
|
|
125
126
|
Read `"$PROJECT_PATH/state.md"` frontmatter and extract:
|
|
126
127
|
|
|
127
|
-
| Field | Used For
|
|
128
|
-
| ------------------------- |
|
|
129
|
-
| `oat_phase` | Current lifecycle position (discovery, spec, design, plan, implement)
|
|
130
|
-
| `oat_phase_status` | Phase completion state (in_progress, complete, pr_open)
|
|
131
|
-
| `oat_workflow_mode` | Routing table selection (spec-driven, quick, import). Default: `spec-driven`
|
|
132
|
-
| `oat_hill_checkpoints` | Which phases require HiLL approval
|
|
133
|
-
| `oat_hill_completed` | Which HiLL gates have been passed
|
|
134
|
-
| `oat_blockers` | Informational warnings (not routing gates)
|
|
135
|
-
| `oat_implement_exit_gate` | Whether the implementation exit gate is allowed and fresh
|
|
128
|
+
| Field | Used For |
|
|
129
|
+
| ------------------------- | -------------------------------------------------------------------------------------------- |
|
|
130
|
+
| `oat_phase` | Current lifecycle position (discovery, spec, design, plan, implement) |
|
|
131
|
+
| `oat_phase_status` | Phase completion state (in_progress, complete, pr_open) |
|
|
132
|
+
| `oat_workflow_mode` | Routing table selection (spec-driven, quick, import, lite). Default: `spec-driven` |
|
|
133
|
+
| `oat_hill_checkpoints` | Which phases require HiLL approval |
|
|
134
|
+
| `oat_hill_completed` | Which HiLL gates have been passed |
|
|
135
|
+
| `oat_blockers` | Informational warnings (not routing gates) |
|
|
136
|
+
| `oat_implement_exit_gate` | Whether the implementation exit gate is allowed and fresh |
|
|
137
|
+
| `oat_lifecycle` | Terminal status (active, paused, complete). `complete` is the terminal signal Step 5.2 reads |
|
|
136
138
|
|
|
137
139
|
**If state.md is missing or unreadable:** Report error and suggest running the relevant phase skill directly. STOP.
|
|
138
140
|
|
|
@@ -164,12 +166,22 @@ Apply the following tiers in order:
|
|
|
164
166
|
|
|
165
167
|
- `oat_status == "complete"` AND `oat_ready_for` is not null
|
|
166
168
|
- → Use `oat_ready_for` as the target skill
|
|
169
|
+
- Exception: in quick mode at the `plan` phase, the Quick Mode table's
|
|
170
|
+
`Quick Plan Readiness` column decides the target. A tier-1 quick plan that
|
|
171
|
+
fails readiness returns to the quick workflow, and `oat_ready_for` is not
|
|
172
|
+
followed on its own.
|
|
167
173
|
|
|
168
174
|
**Tier 1b (Complete without target):**
|
|
169
175
|
|
|
170
176
|
- `oat_status == "complete"` AND `oat_ready_for` is null
|
|
171
177
|
- → Route to the NEXT phase's skill (the artifact is complete, so advance)
|
|
172
178
|
- This handles cases where a phase skill completed the artifact but didn't set `oat_ready_for`.
|
|
179
|
+
- Exception: in quick mode at the `plan` phase, a tier-1b artifact is evaluated
|
|
180
|
+
against **quick plan readiness** like every other plan-phase classification.
|
|
181
|
+
Tier 1b means `oat_ready_for` is null, so readiness always fails, so it
|
|
182
|
+
returns to the quick workflow instead of advancing to the next phase's skill.
|
|
183
|
+
This state is reachable when the Step 3.7 frontmatter write is interrupted or
|
|
184
|
+
after a hand edit, and it must not reach implementation unchecked.
|
|
173
185
|
|
|
174
186
|
**Tier 2 (Substantive content):**
|
|
175
187
|
|
|
@@ -237,21 +249,51 @@ Otherwise, look up the target skill from the routing table for the current `oat_
|
|
|
237
249
|
|
|
238
250
|
**Quick Mode:**
|
|
239
251
|
|
|
252
|
+
| Current Phase | Phase Status | Boundary Tier | Quick Plan Readiness | Target Skill |
|
|
253
|
+
| ------------- | ------------ | ------------- | -------------------- | -------------------------- |
|
|
254
|
+
| discovery | in_progress | tier 3 | — | `oat-project-discover` |
|
|
255
|
+
| discovery | in_progress | tier 2 | — | `oat-project-plan` |
|
|
256
|
+
| discovery | complete | tier 1 | — | `oat-project-plan` |
|
|
257
|
+
| plan | in_progress | tier 3 | not ready | `oat-project-quick-start` |
|
|
258
|
+
| plan | in_progress | tier 2 | not ready | `oat-project-quick-start` |
|
|
259
|
+
| plan | in_progress | tier 1 | not ready | `oat-project-quick-start` |
|
|
260
|
+
| plan | in_progress | tier 1 | ready | `oat-project-implement` \* |
|
|
261
|
+
| plan | complete | tier 1 | not ready | `oat-project-quick-start` |
|
|
262
|
+
| plan | complete | tier 1 | ready | `oat-project-implement` \* |
|
|
263
|
+
| plan | any | tier 1b | not ready (always) | `oat-project-quick-start` |
|
|
264
|
+
| implement | in_progress | — | — | `oat-project-implement` \* |
|
|
265
|
+
|
|
266
|
+
The `Quick Plan Readiness` column applies to the `plan` phase only, and only
|
|
267
|
+
after the boundary tier has already been classified by Step 2, so tier semantics
|
|
268
|
+
are unchanged: it discriminates the two `plan` outcomes that would otherwise
|
|
269
|
+
share one tier. A tier-2 or tier-1 quick plan is no longer assumed ready, and a
|
|
270
|
+
tier-1 plan whose readiness fails is returned to the quick workflow rather than
|
|
271
|
+
advanced. Both recorded phase statuses carry a tier-1 pair of rows, so a plan
|
|
272
|
+
artifact that has already advanced past the `state.md` phase status still
|
|
273
|
+
matches a route instead of falling through the table. Tier 1b carries one row
|
|
274
|
+
under either phase status because a null `oat_ready_for` can never satisfy
|
|
275
|
+
readiness. Readiness is the named **quick plan readiness** predicate: load
|
|
276
|
+
`oat-project-quick-start/SKILL.md` and apply it as written to
|
|
277
|
+
`{PROJECT_PATH}/plan.md` instead of restating its conditions here, and never
|
|
278
|
+
infer readiness from the presence of substantive tasks. A `not ready` result
|
|
279
|
+
resumes the quick workflow in place: load `oat-project-quick-start/SKILL.md` and
|
|
280
|
+
follow its Step 0.5 resume branch. Spec-driven planning is not the recovery path
|
|
281
|
+
for a quick project.
|
|
282
|
+
|
|
283
|
+
**Import Mode:**
|
|
284
|
+
|
|
240
285
|
| Current Phase | Phase Status | Boundary Tier | Target Skill |
|
|
241
286
|
| ------------- | ------------ | ------------- | -------------------------- |
|
|
242
|
-
|
|
|
243
|
-
| discovery | in_progress | tier 2 | `oat-project-plan` |
|
|
244
|
-
| discovery | complete | tier 1 | `oat-project-plan` |
|
|
245
|
-
| plan | in_progress | tier 3 | `oat-project-quick-start` |
|
|
287
|
+
| plan | in_progress | tier 3 | `oat-project-import-plan` |
|
|
246
288
|
| plan | in_progress | tier 2 | `oat-project-implement` \* |
|
|
247
289
|
| plan | complete | tier 1 | `oat-project-implement` \* |
|
|
248
290
|
| implement | in_progress | — | `oat-project-implement` \* |
|
|
249
291
|
|
|
250
|
-
**
|
|
292
|
+
**Lite Mode:**
|
|
251
293
|
|
|
252
294
|
| Current Phase | Phase Status | Boundary Tier | Target Skill |
|
|
253
295
|
| ------------- | ------------ | ------------- | -------------------------- |
|
|
254
|
-
| plan | in_progress | tier 3 | `oat-project-
|
|
296
|
+
| plan | in_progress | tier 3 | `oat-project-lite` |
|
|
255
297
|
| plan | in_progress | tier 2 | `oat-project-implement` \* |
|
|
256
298
|
| plan | complete | tier 1 | `oat-project-implement` \* |
|
|
257
299
|
| implement | in_progress | — | `oat-project-implement` \* |
|
|
@@ -382,6 +424,17 @@ or a summary exists. A completed snapshot falls through to the normal router.
|
|
|
382
424
|
|
|
383
425
|
**5.2: Incomplete revision tasks**
|
|
384
426
|
|
|
427
|
+
Read `oat_lifecycle` from `state.md` before grepping anything. When
|
|
428
|
+
`oat_lifecycle` is `complete`, revision phases are historical: skip this check
|
|
429
|
+
and fall through to 5.3, and do not route to `oat-project-implement` even when
|
|
430
|
+
`p-revN` tasks are still marked incomplete. Lifecycle is the only terminal
|
|
431
|
+
signal here — neither a null current task nor a `complete` or `pr_open`
|
|
432
|
+
`oat_phase_status` is terminal, because an active project reaches both while it
|
|
433
|
+
still owns pending revision work. The guard is workflow-mode independent: it
|
|
434
|
+
applies identically to `spec-driven`, `quick`, `import`, and `lite` projects.
|
|
435
|
+
|
|
436
|
+
For every other `oat_lifecycle` value the check below is unchanged.
|
|
437
|
+
|
|
385
438
|
Grep plan.md for `p-revN` phases. If any `p-revN` tasks exist with status != completed in implementation.md:
|
|
386
439
|
→ Route to `oat-project-implement`
|
|
387
440
|
→ Announce: "Revision tasks pending — continuing implementation"
|
|
@@ -424,6 +477,12 @@ Ignore matching rows outside `REVIEWS_SECTION`; they are not review events.
|
|
|
424
477
|
- If `FINAL_ROW` has `Status="passed"`:
|
|
425
478
|
→ Continue to 5.5
|
|
426
479
|
|
|
480
|
+
**Lite closeout route:** If `oat_workflow_mode: lite`, a passed final review
|
|
481
|
+
routes directly to `oat-project-pr-final` before the summary check below.
|
|
482
|
+
Announce: "Final review passed — creating final PR". Optional lite summary or
|
|
483
|
+
documentation work is owned by the immutable implementation closeout snapshot,
|
|
484
|
+
not this fallback router.
|
|
485
|
+
|
|
427
486
|
**5.5: Summary not done**
|
|
428
487
|
|
|
429
488
|
Read `{PROJECT_PATH}/summary.md`:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-plan
|
|
3
|
-
version: 1.4.
|
|
3
|
+
version: 1.4.10
|
|
4
4
|
description: Use when design.md is complete and executable implementation tasks are needed. Breaks design into bite-sized TDD tasks in canonical plan.md format.
|
|
5
5
|
oat_gateable: true
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -14,13 +14,16 @@ Transform detailed design into an executable implementation plan with bite-sized
|
|
|
14
14
|
|
|
15
15
|
## Prerequisites
|
|
16
16
|
|
|
17
|
-
This skill is the plan authoring path for **spec-driven** projects only. Quick
|
|
17
|
+
This skill is the plan authoring path for **spec-driven** projects only. Quick,
|
|
18
|
+
import, and lite modes have dedicated entry skills that produce `plan.md`
|
|
19
|
+
directly.
|
|
18
20
|
|
|
19
21
|
Read `oat_workflow_mode` from `{PROJECT_PATH}/state.md` (default: `spec-driven`):
|
|
20
22
|
|
|
21
23
|
- **`spec-driven`**: Complete design document required (`design.md` with `oat_status: complete`). If missing, **Stop.** Tell the user: "Run the `oat-project-design` skill first, then return to planning." Otherwise proceed with planning.
|
|
22
|
-
- **`quick`**: **Stop.**
|
|
24
|
+
- **`quick`**: **Stop.** Spec-driven planning does not apply here: the quick workflow authors `plan.md` itself and owns it through its own review disposition. Step 1 routes the project by the named **quick plan readiness** predicate instead of assuming the plan is finished.
|
|
23
25
|
- **`import`**: **Stop.** If a normalized `plan.md` exists, tell the user: "Imported plan is ready. Run `oat-project-implement` to begin execution." If no `plan.md` exists, tell the user: "Run `oat-project-import-plan` to import and normalize the external plan first."
|
|
26
|
+
- **`lite`**: **Stop.** Tell the user: "Lite planning is owned by `oat-project-lite`; run it to author or resume the combined plan contract."
|
|
24
27
|
|
|
25
28
|
## Plan Format Contract
|
|
26
29
|
|
|
@@ -110,11 +113,46 @@ PROJECTS_ROOT="${PROJECTS_ROOT%/}"
|
|
|
110
113
|
WORKFLOW_MODE=$(oat project status --field project.workflowMode 2>/dev/null || echo null)
|
|
111
114
|
```
|
|
112
115
|
|
|
113
|
-
**Mode: `quick`** — **STOP.**
|
|
116
|
+
**Mode: `quick`** — **STOP.** Spec-driven planning does not apply: the quick
|
|
117
|
+
workflow owns `plan.md` from discovery through the review disposition it records
|
|
118
|
+
at its Step 3.7, so this skill never authors, finishes, or reviews a quick plan.
|
|
119
|
+
It still has to say where the project continues, and a quick plan that is not
|
|
120
|
+
implementation-ready must not be handed to implementation. Decide the
|
|
121
|
+
continuation with the named **quick plan readiness** predicate: load
|
|
122
|
+
`oat-project-quick-start/SKILL.md` and apply that predicate as written to
|
|
123
|
+
`"$PROJECT_PATH/plan.md"`, rather than restating or re-deriving its conditions
|
|
124
|
+
here.
|
|
125
|
+
|
|
126
|
+
**Not implementation-ready** (the predicate fails; substantive tasks alone never
|
|
127
|
+
satisfy it). Print:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
⚠️ This project uses quick mode and its plan is not implementation-ready.
|
|
131
|
+
Spec-driven planning does not apply — the quick workflow finishes its own
|
|
132
|
+
plan in place, without re-scaffolding the project.
|
|
133
|
+
|
|
134
|
+
Continue with: oat-project-quick-start
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Then load `oat-project-quick-start/SKILL.md` and follow its Step 0.5 resume
|
|
138
|
+
branch. Exit skill.
|
|
139
|
+
|
|
140
|
+
**Implementation-ready** (every predicate condition holds). Print:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
⚠️ This project uses quick mode and its plan is implementation-ready.
|
|
144
|
+
|
|
145
|
+
Continue with: oat-project-implement
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Then load `oat-project-implement/SKILL.md` and follow it to begin execution.
|
|
149
|
+
Exit skill.
|
|
150
|
+
|
|
151
|
+
**Mode: `lite`** — **STOP.** Print:
|
|
114
152
|
|
|
115
153
|
```
|
|
116
|
-
⚠️ This project uses
|
|
117
|
-
|
|
154
|
+
⚠️ This project uses lite mode. Run `oat-project-lite` to author or resume
|
|
155
|
+
its combined requirements and single-phase plan.
|
|
118
156
|
```
|
|
119
157
|
|
|
120
158
|
Exit skill.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-plan-writing
|
|
3
|
-
version: 1.2.
|
|
3
|
+
version: 1.2.23
|
|
4
4
|
description: Use when authoring or mutating plan.md in any OAT workflow. Defines canonical format invariants — stable task IDs, required sections, review table rules, and resume guardrails.
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
user-invocable: false
|
|
@@ -86,7 +86,8 @@ then continue without formatting.
|
|
|
86
86
|
## Managed Dispatch Readiness and Review Contract
|
|
87
87
|
|
|
88
88
|
All plan-producing workflows and their artifact reviews use this contract:
|
|
89
|
-
spec-driven planning, quick-start, imported plans, and
|
|
89
|
+
spec-driven planning, quick-start, lite planning, imported plans, and
|
|
90
|
+
provider-plan-via-import.
|
|
90
91
|
The contract runs before a plan becomes implementation-ready and immediately
|
|
91
92
|
before each artifact review dispatch.
|
|
92
93
|
|
|
@@ -549,7 +550,7 @@ Every `plan.md` produced or edited by any OAT skill **must** satisfy these invar
|
|
|
549
550
|
|
|
550
551
|
```yaml
|
|
551
552
|
---
|
|
552
|
-
oat_plan_source: spec-driven | quick | imported # origin workflow mode
|
|
553
|
+
oat_plan_source: spec-driven | quick | imported | lite # origin workflow mode
|
|
553
554
|
oat_status: in_progress | complete # plan lifecycle status
|
|
554
555
|
oat_ready_for: null | oat-project-implement # downstream consumer
|
|
555
556
|
# Optional after implementation confirmation:
|
|
@@ -653,10 +654,12 @@ Required inputs vary by workflow mode. The calling skill reads `oat_workflow_mod
|
|
|
653
654
|
| `spec-driven` | Complete `design.md` (`oat_status: complete`) | Yes |
|
|
654
655
|
| `quick` | `discovery.md` + repo knowledge context | No |
|
|
655
656
|
| `import` | Preserved external source + normalized `plan.md` | No |
|
|
657
|
+
| `lite` | `plan.md` only | No |
|
|
656
658
|
|
|
657
659
|
- **`spec-driven`**: Plan is derived from a complete design document. All design components must be covered by tasks.
|
|
658
660
|
- **`quick`**: Plan is generated directly from discovery decisions and repo knowledge. No design artifact is required.
|
|
659
661
|
- **`import`**: External plan is preserved in `references/imported-plan.md` and normalized into canonical format. Subsequent edits follow this contract.
|
|
662
|
+
- **`lite`**: `plan.md` is the sole requirements and implementation contract. It carries Summary, Decisions, Assumptions, Out of Scope, and Validation Criteria before one sequential phase; no discovery, spec, or design artifact is required.
|
|
660
663
|
|
|
661
664
|
## Resume and Edit Guardrails
|
|
662
665
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-pr-final
|
|
3
|
-
version: 1.6.
|
|
3
|
+
version: 1.6.2
|
|
4
4
|
description: Use when the user requests or confirms opening the final PR for an active OAT project — e.g. "open the final PR", "ship it", "run oat-project-pr-final", or confirms a previously offered final-PR step. Do NOT auto-invoke when phases are marked complete. Generates the final lifecycle PR description from artifacts and creates the PR.
|
|
5
5
|
disable-model-invocation: false
|
|
6
6
|
user-invocable: true
|
|
@@ -26,7 +26,8 @@ Generate a PR-ready summary grounded in canonical OAT artifacts, including:
|
|
|
26
26
|
- `activeProject` in `.oat/config.local.json` points at an active project directory (or you can provide project name when prompted)
|
|
27
27
|
- `{PROJECT_PATH}/plan.md` exists
|
|
28
28
|
- In `spec-driven` mode: `{PROJECT_PATH}/spec.md` and `{PROJECT_PATH}/design.md` are required
|
|
29
|
-
- In `quick`/`import` mode: `spec.md`/`design.md` are optional
|
|
29
|
+
- In `quick`/`import`/`lite` mode: `spec.md`/`design.md` are optional; lite
|
|
30
|
+
proceeds with a reduced assurance note because plan.md is its full contract
|
|
30
31
|
|
|
31
32
|
**Required (recommended to proceed):**
|
|
32
33
|
|
|
@@ -162,7 +163,7 @@ If `WORKFLOW_MODE=spec-driven`, also require:
|
|
|
162
163
|
ls "$PROJECT_PATH/spec.md" "$PROJECT_PATH/design.md" 2>/dev/null
|
|
163
164
|
```
|
|
164
165
|
|
|
165
|
-
If `WORKFLOW_MODE` is `quick` or `
|
|
166
|
+
If `WORKFLOW_MODE` is `quick`, `import`, or `lite`, proceed without spec/design and include a reduced assurance note in the PR body. For lite, explicitly note that plan.md is the reduced artifact contract and the absence of discovery/spec/design is intentional.
|
|
166
167
|
|
|
167
168
|
### Step 2: Check Final Review Status
|
|
168
169
|
|
|
@@ -214,7 +215,32 @@ sequence step.
|
|
|
214
215
|
|
|
215
216
|
**Step 3.0: Check for summary.md**
|
|
216
217
|
|
|
217
|
-
|
|
218
|
+
Resolve the structurally exclusive route first:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
# BEGIN LITE PR SUMMARY ROUTE CONTRACT
|
|
222
|
+
if [ "$WORKFLOW_MODE" = "lite" ]; then
|
|
223
|
+
PR_SUMMARY_STRATEGY="lite-artifacts"
|
|
224
|
+
GENERIC_SUMMARY_REACHABLE="false"
|
|
225
|
+
else
|
|
226
|
+
PR_SUMMARY_STRATEGY="summary-md"
|
|
227
|
+
GENERIC_SUMMARY_REACHABLE="true"
|
|
228
|
+
fi
|
|
229
|
+
# END LITE PR SUMMARY ROUTE CONTRACT
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
For `oat_workflow_mode: lite`, do not generate, refresh, or require
|
|
233
|
+
`summary.md`. Synthesize the PR summary directly from the `plan.md` `Summary`,
|
|
234
|
+
`Decisions`, and `Validation Criteria` sections plus the
|
|
235
|
+
`implementation.md` `Final Summary (for PR/docs)` shipped results. This is the
|
|
236
|
+
explicit reduced assurance path: absent `discovery.md`, `spec.md`, and
|
|
237
|
+
`design.md` are valid and must not block PR creation. Then continue to Step 3.1
|
|
238
|
+
only for the remaining available artifacts; do not invoke
|
|
239
|
+
`oat-project-summary` for lite. This branch ends Step 3.0 and jumps directly to
|
|
240
|
+
Step 3.1.
|
|
241
|
+
|
|
242
|
+
**Non-lite branch only:** If the route contract sets
|
|
243
|
+
`GENERIC_SUMMARY_REACHABLE=true`, check if `{PROJECT_PATH}/summary.md` exists:
|
|
218
244
|
|
|
219
245
|
- If `summary.md` is missing or stale, refresh it automatically before proceeding.
|
|
220
246
|
- When skill-to-skill invocation is available in the current host/runtime, load the current `oat-project-summary/SKILL.md` and follow it; never synthesize the summary from a remembered version of that skill.
|
|
@@ -229,8 +255,8 @@ Check if `{PROJECT_PATH}/summary.md` exists:
|
|
|
229
255
|
|
|
230
256
|
Read:
|
|
231
257
|
|
|
232
|
-
- `{PROJECT_PATH}/spec.md` (goals, priorities, verification; optional in quick/import)
|
|
233
|
-
- `{PROJECT_PATH}/design.md` (architecture + testing strategy; optional in quick/import)
|
|
258
|
+
- `{PROJECT_PATH}/spec.md` (goals, priorities, verification; optional in quick/import/lite)
|
|
259
|
+
- `{PROJECT_PATH}/design.md` (architecture + testing strategy; optional in quick/import/lite)
|
|
234
260
|
- `{PROJECT_PATH}/plan.md` (phases/tasks + reviews table)
|
|
235
261
|
- `{PROJECT_PATH}/implementation.md` (if exists; preferred for “what actually happened”)
|
|
236
262
|
- `{PROJECT_PATH}/discovery.md` (recommended for quick mode)
|
|
@@ -339,7 +365,7 @@ oat_project: { PROJECT_PATH }
|
|
|
339
365
|
|
|
340
366
|
## Goals / Non-Goals
|
|
341
367
|
|
|
342
|
-
{brief bullets from available requirement artifacts: spec in spec-driven mode; discovery/import source in quick/import}
|
|
368
|
+
{brief bullets from available requirement artifacts: spec in spec-driven mode; discovery/import source in quick/import; plan contract in lite}
|
|
343
369
|
|
|
344
370
|
## Changes
|
|
345
371
|
|