@open-agent-toolkit/cli 0.0.61 → 0.0.64

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 (55) hide show
  1. package/assets/docs/cli-utilities/tool-packs.md +74 -4
  2. package/assets/docs/workflows/ideas/index.md +6 -0
  3. package/assets/docs/workflows/ideas/lifecycle.md +12 -0
  4. package/assets/docs/workflows/projects/lifecycle.md +20 -0
  5. package/assets/docs/workflows/skills/index.md +8 -2
  6. package/assets/public-package-versions.json +4 -4
  7. package/assets/skills/oat-brainstorm/SKILL.md +600 -0
  8. package/assets/skills/oat-brainstorm/references/destinations.md +167 -0
  9. package/assets/skills/oat-brainstorm/references/dogfood-results.md +731 -0
  10. package/assets/skills/oat-brainstorm/references/visual-companion.md +316 -0
  11. package/assets/skills/oat-brainstorm/scripts/frame-template.html +214 -0
  12. package/assets/skills/oat-brainstorm/scripts/helper.js +88 -0
  13. package/assets/skills/oat-brainstorm/scripts/server.cjs +354 -0
  14. package/assets/skills/oat-brainstorm/scripts/start-server.sh +176 -0
  15. package/assets/skills/oat-brainstorm/scripts/stop-server.sh +56 -0
  16. package/assets/skills/oat-brainstorm/templates/brainstorm-doc.md +79 -0
  17. package/assets/skills/oat-idea-ideate/SKILL.md +8 -4
  18. package/assets/skills/oat-pjm-add-backlog-item/SKILL.md +2 -1
  19. package/assets/skills/oat-pjm-update-repo-reference/SKILL.md +2 -1
  20. package/assets/skills/oat-project-document/SKILL.md +2 -1
  21. package/assets/skills/oat-project-pr-final/SKILL.md +2 -1
  22. package/assets/skills/oat-project-spec/SKILL.md +2 -2
  23. package/assets/skills/oat-project-summary/SKILL.md +2 -1
  24. package/dist/commands/config/index.d.ts.map +1 -1
  25. package/dist/commands/config/index.js +12 -0
  26. package/dist/commands/init/tools/brainstorm/index.d.ts +22 -0
  27. package/dist/commands/init/tools/brainstorm/index.d.ts.map +1 -0
  28. package/dist/commands/init/tools/brainstorm/index.js +145 -0
  29. package/dist/commands/init/tools/brainstorm/install-brainstorm.d.ts +19 -0
  30. package/dist/commands/init/tools/brainstorm/install-brainstorm.d.ts.map +1 -0
  31. package/dist/commands/init/tools/brainstorm/install-brainstorm.js +37 -0
  32. package/dist/commands/init/tools/index.d.ts +3 -1
  33. package/dist/commands/init/tools/index.d.ts.map +1 -1
  34. package/dist/commands/init/tools/index.js +76 -6
  35. package/dist/commands/init/tools/shared/skill-manifest.d.ts +7 -0
  36. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
  37. package/dist/commands/init/tools/shared/skill-manifest.js +11 -0
  38. package/dist/commands/tools/remove/index.d.ts.map +1 -1
  39. package/dist/commands/tools/remove/index.js +2 -1
  40. package/dist/commands/tools/shared/install-sync-context.d.ts.map +1 -1
  41. package/dist/commands/tools/shared/install-sync-context.js +3 -1
  42. package/dist/commands/tools/shared/scan-tools.d.ts.map +1 -1
  43. package/dist/commands/tools/shared/scan-tools.js +3 -1
  44. package/dist/commands/tools/shared/types.d.ts +1 -1
  45. package/dist/commands/tools/shared/types.d.ts.map +1 -1
  46. package/dist/commands/tools/update/index.d.ts.map +1 -1
  47. package/dist/commands/tools/update/index.js +2 -1
  48. package/dist/commands/tools/update/update-tools.d.ts.map +1 -1
  49. package/dist/commands/tools/update/update-tools.js +6 -1
  50. package/dist/config/oat-config.d.ts +1 -1
  51. package/dist/config/oat-config.d.ts.map +1 -1
  52. package/dist/config/oat-config.js +1 -0
  53. package/dist/config/resolve.d.ts.map +1 -1
  54. package/dist/config/resolve.js +1 -0
  55. package/package.json +2 -2
@@ -22,6 +22,7 @@ This page covers CLI commands that manage bundled OAT tool packs and installed O
22
22
  - `utility` - review and repo-maintenance helpers
23
23
  - `project-management` - file-backed backlog/reference skills plus backlog and roadmap templates
24
24
  - `research` - research, analysis, comparison, and synthesis skills
25
+ - `brainstorm` - always-on brainstorming entry point with visual companion
25
26
 
26
27
  ## `oat tools` command group
27
28
 
@@ -36,7 +37,7 @@ Purpose:
36
37
  Key behavior:
37
38
 
38
39
  - Scans installed skills and agents across project and user scopes
39
- - Displays version, pack (`core`, `docs`, `ideas`, `workflows`, `utility`, `project-management`, `research`, `custom`), and status (`current`, `outdated`, `newer`, `not-bundled`)
40
+ - Displays version, pack (`core`, `docs`, `ideas`, `workflows`, `utility`, `project-management`, `research`, `brainstorm`, `custom`), and status (`current`, `outdated`, `newer`, `not-bundled`)
40
41
  - Supports `--scope` filtering and `--json` output
41
42
 
42
43
  ### `oat tools outdated`
@@ -67,14 +68,15 @@ Key behavior:
67
68
 
68
69
  Purpose:
69
70
 
70
- - Install bundled OAT tool packs (`core`, `docs`, `ideas`, `workflows`, `utility`, `project-management`, `research`)
71
+ - Install bundled OAT tool packs (`core`, `docs`, `ideas`, `workflows`, `utility`, `project-management`, `research`, `brainstorm`)
71
72
 
72
73
  Key behavior:
73
74
 
74
75
  - Same pack selection and install flow as `oat init tools`
75
- - Pack-oriented install subcommands: `core`, `docs`, `ideas`, `workflows`, `utility`, `project-management`, `research`
76
+ - Pack-oriented install subcommands: `core`, `docs`, `ideas`, `workflows`, `utility`, `project-management`, `research`, `brainstorm`
76
77
  - Interactive installs show each pack's current install location in the picker so already-installed packs are visible before you submit
77
- - User-scope follow-up choices are prepopulated from the current install state for user-eligible packs (`ideas`, `docs`, `utility`, `research`)
78
+ - User-scope follow-up choices are prepopulated from the current install state for user-eligible packs (`ideas`, `docs`, `utility`, `research`, `brainstorm`)
79
+ - The `brainstorm` pack defaults to user scope on fresh installs (driven by `PACK_METADATA[brainstorm].defaultScope = 'user'`); existing project-scope installs still take precedence on re-install so users do not get unexpected scope migrations
78
80
  - If a user-eligible pack is already installed in both project and user scope, the installer asks whether to keep both installs or normalize the pack to user scope before it makes any cleanup changes
79
81
  - Changing a user-eligible pack from project scope to user scope, or back again, is treated as a migration: the old canonical copy is removed so the pack ends in the selected scope instead of accumulating duplicate installs
80
82
  - Tracks installed vs bundled skill versions and reports outdated skills
@@ -167,6 +169,74 @@ Key behavior:
167
169
  - `oat tools update --pack docs` and `oat tools remove --pack docs` manage the
168
170
  workflow skills as a unit.
169
171
 
172
+ ## Brainstorm pack
173
+
174
+ The `brainstorm` pack ships a single skill plus a bundled visual companion for
175
+ project-independent brainstorming conversations:
176
+
177
+ - **oat-brainstorm** — Brainstorming entry point with an explicit activation
178
+ contract. The OAT brainstorm banner is a workflow commitment marker, not a
179
+ response style — the skill enters mode only on **Hard Activation** (explicit
180
+ `brainstorm` verb: "let's brainstorm", "brainstorm this", "can we brainstorm
181
+ X", "help me brainstorm X", or `/oat-brainstorm`). Ambiguous exploratory
182
+ phrasing ("I've been thinking about", "what if we", "help me think through")
183
+ follows the **Soft Exploratory Path** — answered conversationally
184
+ with brainstorm-quality reasoning (options, tradeoffs, no premature
185
+ implementation, no destination guess) without the banner. After ≥2 sustained
186
+ exploratory turns the skill offers mode once: _"If you want, I can switch into
187
+ structured brainstorm mode for this."_ Advisory / review / debug / PR /
188
+ status / implementation / active-workflow questions ("thoughts?", "what's
189
+ your take?", "does this seem right?", "why is this failing?") follow **No
190
+ Activation** — direct response, no banner, no offer.
191
+ Once entered, brainstorm mode runs a structured design conversation (one
192
+ question at a time, 2-3 approaches with a recommendation) without committing
193
+ the user to an idea or project artifact, and ends in a pack-aware
194
+ terminal-state picker that hands off to existing OAT skills (idea capture,
195
+ scoped backlog item, project promotion, active-project fold-back,
196
+ doc-to-path) based on which packs are installed in the current repo. Two base
197
+ outcomes (inline-only and write a brainstorming doc to a user-specified path)
198
+ are always available regardless of installed packs.
199
+
200
+ Key behavior:
201
+
202
+ - **Default user scope.** The `brainstorm` pack is user-eligible and defaults
203
+ to user scope so the always-on trigger fires consistently across directories
204
+ and machines. This is driven by the generalized pack-metadata mechanism
205
+ (`PACK_METADATA[brainstorm].defaultScope = 'user'`); other user-eligible
206
+ packs (`ideas`, `docs`, `utility`, `research`) still default to project scope
207
+ unless their metadata is updated.
208
+ - **Existing-install precedence.** Re-running install on a pack that is
209
+ already installed at project scope preserves that scope — `defaultScope` only
210
+ applies to fresh installs. This protects users from unexpected scope
211
+ migrations.
212
+ - **Default-on in `oat init`.** `brainstorm` is checked by default in the
213
+ `oat init tools` guided setup, so new repos get the brainstorming entry point
214
+ out of the box.
215
+ - **Visual companion.** A bundled local browser-based UI (Node-based HTTP +
216
+ WebSocket server, content-fragment authoring, per-question terminal-vs-browser
217
+ routing) ships with the skill at `.agents/skills/oat-brainstorm/scripts/`
218
+ and is documented in
219
+ `.agents/skills/oat-brainstorm/references/visual-companion.md`. The companion
220
+ is offered only when the topic is visual-likely (mockups, layout comparisons,
221
+ diagrams, visual option comparisons). Text-likely brainstorms skip the offer
222
+ and can surface it later if the conversation turns visual. Persistence paths
223
+ use OAT-managed prefixes (`.oat/brainstorm/<session-id>/` repo-scope or
224
+ `~/.oat/brainstorm/<session-id>/` user-scope).
225
+ - **Terminal-state picker filtered by `tools.<pack>` config.** When the user
226
+ converges on a destination, the skill consults `oat config get tools.ideas`,
227
+ `tools.project-management`, and `tools.workflows` to filter the available
228
+ terminal states. Pack-gated outcomes (capture-as-idea, scoped backlog item,
229
+ project promotion, active-project fold-back) only appear when the
230
+ corresponding pack is installed.
231
+ - **Destinations playbook.** The full set of terminal-state stanzas — trigger
232
+ phrases, required template fields, confirmation patterns, handoff targets —
233
+ lives at `.agents/skills/oat-brainstorm/references/destinations.md` and is
234
+ consulted by the skill at destination-identification time.
235
+ - **Pack lifecycle.** `oat tools install brainstorm`, `oat tools update --pack
236
+ brainstorm`, and `oat tools remove --pack brainstorm` manage the skill plus
237
+ visual-companion bundle as a unit. Standard config-write semantics
238
+ (`tools.brainstorm: true` on install) apply.
239
+
170
240
  ### Auto-sync behavior
171
241
 
172
242
  All mutation commands (`install`, `update`, `remove`) automatically run `oat sync --scope <scope>` after successful operations. This ensures provider views stay in sync with canonical assets without manual intervention.
@@ -9,6 +9,12 @@ Use the ideas workflow when you need a place to think, sketch, or explore before
9
9
 
10
10
  Ideas are intentionally lighter than projects: they are usually gitignored, personal, and optimized for brainstorming rather than traceable delivery.
11
11
 
12
+ ## Not Sure If It's an Idea Yet?
13
+
14
+ > **Direct entry to `oat-idea-ideate` requires an existing target** — either a tracked idea record or an unchecked scratchpad seed in `{IDEAS_ROOT}/scratchpad.md`. For blank-slate brainstorms, route to [`oat-brainstorm`](../../cli-utilities/tool-packs.md) instead.
15
+
16
+ If the thought is still pre-shape — you don't know whether it should land as a quick scratchpad note, a captured idea, a scoped backlog item, or a full project — start with [`oat-brainstorm`](../../cli-utilities/tool-packs.md). It's the project-independent brainstorming entry point: Hard Activation fires only on the `brainstorm` verb ("let's brainstorm", "brainstorm this", "can we brainstorm X", "help me brainstorm X", or `/oat-brainstorm`); ambiguous exploratory phrasing answers conversationally without the banner and offers structured mode only after sustained exploration. Once entered, it runs a structured design conversation and routes the outcome into the right destination (including this ideas workflow if that's where the brainstorm lands). Use ideas directly when you already know the work is "an idea worth tracking" and you want to capture or extend one without going through the dispatcher.
17
+
12
18
  ## Contents
13
19
 
14
20
  - [Lifecycle](lifecycle.md) - Capture, ideate, refine, and summarize an idea before promotion or discard.
@@ -25,6 +25,16 @@ Each level has its own independent backlog, scratchpad, and active-idea config v
25
25
  3. Resume brainstorming: `oat-idea-ideate` (multiple sessions over time)
26
26
  4. Finalize: `oat-idea-summarize` (generates summary, updates backlog)
27
27
 
28
+ ## Relationship to `oat-brainstorm`
29
+
30
+ The always-on `oat-brainstorm` skill (in the `brainstorm` tool pack) can feed into this workflow. When a brainstorming conversation converges on an ideas-pack destination, the dispatcher follows the same flow above and seeds it with the brainstorming session content:
31
+
32
+ - **Capture as new idea** — runs `oat-idea-new` Steps 3-7 inline and pre-fills the new idea's `discovery.md` from the brainstorming payload (`What's the Idea?` from the synthesized summary + motivation, `What Would It Look Like?` from the vision, `Open Questions` from the conversation, plus a first session under `Notes & Discussion` headed `### Session: YYYY-MM-DD (seeded from oat-brainstorm)`). The dispatcher then optionally chains into `oat-idea-ideate` Step 4 to keep brainstorming inside the idea, or stops with the session captured.
33
+ - **Extend existing idea** — jumps straight to `oat-idea-ideate` Step 4 (Start New Session) on the chosen idea path and appends the brainstorming transcript as a new session under `Notes & Discussion`.
34
+ - **Summarize directly** — fast path that runs the capture flow silently and then invokes `oat-idea-summarize` end-to-end, producing both the idea record and the summary in one shot. Only offered when the brainstorming conversation produced enough material to summarize directly.
35
+
36
+ `oat-brainstorm` sets `activeIdea` automatically when its destination lands in this workflow. If the brainstorming conversation converges on a non-ideas destination instead (scoped backlog item, new project, doc-to-path, inline), `oat-brainstorm` does not touch ideas — see [Tool Packs](../../cli-utilities/tool-packs.md) for the full brainstorm pack reference.
37
+
28
38
  ## Directory structure
29
39
 
30
40
  ```text
@@ -93,6 +103,8 @@ To promote a summarized idea to a Spec-Driven OAT project:
93
103
  2. Run the `oat-project-discover` skill and use the idea's `summary.md` as the initial request
94
104
  3. Update the ideas backlog entry to Archived with reason: promoted to project
95
105
 
106
+ If the work hasn't been summarized as an idea yet — or never was an idea to begin with — `oat-brainstorm`'s **"promote to a new OAT project"** destination is a parallel route. The brainstorm dispatcher scaffolds the project via `oat project new <slug> --mode <mode>`, writes the seeded `discovery.md` directly from the brainstorming payload (Initial Request, Solution Space with approaches considered, Chosen Direction, Key Decisions, Open Questions), and stops with a pointer to `oat-project-quick-start` or `oat-project-design`. It deliberately writes `discovery.md` only — never a partial `design.md` — so the design phase keeps its full collaborative cadence.
107
+
96
108
  ## Initialization
97
109
 
98
110
  The ideas directory is created automatically by `oat-idea-new` or `oat-idea-scratchpad` on first use. Future: `oat init ideas` will scaffold the directory and copy idea skills into the project.
@@ -210,6 +210,26 @@ See the [Workflow preferences section in the Configuration guide](../../cli-util
210
210
  - Projects root is stored in `.oat/config.json` (`projects.root`) and can be read via `oat config get projects.root`.
211
211
  - Workflow skills prefer `oat config get activeProject` / `oat config get projects.root` rather than reading pointer files directly.
212
212
 
213
+ ## Brainstorming integration with the project lifecycle
214
+
215
+ `oat-brainstorm` (in the `brainstorm` tool pack) interacts with the project lifecycle in two distinct ways: it can **seed a brand new project** from a brainstorming conversation when no project is active, or **fold back into an active project** when one is.
216
+
217
+ ### Seeding a new project from a brainstorm
218
+
219
+ When the brainstorming destination is "promote to a new OAT project", the dispatcher confirms a project slug and a mode (`quick` vs `spec-driven`) with the user, runs `oat project new <slug> --mode <mode>` to scaffold the project, and writes the new project's `discovery.md` directly from the brainstorming payload — Initial Request, Solution Space with approaches considered, Chosen Direction, Key Decisions, Open Questions. It writes `discovery.md` only (never a partial `design.md`), so the design phase keeps its full collaborative cadence and consumes the brainstorm's architectural intent from discovery's Solution Space and Chosen Direction sections during approach reaffirmation. The dispatcher stops with a pointer to `oat-project-quick-start` or `oat-project-design` — it deliberately does not auto-chain into the next phase, so the user makes that transition consciously.
220
+
221
+ This is a parallel entry path into the Spec-Driven and Quick lanes, not a new lane: the resulting project follows the normal lane it was scaffolded into. The brainstorm-as-seed step is what changes — the user arrives at `oat-project-quick-start` (or `oat-project-design`) with discovery already populated rather than starting from a blank discovery template.
222
+
223
+ ### Folding back into an active project
224
+
225
+ When `oat-brainstorm` fires while a project is active, it offers a 3-way picker before any pack-filtered destination shows up:
226
+
227
+ - **Related to the project** → fold the synthesized brainstorming content back into the most-specific upstream artifact (`design.md` if it exists, otherwise `discovery.md`), commit immediately, and print a handoff prompt for the right plan-authoring skill (`oat-project-plan` for spec-driven, `oat-project-quick-start` for quick, `oat-project-revise` when an open PR exists). The fold-back commit is safety-gated: a preflight `git status --porcelain -- "$ARTIFACT_PATH"` checks for dirty state, staging is exactly `git add -- "$ARTIFACT_PATH"` (never `-A`, never globs), and the handoff prompt only prints after the scoped commit succeeds.
228
+ - **Independent of the project** → the active project is acknowledged but doesn't constrain the picker; brainstorm routes through its standard pack-filtered terminal-state options (new project, backlog item, idea, doc-to-path, inline).
229
+ - **Related but supplementary** → write a brainstorming reference file at `.oat/projects/<scope>/<project>/brainstorming/YYYY-MM-DD-<topic>.md`, alongside `pr/` and `reviews/`. No lifecycle artifact is touched.
230
+
231
+ The fold-back path is what makes "we got to plan and realized the design missed something" recoverable mid-project: the upstream artifact gets updated and committed cleanly, then the user re-runs plan authoring with a "don't refresh, integrate" context that preserves review-table state.
232
+
213
233
  ## Reference artifacts
214
234
 
215
235
  - `.oat/projects/<scope>/<project>/spec.md`
@@ -20,7 +20,8 @@ Use this section when you want to choose the right OAT skill for a task. If you
20
20
  - Import an existing plan: `oat-project-import-plan`
21
21
  - Retroactively capture existing work: `oat-project-capture`
22
22
  - Run or receive reviews: `oat-project-review-provide`, `oat-project-review-receive`, or the non-project review variants
23
- - Manage the repo backlog and reference docs: `oat-pjm-add-backlog-item`, `oat-pjm-update-repo-reference`, `oat-pjm-review-backlog`
23
+ - Capture a scoped, shippable backlog item: `oat-pjm-add-backlog-item` directly when the work is already scoped, or `oat-brainstorm` when the thought hasn't converged yet — the brainstorm dispatcher's "scoped backlog item" destination pre-fills the title / description / acceptance criteria / scope estimate / priority from the conversation and then runs `oat-pjm-add-backlog-item` with confirmed inputs
24
+ - Manage the repo backlog and reference docs: `oat-pjm-update-repo-reference`, `oat-pjm-review-backlog`
24
25
  - Work on docs surfaces: `oat-docs-bootstrap` (guided bootstrap of a new docs app), `oat-docs-analyze`, `oat-docs-apply`, and `oat-project-document`
25
26
  - Generate a shipping digest or scheduled recap: `oat-wrap-up`
26
27
  - Research a topic in depth: `deep-research`
@@ -28,7 +29,8 @@ Use this section when you want to choose the right OAT skill for a task. If you
28
29
  - Compare options with domain-aware dimensions: `compare`
29
30
  - Verify a claim adversarially: `skeptic`
30
31
  - Merge multiple analysis artifacts: `synthesize`
31
- - Capture or refine ideas: `oat-idea-new`, `oat-idea-ideate`, `oat-idea-scratchpad`, `oat-idea-summarize`
32
+ - Capture or refine ideas: `oat-idea-new` (capture a new idea), `oat-idea-ideate` (resume an existing tracked idea or expand a scratchpad seed — not for blank-slate brainstorms; use `oat-brainstorm` for those), `oat-idea-scratchpad`, `oat-idea-summarize`
33
+ - Run a project-independent brainstorming conversation: `oat-brainstorm` — entry point with an explicit activation contract. Hard Activation fires only on the `brainstorm` verb ("let's brainstorm", "brainstorm this", "can we brainstorm X", "help me brainstorm X", or `/oat-brainstorm`); ambiguous exploratory phrasing answers conversationally without the banner and offers structured mode only after sustained exploration. Once entered, runs a structured design conversation (one question at a time, 2-3 approaches with a recommendation) and routes to inline / doc-to-path / idea / backlog item / project handoffs based on installed packs. See [Tool Packs](../../cli-utilities/tool-packs.md) for the brainstorm pack details.
32
34
 
33
35
  ## If You Are Trying To...
34
36
 
@@ -72,6 +74,10 @@ Use this section when you want to choose the right OAT skill for a task. If you
72
74
  - `oat-idea-scratchpad`
73
75
  - `oat-idea-summarize`
74
76
 
77
+ === "Brainstorming"
78
+
79
+ - `oat-brainstorm`
80
+
75
81
  === "Docs and instructions"
76
82
 
77
83
  - `oat-docs-bootstrap`
@@ -1,6 +1,6 @@
1
1
  {
2
- "cli": "0.0.61",
3
- "docs-config": "0.0.61",
4
- "docs-theme": "0.0.61",
5
- "docs-transforms": "0.0.61"
2
+ "cli": "0.0.64",
3
+ "docs-config": "0.0.64",
4
+ "docs-theme": "0.0.64",
5
+ "docs-transforms": "0.0.64"
6
6
  }