@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.
Files changed (152) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/docs/contributing/index.md +14 -1
  4. package/assets/docs/contributing/skills.md +64 -2
  5. package/assets/docs/contributing/smoke-testing.md +3 -3
  6. package/assets/docs/contributing/updating-model-guidance.md +2 -2
  7. package/assets/docs/contributing/verifying-cursor-pins.md +1 -1
  8. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +112 -15
  9. package/assets/docs/docs-tooling/agent-instructions.md +131 -0
  10. package/assets/docs/docs-tooling/commands.md +74 -30
  11. package/assets/docs/docs-tooling/index.md +7 -6
  12. package/assets/docs/docs-tooling/meta.json +1 -1
  13. package/assets/docs/docs-tooling/workflows.md +357 -11
  14. package/assets/docs/{cli-utilities → getting-started}/bootstrap.md +60 -5
  15. package/assets/docs/{guide → getting-started}/concepts.md +28 -10
  16. package/assets/docs/getting-started/index.md +68 -0
  17. package/assets/docs/getting-started/meta.json +4 -0
  18. package/assets/docs/getting-started/quickstart.md +174 -0
  19. package/assets/docs/{cli-utilities → getting-started}/tool-packs.md +146 -15
  20. package/assets/docs/index.md +47 -48
  21. package/assets/docs/meta.json +6 -7
  22. package/assets/docs/provider-sync/commands.md +26 -3
  23. package/assets/docs/provider-sync/config.md +60 -1
  24. package/assets/docs/provider-sync/index.md +31 -15
  25. package/assets/docs/provider-sync/instruction-sync.md +43 -5
  26. package/assets/docs/provider-sync/manifest-and-drift.md +85 -0
  27. package/assets/docs/provider-sync/meta.json +1 -0
  28. package/assets/docs/provider-sync/pilot-with-a-team.md +236 -0
  29. package/assets/docs/provider-sync/scope-and-surface.md +37 -3
  30. package/assets/docs/reference/cli-reference.md +34 -34
  31. package/assets/docs/{cli-utilities → reference}/config-and-local-state.md +25 -9
  32. package/assets/docs/{cli-utilities → reference}/configuration.md +151 -34
  33. package/assets/docs/reference/docs-index-contract.md +19 -4
  34. package/assets/docs/reference/file-locations.md +7 -2
  35. package/assets/docs/reference/index.md +13 -1
  36. package/assets/docs/reference/meta.json +7 -1
  37. package/assets/docs/reference/oat-directory-structure.md +24 -22
  38. package/assets/docs/{workflows/projects/artifacts.md → reference/project-artifacts.md} +4 -4
  39. package/assets/docs/{workflows/projects/state-machine.md → reference/project-state-machine.md} +1 -1
  40. package/assets/docs/{workflows/projects/repo-analysis.md → reference/repository-pr-comments.md} +2 -2
  41. package/assets/docs/reference/troubleshooting.md +125 -10
  42. package/assets/docs/reference/what-oat-writes.md +410 -0
  43. package/assets/docs/skills/brainstorm.md +77 -0
  44. package/assets/docs/skills/diagnostics.md +56 -0
  45. package/assets/docs/{workflows/skills → skills}/explainer-kit.md +121 -0
  46. package/assets/docs/skills/index.md +416 -0
  47. package/assets/docs/{workflows/skills → skills}/meta.json +4 -2
  48. package/assets/docs/{workflows/skills → skills}/recon.md +49 -0
  49. package/assets/docs/skills/repo-improve.md +254 -0
  50. package/assets/docs/skills/research.md +237 -0
  51. package/assets/docs/skills/session-closeout.md +61 -0
  52. package/assets/docs/workflows/advanced/autonomy.md +344 -0
  53. package/assets/docs/workflows/{projects → advanced}/cursor-cloud.md +69 -1
  54. package/assets/docs/workflows/{projects → advanced}/dispatch-ceiling.md +163 -18
  55. package/assets/docs/workflows/{projects → advanced}/evidence-layers.md +1 -1
  56. package/assets/docs/workflows/advanced/index.md +19 -0
  57. package/assets/docs/workflows/advanced/meta.json +13 -0
  58. package/assets/docs/workflows/{projects → advanced}/orchestration-model.md +63 -4
  59. package/assets/docs/workflows/{projects → advanced}/programmatic-execution.md +4 -4
  60. package/assets/docs/{cli-utilities → workflows/advanced}/workflow-gates.md +162 -8
  61. package/assets/docs/workflows/advanced/worktree-bootstrap.md +83 -0
  62. package/assets/docs/workflows/approvals-and-automation.md +261 -0
  63. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +348 -0
  64. package/assets/docs/workflows/backlog-and-planning/index.md +13 -0
  65. package/assets/docs/workflows/backlog-and-planning/meta.json +4 -0
  66. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +303 -0
  67. package/assets/docs/workflows/choose-workflow.md +114 -0
  68. package/assets/docs/workflows/ideas/index.md +3 -3
  69. package/assets/docs/workflows/ideas/lifecycle.md +218 -1
  70. package/assets/docs/workflows/index.md +11 -62
  71. package/assets/docs/workflows/meta.json +10 -2
  72. package/assets/docs/workflows/projects/closeout/closeout-skills.md +538 -0
  73. package/assets/docs/workflows/projects/closeout/index.md +14 -0
  74. package/assets/docs/workflows/projects/closeout/meta.json +4 -0
  75. package/assets/docs/workflows/projects/{pr-flow.md → closeout/pr-flow.md} +1 -1
  76. package/assets/docs/workflows/projects/{retro.md → closeout/retro.md} +1 -1
  77. package/assets/docs/workflows/projects/execution/execution-skills.md +258 -0
  78. package/assets/docs/workflows/projects/{implementation-execution.md → execution/implementation-execution.md} +8 -8
  79. package/assets/docs/workflows/projects/execution/index.md +15 -0
  80. package/assets/docs/workflows/projects/execution/meta.json +9 -0
  81. package/assets/docs/workflows/projects/execution/picking-up-projects.md +376 -0
  82. package/assets/docs/{cli-utilities → workflows/projects/execution}/project-log.md +1 -1
  83. package/assets/docs/workflows/projects/index.md +38 -49
  84. package/assets/docs/workflows/projects/lifecycle.md +47 -11
  85. package/assets/docs/workflows/projects/meta.json +2 -23
  86. package/assets/docs/workflows/projects/{design-modes.md → planning/design-modes.md} +29 -0
  87. package/assets/docs/workflows/projects/planning/hill-checkpoints.md +167 -0
  88. package/assets/docs/workflows/projects/planning/index.md +16 -0
  89. package/assets/docs/workflows/projects/planning/meta.json +10 -0
  90. package/assets/docs/workflows/projects/planning/planning-skills.md +381 -0
  91. package/assets/docs/workflows/projects/{splitting.md → planning/splitting.md} +3 -3
  92. package/assets/docs/workflows/projects/planning/starting-projects.md +511 -0
  93. package/assets/docs/workflows/projects/{reviews.md → reviews/index.md} +51 -5
  94. package/assets/docs/workflows/projects/reviews/meta.json +4 -0
  95. package/assets/docs/workflows/projects/reviews/review-flavors.md +643 -0
  96. package/assets/docs/workflows/projects/{reviewing-oat-prs.md → reviews/reviewing-oat-prs.md} +3 -3
  97. package/assets/docs/workflows/waves/index.md +12 -0
  98. package/assets/docs/workflows/waves/meta.json +4 -0
  99. package/assets/docs/workflows/waves/wave-workflows.md +206 -0
  100. package/assets/public-package-versions.json +4 -4
  101. package/assets/skills/oat-docs/SKILL.md +19 -19
  102. package/assets/skills/oat-docs-analyze/SKILL.md +27 -7
  103. package/assets/skills/oat-docs-analyze/references/quality-checklist.md +16 -3
  104. package/assets/skills/oat-docs-apply/SKILL.md +20 -3
  105. package/assets/skills/oat-docs-authoring/SKILL.md +11 -7
  106. package/assets/skills/oat-docs-authoring/references/docs-root-resolution.md +12 -5
  107. package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +7 -7
  108. package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +13 -3
  109. package/assets/skills/oat-docs-authoring/references/targeted-authoring-workflow.md +5 -4
  110. package/assets/skills/oat-docs-authoring/references/validation.md +11 -1
  111. package/assets/skills/oat-docs-bootstrap/SKILL.md +31 -8
  112. package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +2 -1
  113. package/assets/skills/oat-doctor/SKILL.md +25 -25
  114. package/assets/skills/oat-project-document/SKILL.md +21 -2
  115. package/assets/templates/docs-markdown/contributing.md +35 -0
  116. package/assets/templates/docs-markdown/index.md +18 -0
  117. package/dist/commands/docs/index-generate/index.d.ts.map +1 -1
  118. package/dist/commands/docs/index-generate/index.js +41 -8
  119. package/dist/commands/docs/init/index.d.ts +17 -2
  120. package/dist/commands/docs/init/index.d.ts.map +1 -1
  121. package/dist/commands/docs/init/index.js +194 -14
  122. package/dist/commands/docs/init/markdown.d.ts +39 -0
  123. package/dist/commands/docs/init/markdown.d.ts.map +1 -0
  124. package/dist/commands/docs/init/markdown.js +317 -0
  125. package/dist/commands/docs/init/resolve-options.d.ts +3 -1
  126. package/dist/commands/docs/init/resolve-options.d.ts.map +1 -1
  127. package/dist/commands/docs/init/resolve-options.js +36 -0
  128. package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
  129. package/dist/commands/docs/init/scaffold.js +11 -0
  130. package/dist/commands/shared/agents-md.d.ts +7 -0
  131. package/dist/commands/shared/agents-md.d.ts.map +1 -1
  132. package/dist/commands/shared/agents-md.js +131 -91
  133. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  134. package/dist/commands/tools/shared/pack-manifest.js +1 -0
  135. package/dist/config/oat-config.d.ts +2 -1
  136. package/dist/config/oat-config.d.ts.map +1 -1
  137. package/dist/config/oat-config.js +4 -2
  138. package/package.json +2 -2
  139. package/assets/docs/cli-utilities/backlog-lifecycle.md +0 -80
  140. package/assets/docs/cli-utilities/index.md +0 -74
  141. package/assets/docs/cli-utilities/meta.json +0 -13
  142. package/assets/docs/cli-utilities/remote-project-management.md +0 -191
  143. package/assets/docs/guide/index.md +0 -31
  144. package/assets/docs/guide/meta.json +0 -4
  145. package/assets/docs/quickstart.md +0 -88
  146. package/assets/docs/workflows/projects/autonomy.md +0 -196
  147. package/assets/docs/workflows/projects/hill-checkpoints.md +0 -93
  148. package/assets/docs/workflows/projects/picking-up-projects.md +0 -124
  149. package/assets/docs/workflows/projects/review-flavors.md +0 -138
  150. package/assets/docs/workflows/skills/index.md +0 -184
  151. package/assets/docs/workflows/skills/repo-improve.md +0 -89
  152. 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.
@@ -0,0 +1,4 @@
1
+ {
2
+ "title": "Closeout",
3
+ "pages": ["closeout-skills", "retro", "pr-flow"]
4
+ }
@@ -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](../../cli-utilities/configuration.md#workflow-preferences-workflow)
253
+ [Configuration](../../../reference/configuration.md#workflow-preferences-workflow)
254
254
  for the full key reference.
255
255
 
256
256
  ## Summary versus retrospective