@open-agent-toolkit/cli 0.1.62 → 0.1.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.
Files changed (51) hide show
  1. package/assets/docs/cli-utilities/configuration.md +29 -0
  2. package/assets/docs/cli-utilities/tool-packs.md +29 -1
  3. package/assets/docs/workflows/projects/autonomy.md +154 -0
  4. package/assets/docs/workflows/projects/cursor-cloud.md +151 -0
  5. package/assets/docs/workflows/projects/index.md +6 -0
  6. package/assets/public-package-versions.json +4 -4
  7. package/assets/skills/oat-cursor-cloud-projects/SKILL.md +318 -0
  8. package/assets/skills/oat-cursor-cloud-projects/references/cursor-cloud-mechanics.md +173 -0
  9. package/assets/skills/oat-project-autonomous/SKILL.md +439 -0
  10. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +294 -0
  11. package/assets/skills/oat-project-design/SKILL.md +79 -1
  12. package/assets/skills/oat-project-discover/SKILL.md +76 -1
  13. package/assets/skills/oat-project-document/SKILL.md +17 -1
  14. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +294 -0
  15. package/assets/skills/oat-project-implement/SKILL.md +18 -1
  16. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +72 -7
  17. package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +17 -9
  18. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +294 -0
  19. package/assets/skills/oat-project-implement/references/plan-and-resume.md +56 -0
  20. package/assets/skills/oat-project-pr-final/SKILL.md +23 -4
  21. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +294 -0
  22. package/assets/skills/oat-project-quick-start/SKILL.md +43 -2
  23. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +294 -0
  24. package/assets/skills/oat-project-summary/SKILL.md +69 -14
  25. package/assets/templates/summary.md +24 -0
  26. package/dist/commands/init/tools/index.d.ts.map +1 -1
  27. package/dist/commands/init/tools/index.js +67 -45
  28. package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
  29. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
  30. package/dist/commands/init/tools/shared/skill-manifest.js +2 -0
  31. package/dist/commands/init/tools/workflows/index.d.ts +2 -1
  32. package/dist/commands/init/tools/workflows/index.d.ts.map +1 -1
  33. package/dist/commands/init/tools/workflows/index.js +13 -11
  34. package/dist/commands/init/tools/workflows/install-workflows.d.ts +2 -0
  35. package/dist/commands/init/tools/workflows/install-workflows.d.ts.map +1 -1
  36. package/dist/commands/init/tools/workflows/install-workflows.js +4 -0
  37. package/dist/commands/project/new/scaffold.d.ts +1 -0
  38. package/dist/commands/project/new/scaffold.d.ts.map +1 -1
  39. package/dist/commands/project/new/scaffold.js +23 -4
  40. package/dist/commands/tools/remove/index.js +2 -2
  41. package/dist/commands/tools/remove/remove-tools.d.ts.map +1 -1
  42. package/dist/commands/tools/remove/remove-tools.js +23 -0
  43. package/dist/commands/tools/update/index.d.ts.map +1 -1
  44. package/dist/commands/tools/update/index.js +7 -1
  45. package/dist/commands/tools/update/update-tools.d.ts +9 -0
  46. package/dist/commands/tools/update/update-tools.d.ts.map +1 -1
  47. package/dist/commands/tools/update/update-tools.js +25 -5
  48. package/dist/providers/identity/family.d.ts +1 -1
  49. package/dist/providers/identity/family.d.ts.map +1 -1
  50. package/dist/providers/identity/family.js +2 -0
  51. package/package.json +2 -2
@@ -0,0 +1,439 @@
1
+ ---
2
+ name: oat-project-autonomous
3
+ version: 1.0.1
4
+ description: Use when a user explicitly asks to run an OAT project autonomously end-to-end. Activates session-only autonomy, resumes the correct lifecycle phase, and drives the existing OAT skills through final PR or a reported boundary.
5
+ argument-hint: '<goal | project-slug | ticket-ref>'
6
+ disable-model-invocation: true
7
+ user-invocable: true
8
+ allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Task
9
+ ---
10
+
11
+ # Autonomous OAT Project
12
+
13
+ Run an OAT project from its persisted entry state to final PR by chaining the
14
+ existing lifecycle skills. This skill supplies policy and sequencing; each
15
+ lifecycle skill continues to own its artifacts, gates, reviews, and state.
16
+
17
+ ## When to Use
18
+
19
+ Use this skill only when the user explicitly requests autonomous end-to-end OAT
20
+ execution, including:
21
+
22
+ - a bare goal that should become a complete OAT project;
23
+ - a project, ticket, or approved plan that should resume and run to final PR;
24
+ - a deliberate restart of an interrupted autonomous run.
25
+
26
+ Do not auto-invoke this skill merely because a project is ready for its next
27
+ phase. For one interactive lifecycle phase, invoke that phase's skill instead.
28
+
29
+ ## Arguments
30
+
31
+ Parse `$ARGUMENTS` as one of:
32
+
33
+ - a substantive goal;
34
+ - an existing project slug or path;
35
+ - a ticket or external reference with enough context to resolve the goal;
36
+ - empty only when `.oat/config.local.json` points to a valid active project.
37
+
38
+ ## Prerequisites
39
+
40
+ - `oat` is available on `PATH`. If it is missing, stop with the installation
41
+ action; never approximate OAT artifacts, state, or CLI transitions manually.
42
+ - The current repository permits the requested work on the current branch.
43
+ - Read `references/gate-inventory.md` before resolving any autonomous gate.
44
+
45
+ ## Mode Assertion
46
+
47
+ **OAT MODE: Autonomous Project Orchestration**
48
+
49
+ **Purpose:** Activate the session policy, detect persisted project state, and
50
+ chain the canonical lifecycle skills to final PR without unattended input
51
+ waits.
52
+
53
+ **BLOCKED Activities:**
54
+
55
+ - Bypassing, reimplementing, weakening, or silently satisfying a gate owned by
56
+ another skill.
57
+ - Persisting `OAT_AUTONOMOUS`, `OAT_NON_INTERACTIVE`, or an active autonomy mode
58
+ in project artifacts, config, shell profiles, or environment files.
59
+ - Approximating artifacts or state transitions when the OAT CLI is missing or
60
+ fails.
61
+ - Continuing through destructive-change risk, unresolved Critical findings,
62
+ required repository-policy approval, or missing credentials without an
63
+ integrity-preserving route.
64
+ - Adding a coordinator or other orchestration layer over
65
+ `oat-project-implement`'s phase-agent topology. That topology is owned by
66
+ implement; an extra layer has a documented wall-clock regression.
67
+
68
+ **ALLOWED Activities:**
69
+
70
+ - Setting the two autonomy environment variables for the current process tree.
71
+ - Resolving project home and persisted entry state.
72
+ - Selecting quick or spec-driven mode from the review-density rule.
73
+ - Invoking existing OAT lifecycle and dispatch skills in their required order.
74
+ - Auto-resolving only the gates authorized by the autonomy contract.
75
+ - Committing and pushing completed phase boundaries, subject to repository
76
+ policy, and reporting explicit boundary stops.
77
+
78
+ **Self-Correction Protocol:**
79
+
80
+ If you catch yourself:
81
+
82
+ - Re-describing a lifecycle phase instead of invoking its skill → STOP and load
83
+ the owning skill.
84
+ - Inventing a target, artifact, state transition, or gate outcome → STOP and
85
+ use the owning OAT CLI or skill contract.
86
+ - Waiting for mid-run input → STOP, map the prompt to the gate inventory, then
87
+ auto-resolve it or emit a boundary blocker report.
88
+ - Launching a second review route after a launch was accepted → STOP and use
89
+ the accepted handle's bounded recovery path.
90
+
91
+ **Recovery:**
92
+
93
+ 1. Persist only safe, owned bookkeeping.
94
+ 2. Record the deviation or inventory gap in the learnings log.
95
+ 3. Return to the earliest incomplete canonical lifecycle step, or stop with the
96
+ structured blocker report.
97
+
98
+ ## Progress Indicators (User-Facing)
99
+
100
+ Print this banner once at invocation:
101
+
102
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
103
+ OAT ▸ AUTONOMOUS PROJECT
104
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
105
+
106
+ Print each indicator only when its step begins:
107
+
108
+ - `[1/9] Activating session autonomy and resolving the project…`
109
+ - `[2/9] Detecting persisted lifecycle state…`
110
+ - `[3/9] Selecting workflow review density…`
111
+ - `[4/9] Gathering external-integration evidence…`
112
+ - `[5/9] Initializing execution learnings…`
113
+ - `[6/9] Running lifecycle phases and independent reviews…`
114
+ - `[7/9] Completing implementation closeout…`
115
+ - `[8/9] Committing and pushing the phase boundary…`
116
+ - `[9/9] Producing the autonomous run report…`
117
+
118
+ For long reviews, verification, builds, and pushes, print one starting line and
119
+ one completion line. Never print all step indicators up front.
120
+
121
+ ## Process
122
+
123
+ ### Step 0: Activate Policy and Resolve Active Project
124
+
125
+ Set both signals for this process and every bounded child in this run:
126
+
127
+ ```bash
128
+ export OAT_AUTONOMOUS=1
129
+ export OAT_NON_INTERACTIVE=1
130
+ ```
131
+
132
+ Do not persist either value.
133
+
134
+ If the current host is a cloud environment and a harness orientation skill is
135
+ discoverable, load it now and delegate project-home resolution to it. Keep this
136
+ skill provider-agnostic. Otherwise resolve in the current target repository.
137
+
138
+ Resolve the configured pointer and projects root:
139
+
140
+ ```bash
141
+ PROJECT_PATH=$(oat config get activeProject 2>/dev/null || true)
142
+ PROJECTS_ROOT="${OAT_PROJECTS_ROOT:-$(oat config get projects.root 2>/dev/null || echo ".oat/projects/shared")}"
143
+ PROJECTS_ROOT="${PROJECTS_ROOT%/}"
144
+ ```
145
+
146
+ Resolution order:
147
+
148
+ 1. An explicit existing project path or slug in `$ARGUMENTS`.
149
+ 2. A valid `activeProject` in `.oat/config.local.json`.
150
+ 3. A new project derived from a substantive goal or ticket reference.
151
+
152
+ For a new goal, derive a safe project slug but do not hand-create the project.
153
+ Mode selection in Step 2 chooses `oat-project-new` or
154
+ `oat-project-quick-start`, which owns scaffolding and pointer persistence. If
155
+ the input is empty, ambiguous, collides with another project, or resolves
156
+ outside the target repository, stop at the applicable product-judgment or
157
+ repository-policy boundary.
158
+
159
+ ### Step 0.5: Capability Detection and Tier Selection
160
+
161
+ Before artifact writes, external side effects, tests, or long-running work,
162
+ load `oat-project-dispatch-subagents`, which in turn requires
163
+ `oat-dispatch-subagents`. Probe the roles and dispatch surfaces needed for
164
+ lifecycle workers and independent reviewers.
165
+
166
+ Classify each required capability as:
167
+
168
+ - `available`: proceed with delegated execution;
169
+ - `authorization required`: the autonomy policy supplies one authorization for
170
+ this run's exact roles, scopes, and authority;
171
+ - `not resolved`: use a documented integrity-preserving fallback only when the
172
+ owning lifecycle contract allows it; otherwise stop before side effects.
173
+
174
+ The authorization covers only lifecycle workers and reviewers for this run.
175
+ It does not widen file, command, credential, branch, or merge authority.
176
+
177
+ Report and lock the selected tier:
178
+
179
+ ```text
180
+ [preflight] Checking autonomous lifecycle delegation…
181
+ → workers: {available | authorization required | not resolved}
182
+ → reviewers: {available | authorization required | not resolved}
183
+ → Selected: Tier {1 | 2} — {Delegated | Contract-approved fallback}
184
+ → Reason: {available | policy authorized once | dispatch unavailable}
185
+ ```
186
+
187
+ Do not repeatedly request authorization. If review independence is required
188
+ and no compliant route resolves, fail closed.
189
+
190
+ ### Step 1: Detect the Persisted Entry State
191
+
192
+ For an existing project, use the CLI rather than ad-hoc frontmatter parsing:
193
+
194
+ ```bash
195
+ oat project status --project-path "$PROJECT_PATH" --json
196
+ ```
197
+
198
+ Read `state.md`, the plan readiness/frontmatter, `implementation.md`, review
199
+ rows, and PR state as supporting artifacts. Reconcile only through the owning
200
+ skill's documented resume behavior.
201
+
202
+ Select the earliest incomplete lifecycle owner:
203
+
204
+ | Persisted state | Route |
205
+ | --------------------------------------------------------- | ----------------------------------------------------------- |
206
+ | No project yet | Continue to Step 2, then invoke the selected creation skill |
207
+ | Quick-mode discovery, optional design, or plan incomplete | `oat-project-quick-start` |
208
+ | Spec-driven discovery incomplete | `oat-project-discover` |
209
+ | Spec-driven design/spec incomplete | `oat-project-design` |
210
+ | Design complete, plan incomplete | `oat-project-plan` |
211
+ | Imported plan requested | `oat-project-import-plan` |
212
+ | Plan ready for implementation | `oat-project-implement` |
213
+ | Implementation closeout snapshot incomplete | `oat-project-implement` |
214
+ | PR already open | Report the tracked PR; do not create a duplicate |
215
+
216
+ An approved plan enters at implementation. Never replay completed phases solely
217
+ because this is a new session.
218
+
219
+ ### Step 2: Select Workflow Mode by Review Density
220
+
221
+ For a new goal, choose mode as a rigor selector:
222
+
223
+ - **Spec-driven:** use when discovery, design/spec, and plan each need their own
224
+ independent review before implementation.
225
+ - **Quick:** use when one independent bundled pre-implementation review of
226
+ discovery, optional lightweight design, and plan provides sufficient rigor.
227
+
228
+ Base the choice on uncertainty, integration risk, architecture decisions,
229
+ reversibility, and review needs—not task count. Record the chosen mode and
230
+ evidence-based review-density rationale in the first owned project artifact.
231
+ If evidence cannot support the choice without changing product intent, stop at
232
+ a product-judgment boundary.
233
+
234
+ Invoke `oat-project-new` for spec-driven mode or `oat-project-quick-start` for
235
+ quick mode. Existing projects retain their persisted workflow mode.
236
+
237
+ ### Step 3: Perform External-Integration Research
238
+
239
+ Before planning, extensively research every integrated system, service,
240
+ protocol, and adjacent repository implicated by the goal:
241
+
242
+ 1. Enumerate external dependencies and evidence gaps.
243
+ 2. Use the best discoverable internal documentation/search skill for each
244
+ dependency, without hard-coding an organization or mechanism here.
245
+ 3. Cross-check indexed or remote evidence against local checked-out sources
246
+ when available.
247
+ 4. Record sources, coverage limits, and contradictions in discovery/design.
248
+
249
+ If no suitable research skill or remote source is available, log the gap and
250
+ continue with checked-out sources when that preserves integrity. Missing
251
+ evidence that would force material product or safety assumptions is a boundary,
252
+ not permission to guess.
253
+
254
+ ### Step 4: Create and Maintain the Learnings Log
255
+
256
+ At run start, create `"$PROJECT_PATH/oat-execution-learnings.md"` when absent
257
+ with `oat_generated: false` and append-only intent. Append UTC-dated entries:
258
+
259
+ ```markdown
260
+ ## {timestamp} - {category} - {title}
261
+
262
+ **Observation:** ...
263
+ **Impact:** ...
264
+ **Recommendation:** ...
265
+ ```
266
+
267
+ Use only these categories: `gotcha`, `efficiency`, `documentation-gap`,
268
+ `candidate-skill-content`, `decision`, and `environment-limited`. Record
269
+ degraded routes, inventory gaps, unavailable verification, and reusable
270
+ improvements. Never record secrets, token values, signed URLs, or active
271
+ autonomy signals.
272
+
273
+ ### Step 5: Invoke Lifecycle Skills and Reviews
274
+
275
+ Invoke each lifecycle skill by name and let it own its complete workflow,
276
+ artifacts, gates, commits, and state transitions. Re-read project status after
277
+ each return and route to the next earliest incomplete owner.
278
+
279
+ At every required artifact or code review:
280
+
281
+ 1. Resolve the route before launch through
282
+ `oat-project-dispatch-subagents` and its generic dispatch substrate.
283
+ 2. Prefer a configured independent gate route when its exact target is
284
+ available; otherwise select a policy-compliant cross-family reviewer.
285
+ 3. Select same-family/context-independent review only when no second family is
286
+ dispatchable and the owning contract permits degradation. Record the
287
+ selection reason and achieved independence.
288
+ 4. Treat an accepted launch as terminal. On post-accept failure, use only the
289
+ dispatch engine's bounded identical-payload retry and continuation rules,
290
+ then block. Never fall through to another route or cheaper target.
291
+ 5. Reference the canonical dispatch record from the project review artifact.
292
+ Configured invocation evidence is authoritative; runtime identity is
293
+ separate and non-authoritative.
294
+ 6. Fail closed for blocking reviews. Unresolved Critical findings always stop;
295
+ Important findings follow the configured gate policy.
296
+
297
+ Do not reproduce provider-specific model, catalog, or launch mechanics here.
298
+
299
+ ### Step 6: Apply PR Topology
300
+
301
+ Default to one working branch and one final PR for the project. Do not merge.
302
+
303
+ Use stacked PRs only when the user explicitly requested them before autonomous
304
+ work began. Require the plan's `Stacked PR Strategy` to name the stack, branch
305
+ and base for each layer, dependency order, and fan-in rule. A parallel group is
306
+ valid only when both write-set independence and base-branch readiness are
307
+ proved in the plan.
308
+
309
+ Repository policy, protected branches, required approvals, or missing push/PR
310
+ credentials are boundaries.
311
+
312
+ ### Step 7: Complete Through Implement's Lifecycle Tail
313
+
314
+ Do not chain summary, documentation, or PR independently after implementation.
315
+ Ensure `oat-project-implement` resolves its immutable
316
+ `oat_post_implement_sequence` and remains the closeout owner:
317
+
318
+ - configured legacy or structured sequences remain authoritative;
319
+ - when unset under autonomy, implement uses its autonomous default;
320
+ - resume an incomplete snapshot from its first incomplete stored step;
321
+ - final review must pass before final HiLL approval;
322
+ - autonomy auto-approves the final HiLL between pre-approval and post-approval
323
+ steps, as defined by the gate inventory;
324
+ - failed review, child failure, policy approval, destructive action, or missing
325
+ credential stops at its boundary.
326
+
327
+ The orchestrator's responsibility is to keep invoking
328
+ `oat-project-implement` until that sequence reaches `complete` or reports a
329
+ boundary. Never wrap or replace implement's phase-agent topology.
330
+
331
+ ### Step 8: Commit and Push Phase Boundaries
332
+
333
+ After each lifecycle phase and its review/receive bookkeeping are complete:
334
+
335
+ 1. Verify the task and project artifacts are committed by their owning skill.
336
+ 2. Commit any remaining bounded orchestrator bookkeeping separately.
337
+ 3. Push the current working branch without force.
338
+ 4. Record the commit, push result, review record, and next persisted state.
339
+
340
+ Retry transient push failures using repository conventions. Stop on protected
341
+ branch policy, authentication denial, or any required destructive history
342
+ operation. Never merge or force-push.
343
+
344
+ ### Step 9: Report Completion or a Boundary
345
+
346
+ On success, report:
347
+
348
+ ```text
349
+ Autonomous run: complete
350
+ Project: {path}
351
+ Workflow mode: {quick | spec-driven}
352
+ Entry state: {phase}
353
+ Phases executed: {list}
354
+ Reviews: {scope → route, target, independence, record}
355
+ Commits/pushes: {phase → commit → result}
356
+ PR topology: {single | stack}
357
+ PR: {URL or tracked reference}
358
+ Learnings: {entry count and path}
359
+ Boundaries: none
360
+ ```
361
+
362
+ On a boundary, commit and push only safe resumable state, then report:
363
+
364
+ ```text
365
+ Autonomous run: blocked
366
+ Project: {path}
367
+ Gate/boundary: {inventory ID and class}
368
+ Reason: {concise reason}
369
+ Evidence: {artifact, command, or dispatch record}
370
+ Completed durable work: {last phase/task/commit/push}
371
+ Operator action: {exact non-secret action}
372
+ Resume: deliberately invoke oat-project-autonomous {project-slug}
373
+ ```
374
+
375
+ Never wait silently for input.
376
+
377
+ ## Restart and Resume
378
+
379
+ Autonomy ends with the process. A restart must deliberately invoke this skill
380
+ again; never persist or infer an active autonomous mode from artifacts. On
381
+ re-invocation, set the signals anew, resolve the same project, inspect persisted
382
+ state, and resume at the earliest incomplete owner without duplicating
383
+ completed work or changing an immutable closeout snapshot.
384
+
385
+ ## Examples
386
+
387
+ ### Basic Usage
388
+
389
+ ```text
390
+ /oat-project-autonomous "Add signed webhook verification and open the final PR"
391
+ ```
392
+
393
+ ```text
394
+ /oat-project-autonomous cursor-cloud-autonomous-projects
395
+ ```
396
+
397
+ ### Conversational
398
+
399
+ ```text
400
+ Run the approved OAT project cursor-cloud-autonomous-projects autonomously
401
+ through its final PR.
402
+ ```
403
+
404
+ ```text
405
+ Take this goal from discovery to PR with OAT autonomy: add resumable exports.
406
+ ```
407
+
408
+ ## Troubleshooting
409
+
410
+ **`oat` is unavailable:** Stop and provide the supported installation action.
411
+ Do not create or normalize project artifacts by hand.
412
+
413
+ **A lifecycle skill asks an unmapped question:** Treat it as an
414
+ `inventory-gap` boundary, record the exact site in the learnings log, and stop
415
+ resumably.
416
+
417
+ **A review launch fails after acceptance:** Continue or retry only through the
418
+ accepted handle with the identical payload. Block when bounded recovery is
419
+ exhausted.
420
+
421
+ **Project state and git history disagree:** Invoke the owning skill's
422
+ reconciliation path. Do not guess or overwrite the tracker.
423
+
424
+ ## Success Criteria
425
+
426
+ - ✅ Both autonomy signals were active only for the current process tree.
427
+ - ✅ The entry phase came from persisted OAT state and completed work was not
428
+ replayed.
429
+ - ✅ Quick/spec-driven selection, when needed, recorded a review-density
430
+ rationale.
431
+ - ✅ External-integration research and evidence gaps were recorded.
432
+ - ✅ Every required review has dispatch provenance and no accepted launch fell
433
+ through to another route.
434
+ - ✅ Existing lifecycle skills owned every artifact, gate, and transition.
435
+ - ✅ Implement completed `oat_post_implement_sequence` or reported an explicit
436
+ resumable boundary.
437
+ - ✅ Phase-boundary commits and non-force pushes are recorded.
438
+ - ✅ The run ended with a final PR report or a structured blocker report.
439
+ - ✅ The learnings log contains reusable, secret-free entries.