@open-agent-toolkit/cli 0.3.13 → 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.
Files changed (119) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/docs/contributing/index.md +14 -1
  4. package/assets/docs/contributing/skills.md +64 -2
  5. package/assets/docs/contributing/smoke-testing.md +3 -3
  6. package/assets/docs/contributing/updating-model-guidance.md +2 -2
  7. package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
  8. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +32 -0
  9. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  10. package/assets/docs/docs-tooling/index.md +1 -0
  11. package/assets/docs/docs-tooling/meta.json +1 -1
  12. package/assets/docs/docs-tooling/workflows.md +331 -2
  13. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  14. package/assets/docs/{guide → getting-started}/concepts.md +28 -10
  15. package/assets/docs/getting-started/index.md +68 -0
  16. package/assets/docs/getting-started/meta.json +4 -0
  17. package/assets/docs/getting-started/quickstart.md +174 -0
  18. package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +142 -14
  19. package/assets/docs/index.md +47 -48
  20. package/assets/docs/meta.json +6 -7
  21. package/assets/docs/provider-sync/commands.md +25 -2
  22. package/assets/docs/provider-sync/config.md +60 -1
  23. package/assets/docs/provider-sync/index.md +31 -15
  24. package/assets/docs/provider-sync/instruction-sync.md +32 -1
  25. package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
  26. package/assets/docs/provider-sync/meta.json +1 -0
  27. package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
  28. package/assets/docs/provider-sync/scope-and-surface.md +37 -3
  29. package/assets/docs/reference/cli-reference.md +33 -33
  30. package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
  31. package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
  32. package/assets/docs/reference/file-locations.md +4 -1
  33. package/assets/docs/reference/index.md +13 -1
  34. package/assets/docs/reference/meta.json +7 -1
  35. package/assets/docs/reference/oat-directory-structure.md +1 -1
  36. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  37. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
  38. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  39. package/assets/docs/reference/troubleshooting.md +125 -10
  40. package/assets/docs/reference/what-oat-writes.md +410 -0
  41. package/assets/docs/skills/brainstorm.md +77 -0
  42. package/assets/docs/skills/diagnostics.md +56 -0
  43. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  44. package/assets/docs/skills/index.md +416 -0
  45. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  46. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  47. package/assets/docs/skills/repo-improve.md +254 -0
  48. package/assets/docs/skills/research.md +237 -0
  49. package/assets/docs/skills/session-closeout.md +61 -0
  50. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  51. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  52. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  53. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
  54. package/assets/docs/workflows/advanced/index.md +19 -0
  55. package/assets/docs/workflows/advanced/meta.json +13 -0
  56. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
  57. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  58. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  59. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  60. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  61. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  62. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  63. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  64. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  65. package/assets/docs/workflows/choose-workflow.md +114 -0
  66. package/assets/docs/workflows/ideas/index.md +3 -3
  67. package/assets/docs/workflows/ideas/lifecycle.md +218 -1
  68. package/assets/docs/workflows/index.md +11 -62
  69. package/assets/docs/workflows/meta.json +10 -2
  70. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  71. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  72. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  73. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  74. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  75. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  76. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
  77. package/assets/docs/workflows/projects/execution/index.md +15 -0
  78. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  79. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  80. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  81. package/assets/docs/workflows/projects/index.md +38 -49
  82. package/assets/docs/workflows/projects/lifecycle.md +47 -11
  83. package/assets/docs/workflows/projects/meta.json +2 -23
  84. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  85. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  86. package/assets/docs/workflows/projects/planning/index.md +16 -0
  87. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  88. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  89. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  90. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  91. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  92. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  93. package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
  94. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  95. package/assets/docs/workflows/waves/index.md +12 -0
  96. package/assets/docs/workflows/waves/meta.json +4 -0
  97. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  98. package/assets/public-package-versions.json +4 -4
  99. package/assets/skills/oat-docs/SKILL.md +19 -19
  100. package/assets/skills/oat-docs-analyze/SKILL.md +1 -1
  101. package/assets/skills/oat-docs-apply/SKILL.md +1 -1
  102. package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
  103. package/assets/skills/oat-docs-bootstrap/SKILL.md +1 -1
  104. package/assets/skills/oat-doctor/SKILL.md +25 -25
  105. package/package.json +2 -2
  106. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  107. package/assets/docs/cli-utilities/index.md +0 -74
  108. package/assets/docs/cli-utilities/meta.json +0 -13
  109. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  110. package/assets/docs/guide/index.md +0 -31
  111. package/assets/docs/guide/meta.json +0 -4
  112. package/assets/docs/quickstart.md +0 -88
  113. package/assets/docs/workflows/projects/autonomy.md +0 -196
  114. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  115. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  116. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  117. package/assets/docs/workflows/skills/index.md +0 -184
  118. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  119. package/assets/docs/workflows/wave-workflows.md +0 -77
@@ -0,0 +1,254 @@
1
+ ---
2
+ title: Repo Improve
3
+ description: 'Turn repository audits, maintainability reviews, and backlog sources into standalone external implementation plans.'
4
+ ---
5
+
6
+ # Repo Improve
7
+
8
+ Use `oat-repo-improve` when the desired output is an executable implementation plan rather than another analysis report. Every successful run writes one or more standalone plans under `.oat/repo/reference/external-plans/`.
9
+
10
+ ## Choose a source
11
+
12
+ | Source | Use it when |
13
+ | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
14
+ | Repo audit | You need fresh repository reconnaissance and vetted improvement findings. |
15
+ | Maintainability review | A file-backed `oat-repo-maintainability-review` already identifies candidates. Improve verifies selected evidence without repeating the broad audit. |
16
+ | Backlog review | A living backlog review and optional priority alignment already establish value, dependencies, and sequencing. |
17
+ | Backlog directory | You want to start from active items. Substantive backlogs should pass through backlog review and alignment before plan generation. |
18
+ | Backlog item | One existing item needs enough repository investigation to become executable. |
19
+
20
+ With no source argument, the skill probes for available review and backlog artifacts, annotates all five options, and asks which source to use.
21
+
22
+ ## Set repo-audit boundaries
23
+
24
+ Fresh repo audits exclude agent-configuration directories from findings and plan candidates by default. The canonical default directory names are `.agents/`, `.claude/`, `.codex/`, and `.cursor/` at any depth. These locations commonly contain provider configuration, generated views, or externally sourced skills rather than the product surfaces being reviewed.
25
+
26
+ Before reconnaissance, improve shows that default and asks whether to:
27
+
28
+ - Keep all four exclusions.
29
+ - Include selected directory names.
30
+ - Include all four directory names.
31
+
32
+ It then asks whether any other repo-relative directories should be excluded and suggests other recognizable provider directories when present. The resolved scope is shown before work begins and is applied consistently to direct searches and delegated audit lanes.
33
+
34
+ These are findings exclusions, not absolute read prohibitions. Improve may read bounded instruction, convention, or intent files inside an excluded directory to understand the repository, but it does not turn those files into findings or plan candidates unless the user includes or explicitly targets that directory. A file cited by an artifact-backed source can still be verified after scope confirmation; symlinked provider views are never followed outside the repository.
35
+
36
+ ## Output boundary
37
+
38
+ External plans are not canonical OAT project `plan.md` files. They contain self-contained context, scope, steps, verification, done criteria, and STOP conditions, but no canonical OAT phase/task IDs or lifecycle bookkeeping. External execution-readiness metadata is a separate thing and is carried deliberately: it describes whether the plan's own prerequisites have merged, not how an OAT project is moving through phases.
39
+
40
+ After generation, choose either execution path:
41
+
42
+ - Execute a plan directly as a standalone handoff.
43
+ - Run `oat-project-import-plan <external-plan-path>` to preserve and normalize one plan for tracked OAT execution.
44
+
45
+ Project-sized candidates are split when possible. If inseparable work needs multiple design decisions or lacks one coherent verification boundary, improve recommends an OAT project workflow instead of emitting a mega-plan.
46
+
47
+ ## Plan readiness and execution readiness
48
+
49
+ Improve scores candidates on two independent axes. A candidate is plan-ready when it is understood well enough to write a self-contained executable plan, and execution-ready when every hard dependency it names has already merged.
50
+
51
+ A blocked candidate is still planned. Rather than dropping work whose prerequisite has not landed, improve writes the plan and records the block:
52
+
53
+ - `oat_execution_status` is `READY` or `BLOCKED` in plan frontmatter.
54
+ - A typed `## Dependencies` table marks each row `Hard`, `Soft`, or `Satisfied`, and every `Hard` row names the state that would unblock it.
55
+ - `## Landing-event impact` records what to re-anchor when a named PR or project lands, and `## Revalidation Before Execution` records when the plan must be re-checked against live state.
56
+
57
+ Plan provenance is recorded as two separate SHAs: `oat_external_plan_commit` is the full SHA of the `HEAD` whose content was actually inspected, and `oat_external_plan_main_commit` is the fetched `origin/main` or merge-base used only for comparison. They may differ, and normally do when planning happens on a branch.
58
+
59
+ Plans written before this contract landed are read in legacy mode: a short SHA, a missing comparison SHA, missing sections, and a missing status (read as `READY`) are all accepted, and those plans are never rewritten.
60
+
61
+ ## Optional tracking
62
+
63
+ Plans are always the primary output. Tracking is optional and source-aware:
64
+
65
+ - `--backlog-items` creates missing PJM (OAT project management, the repository backlog under `.oat/repo/pjm/`) items for repo-audit or maintainability-review plans. Backlog-backed sources reuse their existing items; they add `external_plans` reverse links on every successful run, with or without this modifier.
66
+ - `--issues` previews one GitHub issue per plan, checks repository visibility and sensitive content, and requires explicit confirmation before publication. It is useful as a fallback when PJM is not installed.
67
+ - Request both modifiers explicitly to create both forms. Neither implies the other.
68
+
69
+ Failure to publish a backlog item or issue does not invalidate a successfully written plan; the skill reports partial tracking results precisely.
70
+
71
+ ## Orchestration
72
+
73
+ Full repository audits use bounded read-only reconnaissance while the root
74
+ agent retains classification, vetting, prioritization, cross-lane synthesis,
75
+ and plan writing. Plan writes never move below the caller's model class — a
76
+ parallelized author runs on the caller's model and every plan is
77
+ caller-reviewed before publication or wave composition; the
78
+ `keeps external-plan writes on the caller's model class` case in
79
+ `skills-bundled-docs-contract.test.ts` is the backstop. Before launch, the
80
+ caller loads the durable task classes and model-selection principles from
81
+ `subagent-orchestration` plus exactly one active-provider selection reference.
82
+
83
+ The internal `oat-dispatch-subagents` skill then owns capability checks, live
84
+ catalog intersection, exact route selection, launch acceptance, recovery, and
85
+ dispatch records. It loads exactly one matching provider mechanics reference;
86
+ selection and mechanics references are not merged into one universal provider
87
+ contract. Dispatch is native-first. Configured project/workflow policy may
88
+ authorize required CLI or cross-runtime routes; an agent-improvised alternate
89
+ route requires explicit current-run approval.
90
+
91
+ ## oat-repo-improve
92
+
93
+ **Invocation:**
94
+ `/oat-repo-improve maintainability-review .oat/repo/analysis/<review-file>.md`.
95
+ Replace the placeholder with an actual report. This is an agent instruction,
96
+ not a shell command. The slash form is the reliable way to start it; Codex can
97
+ use `$oat-repo-improve`, and asking for the skill by name usually works too.
98
+ Other source modes include a repository audit, a backlog review, a backlog
99
+ directory, or an individual backlog item.
100
+
101
+ **Prerequisites:** A Git repository and an explicitly chosen source. A
102
+ maintainability-review source must already exist; the skill verifies its
103
+ evidence instead of silently commissioning the same review again. A
104
+ substantive full repository audit requires managed delegation: the `utility`
105
+ tool pack (`oat tools install utility --scope user`), whose
106
+ `oat-dispatch-subagents` and `subagent-orchestration` skills let the agent
107
+ start read-only helper agents. If delegation is unavailable, stop or
108
+ explicitly narrow the audit rather than pretending the full audit ran. Needs
109
+ an active OAT project: no.
110
+
111
+ **Example scenario:** A review found that package boundaries obscure ownership
112
+ and that integration tests are difficult to run locally. Feed the saved
113
+ review to this skill so it can turn the findings into separate, bounded plans
114
+ with dependencies and verification steps. The goal is executable planning
115
+ material, not an immediate refactor of the repository.
116
+
117
+ Choose the source mode to avoid redundant work. Repository-audit mode can use
118
+ `quick`, `standard`, or `deep` effort and a focus area; these controls do not
119
+ change the other source modes. Evidence-backed sources should retain their
120
+ provenance and be checked against the current repository. Plans distinguish
121
+ the captured planning HEAD from any comparison baseline, and separate work
122
+ that is ready from work blocked on a concrete dependency. It runs
123
+ `git fetch origin main` to record the comparison SHA.
124
+
125
+ **What it does without asking:** It asks you to choose the source (when you
126
+ did not name one), the audit exclusions (for a repository audit), and which
127
+ candidates to plan; a non-interactive run picks the top three to five itself.
128
+ For a repository audit it starts read-only helper agents
129
+ through managed delegation, asking once first if your agent requires
130
+ authorization. After you pick candidates, it runs `git fetch origin main`,
131
+ writes the plan files and, for several plans, an index, and then edits each
132
+ source backlog item's frontmatter to add the plan link. It creates backlog
133
+ items only with `--backlog-items` or your answer to its one offer, and
134
+ publishes GitHub issues only after a preview and your explicit confirmation.
135
+ It never commits, pushes, edits source code, or imports a plan into an OAT
136
+ project.
137
+
138
+ **Expected output:** Standalone external plans under
139
+ `.oat/repo/reference/external-plans/`. When several plans are produced, an
140
+ index helps navigate them, but the index is not itself an importable work
141
+ unit. Each plan should carry a bounded objective, evidence, dependencies,
142
+ verification, and readiness or unblock conditions. The skill does not edit
143
+ source code or execute the plans. When the source is a backlog review,
144
+ directory, or item, it always adds an `external_plans` link and refreshes
145
+ `updated` in each source item's frontmatter after the plan is written.
146
+ Creating new backlog items or publishing GitHub issues is a separate explicit
147
+ option; issue publication requires a preview and confirmation.
148
+
149
+ **Next step:** Review an individual plan and either execute it directly with
150
+ the appropriate authorization or import that single plan through
151
+ `oat-project-import-plan`. Do not import the multi-plan index or start a
152
+ blocked plan without satisfying its dependency.
153
+
154
+ ## oat-repo-maintainability-review
155
+
156
+ **Invocation:**
157
+ `/oat-repo-maintainability-review --scope directory --target packages/api --mode tracked --focus testing`.
158
+ The target is illustrative: choose a directory inside your repository. Use
159
+ `--scope repo` for the whole repository. Output modes are `auto`, `tracked`,
160
+ `local`, and `inline`; select one explicitly when the report's destination
161
+ matters. This is an agent instruction; Codex uses
162
+ `$oat-repo-maintainability-review`. The skill is explicit-invocation only, so
163
+ use the slash or `$` form rather than relying on the agent to pick it.
164
+
165
+ **Prerequisites:** A Git repository with readable source files and a clear
166
+ review scope. Needs an active OAT project: no. Decide whether you need a saved
167
+ artifact before starting: an inline review is useful for discussion but is
168
+ not a file-backed input for a later planning handoff.
169
+
170
+ **Example scenario:** Before several teams add features to an API package,
171
+ you want to know whether its tests and developer workflow will support the
172
+ growth. Review that directory, emphasize testing, and save the findings so
173
+ the team can prioritize improvements without changing product behavior
174
+ during the review.
175
+
176
+ The review considers architecture, conventions, documentation, developer
177
+ experience, testing, and maintainability. A focus changes emphasis without
178
+ removing the other dimensions. Findings pair source evidence with both a
179
+ Concern rating (severity) and a Value rating (improvement value), then
180
+ organize recommendations into now, next, and later. A high-severity concern
181
+ and a high-value improvement are not necessarily the same item.
182
+
183
+ **What it does without asking:** It asks for any missing required argument
184
+ before starting. When your agent can run subagents, it starts six of them,
185
+ one per review dimension, and merges their findings. Unless you chose
186
+ `inline`, it writes one report file to the resolved destination. It does not
187
+ modify code, commit, push, or open issues. It offers a hand-off to
188
+ `oat-repo-improve` afterwards and runs it only if you accept.
189
+
190
+ **Expected output:** An evidence-backed review, inline or written according
191
+ to the selected mode. Tracked reports live under `.oat/repo/analysis/` with a
192
+ date-based repo-review filename; repeated same-day reports receive distinct
193
+ names. Local reports go to `.oat/projects/local/analysis/`; `auto` mode
194
+ writes there when `.oat/repo/analysis/` is missing or gitignored. Pass a
195
+ local report's path explicitly to `oat-repo-improve`, which only discovers
196
+ reports under `.oat/repo/analysis/` by itself. The review does not modify
197
+ code or publish issues. Readers should be
198
+ able to trace each actionable concern to the repository material that
199
+ supports it.
200
+
201
+ **Next step:** Discuss the findings and use [oat-repo-improve](#oat-repo-improve)
202
+ to turn a saved report into external plans. If you chose inline mode, first
203
+ explicitly save a report before asking another workflow to consume its path.
204
+
205
+ ## oat-repo-knowledge-index
206
+
207
+ **Invocation:** `/oat-repo-knowledge-index` in the repository you want to map
208
+ (Codex: `$oat-repo-knowledge-index`). The skill is explicit-invocation only,
209
+ so use the slash or `$` form rather than relying on the agent to pick it. It
210
+ does not require a project name or an active-project pointer.
211
+
212
+ **Prerequisites:** A Git repository, the OAT CLI, and the ability to dispatch
213
+ the `oat-codebase-mapper` subagent. A preflight checks whether background
214
+ agents can write files and switches to a read-only fallback if they cannot.
215
+ Needs an active OAT project: no. If a knowledge directory already exists,
216
+ choose whether to refresh it or skip the run. Refresh first deletes every
217
+ `.md` file in `.oat/repo/knowledge/`, hand-written files included, and then
218
+ regenerates the set. Move any notes you want to keep before you choose it.
219
+
220
+ **Example scenario:** A new teammate needs to understand which packages own
221
+ the CLI, how shared configuration reaches applications, and which test
222
+ commands are meaningful. Generate a repository knowledge index before
223
+ starting their first feature so both the teammate and later agents have a
224
+ common source-backed map.
225
+
226
+ The workflow creates a thin index, maps distinct repository concerns, and
227
+ enriches the index with the resulting knowledge. It records the repository
228
+ HEAD and merge-base provenance so readers can judge freshness. A knowledge
229
+ index is an onboarding and retrieval aid, not a declaration that all
230
+ architecture concerns have been fixed or that every future question is
231
+ answered.
232
+
233
+ **What it does without asking:** The only question is refresh-or-skip when
234
+ knowledge files already exist. Otherwise it creates `.oat/repo/knowledge/`,
235
+ starts a test subagent and then four `oat-codebase-mapper` subagents in the
236
+ background, and writes the knowledge files. It then runs
237
+ `git add .oat/repo/knowledge/` and `git commit` on your current branch with
238
+ no further prompt; that commit also includes anything you had already staged.
239
+ Afterwards it records the run in `.oat/tracking.json` and regenerates the
240
+ `.oat/state.md` dashboard with `oat state refresh`; those two files are not
241
+ part of the commit. It does not push.
242
+
243
+ **Expected output:** Eight files under `.oat/repo/knowledge/`:
244
+ `project-index.md`, `stack.md`, `architecture.md`, `structure.md`,
245
+ `conventions.md`, `testing.md`, `integrations.md`, and `concerns.md`. The
246
+ workflow also updates its tracking/dashboard surface and commits the
247
+ knowledge output on the current branch (unstage unrelated changes first; the
248
+ commit includes anything already staged). Despite its name, `project-index.md` describes the
249
+ repository; it does not require a pre-existing OAT lifecycle project.
250
+
251
+ **Next step:** Read the index and the concern or testing documents relevant
252
+ to your task. Start a project with that context, or use a focused review
253
+ when you need a deeper evaluation. Refresh deliberately when repository
254
+ changes make the captured map stale.
@@ -0,0 +1,237 @@
1
+ ---
2
+ title: Research and Evaluate a Decision
3
+ description: Choose a research skill, challenge its conclusions, and combine evidence without confusing research with implementation.
4
+ ---
5
+
6
+ # Research and Evaluate a Decision
7
+
8
+ Use this family when you need evidence before committing to a direction. Start
9
+ with `analyze` for something you already have, `deep-research` for a topic you
10
+ need to investigate, or `compare` for named alternatives. Use `skeptic` to test
11
+ a claim and `synthesize` to combine compatible research artifacts afterward.
12
+
13
+ These examples are instructions to an agent, not terminal commands. The slash
14
+ form (for example `/analyze`) is the reliable way to invoke a skill; Codex uses
15
+ the `$name` form (for example `$analyze`). These five skills also let the agent
16
+ pick them up when you ask for one by name. Example paths below stand for files
17
+ you supply. None of these skills needs an OAT project (a tracked unit of work
18
+ that OAT keeps under `.oat/projects/`), and research does not authorize code
19
+ changes, purchases, or publication.
20
+
21
+ The research skills that write a report share one default location rule. In a
22
+ repository with a `.oat/` directory the agent suggests a folder under `.oat/repo/`;
23
+ with only a user-level `~/.oat/` it suggests a folder there; otherwise it
24
+ suggests the current directory. You can accept the suggestion or name another
25
+ folder, and the skill creates the folder if it does not exist.
26
+
27
+ ## analyze
28
+
29
+ **Invocation:** `/analyze proposals/import-service.md --context criteria.md`.
30
+ Supply a file, directory, or quoted idea as the target. The optional
31
+ `--context` file or directory supplies the criteria the target is judged
32
+ against (for example, a security policy or a requirements document).
33
+
34
+ **Prerequisites:** Accessible source material and an installed `deep-research`
35
+ skill, whose artifact schema this skill uses. If that schema is unavailable,
36
+ the skill stops rather than inventing a replacement format. Agree on a report
37
+ destination when asked.
38
+
39
+ **Example scenario:** A team has drafted an import-service proposal but has not
40
+ decided whether its retry behavior, operating cost, and user-facing recovery
41
+ flow are coherent. Give the agent the proposal and a file explaining the
42
+ team's staffing and reliability constraints. Ask it to analyze the proposal
43
+ before anyone turns it into implementation tasks.
44
+
45
+ The review covers six angles: adversarial weaknesses, gaps, opportunities,
46
+ structure, consistency, and audience fit. The detected input type (code,
47
+ design document, product spec, presentation, proposal, or unstructured idea)
48
+ decides which angles get deeper treatment; all six always run. Available
49
+ workers can investigate the angles in parallel; otherwise the agent works
50
+ through them sequentially. A persuasive proposal can still receive substantial
51
+ gap findings, so distinguish strengths from issues that must be resolved
52
+ before planning.
53
+
54
+ **What it does without asking:** It reads the target and any context. When
55
+ your agent can run subagents (helper agents it starts in the background), it
56
+ starts up to six of them, one per angle, and it may start `compare` as a
57
+ subagent if an angle turns up competing options. It then asks where to save
58
+ the report, unless you already gave an output path, creates that folder if
59
+ needed, and writes one file. It does not edit the target, commit, or push.
60
+
61
+ **Expected output:** A written analysis artifact with evidence-backed findings
62
+ and recommendations, not just an inline assessment. The suggested folder is
63
+ `.oat/repo/analysis/` in an OAT repository, `~/.oat/analysis/` with only a
64
+ user-level OAT setup, or the current directory, and the file is named
65
+ `<topic>-analysis-<model>.md`. Preserve the report with the material it
66
+ evaluated so later readers can tell which version the findings describe.
67
+
68
+ **Next step:** Resolve the highest-impact gaps, use [compare](#compare) for a
69
+ decision between alternatives, or bring the findings into a planning
70
+ conversation. Do not treat the analysis report as an approved implementation
71
+ plan.
72
+
73
+ ## compare
74
+
75
+ **Invocation:**
76
+ `/compare "queue-backed import" "synchronous import" --context criteria.md --dimensions "operational complexity, recovery, team fit" --save`.
77
+ Provide at least two alternatives. `--context` supplies your priorities;
78
+ `--dimensions` replaces the default dimensions (context can still add or
79
+ reweight them); `--save` requests a written artifact instead of the default
80
+ inline result.
81
+
82
+ **Prerequisites:** Named alternatives and enough evidence to evaluate them.
83
+ For a saved report, the installed `deep-research` schema must be available.
84
+ State hard constraints before comparing: a recommendation for a different
85
+ team or operating environment may not be useful to yours. The skill uses web
86
+ search and package registries when they are available; say so if it must stay
87
+ with local sources.
88
+
89
+ **Example scenario:** Your team can either process a customer upload during
90
+ the request or hand it to a queue. Both fit the current API, but only one
91
+ engineer will operate the service. Compare them against recovery behavior,
92
+ operational complexity, and team fit, using your existing proposal as context.
93
+
94
+ The skill evaluates each alternative against shared dimensions and explains
95
+ trade-offs. It uses qualitative judgments by default; numerical scoring needs
96
+ an explicit request, not an implied precision that the evidence cannot
97
+ support. For three or more candidates, expect a ranked recommendation. A
98
+ close result should explain the condition that would change the winner.
99
+
100
+ **What it does without asking:** It researches each option against each
101
+ dimension, using web search when available. Without `--save` it answers in
102
+ the conversation and writes nothing. With `--save` it asks where to save the
103
+ file, unless you already gave an output path, creates that folder if needed,
104
+ and writes one file. It does not commit or push.
105
+
106
+ **Expected output:** An inline comparison by default, or a structured
107
+ comparative research artifact with `--save`, suggested for
108
+ `.oat/repo/analysis/` in an OAT repository and named after the options and
109
+ the model. It includes a recommendation,
110
+ supporting rationale, and important caveats rather than just a feature table.
111
+
112
+ **Next step:** Test the recommendation's load-bearing claim with
113
+ [skeptic](#skeptic), investigate an unresolved dimension with
114
+ [deep-research](#deep-research), or confirm a direction before planning work.
115
+
116
+ ## deep-research
117
+
118
+ **Invocation:**
119
+ `/deep-research "reliable asynchronous imports" --depth standard --focus recovery --context criteria.md`.
120
+ Use `surface`, `standard`, or `exhaustive` depth; `standard` is the default.
121
+ The focus narrows the question, while context establishes your constraints.
122
+ Add a trailing output path (for example `docs/research/`) to skip the
123
+ destination prompt.
124
+
125
+ **Prerequisites:** A researchable question, permission to use the available
126
+ sources, and a destination for the resulting artifact. An existing project is
127
+ not required. Tell the agent if it must stay within local documents or if
128
+ external research is permitted.
129
+
130
+ **Example scenario:** You have not selected an import architecture and need to
131
+ understand failure recovery before comparing products. Research how systems
132
+ resume interrupted uploads and avoid duplicate work, constrained by your
133
+ team's operating model. This establishes the evidence base rather than asking
134
+ for an immediate vendor choice.
135
+
136
+ The skill classifies the question as technical, comparative, conceptual, or
137
+ architectural and picks the matching artifact schema (the fixed set of report
138
+ sections for that kind of topic). It plans three to six research angles (two
139
+ or three at `surface` depth) and gathers evidence through available
140
+ capabilities, in parallel when supported or sequentially otherwise. Greater
141
+ depth expands the investigation; it does not turn inaccessible sources or
142
+ unsupported claims into facts.
143
+
144
+ **What it does without asking:** It searches the web when available and,
145
+ when your agent can run subagents, starts one general-purpose subagent per
146
+ research angle; it may also start `compare` as a subagent if competing
147
+ options emerge. It then asks where to save the report, unless you gave a
148
+ trailing output path, creates that folder if needed, and writes one file. If
149
+ the chosen folder is not writable, it writes to the current directory and
150
+ tells you. It does not commit or push.
151
+
152
+ **Expected output:** A written structured research artifact with findings,
153
+ sources, and methodology, named `<topic>-<model>.md`. The suggested folder is
154
+ `.oat/repo/reference/research/` in an OAT repository, `~/.oat/research/` with
155
+ only a user-level OAT setup, or the current directory. Review the evidence and
156
+ limitations before using the conclusion as a requirement.
157
+
158
+ **Next step:** Compare concrete options using the research, challenge a
159
+ critical conclusion with [skeptic](#skeptic), or combine independent reports
160
+ with [synthesize](#synthesize).
161
+
162
+ ## skeptic
163
+
164
+ **Invocation:**
165
+ `/skeptic "Retrying this import cannot create duplicate records"`.
166
+ With no explicit claim, the skill evaluates the agent's most recent factual
167
+ assertion in the conversation; quote a claim when there could be ambiguity.
168
+
169
+ **Prerequisites:** A falsifiable claim and access to relevant evidence. Point
170
+ the agent to the implementation, tests, or research that supposedly supports
171
+ it. No project or output directory is required.
172
+
173
+ **Example scenario:** A design discussion assumes retries are safe because
174
+ the API accepts an idempotency key. Ask the skill to challenge that assumption
175
+ against the actual write path and failure cases before the team relies on it
176
+ for recovery. The key's existence alone is not the desired conclusion.
177
+
178
+ The skill first tries to disprove the assertion, then weighs supporting
179
+ evidence. It can use an available skeptical evaluator or perform the same
180
+ evaluation directly. Lack of evidence is a reason to report uncertainty, not
181
+ to validate the claim by default.
182
+
183
+ **What it does without asking:** It reads local files, tests, lockfiles, and
184
+ Git history, and uses web search when available. When your agent can run
185
+ subagents, it starts one `skeptical-evaluator` subagent to do the
186
+ adversarial search. It writes no file and changes nothing.
187
+
188
+ **Expected output:** An inline verdict, confidence, and cited evidence. The
189
+ conclusion can be that the claim holds up, that the challenge was correct,
190
+ that the answer is nuanced, or that the evidence is genuinely inconclusive.
191
+ It does not create a research file automatically.
192
+
193
+ **Next step:** Correct a disproved assumption, qualify a nuanced one, or gather
194
+ the missing evidence. If the result will influence later work, capture it in
195
+ the relevant decision or research artifact rather than relying on chat alone.
196
+
197
+ ## synthesize
198
+
199
+ **Invocation:** `/synthesize research/ --inline`, or supply explicit research
200
+ files. Omit `--inline` when you want a written synthesis.
201
+
202
+ **Prerequisites:** Existing structured artifacts with `skill`, `schema`,
203
+ `topic`, `model`, and `generated_at` metadata. These requirements apply to
204
+ explicit files as well as directory discovery. Arbitrary notes or articles
205
+ are not automatically compatible inputs. Invalid explicit artifacts are
206
+ skipped with warnings; fewer than two valid inputs requires confirmation.
207
+
208
+ **Example scenario:** Two agents separately researched import recovery, and a
209
+ third compared queue-based options. Supply their saved research artifacts and
210
+ ask for a synthesis that separates agreements from contradictions before the
211
+ team chooses a direction. The skill treats agreement across artifacts as high
212
+ confidence and does not detect when several artifacts relied on the same
213
+ original source, so check shared upstream sources yourself before you count
214
+ agreement as independent confirmation.
215
+
216
+ This skill works only from the supplied artifacts: it does not launch new
217
+ research or browse for missing facts. It preserves provenance, identifies
218
+ shared findings and unique insights, and explains conflicting conclusions.
219
+ A preferred interpretation remains a judgment, not a newly established fact.
220
+
221
+ **What it does without asking:** It reads the supplied artifacts only; it
222
+ starts no subagents and does no web search. With `--inline` it answers in
223
+ the conversation and writes nothing. Otherwise it asks where to save the
224
+ synthesis, unless you already gave an output path, creates that folder if
225
+ needed, and writes one file. It never modifies the input artifacts and does
226
+ not commit.
227
+
228
+ **Expected output:** A written, model-tagged synthesis
229
+ (`<topic>-synthesis-<model>.md`), suggested for the source folder when all
230
+ inputs share one folder, or an inline brief with `--inline`. Expect source
231
+ agreements, contradictions with the direction the evidence leans (flagged as
232
+ a lean, not a decision), unique single-source insights, consolidated
233
+ recommendations, and a provenance table rather than concatenated summaries.
234
+
235
+ **Next step:** Resolve a contradiction with targeted research, challenge the
236
+ proposed direction with [skeptic](#skeptic), or bring the synthesis to a
237
+ planning conversation with its source artifacts attached.
@@ -0,0 +1,61 @@
1
+ ---
2
+ title: Summarize What Shipped
3
+ description: Produce an evidence-backed shipping digest across projects and merged pull requests for a chosen reporting window.
4
+ ---
5
+
6
+ # Summarize What Shipped
7
+
8
+ Use a shipping digest for a team update or periodic recap. It answers what
9
+ shipped across a time window, not which task an active project should do next.
10
+
11
+ ## oat-wrap-up
12
+
13
+ **Invocation:** `/oat-wrap-up --past-week --dry-run`. This is an agent
14
+ instruction, not a shell command. The slash form is the reliable way to start
15
+ it; Codex uses `$oat-wrap-up`, and asking for a wrap-up by name usually works
16
+ too. Choose exactly one window: `--past-week`,
17
+ `--past-2-weeks`, `--past-month`, or `--since YYYY-MM-DD` with optional
18
+ `--until YYYY-MM-DD`. Named windows and explicit dates are not combined.
19
+
20
+ **Prerequisites:** An OAT repository (one with a `.oat/` directory) and
21
+ authenticated GitHub CLI (`gh`) access for merged-PR evidence. Project
22
+ summaries are the `summary.md` files that `oat-project-summary` writes for
23
+ each OAT project; they make the digest richer, but with none in the window the
24
+ report is built from merged PRs alone. Needs an active OAT project: no.
25
+ Archived local summaries also contribute; if a configured archive has not been
26
+ synced, the skill warns and may suggest the separate `oat repo archive sync`
27
+ action rather than silently doing it.
28
+
29
+ **Example scenario:** Before Friday's team update, you want a concise account
30
+ of changes users can now rely on, including work that crossed several OAT
31
+ projects. Preview the past-week digest, check that its feature and fix claims
32
+ match merged PRs, then rerun without `--dry-run` to save the report.
33
+
34
+ The skill gathers project summaries and merged PRs for the selected window,
35
+ then synthesizes features, fixes, and capabilities. It deduplicates summaries
36
+ per project and assigns a merged PR to a project only when the project's
37
+ summary cites that PR number. Many summaries do not cite PR numbers, so expect
38
+ some PRs under "Other merged PRs" that belong to a project. Summaries are
39
+ selected by date, not completion status, so an in-progress project's summary
40
+ can appear. Treat the result as an editable draft and check it before sharing.
41
+ This is a reporting workflow: it does not modify source summaries, publish a
42
+ GitHub update, or close projects for you.
43
+
44
+ **What it does without asking:** It reads local summaries and queries GitHub
45
+ for merged PRs (read-only). Without `--dry-run` it writes one report file to
46
+ the destination below, creating the folder if needed. With `--dry-run` it
47
+ prints the report and writes nothing. It never commits the report, never
48
+ pushes, and never runs `oat repo archive sync` for you.
49
+
50
+ **Expected output:** With `--dry-run`, the digest is returned without writing
51
+ a file. Otherwise it is saved under the configured `archive.wrapUpExportPath`,
52
+ falling back to `.oat/repo/reference/wrap-ups/`, with a filename derived from
53
+ the reporting end date and window. `--output` can override the destination.
54
+ The report groups meaningful outcomes and keeps links to the underlying
55
+ evidence so readers can follow up. The report is written but not committed;
56
+ run `git add` and `git commit` yourself if you want to keep it in history.
57
+
58
+ **Next step:** Review the digest for audience fit and evidence gaps, then
59
+ share it through your usual communication process. Saving the report is not
60
+ the same as publishing it. For unfinished work, resume the relevant project
61
+ instead of using the digest as an execution instruction.