@open-agent-toolkit/cli 0.2.38 → 0.2.39
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/bundle-metadata.json +1 -1
- package/assets/docs/cli-utilities/tool-packs.md +13 -0
- package/assets/docs/contributing/skills.md +29 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-brainstorm/SKILL.md +9 -2
- package/assets/skills/oat-brainstorm/references/destinations.md +1 -1
- package/assets/skills/oat-idea-ideate/SKILL.md +19 -2
- package/assets/skills/oat-idea-new/SKILL.md +19 -2
- package/assets/skills/oat-idea-summarize/SKILL.md +20 -3
- package/assets/skills/oat-project-implement/SKILL.md +18 -17
- package/assets/skills/oat-project-plan-writing/SKILL.md +29 -8
- package/package.json +2 -2
|
@@ -71,6 +71,19 @@ oat tools install utility
|
|
|
71
71
|
oat tools install workflows
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
+
The two packs do not need to share a scope. For example, a repository can keep
|
|
75
|
+
the lifecycle adapter at project scope while reusing the utility contracts from
|
|
76
|
+
user scope:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
oat tools install workflows --scope project
|
|
80
|
+
oat tools install utility --scope user
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Lifecycle skills resolve each required sibling independently from the loaded
|
|
84
|
+
scope, then user scope, then project scope. This makes mixed-scope placement a
|
|
85
|
+
supported execution path rather than relying on one frozen skills root.
|
|
86
|
+
|
|
74
87
|
The packs remain independently installable. If the workflows adapter is
|
|
75
88
|
present without the utility contracts, it fails closed and reports the missing
|
|
76
89
|
dependency instead of inventing a fallback route. Non-project analytical
|
|
@@ -24,6 +24,33 @@ Skill behavior is defined by frontmatter plus the process contract in each `SKIL
|
|
|
24
24
|
- Define a pre-work capability and authorization gate for skills that delegate to subagents, workers, or reviewers.
|
|
25
25
|
- Keep output obligations explicit so downstream skills and users know what changed.
|
|
26
26
|
|
|
27
|
+
## Portable sibling-skill reads
|
|
28
|
+
|
|
29
|
+
Executable instructions must not assume the skill is running from a repository
|
|
30
|
+
checkout. Before a skill or one of its operational reference files reads a
|
|
31
|
+
sibling `SKILL.md`, resolve a `${SKILLS_ROOT}` in this order:
|
|
32
|
+
|
|
33
|
+
1. Derive `${SKILL_DIR}/..` from the directory containing the currently loaded
|
|
34
|
+
`SKILL.md`, when the provider exposes that path.
|
|
35
|
+
2. Try the user-scope root at `${HOME}/.agents/skills`.
|
|
36
|
+
3. Fall back to the project-scope root at `<repo-root>/.agents/skills`.
|
|
37
|
+
|
|
38
|
+
Probe each candidate for `<sibling>/SKILL.md` and use the first match. If none
|
|
39
|
+
exists, name the missing sibling, give an actionable install or update command,
|
|
40
|
+
and stop that workflow branch instead of improvising the sibling's process.
|
|
41
|
+
|
|
42
|
+
When a caller needs multiple sibling skills, resolve and bind each sibling
|
|
43
|
+
independently. Do not freeze one `${SKILLS_ROOT}` and assume every dependency is
|
|
44
|
+
installed there: a workflows adapter may be at project scope while its utility
|
|
45
|
+
contracts are at user scope. A missing-sibling recovery must name the owning
|
|
46
|
+
pack and intended scope, using `oat tools install <pack> --scope <user|project>`
|
|
47
|
+
or `oat tools update --pack <pack> --scope <user|project>` as appropriate.
|
|
48
|
+
|
|
49
|
+
Do not use a bare `.agents/skills/<sibling>/SKILL.md`, `./.agents/...`, or
|
|
50
|
+
`../.agents/...` path for an executable read. Historical examples may retain
|
|
51
|
+
those spellings only when they are non-executable and explicitly baselined by
|
|
52
|
+
the bundled-docs contract test.
|
|
53
|
+
|
|
27
54
|
## Contract components
|
|
28
55
|
|
|
29
56
|
- Mode assertion (purpose, blocked/allowed activities)
|
|
@@ -120,6 +147,8 @@ dispatch contract owns capability and authorization checks, live catalog
|
|
|
120
147
|
evidence, authorized routes, launch acceptance, recovery, and the neutral
|
|
121
148
|
dispatch record. Keep model/effort/reasoning/service-tier axes explicit and do
|
|
122
149
|
not collapse the selection and mechanics references into one provider matrix.
|
|
150
|
+
Before each launch, disclose the resolved dependency sources and effective
|
|
151
|
+
runtime target; never present a bundled recommendation as the selected target.
|
|
123
152
|
|
|
124
153
|
Keep project lifecycle policy out of that general layer. A lifecycle caller
|
|
125
154
|
loads `oat-project-dispatch-subagents` to resolve project, phase/task, gate,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-brainstorm
|
|
3
|
-
version: 1.3.
|
|
3
|
+
version: 1.3.1
|
|
4
4
|
description: Use when the user explicitly invokes the `brainstorm` verb, including `/oat-brainstorm`, "let's brainstorm", "brainstorm this", "can we brainstorm X", or "help me brainstorm X". For ambiguous exploratory phrasing ("I've been thinking", "what if", "help me think through"), do NOT auto-enter; respond conversationally and offer mode only after ≥2 sustained exploratory turns. Do NOT use for review, debug, PR, status, implementation, or active-workflow questions.
|
|
5
5
|
disable-model-invocation: false
|
|
6
6
|
user-invocable: true
|
|
@@ -411,7 +411,14 @@ read, in order:
|
|
|
411
411
|
|
|
412
412
|
Probe each candidate for `<name>/SKILL.md` and treat the first match as
|
|
413
413
|
`${SKILLS_ROOT}`. If no candidate resolves, tell the user the chained skill is
|
|
414
|
-
not installed and
|
|
414
|
+
not installed and name its pack: `ideas` for `oat-idea-*`,
|
|
415
|
+
`project-management` for `oat-pjm-*`, and `workflows` for `oat-project-*`.
|
|
416
|
+
At the intended scope, run `oat tools install <pack> --scope <user|project>` or
|
|
417
|
+
`oat tools update --pack <pack> --scope <user|project>`, then stop that branch
|
|
418
|
+
instead of improvising its process.
|
|
419
|
+
Operational handoffs in `references/destinations.md` inherit this resolver;
|
|
420
|
+
resolve `${SKILLS_ROOT}` with this contract before executing any sibling read
|
|
421
|
+
specified there.
|
|
415
422
|
|
|
416
423
|
#### 9a — Inline only
|
|
417
424
|
|
|
@@ -76,7 +76,7 @@ Always honor an explicit user-supplied path over the suggestion. Brainstorm docs
|
|
|
76
76
|
**Required template fields:** same set as "Capture as new idea" (capture-as-new-idea path runs silently first), then summary input is whatever was synthesized. Template: `.oat/templates/ideas/idea-summary.md` (consumed via `oat-idea-summarize`).
|
|
77
77
|
**Optional template fields:** none — the summary is rendered from the synthesized payload.
|
|
78
78
|
**Confirmation pattern:** `none` at this layer (the downstream `oat-idea-summarize` surfaces the summary for accept/refine review).
|
|
79
|
-
**Handoff target:** capture-as-new-idea path silently (skill reads
|
|
79
|
+
**Handoff target:** capture-as-new-idea path silently (skill reads `${SKILLS_ROOT}/oat-idea-new/SKILL.md`, resolving `${SKILLS_ROOT}` through the owning `oat-brainstorm` contract, and runs Steps 3-7), then immediately resolves `${SKILLS_ROOT}` again, reads `${SKILLS_ROOT}/oat-idea-summarize/SKILL.md`, and runs it end-to-end. The `oat-idea-summarize` skill's own accept/refine review serves as the user gate.
|
|
80
80
|
**If user wants to keep brainstorming after this is offered:** return to flow with destination = summarize-idea-directly. Skill may probe for chosen direction since the summary will read better with one.
|
|
81
81
|
|
|
82
82
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-idea-ideate
|
|
3
|
-
version: 1.2.
|
|
3
|
+
version: 1.2.2
|
|
4
4
|
description: Use when continuing an existing tracked idea or expanding an explicit scratchpad seed from {IDEAS_ROOT}/scratchpad.md. Do NOT use to start a brand-new, destinationless brainstorm; use oat-brainstorm for that.
|
|
5
5
|
argument-hint: '[--global]'
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -67,6 +67,23 @@ If you catch yourself:
|
|
|
67
67
|
|
|
68
68
|
## Process
|
|
69
69
|
|
|
70
|
+
### Resolve `${SKILLS_ROOT}` for chained idea skills
|
|
71
|
+
|
|
72
|
+
Before reading a sibling skill, resolve the skills root in this order:
|
|
73
|
+
|
|
74
|
+
1. Derive it from the directory containing this loaded `SKILL.md`:
|
|
75
|
+
`${SKILL_DIR}/..`. If the provider exposes the loaded skill path, treat its
|
|
76
|
+
directory as `${SKILL_DIR}`.
|
|
77
|
+
2. Otherwise try the user-scope root first: `${HOME}/.agents/skills`.
|
|
78
|
+
3. Fall back to the project-scope root: `<repo-root>/.agents/skills`.
|
|
79
|
+
|
|
80
|
+
Probe each candidate for `<name>/SKILL.md` and treat the first match as
|
|
81
|
+
`${SKILLS_ROOT}`. If no candidate resolves, tell the user that the required
|
|
82
|
+
sibling skill `<name>` is not installed. At the scope containing this loaded
|
|
83
|
+
skill, run `oat tools install ideas --scope <user|project>` or, when the pack is
|
|
84
|
+
already installed there, `oat tools update --pack ideas --scope <user|project>`.
|
|
85
|
+
Then stop the current branch instead of improvising its process.
|
|
86
|
+
|
|
70
87
|
### Step 0: Resolve Ideas Level
|
|
71
88
|
|
|
72
89
|
Determine whether to operate at project level or user (global) level.
|
|
@@ -117,7 +134,7 @@ IDEA_PATH=$(oat config get activeIdea 2>/dev/null || true)
|
|
|
117
134
|
- Existing ideas (with state: brainstorming/summarized)
|
|
118
135
|
- Scratchpad entries marked as "not yet started"
|
|
119
136
|
- If user picks an existing idea → run `oat config set activeIdea "{idea-path}"` and proceed to Step 2
|
|
120
|
-
- If user picks a scratchpad entry → scaffold the idea inline by reading the **`oat-idea-new`** skill
|
|
137
|
+
- If user picks a scratchpad entry → scaffold the idea inline by reading the **`oat-idea-new`** skill at `${SKILLS_ROOT}/oat-idea-new/SKILL.md` (resolve `${SKILLS_ROOT}` as above) and executing its Steps 3-7 (Initialize Ideas Directory, Scaffold Discovery Document, Update Backlog, Check Scratchpad, Set Active Idea Pointer). Then proceed to Step 2 with the new idea.
|
|
121
138
|
- If no ideas and no scratchpad entries exist → tell the user: "No ideas found. Run the `oat-idea-new` skill to create one, or run the `oat-idea-scratchpad` skill to capture a quick idea seed." Then stop.
|
|
122
139
|
|
|
123
140
|
### Step 2: Load Discovery Document
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-idea-new
|
|
3
|
-
version: 1.2.
|
|
3
|
+
version: 1.2.1
|
|
4
4
|
description: Use when starting ideation for a new concept or problem. Creates an idea directory for lightweight capture and handoff to ongoing ideation.
|
|
5
5
|
argument-hint: '<idea-name> [--global]'
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -30,6 +30,23 @@ Create a new idea directory, scaffold a discovery document, verify setup, and ha
|
|
|
30
30
|
|
|
31
31
|
## Process
|
|
32
32
|
|
|
33
|
+
### Resolve `${SKILLS_ROOT}` for chained idea skills
|
|
34
|
+
|
|
35
|
+
Before reading a sibling skill, resolve the skills root in this order:
|
|
36
|
+
|
|
37
|
+
1. Derive it from the directory containing this loaded `SKILL.md`:
|
|
38
|
+
`${SKILL_DIR}/..`. If the provider exposes the loaded skill path, treat its
|
|
39
|
+
directory as `${SKILL_DIR}`.
|
|
40
|
+
2. Otherwise try the user-scope root first: `${HOME}/.agents/skills`.
|
|
41
|
+
3. Fall back to the project-scope root: `<repo-root>/.agents/skills`.
|
|
42
|
+
|
|
43
|
+
Probe each candidate for `<name>/SKILL.md` and treat the first match as
|
|
44
|
+
`${SKILLS_ROOT}`. If no candidate resolves, tell the user that the required
|
|
45
|
+
sibling skill `<name>` is not installed. At the scope containing this loaded
|
|
46
|
+
skill, run `oat tools install ideas --scope <user|project>` or, when the pack is
|
|
47
|
+
already installed there, `oat tools update --pack ideas --scope <user|project>`.
|
|
48
|
+
Then stop the current branch instead of improvising its process.
|
|
49
|
+
|
|
33
50
|
### Step 0: Resolve Ideas Level
|
|
34
51
|
|
|
35
52
|
Determine whether to operate at project level or user (global) level.
|
|
@@ -140,7 +157,7 @@ Active: config activeIdea (set)
|
|
|
140
157
|
Starting brainstorming...
|
|
141
158
|
```
|
|
142
159
|
|
|
143
|
-
Then immediately invoke the **`oat-idea-ideate`** skill
|
|
160
|
+
Then immediately invoke the **`oat-idea-ideate`** skill by reading `${SKILLS_ROOT}/oat-idea-ideate/SKILL.md` (resolve `${SKILLS_ROOT}` as above) to begin the first brainstorming session. Follow its process from Step 1. The ideate skill owns all conversational brainstorming behavior — do not duplicate it here.
|
|
144
161
|
|
|
145
162
|
## Success Criteria
|
|
146
163
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-idea-summarize
|
|
3
|
-
version: 1.2.
|
|
3
|
+
version: 1.2.1
|
|
4
4
|
description: Use when an idea is mature enough to move from brainstorming into the backlog. Generates a summary document and adds the idea to the backlog.
|
|
5
5
|
argument-hint: '[--global]'
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -34,6 +34,23 @@ Read the brainstorming discovery document, synthesize a clean summary, and updat
|
|
|
34
34
|
|
|
35
35
|
## Process
|
|
36
36
|
|
|
37
|
+
### Resolve `${SKILLS_ROOT}` for chained idea skills
|
|
38
|
+
|
|
39
|
+
Before reading a sibling skill, resolve the skills root in this order:
|
|
40
|
+
|
|
41
|
+
1. Derive it from the directory containing this loaded `SKILL.md`:
|
|
42
|
+
`${SKILL_DIR}/..`. If the provider exposes the loaded skill path, treat its
|
|
43
|
+
directory as `${SKILL_DIR}`.
|
|
44
|
+
2. Otherwise try the user-scope root first: `${HOME}/.agents/skills`.
|
|
45
|
+
3. Fall back to the project-scope root: `<repo-root>/.agents/skills`.
|
|
46
|
+
|
|
47
|
+
Probe each candidate for `<name>/SKILL.md` and treat the first match as
|
|
48
|
+
`${SKILLS_ROOT}`. If no candidate resolves, tell the user that the required
|
|
49
|
+
sibling skill `<name>` is not installed. At the scope containing this loaded
|
|
50
|
+
skill, run `oat tools install ideas --scope <user|project>` or, when the pack is
|
|
51
|
+
already installed there, `oat tools update --pack ideas --scope <user|project>`.
|
|
52
|
+
Then stop the current branch instead of improvising its process.
|
|
53
|
+
|
|
37
54
|
### Step 0: Resolve Ideas Level
|
|
38
55
|
|
|
39
56
|
Determine whether to operate at project level or user (global) level.
|
|
@@ -81,7 +98,7 @@ Read `{IDEAS_ROOT}/$IDEA_NAME/discovery.md`.
|
|
|
81
98
|
**If mostly empty:**
|
|
82
99
|
|
|
83
100
|
- Warn: "This idea hasn't been explored much yet. Consider running the `oat-idea-ideate` skill first to flesh it out."
|
|
84
|
-
- Ask: continue with summarization anyway, or brainstorm more? If user chooses to brainstorm, read the **`oat-idea-ideate`** skill
|
|
101
|
+
- Ask: continue with summarization anyway, or brainstorm more? If user chooses to brainstorm, read the **`oat-idea-ideate`** skill at `${SKILLS_ROOT}/oat-idea-ideate/SKILL.md` (resolve `${SKILLS_ROOT}` as above) and follow its process from Step 4.
|
|
85
102
|
|
|
86
103
|
### Step 3: Generate Summary
|
|
87
104
|
|
|
@@ -114,7 +131,7 @@ Display the generated summary to the user. Ask:
|
|
|
114
131
|
- **Refine** — edit the summary (make changes, then re-confirm)
|
|
115
132
|
- **Continue brainstorming** — discard summary and resume brainstorming
|
|
116
133
|
|
|
117
|
-
If user chooses to continue brainstorming, do not update state or backlog. Read the **`oat-idea-ideate`** skill
|
|
134
|
+
If user chooses to continue brainstorming, do not update state or backlog. Read the **`oat-idea-ideate`** skill at `${SKILLS_ROOT}/oat-idea-ideate/SKILL.md` (resolve `${SKILLS_ROOT}` as above) and follow its process from Step 4 (Start New Session) to resume the conversation.
|
|
118
135
|
|
|
119
136
|
### Step 5: Update Discovery State
|
|
120
137
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-implement
|
|
3
|
-
version: 2.2.
|
|
3
|
+
version: 2.2.6
|
|
4
4
|
description: Use when plan.md is ready for execution. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases.
|
|
5
5
|
oat_gateable: true
|
|
6
6
|
argument-hint: '[--retry-limit <N>] [--dry-run]'
|
|
@@ -19,23 +19,24 @@ Execute the implementation plan task-by-task with full state tracking.
|
|
|
19
19
|
|
|
20
20
|
## Shared Subagent Dispatch Contract
|
|
21
21
|
|
|
22
|
-
Before
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
Before launch, independently probe each required `<name>/SKILL.md` in order:
|
|
23
|
+
`${SKILL_DIR}/..` from this loaded skill, `${HOME}/.agents/skills`, then
|
|
24
|
+
`<repo-root>/.agents/skills`. Bind each first match to its own root:
|
|
25
|
+
`${PROJECT_DISPATCH_SKILLS_ROOT}` for `oat-project-dispatch-subagents`,
|
|
26
|
+
`${DISPATCH_SKILLS_ROOT}` for `oat-dispatch-subagents`, and
|
|
27
|
+
`${ORCHESTRATION_SKILLS_ROOT}` for `subagent-orchestration`; never ambient
|
|
28
|
+
discovery. On a miss, name it, stop every implementation, fix, or reviewer
|
|
29
|
+
dispatch, and give its intended-scope recovery command:
|
|
30
|
+
|
|
31
|
+
- `oat-project-dispatch-subagents`: `oat tools install workflows --scope <user|project>` or `oat tools update --pack workflows --scope <user|project>`.
|
|
32
|
+
- `oat-dispatch-subagents` or `subagent-orchestration`: `oat tools install utility --scope <user|project>` or `oat tools update --pack utility --scope <user|project>`.
|
|
33
|
+
|
|
34
|
+
Read `${PROJECT_DISPATCH_SKILLS_ROOT}/oat-project-dispatch-subagents/SKILL.md`, then `${DISPATCH_SKILLS_ROOT}/oat-dispatch-subagents/SKILL.md`; both are mandatory in order. Display structured resolver notices before every implementation, fix, or reviewer launch. Runtime disclosure uses the effective resolved target, never the bundled recommendation version. Correctness must not require restart or hot reload.
|
|
35
|
+
Read `${ORCHESTRATION_SKILLS_ROOT}/subagent-orchestration/references/model-selection-principles.md`.
|
|
33
36
|
After resolving `ACTIVE_PROVIDER`, read exactly one active-provider selection
|
|
34
|
-
reference
|
|
35
|
-
matching mechanics reference from
|
|
36
|
-
|
|
37
|
-
`provider-codex.md`, or `provider-claude.md`). Do not merge provider guidance
|
|
38
|
-
or mechanics.
|
|
37
|
+
reference there: the named `provider-cursor.md`, `provider-codex.md`, or
|
|
38
|
+
`provider-claude.md` match. Then read the matching mechanics reference from
|
|
39
|
+
`${DISPATCH_SKILLS_ROOT}/oat-dispatch-subagents/references/`. Do not merge them.
|
|
39
40
|
|
|
40
41
|
## Project Log Append Points
|
|
41
42
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-plan-writing
|
|
3
|
-
version: 1.2.
|
|
3
|
+
version: 1.2.19
|
|
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
|
|
@@ -25,20 +25,41 @@ This is a sub-phase indicator; the calling skill owns the top-level banner.
|
|
|
25
25
|
|
|
26
26
|
## Shared Subagent Dispatch Contract
|
|
27
27
|
|
|
28
|
-
Before every artifact self-review dispatch,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
Before every artifact self-review dispatch, resolve `${SKILLS_ROOT}` for each
|
|
29
|
+
required sibling skill in this order:
|
|
30
|
+
|
|
31
|
+
1. Derive it from the directory containing this loaded `SKILL.md`:
|
|
32
|
+
`${SKILL_DIR}/..`. If the provider exposes the loaded skill path, treat its
|
|
33
|
+
directory as `${SKILL_DIR}`.
|
|
34
|
+
2. Otherwise try the user-scope root first: `${HOME}/.agents/skills`.
|
|
35
|
+
3. Fall back to the project-scope root: `<repo-root>/.agents/skills`.
|
|
36
|
+
|
|
37
|
+
Probe each candidate for `<name>/SKILL.md` and treat the first match as
|
|
38
|
+
`${SKILLS_ROOT}`. If no candidate resolves, tell the user which required
|
|
39
|
+
dispatch skill is not installed. For `oat-project-dispatch-subagents`, run
|
|
40
|
+
`oat tools install workflows --scope <user|project>` or
|
|
41
|
+
`oat tools update --pack workflows --scope <user|project>` at its intended
|
|
42
|
+
scope. For `oat-dispatch-subagents` or `subagent-orchestration`, run
|
|
43
|
+
`oat tools install utility --scope <user|project>` or
|
|
44
|
+
`oat tools update --pack utility --scope <user|project>` at its intended scope.
|
|
45
|
+
Stop before the artifact self-review dispatch. Do not fall back to ambient skill
|
|
46
|
+
discovery.
|
|
47
|
+
|
|
48
|
+
Resolve, read, and follow
|
|
49
|
+
`${SKILLS_ROOT}/oat-project-dispatch-subagents/SKILL.md`, then resolve and read
|
|
50
|
+
`${SKILLS_ROOT}/oat-dispatch-subagents/SKILL.md`. Both reads are mandatory and
|
|
51
|
+
must remain in this order. Planning self-review
|
|
32
52
|
inherits the planning parent by default. The shared contracts own any
|
|
33
53
|
catalog-aware exception, launch acceptance boundary, and dispatch record; this
|
|
34
54
|
skill continues to own plan readiness and review disposition.
|
|
35
55
|
|
|
36
56
|
Read
|
|
37
|
-
|
|
57
|
+
`${SKILLS_ROOT}/subagent-orchestration/references/model-selection-principles.md`
|
|
58
|
+
(resolve `${SKILLS_ROOT}` for `subagent-orchestration` first).
|
|
38
59
|
After resolving the review provider, read exactly one active-provider selection
|
|
39
|
-
reference from
|
|
60
|
+
reference from `${SKILLS_ROOT}/subagent-orchestration/references/` and the
|
|
40
61
|
matching mechanics reference from
|
|
41
|
-
|
|
62
|
+
`${SKILLS_ROOT}/oat-dispatch-subagents/references/` (`provider-cursor.md`,
|
|
42
63
|
`provider-codex.md`, or `provider-claude.md`). Do not merge provider guidance
|
|
43
64
|
or mechanics.
|
|
44
65
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-agent-toolkit/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.39",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Open Agent Toolkit CLI",
|
|
6
6
|
"homepage": "https://github.com/voxmedia/open-agent-toolkit/tree/main/packages/cli",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"ora": "^9.0.0",
|
|
35
35
|
"yaml": "2.8.2",
|
|
36
36
|
"zod": "^3.25.76",
|
|
37
|
-
"@open-agent-toolkit/control-plane": "0.2.
|
|
37
|
+
"@open-agent-toolkit/control-plane": "0.2.39"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^22.10.0",
|