@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
|
@@ -353,3 +353,52 @@ and cause the exported renderer to fail closed with `PACKET_NOT_PUBLISHABLE`.
|
|
|
353
353
|
If the manifest, ledger, approval envelope, source identities, or publication
|
|
354
354
|
boundary cannot be validated, the run is `failed`. It may retain safe raw
|
|
355
355
|
diagnostics, but it does not publish a misleading `packet.md`.
|
|
356
|
+
|
|
357
|
+
## recon
|
|
358
|
+
|
|
359
|
+
**Invocation:**
|
|
360
|
+
`/recon "Where is provider configuration read and overridden?" --profile standard --scope "configuration readers and their callers"`.
|
|
361
|
+
This is an agent instruction rather than a shell command; Codex uses
|
|
362
|
+
`$recon`. Recon is explicit-invocation only, so use the slash or `$` form.
|
|
363
|
+
Supply a bounded question. Profiles are `quick`, `standard` (the default), and
|
|
364
|
+
`thorough`; `--context` and `--output` arguments can make the evidence
|
|
365
|
+
boundary and destination explicit.
|
|
366
|
+
|
|
367
|
+
**Prerequisites:** Accessible source evidence and the `utility` tool pack's
|
|
368
|
+
`oat-dispatch-subagents` and `subagent-orchestration` skills, installed at the
|
|
369
|
+
same scope; the `research` pack installs them for you. Recon stops and names
|
|
370
|
+
the missing skill if either is absent. Needs an active OAT project: no. The
|
|
371
|
+
skill establishes scope, available capabilities, and an approval envelope
|
|
372
|
+
(the exact list of worker waves, models, limits, and read/write permissions it
|
|
373
|
+
proposes) before launching any worker wave (a batch of helper agents doing the
|
|
374
|
+
same kind of task). A missing approved capability is not permission to
|
|
375
|
+
silently substitute a different route.
|
|
376
|
+
|
|
377
|
+
**What it does without asking:** Before approval it creates a new run
|
|
378
|
+
directory under the destination and writes its `manifest.json` skeleton; it
|
|
379
|
+
never overwrites an existing run. It launches no worker until you approve the
|
|
380
|
+
proposal it shows, and any change to that proposal needs fresh approval.
|
|
381
|
+
After approval it starts the approved helper agents, which only read sources
|
|
382
|
+
and each write one file inside the run directory, then validates the results
|
|
383
|
+
and publishes `packet.md`. It does not modify the investigated system,
|
|
384
|
+
commit, or push.
|
|
385
|
+
|
|
386
|
+
**Example scenario:** Before changing configuration precedence, you need an
|
|
387
|
+
inventory of actual readers and their callers. Ask for that bounded packet
|
|
388
|
+
so the implementation owner can evaluate compatibility across those paths.
|
|
389
|
+
Keep the reconnaissance read-only: finding every reader does not authorize
|
|
390
|
+
changing defaults or choosing a migration strategy.
|
|
391
|
+
|
|
392
|
+
**Expected output:** A topic/run directory containing `packet.md`,
|
|
393
|
+
`claims.json`, `manifest.json`, and the supporting raw evidence and reviews
|
|
394
|
+
applicable to the run. Claims retain source identities and evidence
|
|
395
|
+
locators. Read the reported run state and assurance level: a quick packet is
|
|
396
|
+
not an independently verified standard packet, and contested, unresolved,
|
|
397
|
+
or partial findings remain qualified rather than being promoted by the
|
|
398
|
+
profile's name alone. Failed or unpublishable runs do not provide a valid
|
|
399
|
+
packet just because raw diagnostics exist.
|
|
400
|
+
|
|
401
|
+
**Next step:** Use the packet and its evidence to make the caller's planning
|
|
402
|
+
or implementation decision. Reopen the bound sources when freshness matters,
|
|
403
|
+
and resolve disputed or missing evidence before relying on a load-bearing
|
|
404
|
+
claim. Recon supplies evidence, not product approval.
|
|
@@ -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.
|