@open-agent-toolkit/cli 0.3.12 → 0.3.14
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/README.md +1 -1
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/contributing/index.md +14 -1
- package/assets/docs/contributing/skills.md +64 -2
- package/assets/docs/contributing/smoke-testing.md +3 -3
- package/assets/docs/contributing/updating-model-guidance.md +2 -2
- package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +112 -15
- package/assets/docs/docs-tooling/agent-instructions.md +131 -0
- package/assets/docs/docs-tooling/commands.md +74 -30
- package/assets/docs/docs-tooling/index.md +7 -6
- package/assets/docs/docs-tooling/meta.json +1 -1
- package/assets/docs/docs-tooling/workflows.md +357 -11
- package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
- package/assets/docs/{guide → getting-started}/concepts.md +28 -10
- package/assets/docs/getting-started/index.md +68 -0
- package/assets/docs/getting-started/meta.json +4 -0
- package/assets/docs/getting-started/quickstart.md +174 -0
- package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +146 -15
- package/assets/docs/index.md +47 -48
- package/assets/docs/meta.json +6 -7
- package/assets/docs/provider-sync/commands.md +26 -3
- package/assets/docs/provider-sync/config.md +60 -1
- package/assets/docs/provider-sync/index.md +31 -15
- package/assets/docs/provider-sync/instruction-sync.md +43 -5
- package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
- package/assets/docs/provider-sync/meta.json +1 -0
- package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
- package/assets/docs/provider-sync/scope-and-surface.md +37 -3
- package/assets/docs/reference/cli-reference.md +34 -34
- package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
- package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
- package/assets/docs/reference/docs-index-contract.md +19 -4
- package/assets/docs/reference/file-locations.md +7 -2
- package/assets/docs/reference/index.md +13 -1
- package/assets/docs/reference/meta.json +7 -1
- package/assets/docs/reference/oat-directory-structure.md +24 -22
- package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
- package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
- package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
- package/assets/docs/reference/troubleshooting.md +125 -10
- package/assets/docs/reference/what-oat-writes.md +410 -0
- package/assets/docs/skills/brainstorm.md +77 -0
- package/assets/docs/skills/diagnostics.md +56 -0
- package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
- package/assets/docs/skills/index.md +416 -0
- package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
- package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
- package/assets/docs/skills/repo-improve.md +254 -0
- package/assets/docs/skills/research.md +237 -0
- package/assets/docs/skills/session-closeout.md +61 -0
- package/assets/docs/workflows/advanced/autonomy.md +344 -0
- package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
- package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
- package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
- package/assets/docs/workflows/advanced/index.md +19 -0
- package/assets/docs/workflows/advanced/meta.json +13 -0
- package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
- package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
- package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
- package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
- package/assets/docs/workflows/approvals-and-automation.md +261 -0
- package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
- package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
- package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
- package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
- package/assets/docs/workflows/choose-workflow.md +114 -0
- package/assets/docs/workflows/ideas/index.md +3 -3
- package/assets/docs/workflows/ideas/lifecycle.md +218 -1
- package/assets/docs/workflows/index.md +11 -62
- package/assets/docs/workflows/meta.json +10 -2
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
- package/assets/docs/workflows/projects/closeout/index.md +14 -0
- package/assets/docs/workflows/projects/closeout/meta.json +4 -0
- package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
- package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
- package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
- package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
- package/assets/docs/workflows/projects/execution/index.md +15 -0
- package/assets/docs/workflows/projects/execution/meta.json +9 -0
- package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
- package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
- package/assets/docs/workflows/projects/index.md +38 -49
- package/assets/docs/workflows/projects/lifecycle.md +47 -11
- package/assets/docs/workflows/projects/meta.json +2 -23
- package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
- package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
- package/assets/docs/workflows/projects/planning/index.md +16 -0
- package/assets/docs/workflows/projects/planning/meta.json +10 -0
- package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
- package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
- package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
- package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
- package/assets/docs/workflows/projects/reviews/meta.json +4 -0
- package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
- package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
- package/assets/docs/workflows/waves/index.md +12 -0
- package/assets/docs/workflows/waves/meta.json +4 -0
- package/assets/docs/workflows/waves/wave-workflows.md +206 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-docs/SKILL.md +19 -19
- package/assets/skills/oat-docs-analyze/SKILL.md +27 -7
- package/assets/skills/oat-docs-analyze/references/quality-checklist.md +16 -3
- package/assets/skills/oat-docs-apply/SKILL.md +20 -3
- package/assets/skills/oat-docs-authoring/SKILL.md +11 -7
- package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +12 -5
- package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +7 -7
- package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +13 -3
- package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +5 -4
- package/assets/skills/oat-docs-authoring/references/validation.md +11 -1
- package/assets/skills/oat-docs-bootstrap/SKILL.md +31 -8
- package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +2 -1
- package/assets/skills/oat-doctor/SKILL.md +25 -25
- package/assets/skills/oat-project-document/SKILL.md +21 -2
- package/assets/templates/docs-markdown/contributing.md +35 -0
- package/assets/templates/docs-markdown/index.md +18 -0
- package/dist/commands/docs/index-generate/index.d.ts.map +1 -1
- package/dist/commands/docs/index-generate/index.js +41 -8
- package/dist/commands/docs/init/index.d.ts +17 -2
- package/dist/commands/docs/init/index.d.ts.map +1 -1
- package/dist/commands/docs/init/index.js +194 -14
- package/dist/commands/docs/init/markdown.d.ts +39 -0
- package/dist/commands/docs/init/markdown.d.ts.map +1 -0
- package/dist/commands/docs/init/markdown.js +317 -0
- package/dist/commands/docs/init/resolve-options.d.ts +3 -1
- package/dist/commands/docs/init/resolve-options.d.ts.map +1 -1
- package/dist/commands/docs/init/resolve-options.js +36 -0
- package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
- package/dist/commands/docs/init/scaffold.js +11 -0
- package/dist/commands/shared/agents-md.d.ts +7 -0
- package/dist/commands/shared/agents-md.d.ts.map +1 -1
- package/dist/commands/shared/agents-md.js +131 -91
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +1 -0
- package/dist/config/oat-config.d.ts +2 -1
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +4 -2
- package/package.json +2 -2
- package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
- package/assets/docs/cli-utilities/index.md +0 -74
- package/assets/docs/cli-utilities/meta.json +0 -13
- package/assets/docs/cli-utilities/remote-project-management.md +0 -191
- package/assets/docs/guide/index.md +0 -31
- package/assets/docs/guide/meta.json +0 -4
- package/assets/docs/quickstart.md +0 -88
- package/assets/docs/workflows/projects/autonomy.md +0 -196
- package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
- package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
- package/assets/docs/workflows/projects/review-flavors.md +0 -138
- package/assets/docs/workflows/skills/index.md +0 -184
- package/assets/docs/workflows/skills/repo-improve.md +0 -89
- package/assets/docs/workflows/wave-workflows.md +0 -77
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: What OAT Writes
|
|
3
|
+
description: 'Every file, link and Git ref that OAT commands create in your repository, under your home directory and on origin, what to commit, and how to remove all of it.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# What OAT Writes
|
|
7
|
+
|
|
8
|
+
This page lists what each OAT command writes in your repository, under your
|
|
9
|
+
home directory and on your shared `origin` remote, which of those files belong
|
|
10
|
+
in Git, and how to back out of OAT completely. Everything here was observed by
|
|
11
|
+
running OAT CLI version 0.3.14 on macOS. The removal procedure in
|
|
12
|
+
[Remove everything](#remove-everything) was run end to end twice, once
|
|
13
|
+
originally and once in an independent re-run, and both times it returned the
|
|
14
|
+
repository and the home directory to their pre-OAT state.
|
|
15
|
+
|
|
16
|
+
A few terms used below. **Canonical assets** are the skills and agent
|
|
17
|
+
definitions OAT keeps under `.agents/`; they are the source you edit. A
|
|
18
|
+
**provider view** is the copy or link OAT creates from a canonical asset in the
|
|
19
|
+
folder a coding tool reads, such as `.claude/skills/`. **Scope** says where a
|
|
20
|
+
command works: `project` means the current repository, `user` means your home
|
|
21
|
+
directory, and `all` means both. A **tool pack** is a named bundle of skills,
|
|
22
|
+
agents, templates and scripts that `oat tools install` adds.
|
|
23
|
+
|
|
24
|
+
## The short version
|
|
25
|
+
|
|
26
|
+
- With `--scope project`, `oat init`, `oat sync` and `oat tools install <pack>`
|
|
27
|
+
write only inside the repository. Two forms are exceptions:
|
|
28
|
+
`oat tools install --scope project` without a pack name also installs the
|
|
29
|
+
`core` pack under your home directory, and `oat init --scope project --setup`
|
|
30
|
+
installs every pack there.
|
|
31
|
+
- Without `--scope`, `oat init` and `oat sync` use scope `all`, so they can
|
|
32
|
+
also write under your home directory, and `oat tools install <pack>` installs
|
|
33
|
+
a pack that is not yet installed under your home directory (user scope).
|
|
34
|
+
- The `core` pack is user-only: it installs under your home directory or not at
|
|
35
|
+
all.
|
|
36
|
+
- Tracked projects default to **synced** scope, which keeps a project's files on
|
|
37
|
+
a dedicated Git ref. Creating one commits a small pointer file to your current
|
|
38
|
+
branch and pushes `refs/oat/projects/<name>` to `origin`. Apart from
|
|
39
|
+
`oat project prune`, which deletes that ref again, no other command observed
|
|
40
|
+
here changed `origin`, and none pushed a branch.
|
|
41
|
+
- There is no single uninstall command. The manual steps in
|
|
42
|
+
[Remove everything](#remove-everything) return the repository's files and your
|
|
43
|
+
home directory to their pre-OAT state; Git history keeps OAT's commits.
|
|
44
|
+
|
|
45
|
+
## What each command writes
|
|
46
|
+
|
|
47
|
+
Where a file already existed, OAT appended its own marked block instead of
|
|
48
|
+
replacing it. This held for `.gitignore`, `.gitattributes`, an existing
|
|
49
|
+
`pre-commit` hook and the other settings in an existing `.codex/config.toml`
|
|
50
|
+
(OAT does change `multi_agent` and `max_depth` there; see the
|
|
51
|
+
[provider table](#syncing-provider-views)). A pre-existing
|
|
52
|
+
`~/.claude/settings.json` was left untouched.
|
|
53
|
+
|
|
54
|
+
### Setting up
|
|
55
|
+
|
|
56
|
+
| Command | In the repository | Under your home directory | On `origin` |
|
|
57
|
+
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ----------- |
|
|
58
|
+
| `oat init --scope project` | `.gitignore` and `.gitattributes` (created, or an `# OAT core` block appended); `.oat/sync/manifest.json`; empty `.agents/skills`, `.agents/agents`, `.agents/rules` | Nothing | Nothing |
|
|
59
|
+
| `oat init` (scope `all`) | The same as above | `~/.oat/sync/manifest.json` and an empty `~/.agents/skills` | Nothing |
|
|
60
|
+
|
|
61
|
+
`oat init` creates no `AGENTS.md` and no `.oat/config.json`. Run
|
|
62
|
+
non-interactively, it installs no hook unless you pass `--hook`.
|
|
63
|
+
|
|
64
|
+
### The optional pre-commit hook
|
|
65
|
+
|
|
66
|
+
| Command | Writes |
|
|
67
|
+
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
68
|
+
| `oat init --scope project --hook` | `.git/hooks/pre-commit`. If a hook already exists, OAT appends a marked block and keeps your lines. |
|
|
69
|
+
| The same, with `core.hooksPath` set | The hook goes to that path instead. With `core.hooksPath .githooks`, it was written to `.githooks/pre-commit` inside the working tree, where it can be committed. |
|
|
70
|
+
|
|
71
|
+
The hook runs `oat status --scope project --hook` only if an `oat` binary is on
|
|
72
|
+
your `PATH`. When provider views are out of date it prints
|
|
73
|
+
`oat: managed provider views are out of sync - run 'oat sync --scope project'`.
|
|
74
|
+
It never blocks a commit.
|
|
75
|
+
|
|
76
|
+
### Syncing provider views
|
|
77
|
+
|
|
78
|
+
`oat providers set --scope project --enabled <providers>` writes
|
|
79
|
+
`.oat/sync/config.json`. `oat sync` then creates views for each enabled
|
|
80
|
+
provider and rewrites `.oat/sync/manifest.json`, the file that records which
|
|
81
|
+
views OAT manages. A provider does not have to be enabled: an existing
|
|
82
|
+
`.claude/` directory in the repository, or `~/.claude/` in your home directory,
|
|
83
|
+
is enough for `oat sync` to create Claude views.
|
|
84
|
+
|
|
85
|
+
| Provider | Repository views created by `oat sync --scope project` |
|
|
86
|
+
| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
87
|
+
| Claude | `.claude/skills/<name>` and `.claude/agents/<name>.md`, relative symlinks into `.agents/` |
|
|
88
|
+
| Cursor | `.cursor/agents/`: relative symlinks for agents, plus generated model-variant files marked `# oat-managed: true` |
|
|
89
|
+
| Copilot | `.github/agents/`, relative symlinks |
|
|
90
|
+
| Codex | `.codex/agents/*.toml` and `.codex/config.toml`, generated files. In an existing `config.toml`, OAT adds its `[agents.<name>]` tables and sets `[features] multi_agent = true` and `[agents] max_depth` to at least 2, changing those two values if you had set them lower; your other settings stay. |
|
|
91
|
+
| Gemini | Nothing |
|
|
92
|
+
|
|
93
|
+
OAT creates skill views only for Claude. It reports the other providers' skill
|
|
94
|
+
support as `native-read` and creates no skill views for them. No generated
|
|
95
|
+
file contained an absolute path.
|
|
96
|
+
|
|
97
|
+
| Command | Under your home directory |
|
|
98
|
+
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
99
|
+
| `oat sync --scope project` | Nothing |
|
|
100
|
+
| `oat sync` (scope `all`) | When it detects a provider in your home directory (observed: an existing `~/.claude/`), relative symlinks in `~/.claude/skills/` and `~/.claude/agents/` for your user-scope skills and agents, and `~/.oat/sync/manifest.json`. With no `~/.claude/` and nothing installed at user scope, nothing. |
|
|
101
|
+
|
|
102
|
+
### Installing tool packs
|
|
103
|
+
|
|
104
|
+
| Command | In the repository | Under your home directory |
|
|
105
|
+
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
106
|
+
| `oat tools install <pack> --scope project` | The pack's skills in `.agents/skills/`, plus any agents in `.agents/agents/`, templates in `.oat/templates/` and scripts in `.oat/scripts/` it ships; `tools.<pack>: true` in `.oat/config.json`. Views for enabled providers, unless you pass `--no-sync`. | Nothing |
|
|
107
|
+
| `oat tools install --scope user` | Nothing, unless the workflows pack is already installed at project scope (see [surprises](#known-surprises-in-0314)) | `~/.agents/skills/`, `~/.agents/agents/`, `~/.oat/config.json`, `~/.oat/docs/`, `~/.oat/ideas/`, `~/.oat/scripts/`, `~/.oat/templates/`. Provider links only if a provider is detected. |
|
|
108
|
+
| `oat tools install core` | Nothing | `~/.oat/config.json`, `~/.agents/skills/oat-docs`, `~/.agents/skills/oat-doctor`, and `~/.oat/docs/` (a bundled copy of these docs) |
|
|
109
|
+
|
|
110
|
+
Some packs write more at project scope. The ideas pack adds
|
|
111
|
+
`.oat/ideas/backlog.md` and `.oat/ideas/scratchpad.md`. The workflows pack adds
|
|
112
|
+
`.oat/projects-root`, `.oat/projects/local/.gitkeep`,
|
|
113
|
+
`.oat/projects/archived/.gitkeep` and a `projects.root` setting. Passing
|
|
114
|
+
`--project-guidance` adds a marked `<!-- OAT tools -->` block to `AGENTS.md`,
|
|
115
|
+
creating the file if needed. Installing every pack at once with
|
|
116
|
+
`oat tools install --scope project` puts core in your home directory and the
|
|
117
|
+
other seven packs in the repository, and also adds a `localPaths` setting and a
|
|
118
|
+
`# OAT local paths` block to `.gitignore`.
|
|
119
|
+
|
|
120
|
+
No tool pack command wrote to `origin`.
|
|
121
|
+
|
|
122
|
+
### Creating tracked projects
|
|
123
|
+
|
|
124
|
+
A tracked project is the set of planning and implementation files OAT keeps for
|
|
125
|
+
one piece of work. Its scope decides where those files live.
|
|
126
|
+
|
|
127
|
+
| Command | In the repository | On `origin` |
|
|
128
|
+
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
|
|
129
|
+
| `oat project new <name>` (synced default) | Commits `.oat/projects/synced/<name>.json`, a small pointer file, to the current branch. Creates the project files in an ignored linked Git worktree at `.oat/projects/synced/<name>/`. | Pushes `refs/oat/projects/<name>`. The branch is not pushed. |
|
|
130
|
+
| `oat project new <name> --scope shared` | Commits six Markdown files under `.oat/projects/shared/<name>/` to the current branch. The commit contains only those files; other staged or unstaged changes are left alone. | Nothing |
|
|
131
|
+
| `oat project new <name> --scope local` | Writes the project under `.oat/projects/local/<name>/`, which is ignored. No commit. | Nothing |
|
|
132
|
+
|
|
133
|
+
Every scope also writes two ignored files: `.oat/config.local.json`, which
|
|
134
|
+
records the active project, and `.oat/state.md`, a generated dashboard. A
|
|
135
|
+
synced project also adds Git's own `.git/worktrees/<name>` and a local
|
|
136
|
+
`refs/oat/projects/<name>` ref.
|
|
137
|
+
|
|
138
|
+
Without an `origin` remote, the default command exits with
|
|
139
|
+
`Synced project creation requires a configured origin remote. Configure origin or use --scope local.`
|
|
140
|
+
and writes nothing. To make another scope the default, run
|
|
141
|
+
`oat config set projects.defaultScope shared` (or `local`), which edits the
|
|
142
|
+
tracked `.oat/config.json`.
|
|
143
|
+
|
|
144
|
+
## What to commit
|
|
145
|
+
|
|
146
|
+
"Ignored" means OAT's own `.gitignore` block matches the path. "Machine data"
|
|
147
|
+
is anything that differs between machines.
|
|
148
|
+
|
|
149
|
+
### Setup and configuration
|
|
150
|
+
|
|
151
|
+
| Path | What it is | Ignored? | Machine data? | Commit it? |
|
|
152
|
+
| ----------------------------------------- | --------------------------------------------------- | -------- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
|
|
153
|
+
| `.gitignore` (OAT blocks) | Rules that keep OAT's local files out of Git | No | No | Yes: these rules are what keep the local-only files below out of commits |
|
|
154
|
+
| `.gitattributes` (OAT block) | Marks `.oat/projects/shared/**` as generated | No | No | Safe to commit: nothing in it differs between machines |
|
|
155
|
+
| `.oat/config.json` | Installed packs, project settings | No | No | Yes: `projects.defaultScope` can only be set in this file, and `projects.root` and `localPaths` are always written here |
|
|
156
|
+
| `.oat/sync/config.json` | Which providers the repository enables | No | No | Yes: without it, `oat sync` falls back to detecting provider folders |
|
|
157
|
+
| `.oat/sync/manifest.json` | Record of the views OAT manages | No | Timestamps and OAT version; no paths | Team choice (see below) |
|
|
158
|
+
| `.oat/config.local.json`, `.oat/state.md` | Active project; generated dashboard | Yes | Yes | Ignored by OAT's own rules |
|
|
159
|
+
| `AGENTS.md` (OAT block) | Guidance for agents, only with `--project-guidance` | No | No | Team choice (see below) |
|
|
160
|
+
| `<hooksPath>/pre-commit` | The hook, when `core.hooksPath` is inside the tree | No | No | Team choice (see below) |
|
|
161
|
+
|
|
162
|
+
### Canonical assets and pack files
|
|
163
|
+
|
|
164
|
+
| Path | What it is | Ignored? | Machine data? | Commit it? |
|
|
165
|
+
| ----------------------------------------------------------------------- | -------------------------------------- | -------- | ------------- | --------------------------------------------------------------------- |
|
|
166
|
+
| `.agents/skills/`, `.agents/agents/` | Canonical skills and agents | No | No | Yes: it is the source your team edits, and committed views link to it |
|
|
167
|
+
| `.oat/templates/`, `.oat/scripts/`, `.oat/ideas/`, `.oat/projects-root` | Files a pack installs at project scope | No | No | Team choice (see below) |
|
|
168
|
+
| `.oat/projects/local/.gitkeep`, `.oat/projects/archived/.gitkeep` | Placeholders | No | No | Yes: OAT's own rules explicitly un-ignore them |
|
|
169
|
+
|
|
170
|
+
### Provider views
|
|
171
|
+
|
|
172
|
+
| Path | What it is | Ignored? | Machine data? | Commit it? |
|
|
173
|
+
| -------------------------------------------------------------------------------------------- | --------------------------------- | -------- | ------------- | ---------------------------------------------- |
|
|
174
|
+
| `.claude/skills/`, `.claude/agents/`, `.github/agents/`, symlinks in `.cursor/agents/` | Relative symlinks into `.agents/` | No | No | Yes: relative links, the same on every machine |
|
|
175
|
+
| Generated files in `.cursor/agents/`, `.codex/agents/`, OAT's tables in `.codex/config.toml` | Generated copies | No | No | Team choice (see below) |
|
|
176
|
+
|
|
177
|
+
### Projects
|
|
178
|
+
|
|
179
|
+
| Path | What it is | Ignored? | Machine data? | Commit it? |
|
|
180
|
+
| ------------------------------------------------------------ | ---------------------------------------- | ----------------------------------------------- | ------------------------------- | --------------------------------------------------------- |
|
|
181
|
+
| `.oat/projects/shared/<name>/` | A shared project's files | No | Dates only | OAT commits it for you |
|
|
182
|
+
| `.oat/projects/synced/<name>.json` | Pointer to the synced project's ref | No | A creation timestamp | OAT commits it for you |
|
|
183
|
+
| `.oat/projects/synced/<name>/` | Linked Git worktree | Yes | Yes: an absolute `gitdir:` path | No: contains an absolute path; ignored by OAT's own rules |
|
|
184
|
+
| `.oat/projects/local/<name>/` | A local project's files | Yes | Dates only | Ignored by OAT's own rules |
|
|
185
|
+
| `.oat/projects/**/pr/`, `.oat/projects/**/reviews/archived/` | Project PR material and archived reviews | Only if the `# OAT local paths` block was added | No | Team choice (see below) |
|
|
186
|
+
|
|
187
|
+
**Where "Team choice" applies:**
|
|
188
|
+
|
|
189
|
+
- **`.oat/sync/manifest.json`.** A sync that changes a view, or that runs with
|
|
190
|
+
a different CLI version than the last one, rewrites it with new timestamps
|
|
191
|
+
and its own version, so committing it adds diffs to sync commits and to
|
|
192
|
+
mixed-version teams. Leaving it out means a fresh clone
|
|
193
|
+
has no record of which views OAT manages. How OAT behaves in a clone without
|
|
194
|
+
it is not covered here.
|
|
195
|
+
- **Generated provider files** (Cursor model variants, Codex agents and
|
|
196
|
+
`config.toml` tables). Committed, they arrive with every clone. Not
|
|
197
|
+
committed, each teammate runs `oat sync --scope project` to generate them.
|
|
198
|
+
Either way, `oat tools remove` does not delete them; see
|
|
199
|
+
[Backing out](#backing-out).
|
|
200
|
+
- **Pack files in `.oat/`** (templates, scripts, ideas, `projects-root`).
|
|
201
|
+
Committed, every clone has them. Not committed, each teammate needs the same
|
|
202
|
+
`oat tools install` to get them.
|
|
203
|
+
- **`AGENTS.md` guidance block.** It tells agents how to refresh views, but the
|
|
204
|
+
command it recommends, `oat sync --scope all`, also writes under each
|
|
205
|
+
reader's home directory.
|
|
206
|
+
- **A hook inside the working tree.** Committed, everyone using that hooks path
|
|
207
|
+
gets the drift warning. A hook in `.git/hooks` is never committed.
|
|
208
|
+
- **`pr/` and `reviews/archived/` folders.** Whether PR material and archived
|
|
209
|
+
reviews are shared through Git or stay on each machine. Whether OAT ignores
|
|
210
|
+
them depends on which install command you ran; see
|
|
211
|
+
[surprises](#known-surprises-in-0314).
|
|
212
|
+
|
|
213
|
+
## A new teammate after cloning
|
|
214
|
+
|
|
215
|
+
1. **Install the CLI.** The README gives
|
|
216
|
+
`npm install --global @open-agent-toolkit/cli` and requires Node.js 22.17 or
|
|
217
|
+
newer and Git 2.31 or newer.
|
|
218
|
+
2. **Check the views.** Run `oat status --scope project`. Committed symlink
|
|
219
|
+
views are relative links into `.agents/`, so they point at the same files in
|
|
220
|
+
every clone. A row marked `✗ missing` means a view was not committed or not
|
|
221
|
+
yet generated; run `oat sync --scope project` to create it. Generated Cursor
|
|
222
|
+
and Codex files exist only if your team committed them. After a sync, OAT
|
|
223
|
+
reports Claude views as `restart-required`: start a new Claude Code session
|
|
224
|
+
to pick them up.
|
|
225
|
+
3. **Add the hook if you want it.** `.git/hooks` is not part of a clone, so
|
|
226
|
+
each teammate who wants the drift warning runs
|
|
227
|
+
`oat init --scope project --hook`.
|
|
228
|
+
4. **Install personal packs separately.** User-scope packs live under each
|
|
229
|
+
person's `~/.agents` and `~/.oat`, so nobody receives them from the
|
|
230
|
+
repository. A teammate who wants them runs `oat tools install --scope user`,
|
|
231
|
+
which installs all eight packs. Run inside a repository where the workflows
|
|
232
|
+
pack is installed at project scope, it also edits that repository; see
|
|
233
|
+
[surprises](#known-surprises-in-0314).
|
|
234
|
+
5. **Fetch synced projects explicitly.** A fresh clone does not receive
|
|
235
|
+
`refs/oat/*`, so synced projects are not in it. See
|
|
236
|
+
[Picking Up Projects](../workflows/projects/execution/picking-up-projects.md)
|
|
237
|
+
to list and pull them. Ignored files (`.oat/config.local.json`,
|
|
238
|
+
`.oat/state.md`, local projects) never travel.
|
|
239
|
+
|
|
240
|
+
## Backing out
|
|
241
|
+
|
|
242
|
+
### Stop without removing anything
|
|
243
|
+
|
|
244
|
+
Disabling a provider does not remove its views.
|
|
245
|
+
`oat providers set --scope project --disabled claude` only updates
|
|
246
|
+
`.oat/sync/config.json`. The existing `.claude/skills/` links stay, and a
|
|
247
|
+
following `oat sync` removes nothing. `oat status` then reports
|
|
248
|
+
`No managed entries found.` while the manifest still lists those links. To
|
|
249
|
+
remove views, use the commands below or delete them yourself.
|
|
250
|
+
|
|
251
|
+
The hook does nothing when no `oat` binary is on `PATH`, and
|
|
252
|
+
`oat init --scope project --no-hook` removes it.
|
|
253
|
+
|
|
254
|
+
### Supported removal commands
|
|
255
|
+
|
|
256
|
+
| Command | Removes | Leaves behind |
|
|
257
|
+
| --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
258
|
+
| `oat tools remove --pack <pack> --scope project` (one pack at a time) | The pack's skills and agents in `.agents/`, their symlink views (Claude, Copilot, Cursor symlinks), and its `.oat/scripts/*.sh` | `.oat/templates/`, `.oat/ideas/`, `.oat/projects-root`, `.oat/config.json` (with a stale `tools.requiredBy` entry), `.oat/sync/`, both `.gitignore` blocks, `.gitattributes`, projects, empty folders, and all generated Cursor and Codex files |
|
|
259
|
+
| `oat tools remove --all` | Nothing: exits 2 with `Pack core does not allow project scope`, with or without `--scope project` | Everything |
|
|
260
|
+
| `oat tools remove --all --scope user` | With only core installed at user scope: `~/.agents/skills/oat-docs`, `~/.agents/skills/oat-doctor`, `~/.oat/docs/` and their `~/.claude/skills/` links | `~/.oat/config.json` (now `{"version": 1}`), `~/.oat/sync/manifest.json`, an empty `~/.agents/skills/` and an empty `~/.claude/skills/` |
|
|
261
|
+
| `oat remove skill <name> --scope project` | The canonical skill, its Claude view and its manifest entry | Nothing for that skill |
|
|
262
|
+
| `oat project prune <name>` (synced projects only) | The worktree, the pointer file, the local ref and the ref on `origin`; commits `chore(oat): prune synced project <name>` on the current branch | An empty `.oat/projects/synced/` |
|
|
263
|
+
| `oat init --scope project --no-hook` | OAT's hook block. If the file holds only OAT's block, the whole `pre-commit` file is deleted. | Your own hook lines, byte for byte |
|
|
264
|
+
|
|
265
|
+
No command deletes a shared or local project. `oat project prune` refuses a
|
|
266
|
+
shared project, and `oat project archive` moves a project to
|
|
267
|
+
`.oat/projects/archived/<name>` rather than deleting it.
|
|
268
|
+
|
|
269
|
+
### Remove everything
|
|
270
|
+
|
|
271
|
+
These steps were run in a repository that had adopted OAT with Claude as its
|
|
272
|
+
only provider, the hook, packs at project scope, core at user scope, and one
|
|
273
|
+
project of each scope. Afterwards the repository's files, its `.git/hooks`
|
|
274
|
+
folder, its local Git config and the home directory matched their pre-OAT
|
|
275
|
+
state exactly, and no `refs/oat/*` ref remained locally or on `origin`. The
|
|
276
|
+
run started with a `.gitignore` but no `.gitattributes`; adjust steps 5 and 6
|
|
277
|
+
if yours differ.
|
|
278
|
+
|
|
279
|
+
> [!WARNING]
|
|
280
|
+
> These steps delete files. Run `git status` first and commit or set aside
|
|
281
|
+
> anything you want to keep. `rm -r .agents` also deletes skills your team
|
|
282
|
+
> wrote, and `rm -r .oat` deletes every shared and local project. The home
|
|
283
|
+
> directory steps were verified only for a machine where `~/.oat` and
|
|
284
|
+
> `~/.agents` did not exist before OAT and `~/.claude/skills` was an empty
|
|
285
|
+
> folder OAT had created. If yours held anything of your own, remove only
|
|
286
|
+
> what OAT created. The same applies to a `.claude/` folder that existed in the
|
|
287
|
+
> repository before OAT.
|
|
288
|
+
|
|
289
|
+
1. Remove the hook: `oat init --scope project --no-hook`. In a terminal,
|
|
290
|
+
`oat init` first shows the provider selection; keep the current choices.
|
|
291
|
+
2. Delete each synced project, including its ref on `origin`:
|
|
292
|
+
`oat project prune <name>`. Without the command, run
|
|
293
|
+
`git worktree remove .oat/projects/synced/<name>`,
|
|
294
|
+
`git update-ref -d refs/oat/projects/<name>` and
|
|
295
|
+
`git push origin --delete refs/oat/projects/<name>`, then
|
|
296
|
+
`git rm .oat/projects/synced/<name>.json`.
|
|
297
|
+
3. Remove user-scope packs and their links in `~/.claude`:
|
|
298
|
+
`oat tools remove --all --scope user`.
|
|
299
|
+
4. Remove each pack you installed at project scope, one command per pack:
|
|
300
|
+
`oat tools remove --pack <pack> --scope project`, where `<pack>` is any of
|
|
301
|
+
`ideas`, `docs`, `workflows`, `utility`, `research`, `brainstorm` and
|
|
302
|
+
`project-management` that you installed. The PACK column of
|
|
303
|
+
`oat tools list --scope project` shows them.
|
|
304
|
+
5. Untrack and delete OAT's repository files:
|
|
305
|
+
|
|
306
|
+
```sh
|
|
307
|
+
git rm -r -q --cached .agents .claude .oat .gitattributes
|
|
308
|
+
rm -r .agents .claude .oat .gitattributes
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
Leave out any path that does not exist or that Git does not track;
|
|
312
|
+
otherwise `git rm` stops without removing anything. If `.gitattributes`
|
|
313
|
+
existed before
|
|
314
|
+
OAT, leave it out too and delete only its `# OAT core` block.
|
|
315
|
+
|
|
316
|
+
6. In `.gitignore`, delete the `# OAT core` … `# END OAT core` block, the
|
|
317
|
+
`# OAT local paths` … `# END OAT local paths` block if present, and the
|
|
318
|
+
blank line OAT added before each.
|
|
319
|
+
7. Commit: `git add .gitignore && git commit -m "remove oat"`.
|
|
320
|
+
8. Clean the home directory. If `~/.oat` and `~/.agents` did not exist before
|
|
321
|
+
OAT, run `rm -r ~/.oat ~/.agents`. Otherwise delete only `~/.oat` and the
|
|
322
|
+
skills and agents OAT installed under `~/.agents`; other tools also read
|
|
323
|
+
`~/.agents/skills` directly, so it may hold your own skills. Then run
|
|
324
|
+
`rmdir ~/.claude/skills`, which fails safely if the folder still holds
|
|
325
|
+
anything.
|
|
326
|
+
|
|
327
|
+
If you had enabled Cursor, Copilot or Codex, OAT also created the paths in the
|
|
328
|
+
[provider table](#syncing-provider-views). Removing those was not part of this
|
|
329
|
+
run.
|
|
330
|
+
|
|
331
|
+
Git history still contains the OAT commits: your commit that added OAT's files,
|
|
332
|
+
the project scaffold commits and the prune commit stay on your branch, and
|
|
333
|
+
anything you pushed stays on `origin`. Deleting `refs/oat/projects/<name>`
|
|
334
|
+
removes the ref, not the data: the project files it pointed to stay in
|
|
335
|
+
`origin`'s storage until the host garbage-collects them, so do not rely on
|
|
336
|
+
prune to erase sensitive content. Rewriting history is not covered here.
|
|
337
|
+
|
|
338
|
+
## Known surprises in 0.3.14
|
|
339
|
+
|
|
340
|
+
These are current behaviors as of version 0.3.14.
|
|
341
|
+
|
|
342
|
+
- `oat tools install core --scope project` prints `Installed core tool pack.`
|
|
343
|
+
but writes nothing.
|
|
344
|
+
- `oat init --scope project --setup` installs all eight packs under your home
|
|
345
|
+
directory, and runs `gh repo view`, which makes the `gh` CLI write
|
|
346
|
+
`~/.local/state/gh/device-id`.
|
|
347
|
+
- `oat tools install --scope user` writes into the current repository when the
|
|
348
|
+
workflows pack is already installed there at project scope: it adds
|
|
349
|
+
`localPaths` to `.oat/config.json` and a `# OAT local paths` block to
|
|
350
|
+
`.gitignore`.
|
|
351
|
+
- `oat tools install workflows --scope project` does not add that block, but
|
|
352
|
+
`oat tools install --scope project` does, so `pr/` and `reviews/archived/`
|
|
353
|
+
folders are committable in one setup and ignored in the other.
|
|
354
|
+
- `oat tools remove --all` fails unless you add `--scope user`.
|
|
355
|
+
- After removing packs, a stale `tools.requiredBy` entry stays in
|
|
356
|
+
`.oat/config.json`, and `oat status` reports the utility pack as missing and
|
|
357
|
+
suggests `oat tools update`.
|
|
358
|
+
- Removing a pack leaves its generated Cursor and Codex files, and a later
|
|
359
|
+
`oat sync` reports no changes.
|
|
360
|
+
- An existing `.claude/` folder, in the repository or your home directory, is
|
|
361
|
+
enough for `oat sync` to create Claude views without enabling Claude.
|
|
362
|
+
- After `oat tools install <pack> --no-sync`, running the same install again
|
|
363
|
+
reports `unchanged` and creates no views; run `oat sync --scope project`.
|
|
364
|
+
- The `AGENTS.md` block from `--project-guidance` recommends
|
|
365
|
+
`oat sync --scope all`, which also writes under your home directory.
|
|
366
|
+
- `oat project new --scope local` prints `Scaffold commit: skipped (--no-commit)`
|
|
367
|
+
even when you did not pass that flag.
|
|
368
|
+
- Piping `oat tools list` or `oat status` into `head` crashes with an
|
|
369
|
+
`Error: write EPIPE` stack trace.
|
|
370
|
+
|
|
371
|
+
## Not covered here
|
|
372
|
+
|
|
373
|
+
- **Interactive prompts.** Every run here was non-interactive. The hook,
|
|
374
|
+
provider and local-path questions that `oat init` and `--setup` ask are
|
|
375
|
+
described in [CLI Bootstrap](../getting-started/bootstrap.md).
|
|
376
|
+
- **Installing and upgrading the CLI.** See
|
|
377
|
+
[Quickstart](../getting-started/quickstart.md) and
|
|
378
|
+
[Upgrading from an earlier CLI](../getting-started/tool-packs.md#upgrading-from-an-earlier-cli).
|
|
379
|
+
- **Other platforms.** Only macOS was observed, where every view was a relative
|
|
380
|
+
symlink or a generated file. For the copy strategy, see
|
|
381
|
+
[Sync Config](../provider-sync/config.md#links-or-copies).
|
|
382
|
+
- **User scope for providers other than Claude.** See
|
|
383
|
+
[Scope and Surface](../provider-sync/scope-and-surface.md).
|
|
384
|
+
- **Project management adoption** (`oat pjm init` and the `.oat/repo/` tree).
|
|
385
|
+
See [Install vs. initialize](../getting-started/tool-packs.md#install-vs-initialize).
|
|
386
|
+
- **Instruction files and rules.** `CLAUDE.md` shims from
|
|
387
|
+
`oat instructions sync`, and syncing rules from `.agents/rules`, including how
|
|
388
|
+
to remove them. See [Instruction Sync](../provider-sync/instruction-sync.md).
|
|
389
|
+
- **Later project commands.** `oat project push`, `pull`, `archive`, `migrate`,
|
|
390
|
+
archive storage, and what later lifecycle steps push to `origin`. See
|
|
391
|
+
[Picking Up Projects](../workflows/projects/execution/picking-up-projects.md)
|
|
392
|
+
and [Closeout Skills](../workflows/projects/closeout/closeout-skills.md).
|
|
393
|
+
- **Other maintenance commands.** `oat remove skills --pack`, `oat local`,
|
|
394
|
+
`oat tools update`, `outdated` and `migrate`. See
|
|
395
|
+
[Tool Packs](../getting-started/tool-packs.md) and
|
|
396
|
+
[Config and Local State](config-and-local-state.md).
|
|
397
|
+
- **Files you place at a view path yourself.** See
|
|
398
|
+
[Manifest and Drift](../provider-sync/manifest-and-drift.md).
|
|
399
|
+
- **`gh repo view` against a real GitHub remote**, and Git versions older than
|
|
400
|
+
2.31.
|
|
401
|
+
|
|
402
|
+
## Related
|
|
403
|
+
|
|
404
|
+
- [Quickstart](../getting-started/quickstart.md)
|
|
405
|
+
- [CLI Bootstrap](../getting-started/bootstrap.md)
|
|
406
|
+
- [Tool Packs and Installed Assets](../getting-started/tool-packs.md)
|
|
407
|
+
- [Manifest and Drift](../provider-sync/manifest-and-drift.md)
|
|
408
|
+
- [Provider Interop CLI Scope and Surface](../provider-sync/scope-and-surface.md)
|
|
409
|
+
- [File Locations](file-locations.md)
|
|
410
|
+
- [Starting Projects](../workflows/projects/planning/starting-projects.md)
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Brainstorm Before Choosing a Workflow
|
|
3
|
+
description: Explore a problem conversationally, compare approaches, and choose an explicit destination without starting implementation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Brainstorm Before Choosing a Workflow
|
|
7
|
+
|
|
8
|
+
## oat-brainstorm
|
|
9
|
+
|
|
10
|
+
**Invocation:** `/oat-brainstorm` is the reliable way to start it, or ask,
|
|
11
|
+
“Let's brainstorm how to make large imports easier to recover without changing
|
|
12
|
+
the UI yet.” These are agent instructions; Codex can use `$oat-brainstorm`. An
|
|
13
|
+
explicit request to brainstorm activates the mode; an ordinary review,
|
|
14
|
+
debugging session, or status check should not be taken over automatically.
|
|
15
|
+
Looser phrasing such as “I've been thinking about…” gets an ordinary
|
|
16
|
+
conversational answer; after two such exploratory turns the agent offers once
|
|
17
|
+
to switch into structured brainstorm mode. If your opening request says the
|
|
18
|
+
work should become several projects, the skill frames the conversation around
|
|
19
|
+
the child projects and then hands off to `oat-project-split`, which creates
|
|
20
|
+
them.
|
|
21
|
+
|
|
22
|
+
**Prerequisites:** A topic worth exploring. Needs an active OAT project:
|
|
23
|
+
optional. No OAT project (a tracked unit of work under `.oat/projects/`) or
|
|
24
|
+
repository setup is required to start the conversation; if a project is
|
|
25
|
+
active, the skill can offer to fold the result into it. Installed tool packs
|
|
26
|
+
(groups of OAT skills you install with `oat tools install`) and repository
|
|
27
|
+
capabilities determine which destinations are available later.
|
|
28
|
+
|
|
29
|
+
**Example scenario:** Support keeps helping customers recover failed uploads,
|
|
30
|
+
but the team does not yet know whether to improve resumability, error
|
|
31
|
+
messages, or operating procedures. Explore the constraints and compare a few
|
|
32
|
+
approaches before deciding whether this needs a project at all. When you say
|
|
33
|
+
you are done, the skill offers the destinations available in your setup; you
|
|
34
|
+
might pick “Doc-to-path,” confirm `docs/brainstorms/import-recovery.md`, and
|
|
35
|
+
get a Markdown write-up of the approaches, the chosen direction, and the open
|
|
36
|
+
questions at that path, with nothing committed.
|
|
37
|
+
|
|
38
|
+
The skill asks focused questions, presents alternatives with trade-offs, and
|
|
39
|
+
helps establish a recommended direction. It does not treat brainstorming as
|
|
40
|
+
approval to implement code or scaffold a specification. If an active project
|
|
41
|
+
is relevant, it can offer to fold the result into that project or preserve it
|
|
42
|
+
as a reference; an independent idea remains an option. Fold-back writes the
|
|
43
|
+
synthesis into the project's design, discovery, or plan file and commits that
|
|
44
|
+
one file on your current branch (for a synced project, one whose files live in
|
|
45
|
+
a separate project checkout, it pushes that checkout with `oat project push`
|
|
46
|
+
instead). Saving a brainstorming reference file under the active project also
|
|
47
|
+
commits or pushes that file. Promoting to a new project runs
|
|
48
|
+
`oat project new`, which scaffolds the project and makes it your active
|
|
49
|
+
project, and then writes a completed `discovery.md` (or, for a lite project,
|
|
50
|
+
fills in its `plan.md`). Capturing a new idea also sets it as your active
|
|
51
|
+
idea in local OAT config. Each destination is confirmed before anything is
|
|
52
|
+
written.
|
|
53
|
+
|
|
54
|
+
**What it does without asking:** During the conversation it only reads: it
|
|
55
|
+
checks which tool packs are installed and whether a project is active. If the
|
|
56
|
+
topic is visual it offers, as a separate question, to start a local
|
|
57
|
+
browser-based visual companion; nothing starts unless you accept, and once
|
|
58
|
+
accepted it runs a small local Node server and keeps its session files under
|
|
59
|
+
`.oat/brainstorm/` (or `~/.oat/brainstorm/` at user scope). Nothing else is
|
|
60
|
+
written until you choose a destination and confirm its name, path, or target
|
|
61
|
+
file. After that confirmation the skill writes the destination and, for
|
|
62
|
+
fold-back or a project reference file, commits (or pushes, for a synced
|
|
63
|
+
project) without a further prompt. It does not write code or start the next
|
|
64
|
+
project phase.
|
|
65
|
+
|
|
66
|
+
**Expected output:** A shared understanding of the problem, candidate
|
|
67
|
+
approaches, and a confirmed next step. Depending on installed packs and your
|
|
68
|
+
choice, the result can be a closing summary in the conversation (no file), a
|
|
69
|
+
Markdown document at a path you name, a new or extended idea (`ideas` pack), a
|
|
70
|
+
backlog item (`project-management` pack), a new OAT project, or an update to
|
|
71
|
+
the active project (`workflows` pack). The destination is confirmed, not
|
|
72
|
+
selected merely because a pack is installed.
|
|
73
|
+
|
|
74
|
+
**Next step:** Choose where the result belongs and approve that handoff. For
|
|
75
|
+
an unresolved technical assumption, use [research](research.md) first. For a
|
|
76
|
+
direction ready to plan, choose the appropriate project workflow rather than
|
|
77
|
+
treating the brainstorming conversation as an executable plan.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Diagnose Your OAT Setup
|
|
3
|
+
description: Inspect OAT configuration, repository adoption, instructions, documentation, and installed tools before choosing a repair.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Diagnose Your OAT Setup
|
|
7
|
+
|
|
8
|
+
## oat-doctor
|
|
9
|
+
|
|
10
|
+
**Invocation:** `/oat-doctor` for the diagnostic sweep, or
|
|
11
|
+
`/oat-doctor --summary` for the compact tools/dashboard view. These are agent
|
|
12
|
+
instructions rather than shell commands; Codex uses `$oat-doctor`. The skill
|
|
13
|
+
is explicit-invocation only, so use the slash or `$` form rather than relying
|
|
14
|
+
on the agent to pick it when you describe the problem. Summary mode is not a
|
|
15
|
+
shortened run of every diagnostic area.
|
|
16
|
+
|
|
17
|
+
**Prerequisites:** Access to the repository and the OAT CLI available as
|
|
18
|
+
`oat` on your PATH. Needs an active OAT project: no. An uninitialized
|
|
19
|
+
repository can still receive bootstrap guidance; missing adoption (the
|
|
20
|
+
repository has not been set up for that OAT feature yet) is a finding, not
|
|
21
|
+
evidence that all checks passed.
|
|
22
|
+
|
|
23
|
+
**Example scenario:** A teammate installed a tool pack but cannot see its
|
|
24
|
+
skills in their provider. Run the full doctor sweep to distinguish installed
|
|
25
|
+
tools, configuration, and provider-instruction issues before reinstalling
|
|
26
|
+
anything. Pick the tools area when the report asks which area to explore, then
|
|
27
|
+
approve or run the fix it names. Use summary mode
|
|
28
|
+
later when you only need the tools/dashboard snapshot.
|
|
29
|
+
|
|
30
|
+
The full sweep covers configuration, project-management adoption, agent
|
|
31
|
+
instructions, documentation, and tools. The skill interprets diagnostic
|
|
32
|
+
findings rather than assuming a nonzero diagnostic exit means the entire tool
|
|
33
|
+
is broken. After the report, it asks which area to explore further (an area,
|
|
34
|
+
`all`, or `done`) and repeats until you choose `done`. Inspection is read-only
|
|
35
|
+
by default. In an interactive run, a specifically approved, supported repair
|
|
36
|
+
command can be executed once; a general request to diagnose is not approval
|
|
37
|
+
for updates, installation, or synchronization. Non-interactive and report-only
|
|
38
|
+
runs stop at the report.
|
|
39
|
+
|
|
40
|
+
**What it does without asking:** It runs read-only `oat` commands with JSON
|
|
41
|
+
output and reads configuration and instruction files. It writes, deletes, and
|
|
42
|
+
commits nothing, and starts no subagents. It runs a repair only after you
|
|
43
|
+
approve that exact command, and only if the command is one of `oat config set`,
|
|
44
|
+
`oat config unset`, `oat config adopt`, `oat pjm init`,
|
|
45
|
+
`oat instructions sync`, `oat tools update`, or `oat tools install`. It never
|
|
46
|
+
runs any other command, such as `oat sync` to refresh provider views; those
|
|
47
|
+
commands, and hand-offs to other skills, are yours to run.
|
|
48
|
+
|
|
49
|
+
**Expected output:** A diagnostic report explaining what is healthy, what is
|
|
50
|
+
missing or inconsistent, and which bounded action could address it. A report
|
|
51
|
+
does not itself establish that a proposed repair ran or that the provider has
|
|
52
|
+
reloaded the result.
|
|
53
|
+
|
|
54
|
+
**Next step:** Approve the exact repair you want, or investigate the reported
|
|
55
|
+
area separately. After a repair, rerun the relevant check and verify the
|
|
56
|
+
original symptom rather than relying only on command completion.
|