@open-agent-toolkit/cli 0.3.12 → 0.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/contributing/index.md +14 -1
- package/assets/docs/contributing/skills.md +64 -2
- package/assets/docs/contributing/smoke-testing.md +3 -3
- package/assets/docs/contributing/updating-model-guidance.md +2 -2
- package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +112 -15
- package/assets/docs/docs-tooling/agent-instructions.md +131 -0
- package/assets/docs/docs-tooling/commands.md +74 -30
- package/assets/docs/docs-tooling/index.md +7 -6
- package/assets/docs/docs-tooling/meta.json +1 -1
- package/assets/docs/docs-tooling/workflows.md +357 -11
- package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
- package/assets/docs/{guide → getting-started}/concepts.md +28 -10
- package/assets/docs/getting-started/index.md +68 -0
- package/assets/docs/getting-started/meta.json +4 -0
- package/assets/docs/getting-started/quickstart.md +174 -0
- package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +146 -15
- package/assets/docs/index.md +47 -48
- package/assets/docs/meta.json +6 -7
- package/assets/docs/provider-sync/commands.md +26 -3
- package/assets/docs/provider-sync/config.md +60 -1
- package/assets/docs/provider-sync/index.md +31 -15
- package/assets/docs/provider-sync/instruction-sync.md +43 -5
- package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
- package/assets/docs/provider-sync/meta.json +1 -0
- package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
- package/assets/docs/provider-sync/scope-and-surface.md +37 -3
- package/assets/docs/reference/cli-reference.md +34 -34
- package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
- package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
- package/assets/docs/reference/docs-index-contract.md +19 -4
- package/assets/docs/reference/file-locations.md +7 -2
- package/assets/docs/reference/index.md +13 -1
- package/assets/docs/reference/meta.json +7 -1
- package/assets/docs/reference/oat-directory-structure.md +24 -22
- package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
- package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
- package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
- package/assets/docs/reference/troubleshooting.md +125 -10
- package/assets/docs/reference/what-oat-writes.md +410 -0
- package/assets/docs/skills/brainstorm.md +77 -0
- package/assets/docs/skills/diagnostics.md +56 -0
- package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
- package/assets/docs/skills/index.md +416 -0
- package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
- package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
- package/assets/docs/skills/repo-improve.md +254 -0
- package/assets/docs/skills/research.md +237 -0
- package/assets/docs/skills/session-closeout.md +61 -0
- package/assets/docs/workflows/advanced/autonomy.md +344 -0
- package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
- package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
- package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
- package/assets/docs/workflows/advanced/index.md +19 -0
- package/assets/docs/workflows/advanced/meta.json +13 -0
- package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
- package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
- package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
- package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
- package/assets/docs/workflows/approvals-and-automation.md +261 -0
- package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
- package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
- package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
- package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
- package/assets/docs/workflows/choose-workflow.md +114 -0
- package/assets/docs/workflows/ideas/index.md +3 -3
- package/assets/docs/workflows/ideas/lifecycle.md +218 -1
- package/assets/docs/workflows/index.md +11 -62
- package/assets/docs/workflows/meta.json +10 -2
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
- package/assets/docs/workflows/projects/closeout/index.md +14 -0
- package/assets/docs/workflows/projects/closeout/meta.json +4 -0
- package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
- package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
- package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
- package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
- package/assets/docs/workflows/projects/execution/index.md +15 -0
- package/assets/docs/workflows/projects/execution/meta.json +9 -0
- package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
- package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
- package/assets/docs/workflows/projects/index.md +38 -49
- package/assets/docs/workflows/projects/lifecycle.md +47 -11
- package/assets/docs/workflows/projects/meta.json +2 -23
- package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
- package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
- package/assets/docs/workflows/projects/planning/index.md +16 -0
- package/assets/docs/workflows/projects/planning/meta.json +10 -0
- package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
- package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
- package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
- package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
- package/assets/docs/workflows/projects/reviews/meta.json +4 -0
- package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
- package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
- package/assets/docs/workflows/waves/index.md +12 -0
- package/assets/docs/workflows/waves/meta.json +4 -0
- package/assets/docs/workflows/waves/wave-workflows.md +206 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-docs/SKILL.md +19 -19
- package/assets/skills/oat-docs-analyze/SKILL.md +27 -7
- package/assets/skills/oat-docs-analyze/references/quality-checklist.md +16 -3
- package/assets/skills/oat-docs-apply/SKILL.md +20 -3
- package/assets/skills/oat-docs-authoring/SKILL.md +11 -7
- package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +12 -5
- package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +7 -7
- package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +13 -3
- package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +5 -4
- package/assets/skills/oat-docs-authoring/references/validation.md +11 -1
- package/assets/skills/oat-docs-bootstrap/SKILL.md +31 -8
- package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +2 -1
- package/assets/skills/oat-doctor/SKILL.md +25 -25
- package/assets/skills/oat-project-document/SKILL.md +21 -2
- package/assets/templates/docs-markdown/contributing.md +35 -0
- package/assets/templates/docs-markdown/index.md +18 -0
- package/dist/commands/docs/index-generate/index.d.ts.map +1 -1
- package/dist/commands/docs/index-generate/index.js +41 -8
- package/dist/commands/docs/init/index.d.ts +17 -2
- package/dist/commands/docs/init/index.d.ts.map +1 -1
- package/dist/commands/docs/init/index.js +194 -14
- package/dist/commands/docs/init/markdown.d.ts +39 -0
- package/dist/commands/docs/init/markdown.d.ts.map +1 -0
- package/dist/commands/docs/init/markdown.js +317 -0
- package/dist/commands/docs/init/resolve-options.d.ts +3 -1
- package/dist/commands/docs/init/resolve-options.d.ts.map +1 -1
- package/dist/commands/docs/init/resolve-options.js +36 -0
- package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
- package/dist/commands/docs/init/scaffold.js +11 -0
- package/dist/commands/shared/agents-md.d.ts +7 -0
- package/dist/commands/shared/agents-md.d.ts.map +1 -1
- package/dist/commands/shared/agents-md.js +131 -91
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
- package/dist/commands/tools/shared/pack-manifest.js +1 -0
- package/dist/config/oat-config.d.ts +2 -1
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +4 -2
- package/package.json +2 -2
- package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
- package/assets/docs/cli-utilities/index.md +0 -74
- package/assets/docs/cli-utilities/meta.json +0 -13
- package/assets/docs/cli-utilities/remote-project-management.md +0 -191
- package/assets/docs/guide/index.md +0 -31
- package/assets/docs/guide/meta.json +0 -4
- package/assets/docs/quickstart.md +0 -88
- package/assets/docs/workflows/projects/autonomy.md +0 -196
- package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
- package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
- package/assets/docs/workflows/projects/review-flavors.md +0 -138
- package/assets/docs/workflows/skills/index.md +0 -184
- package/assets/docs/workflows/skills/repo-improve.md +0 -89
- package/assets/docs/workflows/wave-workflows.md +0 -77
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Project closeout skills
|
|
3
|
+
description: 'Prepare progress or final PRs, record outcomes, update documentation, handle feedback, and complete a tracked project.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Project closeout skills
|
|
7
|
+
|
|
8
|
+
Closeout separates several jobs. A PR description helps reviewers. A summary
|
|
9
|
+
preserves what shipped and why. Documentation explains the resulting capability
|
|
10
|
+
to its users. A retrospective turns execution evidence into improvement
|
|
11
|
+
proposals. Completion finalizes lifecycle state and any selected archive work.
|
|
12
|
+
|
|
13
|
+
## Usual order
|
|
14
|
+
|
|
15
|
+
When no closeout sequence is stored for the project, finish it in this order:
|
|
16
|
+
|
|
17
|
+
1. `oat-project-summary` records what shipped and why.
|
|
18
|
+
2. `oat-project-document` updates reader documentation. Skip it when nothing
|
|
19
|
+
that readers use has changed.
|
|
20
|
+
3. `oat-project-pr-final` opens the final pull request for human review.
|
|
21
|
+
4. Optionally, after you approve the finished work, `oat-project-retro` writes
|
|
22
|
+
a retrospective, and `oat-project-retro-file` files its tracker items.
|
|
23
|
+
5. `oat-project-complete` finalizes the project. You can run it before or after
|
|
24
|
+
the pull request merges.
|
|
25
|
+
|
|
26
|
+
Use `oat-project-pr-progress` instead of the final PR only to share one
|
|
27
|
+
finished phase while later phases are still in progress. Use
|
|
28
|
+
`oat-project-revise` whenever reviewers ask for changes on an open pull
|
|
29
|
+
request; it adds revision tasks, and you return to this order after they are
|
|
30
|
+
implemented. Lite projects run only the final PR step by default. If
|
|
31
|
+
`oat-project-implement` already stored a closeout sequence for the project, it
|
|
32
|
+
runs those steps for you, so follow that sequence instead of starting them
|
|
33
|
+
again by hand.
|
|
34
|
+
|
|
35
|
+
Terms used on this page:
|
|
36
|
+
|
|
37
|
+
- **Active project:** the project your checkout currently points to. The
|
|
38
|
+
pointer is the `activeProject` value in `.oat/config.local.json`. Most
|
|
39
|
+
closeout skills act on the active project.
|
|
40
|
+
- **Synced project:** a project whose artifacts live on a separate Git ref
|
|
41
|
+
(`refs/oat/projects/<project>`, also called the project ref) instead of on
|
|
42
|
+
your feature branch. Skills publish its artifact changes with
|
|
43
|
+
`oat project push` rather than committing them to your branch.
|
|
44
|
+
- **PJM:** OAT's repository project-management layer: the backlog, roadmap,
|
|
45
|
+
and decision records under `.oat/repo/`. A repository has adopted PJM when
|
|
46
|
+
`oat pjm doctor --json` reports an `adoption.state` of `declared` or
|
|
47
|
+
`inferred-legacy`.
|
|
48
|
+
- **Review ledger:** the `## Reviews` table in `plan.md` that records each
|
|
49
|
+
review and its status.
|
|
50
|
+
|
|
51
|
+
## Pick a skill by job
|
|
52
|
+
|
|
53
|
+
| Your next job | Skill |
|
|
54
|
+
| ------------------------------------------------------ | ------------------------- |
|
|
55
|
+
| Share one completed phase while the project continues. | `oat-project-pr-progress` |
|
|
56
|
+
| Open the final project PR. | `oat-project-pr-final` |
|
|
57
|
+
| Explain execution lessons and propose improvements. | `oat-project-retro` |
|
|
58
|
+
| File tracker-bound retrospective proposals. | `oat-project-retro-file` |
|
|
59
|
+
| Turn human feedback into revision tasks. | `oat-project-revise` |
|
|
60
|
+
| Update reader documentation to match shipped behavior. | `oat-project-document` |
|
|
61
|
+
| Preserve outcomes, decisions, and follow-up context. | `oat-project-summary` |
|
|
62
|
+
| Finalize the lifecycle and chosen completion actions. | `oat-project-complete` |
|
|
63
|
+
|
|
64
|
+
Each skill needs an existing project or its artifact. None is a substitute for
|
|
65
|
+
project creation. Check the active project before invoking one, and use an
|
|
66
|
+
explicit path only where the skill supports it.
|
|
67
|
+
|
|
68
|
+
Examples beginning with `/` are requests to your agent, not terminal commands.
|
|
69
|
+
Providers with `$` skill syntax use `$oat-project-summary` instead of
|
|
70
|
+
`/oat-project-summary`, and the same substitution applies to other skill names.
|
|
71
|
+
Arguments such as `p02` are skill input. They are not `oat` CLI subcommands.
|
|
72
|
+
|
|
73
|
+
During implementation, follow the stored post-implementation sequence rather
|
|
74
|
+
than starting another closeout sequence beside it. Configured gates, final
|
|
75
|
+
review, and sign-off remain separate checks. Opening a PR does not merge it,
|
|
76
|
+
and marking a lifecycle complete does not prove a release or deployment.
|
|
77
|
+
See [Implementation execution](../execution/implementation-execution.md) for
|
|
78
|
+
the lifecycle owner and [Reviews](../reviews/index.md) for review handoffs.
|
|
79
|
+
|
|
80
|
+
## oat-project-pr-progress
|
|
81
|
+
|
|
82
|
+
Use progress PRs to share a delivered phase without claiming the entire project
|
|
83
|
+
is finished. This skill builds a phase-scoped description from project
|
|
84
|
+
artifacts and Git history. Opening the PR is optional and user-confirmed.
|
|
85
|
+
|
|
86
|
+
**Invocation:** Name a phase, or provide an explicit commit range if the
|
|
87
|
+
history cannot identify that phase reliably.
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
/oat-project-pr-progress p02
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Supported scope inputs include `range=<sha1>..<sha2>` and `base_sha=<sha>`.
|
|
94
|
+
The latter means that commit through `HEAD`. Use actual verified SHAs. An
|
|
95
|
+
optional `base=<branch>` sets the branch the PR targets. Without it, the skill
|
|
96
|
+
uses `git.defaultBranch` from `.oat/config.json`, then the remote's default
|
|
97
|
+
branch (`origin/HEAD`), then `main`.
|
|
98
|
+
|
|
99
|
+
**Prerequisites:** Needs an active OAT project: yes. The project needs
|
|
100
|
+
`plan.md`. If no project is active, the skill asks for the project name and
|
|
101
|
+
sets that project as active. A passed phase review is recommended before
|
|
102
|
+
opening the PR. An unresolved review produces a warning rather than blocking
|
|
103
|
+
progress-description generation. GitHub creation also needs an authenticated
|
|
104
|
+
`gh` route and permission to push.
|
|
105
|
+
|
|
106
|
+
**What it does without asking:** before writing the description, the skill
|
|
107
|
+
moves every review file at the top level of the project's `reviews/` folder
|
|
108
|
+
into `reviews/archived/`, and rewrites references to those files in
|
|
109
|
+
`plan.md`, `implementation.md`, and `state.md`. It then writes the description
|
|
110
|
+
file under `pr/`. It does not commit. Only after you confirm that you want the
|
|
111
|
+
PR opened does it push the current branch with `git push -u origin` and run
|
|
112
|
+
`gh pr create`. For a synced project, opening the PR also refreshes
|
|
113
|
+
`summary.md` and publishes the project artifacts with `oat project push`
|
|
114
|
+
before and after the PR is created.
|
|
115
|
+
|
|
116
|
+
**Example scenario:** Phase two delivers the export filter, while a later phase
|
|
117
|
+
still owns audit reporting. Request `p02` to produce a reviewable summary of
|
|
118
|
+
the filter's changes and verification. Choose progress rather than final PR
|
|
119
|
+
because reporting and the final project review remain unfinished.
|
|
120
|
+
|
|
121
|
+
**Expected output:** A dated artifact under `pr/`, named
|
|
122
|
+
`progress-{scope}-YYYY-MM-DD.md`, with scoped changes, verification, review
|
|
123
|
+
status, and available references. The skill warns when phase commit conventions
|
|
124
|
+
do not identify the intended work and asks for a better range. It excludes
|
|
125
|
+
local-only links and strips artifact frontmatter from the GitHub body.
|
|
126
|
+
|
|
127
|
+
For a synced project, project artifacts are published to the project ref with
|
|
128
|
+
`oat project push` before the code PR is created. Choosing to open the PR records its URL and
|
|
129
|
+
refreshes project metadata. Declining leaves the description available without
|
|
130
|
+
claiming a PR exists.
|
|
131
|
+
|
|
132
|
+
**Next step:** Review the description and choose whether to open the progress
|
|
133
|
+
PR. Continue remaining project tasks through `oat-project-implement`.
|
|
134
|
+
|
|
135
|
+
## oat-project-pr-final
|
|
136
|
+
|
|
137
|
+
Use final PR when you explicitly want to publish the whole project's reviewed
|
|
138
|
+
change for human review. This skill creates the description, pushes the code
|
|
139
|
+
branch, and creates the PR. It is not a description-only variant of progress PR.
|
|
140
|
+
|
|
141
|
+
**Invocation:** Explicitly request the final PR. Optional `base=` and `title=`
|
|
142
|
+
inputs select its destination and title.
|
|
143
|
+
|
|
144
|
+
```text
|
|
145
|
+
/oat-project-pr-final base=main title="feat: add export filters"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Prerequisites:** Needs an active OAT project: yes. If no project is active,
|
|
149
|
+
the skill asks for the project name and sets that project as active. The
|
|
150
|
+
project needs `plan.md`. Spec-driven mode also requires `spec.md` and `design.md`. Quick,
|
|
151
|
+
import, and lite accept their mode-appropriate reduced artifacts. The latest
|
|
152
|
+
`final` code-review event in the plan's Reviews ledger should be `passed`.
|
|
153
|
+
Autonomous execution stops if it is not passed. Interactive execution warns
|
|
154
|
+
and asks before proceeding anyway.
|
|
155
|
+
|
|
156
|
+
PR creation requires push permission, a suitable remote, and authenticated
|
|
157
|
+
GitHub CLI access. Missing `gh` leads to manual creation instructions rather
|
|
158
|
+
than a claimed successful PR.
|
|
159
|
+
|
|
160
|
+
**What it does without asking:** the skill moves processed review files (those
|
|
161
|
+
whose review-ledger entry is `passed` or `fixes_completed`) into
|
|
162
|
+
`reviews/archived/` and rewrites their references. For a non-lite project, it
|
|
163
|
+
generates or refreshes a missing or stale `summary.md` through
|
|
164
|
+
`oat-project-summary` without a prompt, so that skill's commit and automatic
|
|
165
|
+
decision-record promotion also happen. It then writes the PR description,
|
|
166
|
+
pushes the current branch with `git push -u origin`, and runs
|
|
167
|
+
`gh pr create`. For a synced project, it also publishes the project artifacts
|
|
168
|
+
with `oat project push` before and after creating the PR. Besides the PR title
|
|
169
|
+
and base branch when you did not pass them, the only question it asks is
|
|
170
|
+
whether to continue when the latest final review has not passed. It never
|
|
171
|
+
merges the PR.
|
|
172
|
+
|
|
173
|
+
**Example scenario:** Export filters and audit reporting are implemented, the
|
|
174
|
+
latest final review has passed, and you have authorized publication. Final PR
|
|
175
|
+
summarizes the complete change, including review evidence and verification.
|
|
176
|
+
Choose it instead of progress PR because no planned phase remains to be shared
|
|
177
|
+
as a separate unfinished-project milestone.
|
|
178
|
+
|
|
179
|
+
**Expected output:** `pr/project-pr-YYYY-MM-DD.md`, followed by the actual PR
|
|
180
|
+
URL when creation succeeds. The skill checks review-ledger artifact paths
|
|
181
|
+
before creating a PR. It archives only eligible processed review artifacts,
|
|
182
|
+
keeps unresolved artifacts visible, and excludes invalid or local-only public
|
|
183
|
+
references. Stored exit-gate waivers remain visible in verification notes.
|
|
184
|
+
|
|
185
|
+
Project state distinguishes an artifact ready for publication from an open PR.
|
|
186
|
+
If the stored closeout sequence already completed its `summary` step, the
|
|
187
|
+
skill reuses that summary. Otherwise, for a non-lite project, a missing or
|
|
188
|
+
stale `summary.md` is generated or refreshed automatically before the
|
|
189
|
+
description is written. Lite projects never generate a summary; the skill
|
|
190
|
+
builds the PR summary from `plan.md` and `implementation.md` instead. The skill
|
|
191
|
+
does not merge the PR or silently treat completed fixes as a passed re-review.
|
|
192
|
+
|
|
193
|
+
**Next step:** Review the open PR. Use `oat-project-revise` for feedback.
|
|
194
|
+
Completion can run before or after merge. If completion archives artifacts
|
|
195
|
+
while the PR is open, its archive-aware flow updates the PR description links.
|
|
196
|
+
|
|
197
|
+
## oat-project-retro
|
|
198
|
+
|
|
199
|
+
Use retrospective to explain how execution went and propose changes that can
|
|
200
|
+
improve later work. The summary records the product outcome. The retrospective
|
|
201
|
+
records incidents, lessons, and actionable repository or OAT feedback.
|
|
202
|
+
|
|
203
|
+
**Invocation:** Request generation explicitly. To apply an existing retro's
|
|
204
|
+
eligible repository improvements, use explicit apply wording instead.
|
|
205
|
+
|
|
206
|
+
```text
|
|
207
|
+
/oat-project-retro
|
|
208
|
+
Generate a retrospective for the active export-filter project from its logs, learnings, and available session evidence.
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
```text
|
|
212
|
+
/oat-project-retro
|
|
213
|
+
Apply the eligible repository improvements from the existing retrospective. Do not regenerate it.
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Prerequisites:** Needs an active OAT project: yes, or an explicit path to an
|
|
217
|
+
existing project. Generation needs available
|
|
218
|
+
project evidence. Missing transcript or review evidence is recorded as
|
|
219
|
+
unavailable, not invented. Apply mode additionally requires an existing
|
|
220
|
+
`references/project-retro.md` and consent for the selected changes.
|
|
221
|
+
|
|
222
|
+
**What it does without asking:** generation writes
|
|
223
|
+
`references/project-retro.md`, appends a one-line receipt to the project log
|
|
224
|
+
when one exists, and commits both. Applying an item commits that change too,
|
|
225
|
+
usually one commit per item. A synced project's artifact changes are
|
|
226
|
+
published with `oat project push` instead. A non-interactive run applies items only when
|
|
227
|
+
`workflow.retro.apply` is `auto`. If `workflow.retro.filing.repo` or
|
|
228
|
+
`workflow.retro.filing.upstream` is configured, a non-interactive run also
|
|
229
|
+
hands off to `oat-project-retro-file`, which can create GitHub issues and
|
|
230
|
+
backlog items. In an interactive run, applying and filing are offered, and
|
|
231
|
+
happen only after you approve them.
|
|
232
|
+
|
|
233
|
+
**Example scenario:** An export project spent hours on a stale build and an
|
|
234
|
+
unclear review handoff. Generate the retro to explain each incident's impact,
|
|
235
|
+
response, and outcome. Propose a repository setup instruction separately from
|
|
236
|
+
an OAT upstream improvement. After reviewing the proposals, apply the setup
|
|
237
|
+
instruction through the same skill's apply mode rather than regenerating the
|
|
238
|
+
analysis or filing every proposal as an issue.
|
|
239
|
+
|
|
240
|
+
**Expected output:** `references/project-retro.md` with an honest evidence
|
|
241
|
+
inventory, execution analysis, and separate Repo Improvements and OAT Upstream
|
|
242
|
+
Feedback registers. Stable `RP-NN` and `UP-NN` IDs identify proposals. Each repo
|
|
243
|
+
item distinguishes `Disposition: apply` from `Disposition: file`.
|
|
244
|
+
|
|
245
|
+
Generation does not automatically apply or file everything. Interactive runs
|
|
246
|
+
offer eligible application and filing. Non-interactive application requires
|
|
247
|
+
`workflow.retro.apply: auto`. Without explicit filing configuration, proposals
|
|
248
|
+
remain unfiled. Apply mode handles approved documentation, instruction, rule,
|
|
249
|
+
or decision changes under its bounded contract and records their committed
|
|
250
|
+
references. Code follow-ups normally belong to the filing path.
|
|
251
|
+
|
|
252
|
+
**Next step:** Review the register walkthrough. Use `oat-project-retro-file`
|
|
253
|
+
for tracker-bound proposals. Material product, security, architecture, or
|
|
254
|
+
destructive changes still require direction even when auto-apply is configured.
|
|
255
|
+
|
|
256
|
+
## oat-project-retro-file
|
|
257
|
+
|
|
258
|
+
Use retro-file to turn approved tracker-bound proposals into repository or
|
|
259
|
+
upstream issues and backlog items. It does not apply repository edits or
|
|
260
|
+
generate a missing retrospective.
|
|
261
|
+
|
|
262
|
+
**Invocation:** Use the active project's retro, or provide the existing artifact
|
|
263
|
+
path explicitly.
|
|
264
|
+
|
|
265
|
+
```text
|
|
266
|
+
/oat-project-retro-file .oat/projects/shared/export-filter/references/project-retro.md
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Replace the example path with the project's reported artifact path.
|
|
270
|
+
|
|
271
|
+
**Prerequisites:** Needs an active OAT project: yes, or an explicit path to the
|
|
272
|
+
retro artifact. An existing retro artifact must contain valid registers.
|
|
273
|
+
Eligible items are repo proposals with `Disposition: file` and upstream
|
|
274
|
+
proposals. Filing requires destination capability and consent. GitHub
|
|
275
|
+
destinations need authenticated `gh` and enabled issues. Backlog destinations
|
|
276
|
+
need the initialized, writable canonical backlog.
|
|
277
|
+
|
|
278
|
+
**What it does without asking:** nothing is filed until you approve it in an
|
|
279
|
+
interactive run, or until `workflow.retro.filing.*` config names the
|
|
280
|
+
destination in a non-interactive run. Once approved, it runs
|
|
281
|
+
`gh issue create` for issue destinations and `oat backlog new` for backlog
|
|
282
|
+
destinations, commits each new backlog item, and then commits the retro
|
|
283
|
+
writeback separately. Upstream proposals are filed as issues in the repository
|
|
284
|
+
named by `workflow.retro.upstreamRepo`, which defaults to the public
|
|
285
|
+
`voxmedia/open-agent-toolkit` repository. Check that setting before you
|
|
286
|
+
approve upstream items. The skill never runs `git push`, so backlog commits
|
|
287
|
+
stay local until you push them yourself. For a synced project, the retro
|
|
288
|
+
writeback is published to the project ref with `oat project push`.
|
|
289
|
+
|
|
290
|
+
**Example scenario:** The export retro proposes an OAT review-handoff fix and a
|
|
291
|
+
repository test-harness follow-up. Retro-file probes both destinations, checks
|
|
292
|
+
existing and completed work for duplicates, and presents the proposals before
|
|
293
|
+
filing. Choose it instead of retro apply because these items need tracked
|
|
294
|
+
future implementation, not immediate documentation edits.
|
|
295
|
+
|
|
296
|
+
**Expected output:** Each successfully filed or linked proposal records its
|
|
297
|
+
destination and filing status in the retro. Local backlog destinations also
|
|
298
|
+
need exact-path commit evidence and truthful pushed or unpushed visibility.
|
|
299
|
+
Unusable destinations are reported with an unblock action rather than silently
|
|
300
|
+
replaced by another destination.
|
|
301
|
+
|
|
302
|
+
Non-interactive execution uses configured destinations exactly. Destination
|
|
303
|
+
consent does not authorize changing an existing duplicate. Linking an existing
|
|
304
|
+
item requires a verified match. When the source repository is private and the
|
|
305
|
+
destination is public, both new issue bodies and comments on existing issues
|
|
306
|
+
are sanitized before posting.
|
|
307
|
+
|
|
308
|
+
**Next step:** Follow the recorded issue or backlog destination. Resolve
|
|
309
|
+
`no-destination` items or ambiguous duplicates before retrying. Use retro apply
|
|
310
|
+
for separate `Disposition: apply` items.
|
|
311
|
+
|
|
312
|
+
## oat-project-revise
|
|
313
|
+
|
|
314
|
+
Use revise to receive human feedback and re-enter implementation without
|
|
315
|
+
creating a new project. It writes revision tasks rather than implementing the
|
|
316
|
+
changes itself.
|
|
317
|
+
|
|
318
|
+
**Invocation:** State the feedback in the same request, or identify the PR or
|
|
319
|
+
review artifact that contains it.
|
|
320
|
+
|
|
321
|
+
```text
|
|
322
|
+
/oat-project-revise
|
|
323
|
+
The export-filter PR needs a clearer invalid-date message and a test for an empty date range.
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
**Prerequisites:** Needs an active OAT project: yes. The active project needs
|
|
327
|
+
`plan.md` and `implementation.md`. An open PR is the normal entry point, but
|
|
328
|
+
`in_progress` and `complete` states also work. If no final PR artifact exists,
|
|
329
|
+
the skill warns and asks whether to continue with pre-PR feedback. The skill
|
|
330
|
+
runs only when you invoke it by name; agents do not start it on their own.
|
|
331
|
+
|
|
332
|
+
**What it does without asking:** the skill adds the revision tasks to
|
|
333
|
+
`plan.md`, updates `implementation.md` and `state.md`, and commits those three
|
|
334
|
+
files. A synced project publishes them with `oat project push` instead. If your
|
|
335
|
+
agent supports skill chaining, revise may continue straight into
|
|
336
|
+
`oat-project-implement`, which starts executing the new tasks. For GitHub PR
|
|
337
|
+
comments or a review artifact, it hands off to the matching review-receive
|
|
338
|
+
skill instead of writing the tasks itself.
|
|
339
|
+
|
|
340
|
+
**Example scenario:** A human reviewer accepts the export design but requests
|
|
341
|
+
two small changes before merge. Revise turns each inline request into a task,
|
|
342
|
+
keeps the project history, and points implementation at the first revision.
|
|
343
|
+
Choose it instead of a new project because this is feedback on the existing
|
|
344
|
+
change, not a new feature with unrelated scope.
|
|
345
|
+
|
|
346
|
+
**Expected output:** Inline feedback creates a `p-revN` phase with
|
|
347
|
+
`prevN-tNN` task IDs, inserted before Implementation Complete. Plan totals,
|
|
348
|
+
implementation tracking, and state are updated for execution. Inline requests
|
|
349
|
+
are not severity-triaged. Structured GitHub feedback and review artifacts route
|
|
350
|
+
through their corresponding review-receive skills and use those contracts.
|
|
351
|
+
|
|
352
|
+
**Next step:** If revise did not continue into implementation on its own, run
|
|
353
|
+
`oat-project-implement` to execute the revision tasks. After verification,
|
|
354
|
+
update the open PR and its review evidence. Revise itself does not write code
|
|
355
|
+
changes or declare the requested changes complete.
|
|
356
|
+
|
|
357
|
+
## oat-project-document
|
|
358
|
+
|
|
359
|
+
Use document to reconcile reader documentation with the project's shipped
|
|
360
|
+
capabilities. It compares artifacts, source code, and existing documentation
|
|
361
|
+
before proposing where information belongs.
|
|
362
|
+
|
|
363
|
+
**Invocation:** Use the active project or an explicit project path. The normal
|
|
364
|
+
flow presents the delta for approval.
|
|
365
|
+
|
|
366
|
+
```text
|
|
367
|
+
/oat-project-document .oat/projects/shared/export-filter
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
For a deliberately unattended documentation pass, `--auto` applies all
|
|
371
|
+
recommendations without the approval pause. Autonomous lifecycle execution uses
|
|
372
|
+
that existing path. Select it only within the authorized documentation scope.
|
|
373
|
+
|
|
374
|
+
**Prerequisites:** Needs an active OAT project: yes, or an explicit project
|
|
375
|
+
path. The target needs `state.md` and at least `plan.md` or
|
|
376
|
+
`implementation.md`. Completed
|
|
377
|
+
implementation provides shipped evidence. If only a plan exists, the skill can
|
|
378
|
+
proceed but must identify recommendations as based on planned work rather than
|
|
379
|
+
verified implementation. Lite projects do not require discovery, spec, or design.
|
|
380
|
+
|
|
381
|
+
**Example scenario:** Export filters shipped, but the user guide still describes
|
|
382
|
+
only unfiltered exports. Document verifies the actual endpoint and CLI behavior,
|
|
383
|
+
finds the existing guide, and proposes additions for date syntax and failure
|
|
384
|
+
cases. Choose it instead of summary because the audience needs operating
|
|
385
|
+
instructions, not the project's decision history.
|
|
386
|
+
|
|
387
|
+
**Expected output:** An evidence-backed delta plan identifies updates, new
|
|
388
|
+
pages, or splits where warranted. Approved recommendations update documentation
|
|
389
|
+
and relevant instruction files. The skill follows local index and navigation
|
|
390
|
+
conventions, formats the changed files, runs relevant checks, and records
|
|
391
|
+
`oat_docs_updated`. It does not modify implementation source or change lifecycle
|
|
392
|
+
phase state.
|
|
393
|
+
|
|
394
|
+
PJM capability and repository adoption are checked separately. Missing or
|
|
395
|
+
unverified adoption skips PJM writers without blocking documentation-only work.
|
|
396
|
+
No configured docs site is required for README or plain Markdown updates.
|
|
397
|
+
|
|
398
|
+
**What it does without asking:** when the repository has adopted PJM, the
|
|
399
|
+
skill first runs `oat-pjm-update-repo-reference` automatically, which updates
|
|
400
|
+
repository reference records such as the roadmap and backlog status. It shows
|
|
401
|
+
the documentation plan and waits for your approval before it changes any
|
|
402
|
+
documentation, unless you passed `--auto`. It then commits the approved
|
|
403
|
+
documentation changes, and commits the `oat_docs_updated` state change
|
|
404
|
+
separately; a synced project publishes that state change with
|
|
405
|
+
`oat project push`. Choosing `[S]kip` also commits the skipped state. It does
|
|
406
|
+
not push your branch.
|
|
407
|
+
|
|
408
|
+
**Next step:** Review the documentation commit before pushing. Then continue
|
|
409
|
+
the stored closeout sequence. When you run the skill on its own, its report
|
|
410
|
+
points to `oat-project-complete`; if the final PR is not open yet, follow the
|
|
411
|
+
[usual order](#usual-order) and run `oat-project-pr-final` first.
|
|
412
|
+
|
|
413
|
+
## oat-project-summary
|
|
414
|
+
|
|
415
|
+
Use summary to preserve what actually shipped, the decisions behind it, and
|
|
416
|
+
follow-up context. A summary can cover meaningful partial implementation. It
|
|
417
|
+
does not need to wait for archive, and it is not the shorter PR description.
|
|
418
|
+
|
|
419
|
+
**Invocation:** Explicitly request generation or refresh for the active project.
|
|
420
|
+
|
|
421
|
+
```text
|
|
422
|
+
/oat-project-summary
|
|
423
|
+
Summarize the delivered export filters, the date-format decision, and the audit-reporting work we deferred.
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**Prerequisites:** Needs an active OAT project: yes. The project needs
|
|
427
|
+
`implementation.md` with meaningful progress, normally at least one
|
|
428
|
+
completed task. Missing implementation tracking blocks summary generation.
|
|
429
|
+
With no completed tasks, the process warns that the summary will be minimal.
|
|
430
|
+
Lite uses its plan contract and implementation results without requiring
|
|
431
|
+
discovery, spec, or design artifacts.
|
|
432
|
+
|
|
433
|
+
**Example scenario:** The first export phase is delivered, and another engineer
|
|
434
|
+
will own the reporting phase next week. Summary records the shipped filter
|
|
435
|
+
behavior, why the team chose its date format, the verification performed, and
|
|
436
|
+
the deferred reporting work. Choose it instead of retro because the main need
|
|
437
|
+
is product and decision continuity, not an analysis of execution incidents.
|
|
438
|
+
|
|
439
|
+
**Expected output:** `summary.md` emphasizes implementation outcomes over
|
|
440
|
+
planned design. Its minimum useful sections are Overview, What Was Implemented,
|
|
441
|
+
and Key Decisions. Meaningful sections add tradeoffs, challenges, design deltas,
|
|
442
|
+
revision history, and follow-up items. Empty sections are omitted rather than
|
|
443
|
+
left as placeholders, and the source targets fewer than 200 lines.
|
|
444
|
+
|
|
445
|
+
When you run it again, the skill uses tracking fields in `summary.md` to find
|
|
446
|
+
tasks and revision phases added since the last run. New project-log entries or
|
|
447
|
+
autonomous-run learnings can also trigger an update. Content that has not
|
|
448
|
+
changed is kept. The `oat project log` command, not the skill, rolls project-log
|
|
449
|
+
entries up into the Workflow Observations section. A project log the skill
|
|
450
|
+
cannot read clearly is reported rather than treated as empty, and a sealed
|
|
451
|
+
(closed) log accepts no new entries. An Autonomous Execution Learnings section
|
|
452
|
+
appears only when the project has an `oat-execution-learnings.md` file with
|
|
453
|
+
actionable recommendations. Recorded exit-gate waivers stay explicit; the
|
|
454
|
+
skill does not infer them.
|
|
455
|
+
|
|
456
|
+
**What it does without asking:** when the repository has adopted PJM, every
|
|
457
|
+
Key Decision in `summary.md` is promoted, without a prompt, to an `accepted`
|
|
458
|
+
decision record under `.oat/repo/reference/decisions/`, and the decision index
|
|
459
|
+
is regenerated. A decision already promoted on an earlier run (same title
|
|
460
|
+
slug) is skipped. The skill then commits `summary.md` together with any new
|
|
461
|
+
decision records, project-log changes, and ledger changes; a synced project
|
|
462
|
+
publishes `summary.md` with `oat project push`. It does not push your branch.
|
|
463
|
+
It only offers, and does not create without your answer, backlog items for
|
|
464
|
+
follow-up entries in the project log. It does not invent tasks or silently
|
|
465
|
+
rewrite the execution plan.
|
|
466
|
+
|
|
467
|
+
**Next step:** Use the summary as a source for documentation, PR description,
|
|
468
|
+
and later project handoff. Refresh it after revisions. Complete the project
|
|
469
|
+
only when its lifecycle closeout requirements are satisfied.
|
|
470
|
+
|
|
471
|
+
## oat-project-complete
|
|
472
|
+
|
|
473
|
+
Use complete when you want to finalize the tracked lifecycle and its selected
|
|
474
|
+
completion actions. Archiving, the project recap, a summary refresh, and PR
|
|
475
|
+
work are separate choices with their own checks. None of them alone means the
|
|
476
|
+
project is complete.
|
|
477
|
+
|
|
478
|
+
**Invocation:** Select the intended active project, then request completion.
|
|
479
|
+
|
|
480
|
+
```text
|
|
481
|
+
/oat-project-complete
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
**Prerequisites:** Needs an active OAT project: yes. The skill does not ask
|
|
485
|
+
which project to use; without a valid active project it stops and points you
|
|
486
|
+
to `oat-project-open`. The `oat-explainer-kit` skill must be installed (in the
|
|
487
|
+
same skills folder, your user skills, or the project's skills) alongside this
|
|
488
|
+
skill's own completion scripts, or the skill stops. The skill runs only when
|
|
489
|
+
you invoke it by name. Before it changes anything, it runs a read-only check
|
|
490
|
+
that the project's stored closeout sequence is finished (or that the project
|
|
491
|
+
has none). If an implementation closeout is still incomplete, the skill sends
|
|
492
|
+
you back to `oat-project-implement`; no phase-status value bypasses that
|
|
493
|
+
check.
|
|
494
|
+
|
|
495
|
+
**What it does without asking:** the skill asks once, then acts. One combined
|
|
496
|
+
prompt asks you to confirm completion and, where they apply, whether to
|
|
497
|
+
archive the project, generate or refresh the summary, generate a
|
|
498
|
+
retrospective, generate a final project recap, and open a PR. Settings such as
|
|
499
|
+
`workflow.archiveOnComplete` and `workflow.createPrOnComplete` answer their
|
|
500
|
+
questions in advance. If final review has not passed, Medium findings were
|
|
501
|
+
deferred, or documentation is not marked updated, those warnings appear
|
|
502
|
+
together with one "continue anyway?" question. After you confirm, the skill
|
|
503
|
+
does the rest without further prompts: it marks the lifecycle complete, always
|
|
504
|
+
writes a PR description file, clears the active
|
|
505
|
+
project (or keeps it until an archive succeeds), commits the completion
|
|
506
|
+
bookkeeping, and pushes it. A yes to the PR question, or
|
|
507
|
+
`workflow.createPrOnComplete: true` when no PR is tracked, creates a new PR
|
|
508
|
+
against `main`. If a PR is already open, the skill updates its description
|
|
509
|
+
with `gh pr edit` when archiving or for a synced project. A summary refresh
|
|
510
|
+
runs `oat-project-summary`, with its own commit and decision promotion, and an
|
|
511
|
+
archive runs `oat project archive`, including an S3 upload when
|
|
512
|
+
`archive.s3SyncOnComplete` is enabled.
|
|
513
|
+
|
|
514
|
+
**Example scenario:** The export project has passed final verification and its
|
|
515
|
+
stored closeout sequence, but the PR is still open. Complete finalizes lifecycle
|
|
516
|
+
state and, if selected, archives the durable artifacts and updates the existing
|
|
517
|
+
PR body to use valid archived references. Choose this skill instead of another
|
|
518
|
+
PR invocation because publication already exists and the remaining work is
|
|
519
|
+
lifecycle finalization. An open PR is not a completion blocker.
|
|
520
|
+
|
|
521
|
+
**Expected output:** The skill reports completed lifecycle state, bookkeeping
|
|
522
|
+
commit and push results, recap outcome, any archive location, and the tracked
|
|
523
|
+
PR. Upfront questions collect relevant choices together. Local projects use
|
|
524
|
+
non-archive completion. Shared and synced projects use the configured archive
|
|
525
|
+
preference or an explicit answer.
|
|
526
|
+
|
|
527
|
+
Completion changes lifecycle state through the `oat` CLI, checks whether the
|
|
528
|
+
summary is current, runs any retro and recap work you selected, and seals
|
|
529
|
+
(closes) the project log through the project-log command. When a shared or
|
|
530
|
+
synced project will be archived, the active project stays set until the
|
|
531
|
+
archive succeeds, so an archive or S3 failure leaves the completion
|
|
532
|
+
resumable. Every other completion clears the active project right away. Synced
|
|
533
|
+
projects still publish their artifacts to the project ref. The skill never
|
|
534
|
+
fakes completion by editing a status field by hand.
|
|
535
|
+
|
|
536
|
+
**Next step:** Confirm the reported completion and PR-update outcomes. Follow
|
|
537
|
+
any explicit recovery action if the flow stopped. Merge and release remain
|
|
538
|
+
separate operations under repository policy.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Closeout
|
|
3
|
+
description: 'Project retrospectives and progress or final PR flow.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Closeout
|
|
7
|
+
|
|
8
|
+
Use these guides to close out tracked work and prepare its PR or retrospective.
|
|
9
|
+
|
|
10
|
+
## Contents
|
|
11
|
+
|
|
12
|
+
- [Project closeout skills](closeout-skills.md) - Reviews, documentation, retrospectives, PRs and completion.
|
|
13
|
+
- [Project Retrospectives](retro.md) - Generate evidence-grounded retros, apply repo improvements, and file tracker feedback.
|
|
14
|
+
- [PR Flow](pr-flow.md) - Progress and final PR generation expectations.
|
|
@@ -53,7 +53,7 @@ when present. The URLs are pinned to the project ref's exact commit SHA rather
|
|
|
53
53
|
than a moving branch name. `plan.md`, `state.md`, `implementation.md`, and
|
|
54
54
|
`reviews/` are intentionally excluded because they contain agent-facing
|
|
55
55
|
execution detail rather than the reviewer-oriented project narrative. See
|
|
56
|
-
[Reviewing OAT PRs](reviewing-oat-prs.md).
|
|
56
|
+
[Reviewing OAT PRs](../reviews/reviewing-oat-prs.md).
|
|
57
57
|
|
|
58
58
|
## Post-PR state
|
|
59
59
|
|
|
@@ -250,7 +250,7 @@ The `workflow.retro` namespace controls non-interactive actions:
|
|
|
250
250
|
Explicit `auto` or filing destinations count as consent only for their bounded
|
|
251
251
|
action. Architecture, security, product-scope, credential, destructive, and
|
|
252
252
|
duplicate-mutation boundaries still require direction. See
|
|
253
|
-
[Configuration](
|
|
253
|
+
[Configuration](../../../reference/configuration.md#workflow-preferences-workflow)
|
|
254
254
|
for the full key reference.
|
|
255
255
|
|
|
256
256
|
## Summary versus retrospective
|