@open-agent-toolkit/cli 0.2.13 → 0.2.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/assets/agents/oat-phase-implementer.md +5 -2
- package/assets/agents/oat-reviewer.md +2 -2
- package/assets/docs/cli-utilities/config-and-local-state.md +14 -1
- package/assets/docs/cli-utilities/configuration.md +23 -2
- package/assets/docs/cli-utilities/tool-packs.md +68 -24
- package/assets/docs/contributing/skills.md +17 -10
- package/assets/docs/provider-sync/providers.md +26 -0
- package/assets/docs/reference/cli-reference.md +1 -1
- package/assets/docs/reference/troubleshooting.md +42 -0
- package/assets/docs/workflows/projects/lifecycle.md +2 -2
- package/assets/docs/workflows/projects/orchestration-model.md +14 -7
- package/assets/docs/workflows/projects/programmatic-execution.md +1 -1
- package/assets/docs/workflows/projects/reviews.md +18 -11
- package/assets/docs/workflows/skills/index.md +2 -0
- package/assets/docs/workflows/skills/repo-improve.md +13 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-agent-instructions-analyze/SKILL.md +2 -2
- package/assets/skills/oat-brainstorm/SKILL.md +8 -8
- package/assets/skills/oat-brainstorm/references/destinations.md +3 -3
- package/assets/skills/oat-cursor-cloud-projects/SKILL.md +12 -5
- package/assets/skills/oat-dispatch-subagents/SKILL.md +81 -24
- package/assets/skills/oat-dispatch-subagents/references/provider-claude.md +10 -7
- package/assets/skills/oat-dispatch-subagents/references/provider-codex.md +18 -13
- package/assets/skills/oat-dispatch-subagents/references/provider-cursor.md +30 -23
- package/assets/skills/oat-dispatch-subagents/references/record-schema.md +86 -2
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +4 -4
- package/assets/skills/oat-project-dispatch-subagents/SKILL.md +8 -3
- package/assets/skills/oat-project-document/SKILL.md +4 -4
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-implement/SKILL.md +9 -5
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-plan-writing/SKILL.md +9 -5
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-summary/SKILL.md +9 -9
- package/assets/skills/oat-repo-improve/SKILL.md +9 -2
- package/assets/skills/subagent-orchestration/SKILL.md +109 -0
- package/assets/skills/subagent-orchestration/references/evidence-and-refresh.md +103 -0
- package/assets/skills/subagent-orchestration/references/model-selection-principles.md +105 -0
- package/assets/skills/subagent-orchestration/references/provider-claude.md +81 -0
- package/assets/skills/subagent-orchestration/references/provider-codex.md +63 -0
- package/assets/skills/subagent-orchestration/references/provider-cursor.md +78 -0
- package/dist/commands/init/tools/brainstorm/index.d.ts +0 -3
- package/dist/commands/init/tools/brainstorm/index.d.ts.map +1 -1
- package/dist/commands/init/tools/brainstorm/index.js +0 -12
- package/dist/commands/init/tools/index.d.ts.map +1 -1
- package/dist/commands/init/tools/index.js +46 -25
- package/dist/commands/init/tools/shared/skill-manifest.d.ts +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.js +1 -0
- package/dist/commands/init/tools/utility/index.d.ts.map +1 -1
- package/dist/commands/init/tools/utility/index.js +16 -2
- package/dist/commands/tools/has/has-pack.d.ts +18 -0
- package/dist/commands/tools/has/has-pack.d.ts.map +1 -0
- package/dist/commands/tools/has/has-pack.js +33 -0
- package/dist/commands/tools/has/index.d.ts +4 -0
- package/dist/commands/tools/has/index.d.ts.map +1 -0
- package/dist/commands/tools/has/index.js +57 -0
- package/dist/commands/tools/index.d.ts.map +1 -1
- package/dist/commands/tools/index.js +2 -0
- package/dist/commands/tools/remove/index.d.ts.map +1 -1
- package/dist/commands/tools/remove/index.js +10 -20
- package/dist/commands/tools/shared/project-tools-config.d.ts +16 -0
- package/dist/commands/tools/shared/project-tools-config.d.ts.map +1 -0
- package/dist/commands/tools/shared/project-tools-config.js +59 -0
- package/dist/commands/tools/update/index.d.ts.map +1 -1
- package/dist/commands/tools/update/index.js +11 -22
- package/dist/engine/compute-plan.d.ts.map +1 -1
- package/dist/engine/compute-plan.js +8 -2
- package/dist/engine/execute-plan.d.ts +5 -1
- package/dist/engine/execute-plan.d.ts.map +1 -1
- package/dist/engine/execute-plan.js +23 -1
- package/dist/engine/index.d.ts +1 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +1 -0
- package/dist/engine/provider-path-safety.d.ts +2 -0
- package/dist/engine/provider-path-safety.d.ts.map +1 -0
- package/dist/engine/provider-path-safety.js +54 -0
- package/package.json +2 -2
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Model Selection Principles
|
|
2
|
+
|
|
3
|
+
Read this reference for every dispatch before the active provider reference.
|
|
4
|
+
It contains the durable contract. Provider files contain dated examples.
|
|
5
|
+
|
|
6
|
+
## Selection Unit
|
|
7
|
+
|
|
8
|
+
Never select from a model family name alone. Preserve these axes separately:
|
|
9
|
+
|
|
10
|
+
- provider and harness;
|
|
11
|
+
- exact model selector and selector granularity;
|
|
12
|
+
- provider-native effort or reasoning selector;
|
|
13
|
+
- service tier, including fast or priority variants;
|
|
14
|
+
- reasoning mode when the provider exposes one independently of effort;
|
|
15
|
+
- role, context inheritance, authority, deadline, and route.
|
|
16
|
+
|
|
17
|
+
Do not normalize effort labels across providers. `medium`, `high`, `xhigh`,
|
|
18
|
+
`max`, extended thinking, adaptive thinking, and provider-specific modes have
|
|
19
|
+
different semantics. The exact pair or tuple is the route.
|
|
20
|
+
|
|
21
|
+
## Five Task Classes
|
|
22
|
+
|
|
23
|
+
Classify in this order: deterministic verifiability, silent-miss risk,
|
|
24
|
+
dispersed-context reconciliation, ambiguity or novelty, then consequence.
|
|
25
|
+
File count and duration alone never justify escalation.
|
|
26
|
+
|
|
27
|
+
| Task class | Qualification contract |
|
|
28
|
+
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
29
|
+
| `mechanical-recon` | Deterministic inventories, parity checks, exact extraction, or command execution whose misses are visible and cheaply verified. |
|
|
30
|
+
| `intelligent-recon` | Interpretation of unfamiliar code, policy, semantics, or evidence where a plausible miss could survive mechanical validation. |
|
|
31
|
+
| `default-implementation` | Independently bounded implementation or dossier work that must retain and reconcile dispersed context. |
|
|
32
|
+
| `hard-reasoning` | Ambiguity, novelty, architecture, difficult diagnosis, or competing interpretations dominates. |
|
|
33
|
+
| `consequential` | Security, release safety, irreversible effects, adversarial analysis, foundational decisions, or expensive failure dominates. |
|
|
34
|
+
|
|
35
|
+
When uncertain, use the stronger class. Never select below a supplied floor.
|
|
36
|
+
|
|
37
|
+
## Default, Economy, and Escalation
|
|
38
|
+
|
|
39
|
+
Provider references may give three routes:
|
|
40
|
+
|
|
41
|
+
- **Default:** conservative route expected to hold quality without exceptional spend.
|
|
42
|
+
- **Economy:** permitted only when scope, verification, and consequences make the downgrade safe.
|
|
43
|
+
- **Escalation:** stronger route for ambiguity, unresolved evidence, or consequence.
|
|
44
|
+
|
|
45
|
+
Economy is not automatically “the smallest model.” Mechanical coding agents
|
|
46
|
+
still require enough capability to use tools, follow scope, and return complete
|
|
47
|
+
evidence. Prefer scripts over models when a deterministic program fully solves
|
|
48
|
+
the task.
|
|
49
|
+
|
|
50
|
+
## Escalation Boundaries
|
|
51
|
+
|
|
52
|
+
- Mechanical to intelligent recon when judgment is required to identify a
|
|
53
|
+
finding, or when a miss would be silent.
|
|
54
|
+
- Recon to default implementation when success depends on retaining and
|
|
55
|
+
reconciling dispersed context, not merely searching many files.
|
|
56
|
+
- Default implementation to hard reasoning when ambiguity, novelty, or
|
|
57
|
+
reasoning difficulty dominates.
|
|
58
|
+
- Any class to consequential when security, production impact, irreversibility,
|
|
59
|
+
adversarial behavior, or expensive failure dominates.
|
|
60
|
+
|
|
61
|
+
Narrow a poorly decomposed task before escalating its model. Model capability
|
|
62
|
+
never repairs an over-broad objective.
|
|
63
|
+
|
|
64
|
+
## Long Context
|
|
65
|
+
|
|
66
|
+
Large context alone does not change the task class, but it can disqualify a
|
|
67
|
+
model. Provider references may set a separate long-context floor based on
|
|
68
|
+
published retention evidence. Do not assume a cheap model with a large nominal
|
|
69
|
+
context window can use that window reliably.
|
|
70
|
+
|
|
71
|
+
## Tool Reliability
|
|
72
|
+
|
|
73
|
+
Schema validity and semantic correctness are separate. For tool-using workers:
|
|
74
|
+
|
|
75
|
+
- expose the minimum tool set;
|
|
76
|
+
- prefer strict schemas when supported;
|
|
77
|
+
- document inputs, outputs, errors, and side effects;
|
|
78
|
+
- separate read from write authority;
|
|
79
|
+
- require exact evidence in the output;
|
|
80
|
+
- validate results and mutations outside the model;
|
|
81
|
+
- make writes idempotent or confirmation-bound;
|
|
82
|
+
- retain authorization in the caller or operator.
|
|
83
|
+
|
|
84
|
+
Higher effort may change tool-call behavior. Do not lower effort merely because
|
|
85
|
+
the final answer is short.
|
|
86
|
+
|
|
87
|
+
## Service Tiers
|
|
88
|
+
|
|
89
|
+
A fast or priority tier is a latency control unless the provider explicitly
|
|
90
|
+
documents a capability difference. It does not satisfy a higher task-class
|
|
91
|
+
floor. Choose it only when wall-clock latency is worth the price and record it
|
|
92
|
+
separately from the model and effort.
|
|
93
|
+
|
|
94
|
+
## Independent Review
|
|
95
|
+
|
|
96
|
+
For high-risk diffs and foundational decisions, prefer an author and reviewer
|
|
97
|
+
from different model families or providers. Agreement is not proof; disagreement
|
|
98
|
+
is evidence that the root must resolve. The root verifies every load-bearing
|
|
99
|
+
claim and retains final judgment.
|
|
100
|
+
|
|
101
|
+
## Staleness
|
|
102
|
+
|
|
103
|
+
Read `evidence-and-refresh.md` when provider guidance is review-required or
|
|
104
|
+
stale, a newer model appears, or a current control cannot be expressed. Do not
|
|
105
|
+
automatically replace an incumbent with the newest version.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
guidance_version: 2026-07-22
|
|
3
|
+
last_verified: 2026-07-22
|
|
4
|
+
review_after: 2026-09-04
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Claude Model Selection
|
|
8
|
+
|
|
9
|
+
Load this reference when the active harness is Claude Code or the route is a
|
|
10
|
+
direct Anthropic API worker. Current user and repository instructions override
|
|
11
|
+
the dated model examples below. Launch mechanics for OAT dispatch live in
|
|
12
|
+
`oat-dispatch-subagents/references/provider-claude.md`.
|
|
13
|
+
|
|
14
|
+
## Current Families
|
|
15
|
+
|
|
16
|
+
- `claude-haiku-4-5`: fastest economical class for straightforward,
|
|
17
|
+
high-volume, mechanically verified work.
|
|
18
|
+
- `claude-sonnet-5`: normal workhorse for coding, tool use, knowledge work, and
|
|
19
|
+
agentic execution.
|
|
20
|
+
- `claude-opus-4-8`: strong complex coding and enterprise route and the
|
|
21
|
+
default for hard-reasoning and consequential work.
|
|
22
|
+
- `claude-fable-5`: exceptional escalation route for the most difficult
|
|
23
|
+
long-running agents, coding, and frontier knowledge work.
|
|
24
|
+
|
|
25
|
+
Claude Mythos 5 is invitation-only and intended for approved defensive cyber
|
|
26
|
+
work. It is not a general routing candidate unless the organization explicitly
|
|
27
|
+
provisions and authorizes it.
|
|
28
|
+
|
|
29
|
+
## Provider-Native Effort
|
|
30
|
+
|
|
31
|
+
Never normalize Claude effort against OpenAI or Cursor labels.
|
|
32
|
+
|
|
33
|
+
- Sonnet 5: high is the default workhorse; medium is the cost-saving step down;
|
|
34
|
+
xhigh is for the hardest coding and agentic work; max is exceptional.
|
|
35
|
+
- Opus 4.8: start at xhigh for coding and agentic work; use high for other
|
|
36
|
+
intelligence-sensitive work; lower only after evaluation.
|
|
37
|
+
- Fable 5: start at high; use xhigh for capability-sensitive work; max is
|
|
38
|
+
exceptional; medium/low are routine-work controls, not the default economy
|
|
39
|
+
substitute for Sonnet.
|
|
40
|
+
- Haiku 4.5 does not expose the same adaptive-effort surface. Use only controls
|
|
41
|
+
present in the live schema.
|
|
42
|
+
|
|
43
|
+
Effort changes tool-call behavior as well as prose. Record it independently.
|
|
44
|
+
For Opus 4.8 direct API calls, verify adaptive thinking is enabled as required
|
|
45
|
+
by the current API contract. Fable adaptive thinking is always on in the
|
|
46
|
+
current API.
|
|
47
|
+
|
|
48
|
+
## Dated Task-Class Matrix
|
|
49
|
+
|
|
50
|
+
| Task class | Default | Economy | Escalation | Floor notes |
|
|
51
|
+
| ------------------------ | -------------- | ---------------------------------------------------- | -------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
|
52
|
+
| `mechanical-recon` | Haiku 4.5 | Same, with strict output and mechanical verification | Sonnet 5 medium | Haiku is below floor for semantic audits and silent-miss-prone exploration. |
|
|
53
|
+
| `intelligent-recon` | Sonnet 5 high | Sonnet 5 medium | Sonnet xhigh or Opus 4.8 xhigh | Do not use Sonnet low for coding or open-ended recon. |
|
|
54
|
+
| `default-implementation` | Sonnet 5 high | Sonnet 5 medium | Sonnet xhigh or Opus 4.8 xhigh | Fable low/medium is not the routine economy route. |
|
|
55
|
+
| `hard-reasoning` | Opus 4.8 xhigh | Sonnet 5 xhigh | Fable 5 xhigh for exceptional escalation | Unresolved ambiguity or exceptional novelty must justify Fable's incremental cost. |
|
|
56
|
+
| `consequential` | Opus 4.8 xhigh | No routine economy route | Fable 5 xhigh or max plus independent review | A consequential label alone does not justify Fable; retain root authorization and review. |
|
|
57
|
+
|
|
58
|
+
## Root and Subagent Cost Posture
|
|
59
|
+
|
|
60
|
+
Preserve strong, low-volume root orchestration. Root calls are
|
|
61
|
+
coherence-critical and comparatively infrequent, while bounded subagents carry
|
|
62
|
+
most execution volume. Capture routine savings in higher-volume subagents by
|
|
63
|
+
routing mechanical work to Haiku and normal implementation to Sonnet instead
|
|
64
|
+
of weakening the root orchestrator.
|
|
65
|
+
|
|
66
|
+
Opus remains the hard-reasoning and consequential root default. Escalate the
|
|
67
|
+
root from Opus to Fable only when unresolved ambiguity, exceptional novelty or
|
|
68
|
+
consequence, or a directly relevant Fable strength is expected to justify the
|
|
69
|
+
incremental cost. A consequential classification by itself is insufficient.
|
|
70
|
+
|
|
71
|
+
## Cyber-Sensitive Evidence
|
|
72
|
+
|
|
73
|
+
Fable 5 has a stronger cyber classifier that may flag benign coding and
|
|
74
|
+
debugging work. For security review, vulnerability triage, auth boundaries,
|
|
75
|
+
permissions, and other dual-use workflows where false-positive blocking would
|
|
76
|
+
break the run, Opus 4.8 xhigh remains the operational default. Pair
|
|
77
|
+
consequential findings with an independent provider review.
|
|
78
|
+
|
|
79
|
+
Do not infer that a stronger safety classifier is a capability weakness. It is
|
|
80
|
+
evidence about predictable workflow completion and refusal behavior, not an
|
|
81
|
+
exception that inverts the general Opus-first policy.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
guidance_version: 2026-07-22
|
|
3
|
+
last_verified: 2026-07-22
|
|
4
|
+
review_after: 2026-09-04
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Codex and OpenAI Model Selection
|
|
8
|
+
|
|
9
|
+
Load this reference when the active harness is Codex or the route is a direct
|
|
10
|
+
OpenAI API worker. Current user and repository instructions override the dated
|
|
11
|
+
model examples below. Launch mechanics for OAT dispatch live in
|
|
12
|
+
`oat-dispatch-subagents/references/provider-codex.md`.
|
|
13
|
+
|
|
14
|
+
## Current Families
|
|
15
|
+
|
|
16
|
+
Use the GPT-5.6 family for new general coding and knowledge work unless an
|
|
17
|
+
existing evaluated workflow requires an older snapshot:
|
|
18
|
+
|
|
19
|
+
- `gpt-5.6-sol`: frontier capability;
|
|
20
|
+
- `gpt-5.6-terra`: intelligence and cost balance;
|
|
21
|
+
- `gpt-5.6-luna`: cost-sensitive, high-volume work.
|
|
22
|
+
|
|
23
|
+
Direct API specialist routes:
|
|
24
|
+
|
|
25
|
+
- `gpt-5.4-mini`: economical coding, computer use, and subagent work;
|
|
26
|
+
- `gpt-5.4-nano`: classification, extraction, ranking, and simple high-volume
|
|
27
|
+
subagents. Do not use it for semantic repository exploration.
|
|
28
|
+
|
|
29
|
+
Treat GPT-5.5, GPT-5.4 full, GPT-5.3 Codex, GPT-5.2, and older models as
|
|
30
|
+
compatibility, regression, or account-availability routes unless current
|
|
31
|
+
workflow evidence prefers them. Do not keep an older model merely because its
|
|
32
|
+
name includes `codex`.
|
|
33
|
+
|
|
34
|
+
## Dated Task-Class Matrix
|
|
35
|
+
|
|
36
|
+
| Task class | Default | Economy | Escalation | Floor notes |
|
|
37
|
+
| ------------------------ | ----------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | -------------------------------------------------------------- |
|
|
38
|
+
| `mechanical-recon` | `gpt-5.6-luna`, `high` | Direct API only: `gpt-5.4-mini` medium; `gpt-5.4-nano` medium for strict extraction/classification | `gpt-5.6-terra`, medium or high | Do not use Luna none/low for broad repository work. |
|
|
39
|
+
| `intelligent-recon` | `gpt-5.6-terra`, `high` | Terra `medium` with tight scope and verification | Sol `medium`, then `high` | A silent miss disqualifies Terra none/low. |
|
|
40
|
+
| `default-implementation` | `gpt-5.6-sol`, `medium` | Terra `high` for independently bounded, strongly tested work | Sol `high` | Luna is not the normal implementation lead. |
|
|
41
|
+
| `hard-reasoning` | `gpt-5.6-sol`, `high` | Sol `medium` only after narrowing the problem | Sol `xhigh` | Do not automatically escalate Terra to xhigh/max; move to Sol. |
|
|
42
|
+
| `consequential` | `gpt-5.6-sol`, `xhigh` | No routine economy route | Sol `max`, or a separately evaluated Sol `pro` route | Require independent review and root-owned authorization. |
|
|
43
|
+
|
|
44
|
+
`reasoning.mode: "pro"` is a separate quality/latency/cost control on GPT-5.6,
|
|
45
|
+
not a model slug and not an effort label. Record it independently. Evaluate it
|
|
46
|
+
against max or xhigh on representative consequential work before adopting it.
|
|
47
|
+
|
|
48
|
+
## Long-Context Floor
|
|
49
|
+
|
|
50
|
+
For very large context, prefer Sol or Terra. Published GPT-5.6 results show a
|
|
51
|
+
large Luna retention drop in the 256K-to-1M range. Large context does not change
|
|
52
|
+
the task class, but it may disqualify Luna, mini, or nano.
|
|
53
|
+
|
|
54
|
+
## Tool-Heavy Work
|
|
55
|
+
|
|
56
|
+
Use Programmatic Tool Calling only for bounded processing such as filtering,
|
|
57
|
+
joining, ranking, deduplication, aggregation, or validation over tool results.
|
|
58
|
+
Keep stages requiring fresh judgment in direct calls or the root. Declare the
|
|
59
|
+
allowed tools, output schema, evidence, concurrency, retries, and stopping
|
|
60
|
+
conditions.
|
|
61
|
+
|
|
62
|
+
Use strict structured outputs for mechanical API workers. Strict schema
|
|
63
|
+
conformance does not prove that the chosen tool or semantic result is correct.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
guidance_version: 2026-07-22
|
|
3
|
+
last_verified: 2026-07-22
|
|
4
|
+
review_after: 2026-09-04
|
|
5
|
+
catalog_basis: user-supplied Cursor snapshot plus current Cursor documentation
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Cursor Model Selection
|
|
9
|
+
|
|
10
|
+
Load this reference when the active harness is Cursor (IDE, CLI, or SDK).
|
|
11
|
+
Current user and repository instructions override the dated model examples
|
|
12
|
+
below. Treat every observed catalog as a volatile snapshot, never a durable
|
|
13
|
+
inventory. Launch mechanics for OAT dispatch live in
|
|
14
|
+
`oat-dispatch-subagents/references/provider-cursor.md`.
|
|
15
|
+
|
|
16
|
+
## Harness Rule
|
|
17
|
+
|
|
18
|
+
Cursor wraps model providers with its own prompts, tools, context management,
|
|
19
|
+
agent loop, aliases, and service tiers. Direct-provider evidence informs a
|
|
20
|
+
candidate, but Cursor-native evidence should decide a Cursor route when the two
|
|
21
|
+
conflict.
|
|
22
|
+
|
|
23
|
+
The Cursor SDK exposes the Cursor runtime, harness, and models. It is not a
|
|
24
|
+
transparent raw OpenAI or Anthropic API call.
|
|
25
|
+
|
|
26
|
+
## Service-Tier Rule
|
|
27
|
+
|
|
28
|
+
Treat every alias ending in `-fast` as a service-tier selection, not a higher
|
|
29
|
+
capability class, unless current Cursor documentation explicitly says
|
|
30
|
+
otherwise. Composer 2.5 fast is documented as the same intelligence at a higher
|
|
31
|
+
price. Use standard aliases for background work and fast aliases only when
|
|
32
|
+
measured wall-clock latency justifies the premium.
|
|
33
|
+
|
|
34
|
+
Record the model and the service tier separately even when Cursor encodes both
|
|
35
|
+
in one opaque alias.
|
|
36
|
+
|
|
37
|
+
## Dated Task-Class Matrix
|
|
38
|
+
|
|
39
|
+
Use exact aliases from the live catalog. The examples below were present in the
|
|
40
|
+
user's 2026-07-21 snapshot.
|
|
41
|
+
|
|
42
|
+
| Task class | Default | Economy | Escalation | Floor notes |
|
|
43
|
+
| ------------------------ | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `mechanical-recon` | `composer-2.5` | `composer-2.5` | `gpt-5.6-luna-high` | Use `composer-2.5-fast` or Luna fast only for latency, not capability. |
|
|
45
|
+
| `intelligent-recon` | `cursor-grok-4.5-medium` or `gpt-5.6-sol-medium` | `gpt-5.6-terra-high` | `gpt-5.6-sol-high` | Grok medium is a primary route; Sol medium is the conservative silent-miss alternative; Terra high is the cost-saving route. |
|
|
46
|
+
| `default-implementation` | `gpt-5.6-sol-medium` | `composer-2.5` for bounded, testable changes | `gpt-5.6-sol-high` or `claude-fable-5-thinking-high` | Sol is the conservative incumbent; `cursor-grok-4.5-medium` is a primary alternative for general implementation. Choose Fable for open-ended coherence; Sol for code-first execution. |
|
|
47
|
+
| `hard-reasoning` | `gpt-5.6-sol-high` | `cursor-grok-4.5-high` for architecture, ambiguous debugging, and incident diagnosis | `gpt-5.6-sol-xhigh` or `claude-fable-5-thinking-xhigh` | Narrow the task before downgrading. Do not infer equivalence between the two escalation efforts. |
|
|
48
|
+
| `consequential` | Cross-family author/reviewer pair, normally Sol xhigh plus Fable thinking xhigh | No routine economy route | Sol max plus Fable thinking max | For cyber-sensitive review, use `claude-opus-4-8-thinking-xhigh` or max instead of relying on Fable alone. Grok may contribute analysis but is never the sole reviewer. |
|
|
49
|
+
|
|
50
|
+
## Broader Cursor Routes
|
|
51
|
+
|
|
52
|
+
- `cursor-grok-4.5-medium`: primary alternative for intelligent recon and
|
|
53
|
+
general implementation; strong for code exploration, brainstorming, research
|
|
54
|
+
synthesis, debugging, broad knowledge work, and judgment-heavy tool
|
|
55
|
+
workflows.
|
|
56
|
+
- `cursor-grok-4.5-high`: economy route for hard reasoning, architecture,
|
|
57
|
+
ambiguous debugging, and incident diagnosis.
|
|
58
|
+
- `cursor-grok-4.5-low`: simpler tool workflows; prefer `composer-2.5` for
|
|
59
|
+
highly mechanical work on cost.
|
|
60
|
+
- Grok is never the sole final authority for a consequential factual, security,
|
|
61
|
+
incident, or architectural conclusion. Require tool evidence, citations,
|
|
62
|
+
logs, query results, or file references for load-bearing Grok claims, or
|
|
63
|
+
pair it with an independent Sol, Fable, or Opus reviewer.
|
|
64
|
+
- CursorBench caveat: Cursor disclosed that Cursor repository data entered
|
|
65
|
+
Grok 4.5's training mixture. Treat its ranking as evidence of
|
|
66
|
+
competitiveness, not proof of superiority over nearby frontier models.
|
|
67
|
+
- `claude-sonnet-5-thinking-high`: strong provider-diversity alternative for
|
|
68
|
+
normal implementation and agentic work when available.
|
|
69
|
+
- `gpt-5.4-mini-medium`: economical general tool and coding worker.
|
|
70
|
+
- `gpt-5.4-nano-medium`: strict extraction, classification, ranking, and simple
|
|
71
|
+
read-only tool calls. Not a semantic repository worker.
|
|
72
|
+
- Gemini, Kimi, GLM, GPT-5.5/5.4/5.3 Codex/5.2, and older Claude aliases:
|
|
73
|
+
compatibility, availability, or task-specific alternatives. Do not make them
|
|
74
|
+
defaults without current relevant evidence.
|
|
75
|
+
|
|
76
|
+
`auto` is allowed for interactive convenience only. It is prohibited for
|
|
77
|
+
class-constrained dispatch, repeatable evaluations, auditable automation, and
|
|
78
|
+
consequential work because the exact model is not a stable input.
|
|
@@ -2,7 +2,6 @@ import { type CommandContext, type GlobalOptions } from '../../../../app/command
|
|
|
2
2
|
import { type PromptContext } from '../../../shared/shared.prompts.js';
|
|
3
3
|
import { type ScanToolsOptions } from '../../../tools/shared/scan-tools.js';
|
|
4
4
|
import type { ToolInfo } from '../../../tools/shared/types.js';
|
|
5
|
-
import { type OatConfig } from '../../../../config/oat-config.js';
|
|
6
5
|
import { Command } from 'commander';
|
|
7
6
|
import { type InstallBrainstormOptions, type InstallBrainstormResult } from './install-brainstorm.js';
|
|
8
7
|
type InstallScope = 'project' | 'user';
|
|
@@ -14,8 +13,6 @@ interface InitToolsBrainstormDependencies {
|
|
|
14
13
|
installBrainstorm: (options: InstallBrainstormOptions) => Promise<InstallBrainstormResult>;
|
|
15
14
|
confirmAction: (message: string, ctx: PromptContext) => Promise<boolean>;
|
|
16
15
|
scanTools: (options: ScanToolsOptions) => Promise<ToolInfo[]>;
|
|
17
|
-
readOatConfig: (repoRoot: string) => Promise<OatConfig>;
|
|
18
|
-
writeOatConfig: (repoRoot: string, config: OatConfig) => Promise<void>;
|
|
19
16
|
}
|
|
20
17
|
export declare function createInitToolsBrainstormCommand(overrides?: Partial<InitToolsBrainstormDependencies>): Command;
|
|
21
18
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/brainstorm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/brainstorm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAG7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAM9B,KAAK,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvC,UAAU,+BAA+B;IACvC,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,gBAAgB,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7E,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,iBAAiB,EAAE,CACjB,OAAO,EAAE,wBAAwB,KAC9B,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,SAAS,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;CAC/D;AA+JD,wBAAgB,gCAAgC,CAC9C,SAAS,GAAE,OAAO,CAAC,+BAA+B,CAAM,GACvD,OAAO,CA2BT"}
|
|
@@ -5,7 +5,6 @@ import { confirmAction, } from '../../../shared/shared.prompts.js';
|
|
|
5
5
|
import { readGlobalOptions } from '../../../shared/shared.utils.js';
|
|
6
6
|
import { canonicalPathsForPack, setInstalledCanonicalPaths, } from '../../../tools/shared/install-sync-context.js';
|
|
7
7
|
import { scanTools as defaultScanTools, } from '../../../tools/shared/scan-tools.js';
|
|
8
|
-
import { readOatConfig as defaultReadOatConfig, writeOatConfig as defaultWriteOatConfig, } from '../../../../config/oat-config.js';
|
|
9
8
|
import { resolveAssetsRoot } from '../../../../fs/assets.js';
|
|
10
9
|
import { resolveProjectRoot, resolveScopeRoot } from '../../../../fs/paths.js';
|
|
11
10
|
import { Command } from 'commander';
|
|
@@ -18,8 +17,6 @@ const DEFAULT_DEPENDENCIES = {
|
|
|
18
17
|
installBrainstorm: defaultInstallBrainstorm,
|
|
19
18
|
confirmAction,
|
|
20
19
|
scanTools: defaultScanTools,
|
|
21
|
-
readOatConfig: defaultReadOatConfig,
|
|
22
|
-
writeOatConfig: defaultWriteOatConfig,
|
|
23
20
|
};
|
|
24
21
|
async function resolveInstallScope(context, projectRoot, userRoot, assetsRoot, dependencies) {
|
|
25
22
|
// Honor explicit --scope before any existing-install or default
|
|
@@ -81,11 +78,6 @@ function reportSuccess(context, scope, targetRoot, assetsRoot, result) {
|
|
|
81
78
|
context.logger.info(`Skills: ${counts.skills}`);
|
|
82
79
|
context.logger.info(`Run: oat sync --scope ${scope}`);
|
|
83
80
|
}
|
|
84
|
-
async function persistConfigAfterInstall(projectRoot, dependencies) {
|
|
85
|
-
const config = await dependencies.readOatConfig(projectRoot);
|
|
86
|
-
const tools = { ...(config.tools ?? {}), brainstorm: true };
|
|
87
|
-
await dependencies.writeOatConfig(projectRoot, { ...config, tools });
|
|
88
|
-
}
|
|
89
81
|
async function runInitToolsBrainstorm(context, options, dependencies) {
|
|
90
82
|
try {
|
|
91
83
|
const projectRoot = await dependencies.resolveProjectRoot(context.cwd);
|
|
@@ -108,10 +100,6 @@ async function runInitToolsBrainstorm(context, options, dependencies) {
|
|
|
108
100
|
targetRoot,
|
|
109
101
|
force: options.force,
|
|
110
102
|
});
|
|
111
|
-
// Persist tools.brainstorm: true to .oat/config.json after a
|
|
112
|
-
// successful install so config-write semantics match the main
|
|
113
|
-
// installer flow used by `oat init tools`.
|
|
114
|
-
await persistConfigAfterInstall(projectRoot, dependencies);
|
|
115
103
|
reportSuccess(context, scope, targetRoot, assetsRoot, result);
|
|
116
104
|
process.exitCode = 0;
|
|
117
105
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/tools/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,YAAY,EAGlB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/init/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,8 @@ import { addLocalPaths } from '../../local/manage.js';
|
|
|
7
7
|
import { removeAgentsMdSection, upsertAgentsMdSection, } from '../../shared/agents-md.js';
|
|
8
8
|
import { selectManyWithAbort, selectWithAbort, } from '../../shared/shared.prompts.js';
|
|
9
9
|
import { readGlobalOptions } from '../../shared/shared.utils.js';
|
|
10
|
-
import { canonicalPathsForPacks, setInstalledCanonicalPaths, } from '../../tools/shared/install-sync-context.js';
|
|
10
|
+
import { canonicalPathsForPacks, getInstalledCanonicalPaths, setInstalledCanonicalPaths, } from '../../tools/shared/install-sync-context.js';
|
|
11
|
+
import { reconcileProjectToolsConfig } from '../../tools/shared/project-tools-config.js';
|
|
11
12
|
import { scanTools } from '../../tools/shared/scan-tools.js';
|
|
12
13
|
import { readOatConfig, resolveLocalPaths, writeOatConfig, } from '../../../config/oat-config.js';
|
|
13
14
|
import { resolveAssetsRoot } from '../../../fs/assets.js';
|
|
@@ -443,16 +444,6 @@ function buildPackEndStateChoices(pack, currentLocation, defaultEndState) {
|
|
|
443
444
|
const rest = annotated.filter((choice) => choice.value !== defaultEndState);
|
|
444
445
|
return defaultChoice ? [defaultChoice, ...rest] : annotated;
|
|
445
446
|
}
|
|
446
|
-
function buildInstalledToolsConfig(selectedPacks, installedPackStates, existingTools) {
|
|
447
|
-
const selectedPackSet = new Set(selectedPacks);
|
|
448
|
-
const tools = { ...existingTools };
|
|
449
|
-
for (const pack of ALL_TOOL_PACKS) {
|
|
450
|
-
tools[pack] =
|
|
451
|
-
selectedPackSet.has(pack) ||
|
|
452
|
-
installedPackStates[pack].location !== 'not-installed';
|
|
453
|
-
}
|
|
454
|
-
return tools;
|
|
455
|
-
}
|
|
456
447
|
function reportSuccess(context, packs, syncScopes) {
|
|
457
448
|
if (context.json) {
|
|
458
449
|
context.logger.json({
|
|
@@ -877,9 +868,6 @@ export async function runInitTools(context, dependencies) {
|
|
|
877
868
|
projectManagementSectionResult.action !== 'no-change') {
|
|
878
869
|
context.logger.info(`AGENTS.md project-management section ${projectManagementSectionResult.action}.`);
|
|
879
870
|
}
|
|
880
|
-
const config = await dependencies.readOatConfig(projectRoot);
|
|
881
|
-
const tools = buildInstalledToolsConfig(selectedPacks, initialPackStates, config.tools);
|
|
882
|
-
await dependencies.writeOatConfig(projectRoot, { ...config, tools });
|
|
883
871
|
const affectedScopesList = [...affectedScopes];
|
|
884
872
|
lastRunInitToolsMetadata = {
|
|
885
873
|
affectedScopes: affectedScopesList,
|
|
@@ -909,19 +897,52 @@ export function createInitToolsCommand(overrides = {}) {
|
|
|
909
897
|
...DEFAULT_DEPENDENCIES,
|
|
910
898
|
...overrides,
|
|
911
899
|
};
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
.
|
|
920
|
-
.
|
|
921
|
-
|
|
922
|
-
|
|
900
|
+
async function reconcileAfterInstall(actionCommand) {
|
|
901
|
+
if (process.exitCode !== undefined && process.exitCode !== 0) {
|
|
902
|
+
return;
|
|
903
|
+
}
|
|
904
|
+
if (getInstalledCanonicalPaths(actionCommand).length === 0) {
|
|
905
|
+
return;
|
|
906
|
+
}
|
|
907
|
+
const context = dependencies.buildCommandContext(readGlobalOptions(actionCommand));
|
|
908
|
+
const repoRoot = await dependencies.resolveProjectRoot(context.cwd);
|
|
909
|
+
await reconcileProjectToolsConfig({
|
|
910
|
+
repoRoot,
|
|
911
|
+
cwd: context.cwd,
|
|
912
|
+
home: context.home,
|
|
913
|
+
}, dependencies);
|
|
914
|
+
}
|
|
915
|
+
const packCommands = [
|
|
916
|
+
createInitToolsCoreCommand(),
|
|
917
|
+
createInitToolsIdeasCommand(),
|
|
918
|
+
createInitToolsDocsCommand(),
|
|
919
|
+
createInitToolsProjectManagementCommand(),
|
|
920
|
+
createInitToolsWorkflowsCommand(),
|
|
921
|
+
createInitToolsUtilityCommand(),
|
|
922
|
+
createInitToolsResearchCommand(),
|
|
923
|
+
createInitToolsBrainstormCommand({
|
|
924
|
+
buildCommandContext: dependencies.buildCommandContext,
|
|
925
|
+
resolveProjectRoot: dependencies.resolveProjectRoot,
|
|
926
|
+
resolveScopeRoot: dependencies.resolveScopeRoot,
|
|
927
|
+
resolveAssetsRoot: dependencies.resolveAssetsRoot,
|
|
928
|
+
installBrainstorm: dependencies.installBrainstorm,
|
|
929
|
+
scanTools: dependencies.scanTools,
|
|
930
|
+
}),
|
|
931
|
+
];
|
|
932
|
+
for (const packCommand of packCommands) {
|
|
933
|
+
packCommand.hook('postAction', async (_thisCommand, actionCommand) => {
|
|
934
|
+
await reconcileAfterInstall(actionCommand);
|
|
935
|
+
});
|
|
936
|
+
}
|
|
937
|
+
const command = new Command('tools').description('Install OAT tool packs (core, ideas, docs, workflows, utility, project-management, research, brainstorm)');
|
|
938
|
+
for (const packCommand of packCommands) {
|
|
939
|
+
command.addCommand(packCommand);
|
|
940
|
+
}
|
|
941
|
+
command.action(async (_options, command) => {
|
|
923
942
|
const context = dependencies.buildCommandContext(readGlobalOptions(command));
|
|
924
943
|
const selectedPacks = await runInitTools(context, dependencies);
|
|
925
944
|
setInstalledCanonicalPaths(command, canonicalPathsForPacks(selectedPacks));
|
|
945
|
+
await reconcileAfterInstall(command);
|
|
926
946
|
});
|
|
947
|
+
return command;
|
|
927
948
|
}
|
|
@@ -19,7 +19,7 @@ export declare const IDEA_SKILLS: readonly ['oat-idea-new', 'oat-idea-ideate', '
|
|
|
19
19
|
export declare const CORE_SKILLS: readonly ['oat-docs', 'oat-doctor'];
|
|
20
20
|
export declare const DOCS_SKILLS: readonly ['authoring-docs', 'oat-agent-instructions-analyze', 'oat-agent-instructions-apply', 'oat-docs-analyze', 'oat-docs-apply', 'oat-docs-authoring', 'oat-docs-bootstrap'];
|
|
21
21
|
export declare const DOCS_SCRIPTS: readonly ['resolve-tracking.sh'];
|
|
22
|
-
export declare const UTILITY_SKILLS: readonly ['create-agnostic-skill', 'explainer-kit', 'oat-dispatch-subagents', 'oat-repo-improve', 'oat-repo-maintainability-review', 'oat-review-provide', 'oat-review-provide-remote', 'oat-review-receive', 'oat-review-receive-remote'];
|
|
22
|
+
export declare const UTILITY_SKILLS: readonly ['create-agnostic-skill', 'explainer-kit', 'oat-dispatch-subagents', 'subagent-orchestration', 'oat-repo-improve', 'oat-repo-maintainability-review', 'oat-review-provide', 'oat-review-provide-remote', 'oat-review-receive', 'oat-review-receive-remote'];
|
|
23
23
|
export declare const PROJECT_MANAGEMENT_SKILLS: readonly ['oat-pjm-add-backlog-item', 'oat-pjm-decision', 'oat-pjm-update-repo-reference', 'oat-pjm-review-backlog'];
|
|
24
24
|
export declare const PROJECT_MANAGEMENT_TEMPLATES: readonly ['backlog-item.md', 'roadmap.md', 'current-state.md', 'decision.md', 'repo-agents.md', 'pjm-agents.md', 'reference-agents.md'];
|
|
25
25
|
export declare const PROJECT_MANAGEMENT_SCRIPTS: readonly [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-manifest.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/shared/skill-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAKtD,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AAID,eAAO,MAAM,eAAe,YAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,gCAAgC,EAChC,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,mCAAmC,EACnC,4BAA4B,EAC5B,mCAAmC,EACnC,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,CACL,CAAC;AAEX,eAAO,MAAM,eAAe,YAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,CACT,CAAC;AAEX,eAAO,MAAM,kBAAkB,YAC7B,UAAU,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,CACR,CAAC;AAEX,eAAO,MAAM,gBAAgB,YAC3B,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,CACb,CAAC;AAIX,eAAO,MAAM,WAAW,YACtB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,CACb,CAAC;AAIX,eAAO,MAAM,WAAW,YAAI,UAAU,EAAE,YAAY,CAAU,CAAC;AAI/D,eAAO,MAAM,WAAW,YACtB,gBAAgB,EAChB,gCAAgC,EAChC,8BAA8B,EAC9B,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,CACZ,CAAC;AAEX,eAAO,MAAM,YAAY,YAAI,qBAAqB,CAAU,CAAC;AAI7D,eAAO,MAAM,cAAc,YACzB,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,kBAAkB,EAClB,iCAAiC,EACjC,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,CACnB,CAAC;AAIX,eAAO,MAAM,yBAAyB,YACpC,0BAA0B,EAC1B,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,CAChB,CAAC;AAEX,eAAO,MAAM,4BAA4B,YACvC,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,CACb,CAAC;AAEX,eAAO,MAAM,0BAA0B,aAAc,CAAC;AAItD,eAAO,MAAM,iBAAiB,YAAI,gBAAgB,CAAU,CAAC;AAI7D,eAAO,MAAM,eAAe,YAC1B,SAAS,EACT,SAAS,EACT,eAAe,EACf,SAAS,EACT,YAAY,CACJ,CAAC;AAEX,eAAO,MAAM,eAAe,YAAI,wBAAwB,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"skill-manifest.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/shared/skill-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAKtD,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E;AAID,eAAO,MAAM,eAAe,YAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,gCAAgC,EAChC,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,mCAAmC,EACnC,4BAA4B,EAC5B,mCAAmC,EACnC,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,CACL,CAAC;AAEX,eAAO,MAAM,eAAe,YAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,CACT,CAAC;AAEX,eAAO,MAAM,kBAAkB,YAC7B,UAAU,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,CACR,CAAC;AAEX,eAAO,MAAM,gBAAgB,YAC3B,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,CACb,CAAC;AAIX,eAAO,MAAM,WAAW,YACtB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,CACb,CAAC;AAIX,eAAO,MAAM,WAAW,YAAI,UAAU,EAAE,YAAY,CAAU,CAAC;AAI/D,eAAO,MAAM,WAAW,YACtB,gBAAgB,EAChB,gCAAgC,EAChC,8BAA8B,EAC9B,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,CACZ,CAAC;AAEX,eAAO,MAAM,YAAY,YAAI,qBAAqB,CAAU,CAAC;AAI7D,eAAO,MAAM,cAAc,YACzB,uBAAuB,EACvB,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,iCAAiC,EACjC,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,CACnB,CAAC;AAIX,eAAO,MAAM,yBAAyB,YACpC,0BAA0B,EAC1B,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,CAChB,CAAC;AAEX,eAAO,MAAM,4BAA4B,YACvC,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,CACb,CAAC;AAEX,eAAO,MAAM,0BAA0B,aAAc,CAAC;AAItD,eAAO,MAAM,iBAAiB,YAAI,gBAAgB,CAAU,CAAC;AAI7D,eAAO,MAAM,eAAe,YAC1B,SAAS,EACT,SAAS,EACT,eAAe,EACf,SAAS,EACT,YAAY,CACJ,CAAC;AAEX,eAAO,MAAM,eAAe,YAAI,wBAAwB,CAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/utility/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAEnB,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAE1B,MAAM,mBAAmB,CAAC;AAM3B,KAAK,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvC,UAAU,4BAA4B;IACpC,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,gBAAgB,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7E,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,cAAc,EAAE,CACd,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC,mBAAmB,EAAE,CAAC,CAAC,SAAS,MAAM,EACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC/B,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/init/tools/utility/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAEnB,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAE1B,MAAM,mBAAmB,CAAC;AAM3B,KAAK,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAEvC,UAAU,4BAA4B;IACpC,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;IAChE,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,gBAAgB,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7E,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,cAAc,EAAE,CACd,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnC,mBAAmB,EAAE,CAAC,CAAC,SAAS,MAAM,EACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC/B,GAAG,EAAE,aAAa,KACf,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1E;AAsJD,wBAAgB,6BAA6B,CAC3C,SAAS,GAAE,OAAO,CAAC,4BAA4B,CAAM,GACpD,OAAO,CAeT"}
|
|
@@ -19,6 +19,19 @@ const DEFAULT_DEPENDENCIES = {
|
|
|
19
19
|
function resolveScope(context) {
|
|
20
20
|
return context.scope === 'user' ? 'user' : 'project';
|
|
21
21
|
}
|
|
22
|
+
function expandUtilitySelection(selectedSkills) {
|
|
23
|
+
const dispatchSkill = 'oat-dispatch-subagents';
|
|
24
|
+
const guidanceSkill = 'subagent-orchestration';
|
|
25
|
+
const dispatchIndex = selectedSkills.indexOf(dispatchSkill);
|
|
26
|
+
if (dispatchIndex === -1 || selectedSkills.includes(guidanceSkill)) {
|
|
27
|
+
return selectedSkills;
|
|
28
|
+
}
|
|
29
|
+
return [
|
|
30
|
+
...selectedSkills.slice(0, dispatchIndex + 1),
|
|
31
|
+
guidanceSkill,
|
|
32
|
+
...selectedSkills.slice(dispatchIndex + 1),
|
|
33
|
+
];
|
|
34
|
+
}
|
|
22
35
|
function reportSuccess(context, scope, targetRoot, assetsRoot, selectedSkills, result) {
|
|
23
36
|
if (context.json) {
|
|
24
37
|
context.logger.json({
|
|
@@ -44,20 +57,21 @@ async function runInitToolsUtility(context, options, dependencies, command) {
|
|
|
44
57
|
const targetRoot = scope === 'project'
|
|
45
58
|
? await dependencies.resolveProjectRoot(context.cwd)
|
|
46
59
|
: dependencies.resolveScopeRoot('user', context.cwd, context.home);
|
|
47
|
-
const
|
|
60
|
+
const requestedSkills = context.interactive
|
|
48
61
|
? await dependencies.selectManyWithAbort('Select utility skills to install', UTILITY_SKILLS.map((skill) => ({
|
|
49
62
|
label: skill,
|
|
50
63
|
value: skill,
|
|
51
64
|
checked: true,
|
|
52
65
|
})), { interactive: context.interactive })
|
|
53
66
|
: [...UTILITY_SKILLS];
|
|
54
|
-
if (
|
|
67
|
+
if (requestedSkills === null) {
|
|
55
68
|
if (!context.json) {
|
|
56
69
|
context.logger.info('Cancelled: no utility skills installed.');
|
|
57
70
|
}
|
|
58
71
|
process.exitCode = 0;
|
|
59
72
|
return;
|
|
60
73
|
}
|
|
74
|
+
const selectedSkills = expandUtilitySelection(requestedSkills);
|
|
61
75
|
if (selectedSkills.length === 0) {
|
|
62
76
|
if (!context.json) {
|
|
63
77
|
context.logger.info('No utility skills selected.');
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CommandContext } from '../../../app/command-context.js';
|
|
2
|
+
import type { ScanToolsOptions } from '../../tools/shared/scan-tools.js';
|
|
3
|
+
import type { PackName, ToolInfo } from '../../tools/shared/types.js';
|
|
4
|
+
import type { ConcreteScope } from '../../../shared/types.js';
|
|
5
|
+
export declare const PACK_NAMES: readonly ["core", "ideas", "docs", "workflows", "utility", "project-management", "research", "brainstorm"];
|
|
6
|
+
export interface PackAvailability {
|
|
7
|
+
pack: PackName;
|
|
8
|
+
available: boolean;
|
|
9
|
+
scopes: ConcreteScope[];
|
|
10
|
+
}
|
|
11
|
+
export interface PackAvailabilityDependencies {
|
|
12
|
+
scanTools: (options: ScanToolsOptions) => Promise<ToolInfo[]>;
|
|
13
|
+
resolveScopeRoot: (scope: ConcreteScope, cwd: string, home: string) => Promise<string>;
|
|
14
|
+
resolveAssetsRoot: () => Promise<string>;
|
|
15
|
+
}
|
|
16
|
+
export declare function isPackName(value: string): value is PackName;
|
|
17
|
+
export declare function resolvePackAvailability(pack: PackName, scopes: ConcreteScope[], context: CommandContext, dependencies: PackAvailabilityDependencies): Promise<PackAvailability>;
|
|
18
|
+
//# sourceMappingURL=has-pack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-pack.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/has/has-pack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,UAAU,4GASiB,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,gBAAgB,EAAE,CAChB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAE3D;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,aAAa,EAAE,EACvB,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,4BAA4B,GACzC,OAAO,CAAC,gBAAgB,CAAC,CAyB3B"}
|