@open-agent-toolkit/cli 0.0.10

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 (797) hide show
  1. package/README.md +50 -0
  2. package/assets/agents/oat-codebase-mapper.md +275 -0
  3. package/assets/agents/oat-reviewer.md +350 -0
  4. package/assets/agents/skeptical-evaluator.md +126 -0
  5. package/assets/docs/contributing/code.md +95 -0
  6. package/assets/docs/contributing/commit-conventions.md +41 -0
  7. package/assets/docs/contributing/design-principles.md +124 -0
  8. package/assets/docs/contributing/documentation.md +69 -0
  9. package/assets/docs/contributing/hooks-and-safety.md +31 -0
  10. package/assets/docs/contributing/index.md +18 -0
  11. package/assets/docs/contributing/markdown-features.md +117 -0
  12. package/assets/docs/contributing/skills.md +68 -0
  13. package/assets/docs/guide/cli-reference.md +211 -0
  14. package/assets/docs/guide/concepts.md +88 -0
  15. package/assets/docs/guide/configuration.md +130 -0
  16. package/assets/docs/guide/documentation/commands.md +157 -0
  17. package/assets/docs/guide/documentation/index.md +27 -0
  18. package/assets/docs/guide/documentation/quickstart.md +164 -0
  19. package/assets/docs/guide/documentation/workflows.md +67 -0
  20. package/assets/docs/guide/getting-started.md +63 -0
  21. package/assets/docs/guide/ideas/index.md +34 -0
  22. package/assets/docs/guide/ideas/lifecycle.md +106 -0
  23. package/assets/docs/guide/index.md +20 -0
  24. package/assets/docs/guide/provider-sync/commands.md +100 -0
  25. package/assets/docs/guide/provider-sync/config.md +77 -0
  26. package/assets/docs/guide/provider-sync/index.md +65 -0
  27. package/assets/docs/guide/provider-sync/manifest-and-drift.md +55 -0
  28. package/assets/docs/guide/provider-sync/providers.md +67 -0
  29. package/assets/docs/guide/provider-sync/scope-and-surface.md +64 -0
  30. package/assets/docs/guide/skills/index.md +115 -0
  31. package/assets/docs/guide/tool-packs.md +167 -0
  32. package/assets/docs/guide/workflow/artifacts.md +44 -0
  33. package/assets/docs/guide/workflow/hill-checkpoints.md +53 -0
  34. package/assets/docs/guide/workflow/index.md +34 -0
  35. package/assets/docs/guide/workflow/lifecycle.md +207 -0
  36. package/assets/docs/guide/workflow/pr-flow.md +55 -0
  37. package/assets/docs/guide/workflow/repo-analysis.md +96 -0
  38. package/assets/docs/guide/workflow/reviews.md +98 -0
  39. package/assets/docs/guide/workflow/state-machine.md +74 -0
  40. package/assets/docs/index.md +45 -0
  41. package/assets/docs/quickstart.md +162 -0
  42. package/assets/docs/reference/docs-index-contract.md +53 -0
  43. package/assets/docs/reference/file-locations.md +109 -0
  44. package/assets/docs/reference/index.md +29 -0
  45. package/assets/docs/reference/oat-directory-structure.md +236 -0
  46. package/assets/docs/reference/troubleshooting.md +63 -0
  47. package/assets/public-package-versions.json +6 -0
  48. package/assets/scripts/resolve-tracking.sh +233 -0
  49. package/assets/skills/analyze/SKILL.md +358 -0
  50. package/assets/skills/compare/SKILL.md +276 -0
  51. package/assets/skills/create-agnostic-skill/SKILL.md +410 -0
  52. package/assets/skills/create-agnostic-skill/references/skill-template.md +195 -0
  53. package/assets/skills/deep-research/SKILL.md +350 -0
  54. package/assets/skills/deep-research/references/schema-analysis.md +93 -0
  55. package/assets/skills/deep-research/references/schema-architectural.md +75 -0
  56. package/assets/skills/deep-research/references/schema-base.md +70 -0
  57. package/assets/skills/deep-research/references/schema-comparative.md +72 -0
  58. package/assets/skills/deep-research/references/schema-conceptual.md +68 -0
  59. package/assets/skills/deep-research/references/schema-technical.md +64 -0
  60. package/assets/skills/oat-agent-instructions-analyze/SKILL.md +500 -0
  61. package/assets/skills/oat-agent-instructions-analyze/references/analysis-artifact-template.md +248 -0
  62. package/assets/skills/oat-agent-instructions-analyze/references/bundle-summary-template.md +31 -0
  63. package/assets/skills/oat-agent-instructions-analyze/references/directory-assessment-criteria.md +93 -0
  64. package/assets/skills/oat-agent-instructions-analyze/references/docs/agent-instruction.md +575 -0
  65. package/assets/skills/oat-agent-instructions-analyze/references/docs/cursor-rules-files.md +510 -0
  66. package/assets/skills/oat-agent-instructions-analyze/references/docs/provider-reference.md +429 -0
  67. package/assets/skills/oat-agent-instructions-analyze/references/docs/rules-files.md +594 -0
  68. package/assets/skills/oat-agent-instructions-analyze/references/file-type-discovery-checklist.md +273 -0
  69. package/assets/skills/oat-agent-instructions-analyze/references/quality-checklist.md +125 -0
  70. package/assets/skills/oat-agent-instructions-analyze/references/recommendation-pack-template.md +45 -0
  71. package/assets/skills/oat-agent-instructions-analyze/references/recommendations-manifest-template.yaml +27 -0
  72. package/assets/skills/oat-agent-instructions-analyze/scripts/resolve-instruction-files.sh +120 -0
  73. package/assets/skills/oat-agent-instructions-analyze/scripts/resolve-providers.sh +135 -0
  74. package/assets/skills/oat-agent-instructions-apply/SKILL.md +507 -0
  75. package/assets/skills/oat-agent-instructions-apply/references/apply-plan-template.md +80 -0
  76. package/assets/skills/oat-agent-instructions-apply/references/docs/agent-instruction.md +575 -0
  77. package/assets/skills/oat-agent-instructions-apply/references/docs/cursor-rules-files.md +510 -0
  78. package/assets/skills/oat-agent-instructions-apply/references/docs/provider-reference.md +429 -0
  79. package/assets/skills/oat-agent-instructions-apply/references/docs/rules-files.md +594 -0
  80. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/agents-md-root.md +85 -0
  81. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/agents-md-scoped.md +62 -0
  82. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/claude-rule.md +67 -0
  83. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/copilot-instruction.md +70 -0
  84. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/copilot-shim.md +35 -0
  85. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/frontmatter/cursor-rule.md +84 -0
  86. package/assets/skills/oat-agent-instructions-apply/references/instruction-file-templates/glob-scoped-rule.md +59 -0
  87. package/assets/skills/oat-docs/SKILL.md +214 -0
  88. package/assets/skills/oat-docs-analyze/SKILL.md +355 -0
  89. package/assets/skills/oat-docs-analyze/references/analysis-artifact-template.md +192 -0
  90. package/assets/skills/oat-docs-analyze/references/directory-assessment-criteria.md +46 -0
  91. package/assets/skills/oat-docs-analyze/references/quality-checklist.md +48 -0
  92. package/assets/skills/oat-docs-apply/SKILL.md +339 -0
  93. package/assets/skills/oat-docs-apply/references/apply-plan-template.md +69 -0
  94. package/assets/skills/oat-doctor/SKILL.md +293 -0
  95. package/assets/skills/oat-idea-ideate/SKILL.md +187 -0
  96. package/assets/skills/oat-idea-new/SKILL.md +152 -0
  97. package/assets/skills/oat-idea-scratchpad/SKILL.md +115 -0
  98. package/assets/skills/oat-idea-summarize/SKILL.md +172 -0
  99. package/assets/skills/oat-pjm-add-backlog-item/SKILL.md +155 -0
  100. package/assets/skills/oat-pjm-review-backlog/SKILL.md +171 -0
  101. package/assets/skills/oat-pjm-review-backlog/references/backlog-review-template.md +172 -0
  102. package/assets/skills/oat-pjm-update-repo-reference/SKILL.md +128 -0
  103. package/assets/skills/oat-project-capture/SKILL.md +306 -0
  104. package/assets/skills/oat-project-clear-active/SKILL.md +50 -0
  105. package/assets/skills/oat-project-complete/SKILL.md +461 -0
  106. package/assets/skills/oat-project-design/SKILL.md +461 -0
  107. package/assets/skills/oat-project-discover/SKILL.md +395 -0
  108. package/assets/skills/oat-project-document/SKILL.md +468 -0
  109. package/assets/skills/oat-project-implement/SKILL.md +736 -0
  110. package/assets/skills/oat-project-import-plan/SKILL.md +228 -0
  111. package/assets/skills/oat-project-import-plan/scripts/find-recent-provider-plans.sh +149 -0
  112. package/assets/skills/oat-project-new/SKILL.md +74 -0
  113. package/assets/skills/oat-project-next/SKILL.md +345 -0
  114. package/assets/skills/oat-project-open/SKILL.md +47 -0
  115. package/assets/skills/oat-project-plan/SKILL.md +415 -0
  116. package/assets/skills/oat-project-plan-writing/SKILL.md +116 -0
  117. package/assets/skills/oat-project-pr-final/SKILL.md +391 -0
  118. package/assets/skills/oat-project-pr-progress/SKILL.md +354 -0
  119. package/assets/skills/oat-project-progress/SKILL.md +342 -0
  120. package/assets/skills/oat-project-promote-spec-driven/SKILL.md +155 -0
  121. package/assets/skills/oat-project-quick-start/SKILL.md +363 -0
  122. package/assets/skills/oat-project-reconcile/SKILL.md +738 -0
  123. package/assets/skills/oat-project-review-provide/SKILL.md +728 -0
  124. package/assets/skills/oat-project-review-receive/SKILL.md +641 -0
  125. package/assets/skills/oat-project-review-receive-remote/SKILL.md +235 -0
  126. package/assets/skills/oat-project-revise/SKILL.md +316 -0
  127. package/assets/skills/oat-project-spec/SKILL.md +471 -0
  128. package/assets/skills/oat-project-subagent-implement/SKILL.md +549 -0
  129. package/assets/skills/oat-project-subagent-implement/examples/pattern-hill-checkpoint.md +110 -0
  130. package/assets/skills/oat-project-subagent-implement/examples/pattern-parallel-phases.md +118 -0
  131. package/assets/skills/oat-project-subagent-implement/scripts/dispatch.sh +133 -0
  132. package/assets/skills/oat-project-subagent-implement/scripts/reconcile.sh +182 -0
  133. package/assets/skills/oat-project-subagent-implement/scripts/review-gate.sh +187 -0
  134. package/assets/skills/oat-project-subagent-implement/tests/fixtures/sample-plan.md +234 -0
  135. package/assets/skills/oat-project-subagent-implement/tests/test-dry-run.sh +126 -0
  136. package/assets/skills/oat-project-subagent-implement/tests/test-hill-checkpoint.sh +127 -0
  137. package/assets/skills/oat-project-subagent-implement/tests/test-reconcile.sh +254 -0
  138. package/assets/skills/oat-project-subagent-implement/tests/test-review-gate.sh +220 -0
  139. package/assets/skills/oat-project-summary/SKILL.md +227 -0
  140. package/assets/skills/oat-repo-knowledge-index/SKILL.md +724 -0
  141. package/assets/skills/oat-repo-knowledge-index/references/templates/architecture.md +83 -0
  142. package/assets/skills/oat-repo-knowledge-index/references/templates/concerns.md +97 -0
  143. package/assets/skills/oat-repo-knowledge-index/references/templates/conventions.md +100 -0
  144. package/assets/skills/oat-repo-knowledge-index/references/templates/integrations.md +91 -0
  145. package/assets/skills/oat-repo-knowledge-index/references/templates/stack.md +86 -0
  146. package/assets/skills/oat-repo-knowledge-index/references/templates/structure.md +88 -0
  147. package/assets/skills/oat-repo-knowledge-index/references/templates/testing.md +137 -0
  148. package/assets/skills/oat-repo-maintainability-review/SKILL.md +198 -0
  149. package/assets/skills/oat-repo-maintainability-review/references/dx-checklist.md +33 -0
  150. package/assets/skills/oat-repo-maintainability-review/references/repo-review-artifact-template.md +72 -0
  151. package/assets/skills/oat-repo-maintainability-review/references/repo-review-rubric.md +66 -0
  152. package/assets/skills/oat-repo-maintainability-review/scripts/resolve-analysis-output.sh +162 -0
  153. package/assets/skills/oat-review-provide/SKILL.md +231 -0
  154. package/assets/skills/oat-review-provide/references/review-artifact-template.md +55 -0
  155. package/assets/skills/oat-review-provide/scripts/resolve-review-output.sh +124 -0
  156. package/assets/skills/oat-review-receive/SKILL.md +238 -0
  157. package/assets/skills/oat-review-receive-remote/SKILL.md +250 -0
  158. package/assets/skills/oat-worktree-bootstrap/SKILL.md +208 -0
  159. package/assets/skills/oat-worktree-bootstrap/references/worktree-conventions.md +58 -0
  160. package/assets/skills/oat-worktree-bootstrap-auto/SKILL.md +245 -0
  161. package/assets/skills/oat-worktree-bootstrap-auto/scripts/bootstrap.sh +194 -0
  162. package/assets/skills/skeptic/SKILL.md +261 -0
  163. package/assets/skills/synthesize/SKILL.md +361 -0
  164. package/assets/templates/backlog-item.md +24 -0
  165. package/assets/templates/design.md +315 -0
  166. package/assets/templates/discovery.md +135 -0
  167. package/assets/templates/docs-app-fuma/app/[[...slug]]/page.tsx +30 -0
  168. package/assets/templates/docs-app-fuma/app/api/search/route.ts +8 -0
  169. package/assets/templates/docs-app-fuma/app/globals.css +69 -0
  170. package/assets/templates/docs-app-fuma/app/layout.tsx +26 -0
  171. package/assets/templates/docs-app-fuma/docs/contributing.md +71 -0
  172. package/assets/templates/docs-app-fuma/docs/getting-started.md +40 -0
  173. package/assets/templates/docs-app-fuma/docs/index.md +13 -0
  174. package/assets/templates/docs-app-fuma/lib/source.ts +8 -0
  175. package/assets/templates/docs-app-fuma/next.config.js +6 -0
  176. package/assets/templates/docs-app-fuma/package.json.template +38 -0
  177. package/assets/templates/docs-app-fuma/postcss.config.mjs +7 -0
  178. package/assets/templates/docs-app-fuma/source.config.ts +14 -0
  179. package/assets/templates/docs-app-fuma/tsconfig.json +25 -0
  180. package/assets/templates/docs-app-mkdocs/docs/contributing.md +122 -0
  181. package/assets/templates/docs-app-mkdocs/docs/getting-started.md +28 -0
  182. package/assets/templates/docs-app-mkdocs/docs/index.md +8 -0
  183. package/assets/templates/docs-app-mkdocs/mkdocs.yml +47 -0
  184. package/assets/templates/docs-app-mkdocs/package.json.template +19 -0
  185. package/assets/templates/docs-app-mkdocs/requirements.txt +6 -0
  186. package/assets/templates/docs-app-mkdocs/setup-docs.sh +18 -0
  187. package/assets/templates/ideas/idea-discovery.md +39 -0
  188. package/assets/templates/ideas/idea-summary.md +42 -0
  189. package/assets/templates/ideas/ideas-backlog.md +21 -0
  190. package/assets/templates/ideas/ideas-scratchpad.md +10 -0
  191. package/assets/templates/implementation.md +207 -0
  192. package/assets/templates/plan.md +171 -0
  193. package/assets/templates/roadmap.md +24 -0
  194. package/assets/templates/spec.md +138 -0
  195. package/assets/templates/state.md +49 -0
  196. package/assets/templates/summary.md +82 -0
  197. package/dist/agents/canonical/index.d.ts +4 -0
  198. package/dist/agents/canonical/index.d.ts.map +1 -0
  199. package/dist/agents/canonical/index.js +2 -0
  200. package/dist/agents/canonical/parse.d.ts +4 -0
  201. package/dist/agents/canonical/parse.d.ts.map +1 -0
  202. package/dist/agents/canonical/parse.js +97 -0
  203. package/dist/agents/canonical/render.d.ts +3 -0
  204. package/dist/agents/canonical/render.d.ts.map +1 -0
  205. package/dist/agents/canonical/render.js +17 -0
  206. package/dist/agents/canonical/types.d.ts +22 -0
  207. package/dist/agents/canonical/types.d.ts.map +1 -0
  208. package/dist/agents/canonical/types.js +1 -0
  209. package/dist/app/command-context.d.ts +21 -0
  210. package/dist/app/command-context.d.ts.map +1 -0
  211. package/dist/app/command-context.js +18 -0
  212. package/dist/app/create-program.d.ts +3 -0
  213. package/dist/app/create-program.d.ts.map +1 -0
  214. package/dist/app/create-program.js +17 -0
  215. package/dist/commands/__tests__/helpers.d.ts +12 -0
  216. package/dist/commands/__tests__/helpers.d.ts.map +1 -0
  217. package/dist/commands/__tests__/helpers.js +36 -0
  218. package/dist/commands/backlog/index.d.ts +14 -0
  219. package/dist/commands/backlog/index.d.ts.map +1 -0
  220. package/dist/commands/backlog/index.js +80 -0
  221. package/dist/commands/backlog/init.d.ts +2 -0
  222. package/dist/commands/backlog/init.d.ts.map +1 -0
  223. package/dist/commands/backlog/init.js +66 -0
  224. package/dist/commands/backlog/regenerate-index.d.ts +2 -0
  225. package/dist/commands/backlog/regenerate-index.d.ts.map +1 -0
  226. package/dist/commands/backlog/regenerate-index.js +78 -0
  227. package/dist/commands/backlog/shared/generate-id.d.ts +4 -0
  228. package/dist/commands/backlog/shared/generate-id.d.ts.map +1 -0
  229. package/dist/commands/backlog/shared/generate-id.js +65 -0
  230. package/dist/commands/cleanup/artifacts/artifacts.d.ts +44 -0
  231. package/dist/commands/cleanup/artifacts/artifacts.d.ts.map +1 -0
  232. package/dist/commands/cleanup/artifacts/artifacts.js +381 -0
  233. package/dist/commands/cleanup/artifacts/artifacts.types.d.ts +13 -0
  234. package/dist/commands/cleanup/artifacts/artifacts.types.d.ts.map +1 -0
  235. package/dist/commands/cleanup/artifacts/artifacts.types.js +1 -0
  236. package/dist/commands/cleanup/artifacts/artifacts.utils.d.ts +14 -0
  237. package/dist/commands/cleanup/artifacts/artifacts.utils.d.ts.map +1 -0
  238. package/dist/commands/cleanup/artifacts/artifacts.utils.js +74 -0
  239. package/dist/commands/cleanup/cleanup.types.d.ts +26 -0
  240. package/dist/commands/cleanup/cleanup.types.d.ts.map +1 -0
  241. package/dist/commands/cleanup/cleanup.types.js +1 -0
  242. package/dist/commands/cleanup/cleanup.utils.d.ts +17 -0
  243. package/dist/commands/cleanup/cleanup.utils.d.ts.map +1 -0
  244. package/dist/commands/cleanup/cleanup.utils.js +44 -0
  245. package/dist/commands/cleanup/index.d.ts +3 -0
  246. package/dist/commands/cleanup/index.d.ts.map +1 -0
  247. package/dist/commands/cleanup/index.js +9 -0
  248. package/dist/commands/cleanup/project/project.d.ts +20 -0
  249. package/dist/commands/cleanup/project/project.d.ts.map +1 -0
  250. package/dist/commands/cleanup/project/project.js +263 -0
  251. package/dist/commands/cleanup/project/project.utils.d.ts +8 -0
  252. package/dist/commands/cleanup/project/project.utils.d.ts.map +1 -0
  253. package/dist/commands/cleanup/project/project.utils.js +48 -0
  254. package/dist/commands/config/index.d.ts +16 -0
  255. package/dist/commands/config/index.d.ts.map +1 -0
  256. package/dist/commands/config/index.js +700 -0
  257. package/dist/commands/docs/analyze.d.ts +8 -0
  258. package/dist/commands/docs/analyze.d.ts.map +1 -0
  259. package/dist/commands/docs/analyze.js +45 -0
  260. package/dist/commands/docs/apply.d.ts +8 -0
  261. package/dist/commands/docs/apply.d.ts.map +1 -0
  262. package/dist/commands/docs/apply.js +45 -0
  263. package/dist/commands/docs/index-generate/generator.d.ts +9 -0
  264. package/dist/commands/docs/index-generate/generator.d.ts.map +1 -0
  265. package/dist/commands/docs/index-generate/generator.js +114 -0
  266. package/dist/commands/docs/index-generate/index.d.ts +16 -0
  267. package/dist/commands/docs/index-generate/index.d.ts.map +1 -0
  268. package/dist/commands/docs/index-generate/index.js +72 -0
  269. package/dist/commands/docs/index.d.ts +3 -0
  270. package/dist/commands/docs/index.d.ts.map +1 -0
  271. package/dist/commands/docs/index.js +17 -0
  272. package/dist/commands/docs/init/index.d.ts +18 -0
  273. package/dist/commands/docs/init/index.d.ts.map +1 -0
  274. package/dist/commands/docs/init/index.js +129 -0
  275. package/dist/commands/docs/init/resolve-options.d.ts +41 -0
  276. package/dist/commands/docs/init/resolve-options.d.ts.map +1 -0
  277. package/dist/commands/docs/init/resolve-options.js +120 -0
  278. package/dist/commands/docs/init/scaffold.d.ts +18 -0
  279. package/dist/commands/docs/init/scaffold.d.ts.map +1 -0
  280. package/dist/commands/docs/init/scaffold.js +233 -0
  281. package/dist/commands/docs/migrate/codemod.d.ts +6 -0
  282. package/dist/commands/docs/migrate/codemod.d.ts.map +1 -0
  283. package/dist/commands/docs/migrate/codemod.js +62 -0
  284. package/dist/commands/docs/migrate/frontmatter.d.ts +12 -0
  285. package/dist/commands/docs/migrate/frontmatter.d.ts.map +1 -0
  286. package/dist/commands/docs/migrate/frontmatter.js +55 -0
  287. package/dist/commands/docs/migrate/index.d.ts +18 -0
  288. package/dist/commands/docs/migrate/index.d.ts.map +1 -0
  289. package/dist/commands/docs/migrate/index.js +138 -0
  290. package/dist/commands/docs/nav/contents.d.ts +14 -0
  291. package/dist/commands/docs/nav/contents.d.ts.map +1 -0
  292. package/dist/commands/docs/nav/contents.js +106 -0
  293. package/dist/commands/docs/nav/index.d.ts +3 -0
  294. package/dist/commands/docs/nav/index.d.ts.map +1 -0
  295. package/dist/commands/docs/nav/index.js +7 -0
  296. package/dist/commands/docs/nav/sync.d.ts +20 -0
  297. package/dist/commands/docs/nav/sync.d.ts.map +1 -0
  298. package/dist/commands/docs/nav/sync.js +92 -0
  299. package/dist/commands/doctor/index.d.ts +32 -0
  300. package/dist/commands/doctor/index.d.ts.map +1 -0
  301. package/dist/commands/doctor/index.js +373 -0
  302. package/dist/commands/index-cmd/index.d.ts +11 -0
  303. package/dist/commands/index-cmd/index.d.ts.map +1 -0
  304. package/dist/commands/index-cmd/index.js +62 -0
  305. package/dist/commands/index-cmd/thin-index.d.ts +19 -0
  306. package/dist/commands/index-cmd/thin-index.d.ts.map +1 -0
  307. package/dist/commands/index-cmd/thin-index.js +330 -0
  308. package/dist/commands/index.d.ts +3 -0
  309. package/dist/commands/index.d.ts.map +1 -0
  310. package/dist/commands/index.js +38 -0
  311. package/dist/commands/init/detect-docs.d.ts +11 -0
  312. package/dist/commands/init/detect-docs.d.ts.map +1 -0
  313. package/dist/commands/init/detect-docs.js +51 -0
  314. package/dist/commands/init/gitignore.d.ts +6 -0
  315. package/dist/commands/init/gitignore.d.ts.map +1 -0
  316. package/dist/commands/init/gitignore.js +41 -0
  317. package/dist/commands/init/index.d.ts +70 -0
  318. package/dist/commands/init/index.d.ts.map +1 -0
  319. package/dist/commands/init/index.js +570 -0
  320. package/dist/commands/init/tools/core/index.d.ts +12 -0
  321. package/dist/commands/init/tools/core/index.d.ts.map +1 -0
  322. package/dist/commands/init/tools/core/index.js +67 -0
  323. package/dist/commands/init/tools/core/install-core.d.ts +30 -0
  324. package/dist/commands/init/tools/core/install-core.d.ts.map +1 -0
  325. package/dist/commands/init/tools/core/install-core.js +50 -0
  326. package/dist/commands/init/tools/docs/index.d.ts +17 -0
  327. package/dist/commands/init/tools/docs/index.d.ts.map +1 -0
  328. package/dist/commands/init/tools/docs/index.js +110 -0
  329. package/dist/commands/init/tools/docs/install-docs.d.ts +23 -0
  330. package/dist/commands/init/tools/docs/install-docs.d.ts.map +1 -0
  331. package/dist/commands/init/tools/docs/install-docs.js +58 -0
  332. package/dist/commands/init/tools/ideas/index.d.ts +16 -0
  333. package/dist/commands/init/tools/ideas/index.d.ts.map +1 -0
  334. package/dist/commands/init/tools/ideas/index.js +94 -0
  335. package/dist/commands/init/tools/ideas/install-ideas.d.ts +25 -0
  336. package/dist/commands/init/tools/ideas/install-ideas.d.ts.map +1 -0
  337. package/dist/commands/init/tools/ideas/install-ideas.js +78 -0
  338. package/dist/commands/init/tools/index.d.ts +51 -0
  339. package/dist/commands/init/tools/index.d.ts.map +1 -0
  340. package/dist/commands/init/tools/index.js +387 -0
  341. package/dist/commands/init/tools/project-management/index.d.ts +12 -0
  342. package/dist/commands/init/tools/project-management/index.d.ts.map +1 -0
  343. package/dist/commands/init/tools/project-management/index.js +61 -0
  344. package/dist/commands/init/tools/project-management/install-project-management.d.ts +22 -0
  345. package/dist/commands/init/tools/project-management/install-project-management.d.ts.map +1 -0
  346. package/dist/commands/init/tools/project-management/install-project-management.js +52 -0
  347. package/dist/commands/init/tools/research/index.d.ts +17 -0
  348. package/dist/commands/init/tools/research/index.d.ts.map +1 -0
  349. package/dist/commands/init/tools/research/index.js +110 -0
  350. package/dist/commands/init/tools/research/install-research.d.ts +23 -0
  351. package/dist/commands/init/tools/research/install-research.d.ts.map +1 -0
  352. package/dist/commands/init/tools/research/install-research.js +52 -0
  353. package/dist/commands/init/tools/shared/copy-helpers.d.ts +12 -0
  354. package/dist/commands/init/tools/shared/copy-helpers.d.ts.map +1 -0
  355. package/dist/commands/init/tools/shared/copy-helpers.js +52 -0
  356. package/dist/commands/init/tools/shared/skill-manifest.d.ts +22 -0
  357. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -0
  358. package/dist/commands/init/tools/shared/skill-manifest.js +102 -0
  359. package/dist/commands/init/tools/shared/version.d.ts +3 -0
  360. package/dist/commands/init/tools/shared/version.d.ts.map +1 -0
  361. package/dist/commands/init/tools/shared/version.js +27 -0
  362. package/dist/commands/init/tools/utility/index.d.ts +17 -0
  363. package/dist/commands/init/tools/utility/index.d.ts.map +1 -0
  364. package/dist/commands/init/tools/utility/index.js +109 -0
  365. package/dist/commands/init/tools/utility/install-utility.d.ts +20 -0
  366. package/dist/commands/init/tools/utility/install-utility.d.ts.map +1 -0
  367. package/dist/commands/init/tools/utility/install-utility.js +35 -0
  368. package/dist/commands/init/tools/workflows/index.d.ts +14 -0
  369. package/dist/commands/init/tools/workflows/index.d.ts.map +1 -0
  370. package/dist/commands/init/tools/workflows/index.js +84 -0
  371. package/dist/commands/init/tools/workflows/install-workflows.d.ts +32 -0
  372. package/dist/commands/init/tools/workflows/install-workflows.d.ts.map +1 -0
  373. package/dist/commands/init/tools/workflows/install-workflows.js +135 -0
  374. package/dist/commands/instructions/index.d.ts +3 -0
  375. package/dist/commands/instructions/index.d.ts.map +1 -0
  376. package/dist/commands/instructions/index.js +9 -0
  377. package/dist/commands/instructions/instructions.types.d.ts +52 -0
  378. package/dist/commands/instructions/instructions.types.d.ts.map +1 -0
  379. package/dist/commands/instructions/instructions.types.js +1 -0
  380. package/dist/commands/instructions/instructions.utils.d.ts +13 -0
  381. package/dist/commands/instructions/instructions.utils.d.ts.map +1 -0
  382. package/dist/commands/instructions/instructions.utils.js +211 -0
  383. package/dist/commands/instructions/sync/sync.d.ts +4 -0
  384. package/dist/commands/instructions/sync/sync.d.ts.map +1 -0
  385. package/dist/commands/instructions/sync/sync.js +142 -0
  386. package/dist/commands/instructions/validate/validate.d.ts +4 -0
  387. package/dist/commands/instructions/validate/validate.d.ts.map +1 -0
  388. package/dist/commands/instructions/validate/validate.js +53 -0
  389. package/dist/commands/internal/index.d.ts +3 -0
  390. package/dist/commands/internal/index.d.ts.map +1 -0
  391. package/dist/commands/internal/index.js +7 -0
  392. package/dist/commands/internal/validate-oat-skills.d.ts +10 -0
  393. package/dist/commands/internal/validate-oat-skills.d.ts.map +1 -0
  394. package/dist/commands/internal/validate-oat-skills.js +66 -0
  395. package/dist/commands/local/apply.d.ts +6 -0
  396. package/dist/commands/local/apply.d.ts.map +1 -0
  397. package/dist/commands/local/apply.js +56 -0
  398. package/dist/commands/local/expand.d.ts +8 -0
  399. package/dist/commands/local/expand.d.ts.map +1 -0
  400. package/dist/commands/local/expand.js +83 -0
  401. package/dist/commands/local/index.d.ts +3 -0
  402. package/dist/commands/local/index.d.ts.map +1 -0
  403. package/dist/commands/local/index.js +248 -0
  404. package/dist/commands/local/manage.d.ts +18 -0
  405. package/dist/commands/local/manage.d.ts.map +1 -0
  406. package/dist/commands/local/manage.js +66 -0
  407. package/dist/commands/local/status.d.ts +7 -0
  408. package/dist/commands/local/status.d.ts.map +1 -0
  409. package/dist/commands/local/status.js +46 -0
  410. package/dist/commands/local/sync.d.ts +20 -0
  411. package/dist/commands/local/sync.d.ts.map +1 -0
  412. package/dist/commands/local/sync.js +40 -0
  413. package/dist/commands/project/archive/archive-utils.d.ts +70 -0
  414. package/dist/commands/project/archive/archive-utils.d.ts.map +1 -0
  415. package/dist/commands/project/archive/archive-utils.js +236 -0
  416. package/dist/commands/project/archive/index.d.ts +20 -0
  417. package/dist/commands/project/archive/index.d.ts.map +1 -0
  418. package/dist/commands/project/archive/index.js +217 -0
  419. package/dist/commands/project/index.d.ts +3 -0
  420. package/dist/commands/project/index.d.ts.map +1 -0
  421. package/dist/commands/project/index.js +15 -0
  422. package/dist/commands/project/new/index.d.ts +17 -0
  423. package/dist/commands/project/new/index.d.ts.map +1 -0
  424. package/dist/commands/project/new/index.js +76 -0
  425. package/dist/commands/project/new/scaffold.d.ts +24 -0
  426. package/dist/commands/project/new/scaffold.d.ts.map +1 -0
  427. package/dist/commands/project/new/scaffold.js +177 -0
  428. package/dist/commands/project/open/index.d.ts +26 -0
  429. package/dist/commands/project/open/index.d.ts.map +1 -0
  430. package/dist/commands/project/open/index.js +139 -0
  431. package/dist/commands/project/pause/index.d.ts +27 -0
  432. package/dist/commands/project/pause/index.d.ts.map +1 -0
  433. package/dist/commands/project/pause/index.js +120 -0
  434. package/dist/commands/project/set-mode/index.d.ts +14 -0
  435. package/dist/commands/project/set-mode/index.d.ts.map +1 -0
  436. package/dist/commands/project/set-mode/index.js +115 -0
  437. package/dist/commands/providers/index.d.ts +4 -0
  438. package/dist/commands/providers/index.d.ts.map +1 -0
  439. package/dist/commands/providers/index.js +11 -0
  440. package/dist/commands/providers/inspect/inspect.d.ts +4 -0
  441. package/dist/commands/providers/inspect/inspect.d.ts.map +1 -0
  442. package/dist/commands/providers/inspect/inspect.js +156 -0
  443. package/dist/commands/providers/list/list.d.ts +4 -0
  444. package/dist/commands/providers/list/list.d.ts.map +1 -0
  445. package/dist/commands/providers/list/list.js +163 -0
  446. package/dist/commands/providers/providers.types.d.ts +63 -0
  447. package/dist/commands/providers/providers.types.d.ts.map +1 -0
  448. package/dist/commands/providers/providers.types.js +1 -0
  449. package/dist/commands/providers/set/index.d.ts +4 -0
  450. package/dist/commands/providers/set/index.d.ts.map +1 -0
  451. package/dist/commands/providers/set/index.js +138 -0
  452. package/dist/commands/remove/index.d.ts +3 -0
  453. package/dist/commands/remove/index.d.ts.map +1 -0
  454. package/dist/commands/remove/index.js +9 -0
  455. package/dist/commands/remove/skill/index.d.ts +2 -0
  456. package/dist/commands/remove/skill/index.d.ts.map +1 -0
  457. package/dist/commands/remove/skill/index.js +1 -0
  458. package/dist/commands/remove/skill/remove-skill.d.ts +23 -0
  459. package/dist/commands/remove/skill/remove-skill.d.ts.map +1 -0
  460. package/dist/commands/remove/skill/remove-skill.js +231 -0
  461. package/dist/commands/remove/skills/index.d.ts +2 -0
  462. package/dist/commands/remove/skills/index.d.ts.map +1 -0
  463. package/dist/commands/remove/skills/index.js +1 -0
  464. package/dist/commands/remove/skills/remove-skills.d.ts +14 -0
  465. package/dist/commands/remove/skills/remove-skills.d.ts.map +1 -0
  466. package/dist/commands/remove/skills/remove-skills.js +98 -0
  467. package/dist/commands/repo/index.d.ts +3 -0
  468. package/dist/commands/repo/index.d.ts.map +1 -0
  469. package/dist/commands/repo/index.js +7 -0
  470. package/dist/commands/repo/pr-comments/collect/collect-comments.d.ts +9 -0
  471. package/dist/commands/repo/pr-comments/collect/collect-comments.d.ts.map +1 -0
  472. package/dist/commands/repo/pr-comments/collect/collect-comments.js +284 -0
  473. package/dist/commands/repo/pr-comments/collect/graphql-queries.d.ts +3 -0
  474. package/dist/commands/repo/pr-comments/collect/graphql-queries.d.ts.map +1 -0
  475. package/dist/commands/repo/pr-comments/collect/graphql-queries.js +56 -0
  476. package/dist/commands/repo/pr-comments/collect/index.d.ts +4 -0
  477. package/dist/commands/repo/pr-comments/collect/index.d.ts.map +1 -0
  478. package/dist/commands/repo/pr-comments/collect/index.js +25 -0
  479. package/dist/commands/repo/pr-comments/collect/pr-comments.types.d.ts +62 -0
  480. package/dist/commands/repo/pr-comments/collect/pr-comments.types.d.ts.map +1 -0
  481. package/dist/commands/repo/pr-comments/collect/pr-comments.types.js +1 -0
  482. package/dist/commands/repo/pr-comments/index.d.ts +3 -0
  483. package/dist/commands/repo/pr-comments/index.d.ts.map +1 -0
  484. package/dist/commands/repo/pr-comments/index.js +9 -0
  485. package/dist/commands/repo/pr-comments/triage-collection/index.d.ts +4 -0
  486. package/dist/commands/repo/pr-comments/triage-collection/index.d.ts.map +1 -0
  487. package/dist/commands/repo/pr-comments/triage-collection/index.js +21 -0
  488. package/dist/commands/repo/pr-comments/triage-collection/triage-comments.d.ts +13 -0
  489. package/dist/commands/repo/pr-comments/triage-collection/triage-comments.d.ts.map +1 -0
  490. package/dist/commands/repo/pr-comments/triage-collection/triage-comments.js +81 -0
  491. package/dist/commands/shared/adopt-stray.d.ts +22 -0
  492. package/dist/commands/shared/adopt-stray.d.ts.map +1 -0
  493. package/dist/commands/shared/adopt-stray.js +135 -0
  494. package/dist/commands/shared/agents-md.d.ts +18 -0
  495. package/dist/commands/shared/agents-md.d.ts.map +1 -0
  496. package/dist/commands/shared/agents-md.js +81 -0
  497. package/dist/commands/shared/codex-strays.d.ts +16 -0
  498. package/dist/commands/shared/codex-strays.d.ts.map +1 -0
  499. package/dist/commands/shared/codex-strays.js +116 -0
  500. package/dist/commands/shared/frontmatter-write.d.ts +8 -0
  501. package/dist/commands/shared/frontmatter-write.d.ts.map +1 -0
  502. package/dist/commands/shared/frontmatter-write.js +27 -0
  503. package/dist/commands/shared/frontmatter.d.ts +6 -0
  504. package/dist/commands/shared/frontmatter.d.ts.map +1 -0
  505. package/dist/commands/shared/frontmatter.js +35 -0
  506. package/dist/commands/shared/messages.d.ts +2 -0
  507. package/dist/commands/shared/messages.d.ts.map +1 -0
  508. package/dist/commands/shared/messages.js +1 -0
  509. package/dist/commands/shared/oat-paths.d.ts +2 -0
  510. package/dist/commands/shared/oat-paths.d.ts.map +1 -0
  511. package/dist/commands/shared/oat-paths.js +13 -0
  512. package/dist/commands/shared/shared.prompts.d.ts +21 -0
  513. package/dist/commands/shared/shared.prompts.d.ts.map +1 -0
  514. package/dist/commands/shared/shared.prompts.js +107 -0
  515. package/dist/commands/shared/shared.utils.d.ts +6 -0
  516. package/dist/commands/shared/shared.utils.d.ts.map +1 -0
  517. package/dist/commands/shared/shared.utils.js +9 -0
  518. package/dist/commands/state/generate.d.ts +21 -0
  519. package/dist/commands/state/generate.d.ts.map +1 -0
  520. package/dist/commands/state/generate.js +440 -0
  521. package/dist/commands/state/index.d.ts +11 -0
  522. package/dist/commands/state/index.d.ts.map +1 -0
  523. package/dist/commands/state/index.js +58 -0
  524. package/dist/commands/status/index.d.ts +44 -0
  525. package/dist/commands/status/index.d.ts.map +1 -0
  526. package/dist/commands/status/index.js +340 -0
  527. package/dist/commands/sync/apply.d.ts +4 -0
  528. package/dist/commands/sync/apply.d.ts.map +1 -0
  529. package/dist/commands/sync/apply.js +100 -0
  530. package/dist/commands/sync/dry-run.d.ts +4 -0
  531. package/dist/commands/sync/dry-run.d.ts.map +1 -0
  532. package/dist/commands/sync/dry-run.js +74 -0
  533. package/dist/commands/sync/index.d.ts +4 -0
  534. package/dist/commands/sync/index.d.ts.map +1 -0
  535. package/dist/commands/sync/index.js +225 -0
  536. package/dist/commands/sync/sync.types.d.ts +80 -0
  537. package/dist/commands/sync/sync.types.d.ts.map +1 -0
  538. package/dist/commands/sync/sync.types.js +1 -0
  539. package/dist/commands/sync/sync.utils.d.ts +3 -0
  540. package/dist/commands/sync/sync.utils.d.ts.map +1 -0
  541. package/dist/commands/sync/sync.utils.js +8 -0
  542. package/dist/commands/tools/index.d.ts +3 -0
  543. package/dist/commands/tools/index.d.ts.map +1 -0
  544. package/dist/commands/tools/index.js +17 -0
  545. package/dist/commands/tools/info/index.d.ts +4 -0
  546. package/dist/commands/tools/info/index.d.ts.map +1 -0
  547. package/dist/commands/tools/info/index.js +74 -0
  548. package/dist/commands/tools/info/info-tool.d.ts +21 -0
  549. package/dist/commands/tools/info/info-tool.d.ts.map +1 -0
  550. package/dist/commands/tools/info/info-tool.js +52 -0
  551. package/dist/commands/tools/install/index.d.ts +4 -0
  552. package/dist/commands/tools/install/index.d.ts.map +1 -0
  553. package/dist/commands/tools/install/index.js +34 -0
  554. package/dist/commands/tools/list/index.d.ts +4 -0
  555. package/dist/commands/tools/list/index.d.ts.map +1 -0
  556. package/dist/commands/tools/list/index.js +25 -0
  557. package/dist/commands/tools/list/list-tools.d.ts +13 -0
  558. package/dist/commands/tools/list/list-tools.d.ts.map +1 -0
  559. package/dist/commands/tools/list/list-tools.js +43 -0
  560. package/dist/commands/tools/outdated/index.d.ts +4 -0
  561. package/dist/commands/tools/outdated/index.d.ts.map +1 -0
  562. package/dist/commands/tools/outdated/index.js +25 -0
  563. package/dist/commands/tools/outdated/outdated-tools.d.ts +13 -0
  564. package/dist/commands/tools/outdated/outdated-tools.d.ts.map +1 -0
  565. package/dist/commands/tools/outdated/outdated-tools.js +43 -0
  566. package/dist/commands/tools/remove/index.d.ts +5 -0
  567. package/dist/commands/tools/remove/index.d.ts.map +1 -0
  568. package/dist/commands/tools/remove/index.js +122 -0
  569. package/dist/commands/tools/remove/remove-tools.d.ts +31 -0
  570. package/dist/commands/tools/remove/remove-tools.d.ts.map +1 -0
  571. package/dist/commands/tools/remove/remove-tools.js +41 -0
  572. package/dist/commands/tools/shared/auto-sync.d.ts +16 -0
  573. package/dist/commands/tools/shared/auto-sync.d.ts.map +1 -0
  574. package/dist/commands/tools/shared/auto-sync.js +17 -0
  575. package/dist/commands/tools/shared/scan-tools.d.ts +18 -0
  576. package/dist/commands/tools/shared/scan-tools.d.ts.map +1 -0
  577. package/dist/commands/tools/shared/scan-tools.js +128 -0
  578. package/dist/commands/tools/shared/types.d.ts +12 -0
  579. package/dist/commands/tools/shared/types.d.ts.map +1 -0
  580. package/dist/commands/tools/shared/types.js +1 -0
  581. package/dist/commands/tools/update/index.d.ts +8 -0
  582. package/dist/commands/tools/update/index.d.ts.map +1 -0
  583. package/dist/commands/tools/update/index.js +149 -0
  584. package/dist/commands/tools/update/update-tools.d.ts +29 -0
  585. package/dist/commands/tools/update/update-tools.d.ts.map +1 -0
  586. package/dist/commands/tools/update/update-tools.js +148 -0
  587. package/dist/config/index.d.ts +4 -0
  588. package/dist/config/index.d.ts.map +1 -0
  589. package/dist/config/index.js +2 -0
  590. package/dist/config/oat-config.d.ts +61 -0
  591. package/dist/config/oat-config.d.ts.map +1 -0
  592. package/dist/config/oat-config.js +319 -0
  593. package/dist/config/runtime.d.ts +2 -0
  594. package/dist/config/runtime.d.ts.map +1 -0
  595. package/dist/config/runtime.js +3 -0
  596. package/dist/config/sync-config.d.ts +49 -0
  597. package/dist/config/sync-config.d.ts.map +1 -0
  598. package/dist/config/sync-config.js +94 -0
  599. package/dist/drift/detector.d.ts +4 -0
  600. package/dist/drift/detector.d.ts.map +1 -0
  601. package/dist/drift/detector.js +69 -0
  602. package/dist/drift/drift.types.d.ts +17 -0
  603. package/dist/drift/drift.types.d.ts.map +1 -0
  604. package/dist/drift/drift.types.js +1 -0
  605. package/dist/drift/index.d.ts +4 -0
  606. package/dist/drift/index.d.ts.map +1 -0
  607. package/dist/drift/index.js +2 -0
  608. package/dist/drift/strays.d.ts +7 -0
  609. package/dist/drift/strays.d.ts.map +1 -0
  610. package/dist/drift/strays.js +153 -0
  611. package/dist/engine/compute-plan.d.ts +16 -0
  612. package/dist/engine/compute-plan.d.ts.map +1 -0
  613. package/dist/engine/compute-plan.js +234 -0
  614. package/dist/engine/engine.types.d.ts +28 -0
  615. package/dist/engine/engine.types.d.ts.map +1 -0
  616. package/dist/engine/engine.types.js +8 -0
  617. package/dist/engine/execute-plan.d.ts +5 -0
  618. package/dist/engine/execute-plan.d.ts.map +1 -0
  619. package/dist/engine/execute-plan.js +141 -0
  620. package/dist/engine/hook.d.ts +23 -0
  621. package/dist/engine/hook.d.ts.map +1 -0
  622. package/dist/engine/hook.js +254 -0
  623. package/dist/engine/index.d.ts +9 -0
  624. package/dist/engine/index.d.ts.map +1 -0
  625. package/dist/engine/index.js +6 -0
  626. package/dist/engine/markers.d.ts +6 -0
  627. package/dist/engine/markers.d.ts.map +1 -0
  628. package/dist/engine/markers.js +24 -0
  629. package/dist/engine/scanner.d.ts +11 -0
  630. package/dist/engine/scanner.d.ts.map +1 -0
  631. package/dist/engine/scanner.js +65 -0
  632. package/dist/engine/test-helpers.d.ts +3 -0
  633. package/dist/engine/test-helpers.d.ts.map +1 -0
  634. package/dist/engine/test-helpers.js +31 -0
  635. package/dist/errors/cli-error.d.ts +5 -0
  636. package/dist/errors/cli-error.d.ts.map +1 -0
  637. package/dist/errors/cli-error.js +8 -0
  638. package/dist/errors/index.d.ts +2 -0
  639. package/dist/errors/index.d.ts.map +1 -0
  640. package/dist/errors/index.js +1 -0
  641. package/dist/fs/assets.d.ts +2 -0
  642. package/dist/fs/assets.d.ts.map +1 -0
  643. package/dist/fs/assets.js +22 -0
  644. package/dist/fs/index.d.ts +4 -0
  645. package/dist/fs/index.d.ts.map +1 -0
  646. package/dist/fs/index.js +3 -0
  647. package/dist/fs/io.d.ts +9 -0
  648. package/dist/fs/io.d.ts.map +1 -0
  649. package/dist/fs/io.js +74 -0
  650. package/dist/fs/paths.d.ts +9 -0
  651. package/dist/fs/paths.d.ts.map +1 -0
  652. package/dist/fs/paths.js +42 -0
  653. package/dist/index.d.ts +4 -0
  654. package/dist/index.d.ts.map +1 -0
  655. package/dist/index.js +48 -0
  656. package/dist/manifest/hash.d.ts +5 -0
  657. package/dist/manifest/hash.d.ts.map +1 -0
  658. package/dist/manifest/hash.js +75 -0
  659. package/dist/manifest/index.d.ts +5 -0
  660. package/dist/manifest/index.d.ts.map +1 -0
  661. package/dist/manifest/index.js +3 -0
  662. package/dist/manifest/manager.d.ts +8 -0
  663. package/dist/manifest/manager.d.ts.map +1 -0
  664. package/dist/manifest/manager.js +86 -0
  665. package/dist/manifest/manifest.types.d.ts +157 -0
  666. package/dist/manifest/manifest.types.d.ts.map +1 -0
  667. package/dist/manifest/manifest.types.js +56 -0
  668. package/dist/providers/claude/adapter.d.ts +3 -0
  669. package/dist/providers/claude/adapter.d.ts.map +1 -0
  670. package/dist/providers/claude/adapter.js +20 -0
  671. package/dist/providers/claude/index.d.ts +3 -0
  672. package/dist/providers/claude/index.d.ts.map +1 -0
  673. package/dist/providers/claude/index.js +2 -0
  674. package/dist/providers/claude/paths.d.ts +4 -0
  675. package/dist/providers/claude/paths.d.ts.map +1 -0
  676. package/dist/providers/claude/paths.js +38 -0
  677. package/dist/providers/claude/rule-transform.d.ts +3 -0
  678. package/dist/providers/claude/rule-transform.d.ts.map +1 -0
  679. package/dist/providers/claude/rule-transform.js +22 -0
  680. package/dist/providers/codex/adapter.d.ts +3 -0
  681. package/dist/providers/codex/adapter.d.ts.map +1 -0
  682. package/dist/providers/codex/adapter.js +20 -0
  683. package/dist/providers/codex/codec/config-merge.d.ts +17 -0
  684. package/dist/providers/codex/codec/config-merge.d.ts.map +1 -0
  685. package/dist/providers/codex/codec/config-merge.js +61 -0
  686. package/dist/providers/codex/codec/export-to-codex.d.ts +9 -0
  687. package/dist/providers/codex/codec/export-to-codex.d.ts.map +1 -0
  688. package/dist/providers/codex/codec/export-to-codex.js +45 -0
  689. package/dist/providers/codex/codec/import-from-codex.d.ts +9 -0
  690. package/dist/providers/codex/codec/import-from-codex.d.ts.map +1 -0
  691. package/dist/providers/codex/codec/import-from-codex.js +52 -0
  692. package/dist/providers/codex/codec/shared.d.ts +7 -0
  693. package/dist/providers/codex/codec/shared.d.ts.map +1 -0
  694. package/dist/providers/codex/codec/shared.js +21 -0
  695. package/dist/providers/codex/codec/sync-extension.d.ts +32 -0
  696. package/dist/providers/codex/codec/sync-extension.d.ts.map +1 -0
  697. package/dist/providers/codex/codec/sync-extension.js +227 -0
  698. package/dist/providers/codex/index.d.ts +6 -0
  699. package/dist/providers/codex/index.d.ts.map +1 -0
  700. package/dist/providers/codex/index.js +5 -0
  701. package/dist/providers/codex/paths.d.ts +4 -0
  702. package/dist/providers/codex/paths.d.ts.map +1 -0
  703. package/dist/providers/codex/paths.js +28 -0
  704. package/dist/providers/copilot/adapter.d.ts +3 -0
  705. package/dist/providers/copilot/adapter.d.ts.map +1 -0
  706. package/dist/providers/copilot/adapter.js +30 -0
  707. package/dist/providers/copilot/index.d.ts +3 -0
  708. package/dist/providers/copilot/index.d.ts.map +1 -0
  709. package/dist/providers/copilot/index.js +2 -0
  710. package/dist/providers/copilot/paths.d.ts +4 -0
  711. package/dist/providers/copilot/paths.d.ts.map +1 -0
  712. package/dist/providers/copilot/paths.js +38 -0
  713. package/dist/providers/copilot/rule-transform.d.ts +3 -0
  714. package/dist/providers/copilot/rule-transform.d.ts.map +1 -0
  715. package/dist/providers/copilot/rule-transform.js +58 -0
  716. package/dist/providers/cursor/adapter.d.ts +3 -0
  717. package/dist/providers/cursor/adapter.d.ts.map +1 -0
  718. package/dist/providers/cursor/adapter.js +20 -0
  719. package/dist/providers/cursor/index.d.ts +3 -0
  720. package/dist/providers/cursor/index.d.ts.map +1 -0
  721. package/dist/providers/cursor/index.js +2 -0
  722. package/dist/providers/cursor/paths.d.ts +4 -0
  723. package/dist/providers/cursor/paths.d.ts.map +1 -0
  724. package/dist/providers/cursor/paths.js +38 -0
  725. package/dist/providers/cursor/rule-transform.d.ts +3 -0
  726. package/dist/providers/cursor/rule-transform.d.ts.map +1 -0
  727. package/dist/providers/cursor/rule-transform.js +48 -0
  728. package/dist/providers/gemini/adapter.d.ts +3 -0
  729. package/dist/providers/gemini/adapter.d.ts.map +1 -0
  730. package/dist/providers/gemini/adapter.js +20 -0
  731. package/dist/providers/gemini/index.d.ts +3 -0
  732. package/dist/providers/gemini/index.d.ts.map +1 -0
  733. package/dist/providers/gemini/index.js +2 -0
  734. package/dist/providers/gemini/paths.d.ts +4 -0
  735. package/dist/providers/gemini/paths.d.ts.map +1 -0
  736. package/dist/providers/gemini/paths.js +28 -0
  737. package/dist/providers/shared/adapter.types.d.ts +21 -0
  738. package/dist/providers/shared/adapter.types.d.ts.map +1 -0
  739. package/dist/providers/shared/adapter.types.js +1 -0
  740. package/dist/providers/shared/adapter.utils.d.ts +12 -0
  741. package/dist/providers/shared/adapter.utils.d.ts.map +1 -0
  742. package/dist/providers/shared/adapter.utils.js +57 -0
  743. package/dist/providers/shared/agent-codec.types.d.ts +13 -0
  744. package/dist/providers/shared/agent-codec.types.d.ts.map +1 -0
  745. package/dist/providers/shared/agent-codec.types.js +1 -0
  746. package/dist/providers/shared/index.d.ts +6 -0
  747. package/dist/providers/shared/index.d.ts.map +1 -0
  748. package/dist/providers/shared/index.js +2 -0
  749. package/dist/providers/shared/markdown-agent-codec.d.ts +5 -0
  750. package/dist/providers/shared/markdown-agent-codec.d.ts.map +1 -0
  751. package/dist/providers/shared/markdown-agent-codec.js +12 -0
  752. package/dist/release/public-package-contract.d.ts +14 -0
  753. package/dist/release/public-package-contract.d.ts.map +1 -0
  754. package/dist/release/public-package-contract.js +97 -0
  755. package/dist/rules/canonical/index.d.ts +6 -0
  756. package/dist/rules/canonical/index.d.ts.map +1 -0
  757. package/dist/rules/canonical/index.js +4 -0
  758. package/dist/rules/canonical/parse.d.ts +9 -0
  759. package/dist/rules/canonical/parse.d.ts.map +1 -0
  760. package/dist/rules/canonical/parse.js +103 -0
  761. package/dist/rules/canonical/provider-filenames.d.ts +3 -0
  762. package/dist/rules/canonical/provider-filenames.d.ts.map +1 -0
  763. package/dist/rules/canonical/provider-filenames.js +13 -0
  764. package/dist/rules/canonical/render.d.ts +5 -0
  765. package/dist/rules/canonical/render.d.ts.map +1 -0
  766. package/dist/rules/canonical/render.js +32 -0
  767. package/dist/rules/canonical/types.d.ts +16 -0
  768. package/dist/rules/canonical/types.d.ts.map +1 -0
  769. package/dist/rules/canonical/types.js +6 -0
  770. package/dist/shared/index.d.ts +3 -0
  771. package/dist/shared/index.d.ts.map +1 -0
  772. package/dist/shared/index.js +1 -0
  773. package/dist/shared/types.d.ts +10 -0
  774. package/dist/shared/types.d.ts.map +1 -0
  775. package/dist/shared/types.js +14 -0
  776. package/dist/ui/ansi.d.ts +2 -0
  777. package/dist/ui/ansi.d.ts.map +1 -0
  778. package/dist/ui/ansi.js +19 -0
  779. package/dist/ui/index.d.ts +7 -0
  780. package/dist/ui/index.d.ts.map +1 -0
  781. package/dist/ui/index.js +3 -0
  782. package/dist/ui/logger.d.ts +15 -0
  783. package/dist/ui/logger.d.ts.map +1 -0
  784. package/dist/ui/logger.js +52 -0
  785. package/dist/ui/output.d.ts +16 -0
  786. package/dist/ui/output.d.ts.map +1 -0
  787. package/dist/ui/output.js +135 -0
  788. package/dist/ui/spinner.d.ts +16 -0
  789. package/dist/ui/spinner.d.ts.map +1 -0
  790. package/dist/ui/spinner.js +46 -0
  791. package/dist/validation/index.d.ts +3 -0
  792. package/dist/validation/index.d.ts.map +1 -0
  793. package/dist/validation/index.js +1 -0
  794. package/dist/validation/skills.d.ts +10 -0
  795. package/dist/validation/skills.d.ts.map +1 -0
  796. package/dist/validation/skills.js +166 -0
  797. package/package.json +62 -0
@@ -0,0 +1,736 @@
1
+ ---
2
+ name: oat-project-implement
3
+ version: 1.2.2
4
+ description: Use when plan.md is ready for execution. Implements plan tasks sequentially with TDD discipline and state tracking.
5
+ disable-model-invocation: true
6
+ user-invocable: true
7
+ allowed-tools: Read, Write, Bash(git:*), Glob, Grep, AskUserQuestion
8
+ ---
9
+
10
+ # Implementation Phase
11
+
12
+ Execute the implementation plan task-by-task with full state tracking.
13
+
14
+ ## Prerequisites
15
+
16
+ **Required:** Complete implementation plan. If missing, run the `oat-project-plan` skill first.
17
+
18
+ ## Mode Assertion
19
+
20
+ **OAT MODE: Implementation**
21
+
22
+ **Purpose:** Execute plan tasks with TDD discipline, track progress, handle blockers.
23
+
24
+ ## Progress Indicators (User-Facing)
25
+
26
+ When executing this skill, provide lightweight progress feedback so the user can tell what’s happening after they confirm.
27
+
28
+ - Print a phase banner once at start using horizontal separators, e.g.:
29
+
30
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
31
+ OAT ▸ IMPLEMENT
32
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
33
+
34
+ - For each task, announce a compact header before doing work:
35
+ - `OAT ▸ IMPLEMENT {task_id}: {task_name}`
36
+ - Before multi-step “bookkeeping” work (updating artifacts/state, verification, committing, dashboard refresh), print 2–5 short step indicators, e.g.:
37
+ - `[1/4] Updating implementation.md + state.md…`
38
+ - `[2/4] Running verification…`
39
+ - `[3/4] Committing…`
40
+ - `[4/4] Refreshing dashboard…`
41
+ - For long-running operations (tests/lint/type-check/build, reviews, large diffs), print a start line and a completion line (duration optional).
42
+ - Keep it concise; don’t print a line for every shell command.
43
+
44
+ **BLOCKED Activities:**
45
+
46
+ - No skipping tasks
47
+ - No changing plan structure
48
+ - No scope expansion
49
+
50
+ **ALLOWED Activities:**
51
+
52
+ - Executing tasks in order
53
+ - Making minor adaptations within task scope
54
+ - Logging decisions and issues
55
+ - Marking blockers for user review
56
+
57
+ **Self-Correction Protocol:**
58
+ If you catch yourself:
59
+
60
+ - Skipping ahead in tasks → STOP (execute in order)
61
+ - Expanding scope → STOP (log as "deferred")
62
+ - Changing plan structure → STOP (update plan.md first)
63
+
64
+ **Recovery:**
65
+
66
+ 1. Acknowledge the deviation
67
+ 2. Return to current task
68
+ 3. Document in implementation.md
69
+
70
+ ## Process
71
+
72
+ ### Step 0: Resolve Active Project
73
+
74
+ OAT stores active project context in `.oat/config.local.json` (`activeProject`, local-only).
75
+
76
+ ```bash
77
+ PROJECT_PATH=$(oat config get activeProject 2>/dev/null || true)
78
+ PROJECTS_ROOT="${OAT_PROJECTS_ROOT:-$(oat config get projects.root 2>/dev/null || echo ".oat/projects/shared")}"
79
+ PROJECTS_ROOT="${PROJECTS_ROOT%/}"
80
+ ```
81
+
82
+ **If `PROJECT_PATH` is missing/invalid:**
83
+
84
+ - Ask the user for `{project-name}`
85
+ - Set `PROJECT_PATH` to `${PROJECTS_ROOT}/{project-name}`
86
+ - Write it for future phases:
87
+ ```bash
88
+ mkdir -p .oat
89
+ oat config set activeProject "$PROJECT_PATH"
90
+ ```
91
+
92
+ **If `PROJECT_PATH` is valid:** derive `{project-name}` as the directory name (basename of the path).
93
+
94
+ ### Step 0.5: Execution Mode Redirect Guard
95
+
96
+ Read execution mode from `"$PROJECT_PATH/state.md"` frontmatter:
97
+
98
+ ```bash
99
+ EXEC_MODE=$(grep "^oat_execution_mode:" "$PROJECT_PATH/state.md" 2>/dev/null | awk '{print $2}')
100
+ EXEC_MODE="${EXEC_MODE:-single-thread}"
101
+ ```
102
+
103
+ If `EXEC_MODE` is `subagent-driven`:
104
+
105
+ - Tell the user: `Execution mode is subagent-driven. Use oat-project-subagent-implement instead.`
106
+ - STOP (do not proceed with sequential implementation)
107
+
108
+ ### Step 1: Check Plan Complete
109
+
110
+ ```bash
111
+ cat "$PROJECT_PATH/plan.md" | head -10 | grep "oat_status:"
112
+ ```
113
+
114
+ **Required frontmatter:**
115
+
116
+ - `oat_status: complete`
117
+ - `oat_ready_for: oat-project-implement`
118
+
119
+ **If not complete:** Block and ask user to finish plan first.
120
+
121
+ ### Step 2: Read Plan Document
122
+
123
+ Read `"$PROJECT_PATH/plan.md"` completely to understand:
124
+
125
+ - All phases and tasks
126
+ - File changes per task
127
+ - Verification commands
128
+ - Commit messages
129
+
130
+ ### Step 2.5: Confirm Plan HiLL Checkpoints
131
+
132
+ Read `oat_plan_hill_phases` from `"$PROJECT_PATH/plan.md"` frontmatter when present and validate it.
133
+
134
+ - **Valid format:** JSON-like array of phase IDs (e.g., `["p01","p03"]`)
135
+ - **Allowed pre-confirmation state:** field missing entirely on the first implementation run
136
+ - **Invalid format examples:** scalar string, malformed array, unknown phase IDs
137
+
138
+ Determine whether this is a first implementation run:
139
+
140
+ - If `"$PROJECT_PATH/implementation.md"` does not exist, treat as first run.
141
+ - If it exists but still has template placeholders and no completed task evidence, treat as first run.
142
+
143
+ Prompt behavior:
144
+
145
+ - **If first run:** always present a complete phase-by-phase summary and confirm checkpoint phases before any task execution. A missing `oat_plan_hill_phases` value is the normal unconfirmed state; if a value is already present, treat it as a provisional value to confirm rather than as final.
146
+ - **If resuming and `oat_plan_hill_phases` is valid:** do not re-ask; print active checkpoint config and continue.
147
+ - **If resuming and `oat_plan_hill_phases` is missing/invalid:** treat this as bookkeeping drift, because implementation should already have written the confirmed value before prior task execution. Ask the user to repair the checkpoint configuration before continuing.
148
+
149
+ Required prompt shape for first-run confirmation:
150
+
151
+ 1. Open with plan framing:
152
+ - `This plan has {phase_count} phases. Final phase: {final_phase_id}.`
153
+ 2. Briefly summarize every plan phase in order:
154
+ - `p01 — {short phase summary}`
155
+ - `p02 — {short phase summary}`
156
+ - ...
157
+ - Never omit this summary, even if the plan has only one phase or `oat_plan_hill_phases` already contains a provisional value.
158
+ 3. Ask the checkpoint question using exactly three options:
159
+ - `Which checkpoint behavior do you want?`
160
+ - `1. Stop after each phase (default)`
161
+ - `2. Stop after specific phases, e.g. p02, p05`
162
+ - `3. Stop only after the final phase is completed`
163
+ 4. Map the options to stored values:
164
+ - `1` -> `[]`
165
+ - `2` -> user-specified array such as `["p02","p05"]`
166
+ - `3` -> `["p07"]` (replace `p07` with the actual final phase ID for this plan)
167
+ 5. If a provisional `oat_plan_hill_phases` value already exists, mention it after presenting the three options, but still require the user to choose or confirm one of them.
168
+
169
+ When user confirms/changes:
170
+
171
+ - Update `"$PROJECT_PATH/plan.md"` frontmatter `oat_plan_hill_phases` to the confirmed value before executing tasks.
172
+ - Keep the value stable for the rest of the run unless the user explicitly requests a change.
173
+
174
+ #### Auto-Review at Checkpoints (Touchpoint A)
175
+
176
+ After checkpoint behavior is confirmed, resolve auto-review preference:
177
+
178
+ 1. Read `.oat/config.json` `autoReviewAtCheckpoints` (default: `false`)
179
+ 2. **If config explicitly `true`:** Skip the prompt. Write `oat_auto_review_at_checkpoints: true` to plan.md frontmatter. Print: "Auto-review at checkpoints: enabled (from config)."
180
+ 3. **If config `false` or absent:** Add one question after the checkpoint choice:
181
+ ```
182
+ 4. Auto-review at checkpoints?
183
+ - yes: automatically spawn a subagent code review when a checkpoint phase completes
184
+ - no (default): manual review triggering (current behavior)
185
+ ```
186
+ 4. Write `oat_auto_review_at_checkpoints: true|false` to plan.md frontmatter alongside `oat_plan_hill_phases`.
187
+
188
+ **On resume:** If `oat_auto_review_at_checkpoints` is already present in plan.md frontmatter, skip Touchpoint A entirely — do not re-ask, do not re-read config, do not print the auto-review note. The stored value is authoritative.
189
+
190
+ ### Step 3: Check Implementation State
191
+
192
+ Check if implementation already started:
193
+
194
+ ```bash
195
+ cat "$PROJECT_PATH/implementation.md" 2>/dev/null | head -20
196
+ ```
197
+
198
+ **If exists and has progress:**
199
+
200
+ - Read `oat_current_task_id` from frontmatter (e.g., "p01-t03" or "prev1-t01")
201
+ - **Revision task recognition:** `p-revN` phases and `prevN-tNN` task IDs are treated identically to standard `pNN` phases and `pNN-tNN` tasks for execution purposes. The implement skill does not need special handling — it just follows the plan sequentially.
202
+ - Validate the task pointer:
203
+ - If `oat_current_task_id` points at a task already marked `completed` in the body, advance to the **next incomplete** task (first `pending` / `in_progress` / `blocked` entry).
204
+ - If all tasks are completed, skip ahead to finalization (Step 11+).
205
+ - Resume from the resolved task
206
+ - Ask user: "Resume from {task_id}, or start fresh (overwrite implementation.md)?"
207
+
208
+ **Stale-state reconciliation (approval required):**
209
+
210
+ - Before executing tasks, cross-check `plan.md` Reviews status with `implementation.md` + `state.md`.
211
+ - If `plan.md` shows a scope as `passed` but `implementation.md` / `state.md` still says "awaiting re-review" (or leaves `oat_current_task_id` / `oat_current_task` as `null` while future plan tasks are still incomplete), treat this as bookkeeping drift.
212
+ - Resolve the next task from plan order (first incomplete non-review task after the passed scope), then ask:
213
+ - "Detected bookkeeping drift: review is passed in plan.md, but state artifacts still show awaiting re-review. Update artifacts and continue from {next_task_id}?"
214
+ - Only if the user approves:
215
+ - Update `implementation.md` frontmatter `oat_current_task_id: {next_task_id}`
216
+ - Update `state.md` frontmatter `oat_current_task: {next_task_id}` and refresh stale "awaiting re-review" wording
217
+ - Update implementation review notes "Next" guidance to continue implementation (not re-review)
218
+ - If the user declines:
219
+ - Do not auto-edit bookkeeping; pause and ask whether to proceed manually or stop.
220
+
221
+ **If doesn't exist:**
222
+
223
+ - Initialize from template (Step 4)
224
+
225
+ **Important:** Never overwrite an existing `implementation.md` without explicit user confirmation (and warn that draft logs will be lost).
226
+
227
+ ### Step 4: Initialize Implementation Document
228
+
229
+ Copy template: `.oat/templates/implementation.md` → `"$PROJECT_PATH/implementation.md"`
230
+
231
+ Update frontmatter:
232
+
233
+ ```yaml
234
+ ---
235
+ oat_status: in_progress
236
+ oat_ready_for: null
237
+ oat_blockers: []
238
+ oat_last_updated: { today }
239
+ oat_current_task_id: p01-t01 # Stable task ID from plan
240
+ ---
241
+ ```
242
+
243
+ Initialize project state so other skills (e.g., `oat-project-progress`) reflect that implementation has started:
244
+
245
+ - In `"$PROJECT_PATH/state.md"` frontmatter:
246
+ - `oat_phase: implement`
247
+ - `oat_phase_status: in_progress`
248
+ - `oat_current_task: p01-t01`
249
+ - `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
250
+
251
+ ### Step 5: Execute Current Task
252
+
253
+ For the current task in plan.md:
254
+
255
+ **5a. Announce task:**
256
+
257
+ ```
258
+ Starting {task_id}: {Task Name}
259
+ Files: {file list}
260
+ ```
261
+
262
+ **5b. Follow steps exactly:**
263
+
264
+ - Read each step from plan
265
+ - Execute as specified
266
+ - Run verification commands
267
+
268
+ **5c. Apply TDD discipline:**
269
+
270
+ 1. Write test first (if applicable)
271
+ 2. Run tests → expect red
272
+ 3. Write implementation
273
+ 4. Run tests → expect green
274
+ 5. Refactor if needed
275
+
276
+ **5d. Handle issues:**
277
+
278
+ - If step unclear → ask user
279
+ - If verification fails → debug and retry
280
+ - If blocked → mark task as blocked, note reason
281
+
282
+ ### Step 6: Commit Task
283
+
284
+ After task verification passes:
285
+
286
+ ```bash
287
+ git add {files from plan}
288
+ git commit -m "{commit message from plan}"
289
+ ```
290
+
291
+ Store commit SHA for implementation.md.
292
+
293
+ ### Step 7: Update Implementation State
294
+
295
+ After each task:
296
+
297
+ **Update frontmatter:**
298
+
299
+ ```yaml
300
+ oat_current_task_id: { next_task_id } # e.g., p01-t02
301
+ oat_last_updated: { today }
302
+ ```
303
+
304
+ **Update task entry:**
305
+
306
+ ```markdown
307
+ ### Task {task_id}: {Task Name}
308
+
309
+ **Status:** completed
310
+ **Commit:** {sha}
311
+
312
+ **Outcome (required):**
313
+
314
+ - {2-5 bullets describing what materially changed}
315
+
316
+ **Files changed:**
317
+
318
+ - `{path}` - {why}
319
+
320
+ **Verification:**
321
+
322
+ - Run: `{command(s)}`
323
+ - Result: {pass/fail + notes}
324
+
325
+ **Notes / Decisions:**
326
+
327
+ - {gotchas, trade-offs, design deltas}
328
+ ```
329
+
330
+ **Update progress overview table.**
331
+
332
+ Keep project state in sync after each task (recommended source of truth for “where are we?” across sessions):
333
+
334
+ - Update `"$PROJECT_PATH/state.md"` frontmatter:
335
+ - `oat_phase: implement`
336
+ - `oat_phase_status: in_progress`
337
+ - `oat_current_task: {next_task_id}`
338
+ - `oat_last_commit: {sha}`
339
+ - `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
340
+
341
+ **Bookkeeping commit (required):**
342
+ After the code commit (Step 6) and state updates above, commit all modified OAT tracking files:
343
+
344
+ ```bash
345
+ git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md"
346
+ git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for {task_id}"
347
+ ```
348
+
349
+ Do not use `git add -A` or glob patterns. Only commit the three OAT project files listed above.
350
+
351
+ **If executing review-generated tasks** (task title prefixed with `(review)`):
352
+
353
+ - Ensure `implementation.md` stays accurate:
354
+ - The “Review Received” section reflects whether findings were deferred vs converted to tasks
355
+ - The “Next” line is updated once review fix tasks are complete (don’t leave “Next: execute fix tasks” after they’re done)
356
+ - Keep `plan.md` internally consistent:
357
+ - If `## Implementation Complete` contains phase/task totals, update totals when review fix tasks are added (via `oat-project-review-receive`) or removed.
358
+ - Review status lifecycle:
359
+ - When review-generated fix tasks are added, the Reviews table should be `fixes_added`.
360
+ - After all fix tasks are implemented, update the Reviews table to `fixes_completed` (not `passed`).
361
+ - Only set `passed` after a re-review is run and processed via `oat-project-review-receive` with no Critical/Important findings.
362
+
363
+ **Review-fix completion bookkeeping (required):**
364
+
365
+ - When you complete the last outstanding review-fix task:
366
+ 1. Update the relevant `plan.md` `## Reviews` row from `fixes_added` → `fixes_completed` and set Date to `{today}`.
367
+ - If multiple rows are `fixes_added`, ask the user which scope you just addressed (or choose the matching phase if obvious).
368
+ 2. Update `plan.md` `## Implementation Complete` totals (phase counts + total tasks) so summaries reflect the additional fix work.
369
+ 3. Update `implementation.md` so it’s unambiguous that tasks are complete and the project is awaiting re-review:
370
+ - `oat_current_task_id: null` (reviews are not tasks)
371
+ - “Next” guidance should say “request re-review” (not “execute fix tasks”).
372
+ 4. Update `{PROJECT_PATH}/state.md` to reflect the correct “awaiting re-review” posture:
373
+ - `oat_phase: implement`
374
+ - `oat_phase_status: in_progress` (until the re-review passes)
375
+ - `oat_current_task: null`
376
+ - `oat_project_state_updated: “{ISO 8601 UTC timestamp}”`
377
+
378
+ **Bookkeeping commit (required):**
379
+ After completing the review-fix checklist above, commit all modified OAT tracking files:
380
+
381
+ ```bash
382
+ git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md"
383
+ git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for {task_id}"
384
+ ```
385
+
386
+ Do not use `git add -A` or glob patterns. Only commit the three OAT project files listed above.
387
+
388
+ ### Step 8: Check Plan Phase Completion
389
+
390
+ When all tasks in current plan phase complete (e.g., all p01-\* tasks done):
391
+
392
+ **Update frontmatter:**
393
+
394
+ ```yaml
395
+ oat_current_task_id: { first_task_of_next_phase } # e.g., p02-t01
396
+ ```
397
+
398
+ **Plan phase checkpoint:**
399
+ At the end of each plan phase (p01, p02, etc.), check `oat_plan_hill_phases` in plan.md to decide whether to pause:
400
+
401
+ - **If `oat_plan_hill_phases` is empty (`[]`):** Pause after every phase (default behavior after confirmation).
402
+ - **If `oat_plan_hill_phases` has values:** Pause only after completing a listed phase.
403
+ - Example: `["p01", "p04"]` → pause after p01 completes and after p04 completes; skip p02, p03.
404
+ - Example: `["p03"]` where p03 is the last phase → run all phases without pausing, then pause after p03 (end of implementation).
405
+ - **If `oat_plan_hill_phases` is missing at a phase boundary:** treat this as bookkeeping drift and stop to repair it before continuing, because the confirmation should already have been written during the first implementation run.
406
+
407
+ **Key semantic: listed phases are where you stop AFTER completing them, not before.** `["p03"]` means "complete p03, then pause" — not "pause before starting p03."
408
+
409
+ **Auto-review at checkpoints (Touchpoint B):**
410
+
411
+ Before pausing at a checkpoint, check if auto-review is enabled:
412
+
413
+ 1. Read `oat_auto_review_at_checkpoints` from plan.md frontmatter. If not present, fall back to `.oat/config.json` `autoReviewAtCheckpoints` (default: `false`).
414
+
415
+ 2. If enabled and this is a checkpoint phase:
416
+ a. **Determine review scope:** Find the highest completed implementation phase already covered by a **`passed`** code-review row in plan.md Reviews table. Count only whole-phase scopes: `pNN` or `pNN-pMM`. Ignore task scopes (`pNN-tNN`) and rows with `fixes_added` or `fixes_completed` because those reviews did not pass and must be re-covered. Scope = every implementation phase after that passed coverage through the current phase, inclusive. If no earlier passed whole-phase review exists, start from the first implementation phase. Use `pNN-pMM` when the scope spans multiple phases. If this is the final implementation phase checkpoint, use scope `final`.
417
+ - Example: prior passed row `p01`, current checkpoint `p03` → review `p02-p03`
418
+ - Example: no prior passed whole-phase review, current checkpoint `p03` → review `p01-p03`
419
+ - Example: current checkpoint is the last implementation phase → review `final`
420
+ b. **Spawn subagent review:** `oat-project-review-provide code {scope}` — instruct it to include `oat_review_invocation: auto` in the review artifact frontmatter.
421
+ c. **Auto-invoke review-receive:** `oat-project-review-receive` — operates in auto-disposition mode when `oat_review_invocation: auto` is present:
422
+ - Critical/Important/Medium: convert to fix tasks (same as manual)
423
+ - Minor: auto-convert to fix tasks unless clearly out of scope
424
+ - No user prompts for disposition
425
+ d. **If fix tasks added:** continue implementing automatically (no checkpoint pause — return to Step 5 for the new fix tasks)
426
+ e. **If scope passed:** proceed to the checkpoint pause below
427
+
428
+ 3. If disabled: skip directly to the checkpoint pause.
429
+
430
+ When pausing:
431
+
432
+ - Output phase summary (tasks completed, commits made)
433
+ - Ask user: "Phase {N} ({phase_name}) complete. Continue to next phase?"
434
+ - Wait for user approval before proceeding to next plan phase
435
+
436
+ **Restart safety (required):**
437
+
438
+ - At the end of each task and at each phase boundary, ensure `implementation.md` is persisted and internally consistent:
439
+ - `oat_current_task_id` points at the next task to do (or `null` when complete)
440
+ - Phase status sections match the progress overview table
441
+ - The implementation log reflects what was actually completed
442
+
443
+ **Phase summaries (required):**
444
+
445
+ - When a plan phase completes (p01, p02, etc.), update the “Phase Summary” section in `implementation.md` for that phase:
446
+ - Outcome (behavior-level)
447
+ - Key files touched (paths)
448
+ - Verification run
449
+ - Notable decisions/deviations
450
+
451
+ **Bookkeeping commit (required):**
452
+ After phase summary and task pointer advancement, commit all modified OAT tracking files:
453
+
454
+ ```bash
455
+ git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md"
456
+ git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for {phase} completion"
457
+ ```
458
+
459
+ Do not use `git add -A` or glob patterns. Only commit the three OAT project files listed above.
460
+
461
+ **Note on HiLL types:**
462
+
463
+ - **Workflow HiLL** (`oat_hill_checkpoints` in state.md): Gates between workflow phases (discovery → spec → design → plan → implement). Checked by oat-project-progress router.
464
+ - **Plan phase checkpoints** (`oat_plan_hill_phases` in plan.md): Gates at plan phase boundaries during implementation. `[]` means pause after every phase; a populated array pauses only after listed phases. The field may be absent only before the first implementation-run confirmation. Listed phases are where you stop AFTER completing them.
465
+
466
+ **Revision phase completion handling:**
467
+
468
+ When all tasks in a `p-revN` phase complete (revision phases created by `oat-project-revise`):
469
+
470
+ 1. Set `oat_phase_status: pr_open` (not `complete` — the PR is still open for further review)
471
+ 2. Set `oat_current_task: null`
472
+ 3. Invoke `oat-project-summary` to update summary.md if it exists (implement owns summary re-generation at revision phase completion, not the revise skill)
473
+ 4. Update next milestone: "Revision complete. Push changes to update PR. Run `oat-project-revise` for more feedback or `oat-project-complete` when approved."
474
+ 5. Push changes to update the PR branch
475
+
476
+ This is different from regular phase completion — revision phases return to `pr_open` instead of continuing to the next phase, because the user needs to decide whether more revisions are needed.
477
+
478
+ ### Step 9: Repeat Until Complete
479
+
480
+ Continue Steps 5-8 until all plan phases complete.
481
+
482
+ **Batch execution:**
483
+
484
+ - Default: Execute tasks one at a time
485
+ - If user requests: Execute N tasks before checking in
486
+ - Stop at configured plan phase boundaries for review
487
+
488
+ ### Step 10: Handle Blockers
489
+
490
+ If a task cannot be completed:
491
+
492
+ **Mark as blocked:**
493
+
494
+ ```yaml
495
+ oat_blockers:
496
+ - task_id: { task_id } # e.g., p01-t03
497
+ reason: '{description}'
498
+ since: { date }
499
+ ```
500
+
501
+ **Update task status:**
502
+
503
+ ```markdown
504
+ ### Task {task_id}: {Task Name}
505
+
506
+ **Status:** blocked
507
+ **Blocker:** {description}
508
+ ```
509
+
510
+ **Notify user:**
511
+
512
+ ```
513
+ Task {task_id} blocked: {reason}
514
+
515
+ Options:
516
+ 1. Resolve blocker and continue
517
+ 2. Skip task (mark as deferred)
518
+ 3. Modify plan to address blocker
519
+ ```
520
+
521
+ ### Step 11: Mark Implementation Complete
522
+
523
+ When all plan tasks are complete (i.e., there is no next incomplete `pNN-tNN` task):
524
+
525
+ **Update “Final Summary” (required):**
526
+
527
+ - Before requesting final review / running `oat-project-pr-final`, update the `## Final Summary (for PR/docs)` section in `"$PROJECT_PATH/implementation.md"`:
528
+ - What shipped (capabilities, behavior-level)
529
+ - Key files/modules touched
530
+ - Verification performed (tests/lint/typecheck/build/manual)
531
+ - Design deltas (if any)
532
+ - This should reflect **what was actually implemented**, including any deviations from design and any review-fix work.
533
+
534
+ Update frontmatter:
535
+
536
+ ```yaml
537
+ ---
538
+ oat_status: complete
539
+ oat_ready_for: null
540
+ oat_blockers: []
541
+ oat_last_updated: { today }
542
+ oat_current_task_id: null
543
+ ---
544
+ ```
545
+
546
+ **Important:** `oat_current_task_id` should never point at an already-completed task. If all tasks are done, set it to `null` and proceed to the final review gate.
547
+
548
+ ### Step 12: Update Project State
549
+
550
+ Update `"$PROJECT_PATH/state.md"` so other skills reflect task completion and review gating:
551
+
552
+ **Frontmatter updates:**
553
+
554
+ - `oat_current_task: null`
555
+ - `oat_last_commit: {final_commit_sha}`
556
+ - `oat_blockers: []`
557
+ - `oat_phase: implement`
558
+ - `oat_phase_status: in_progress` (until final review passes)
559
+ - `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
560
+ - **If** `"implement"` is in `oat_hill_checkpoints`: append `"implement"` to `oat_hill_completed` array
561
+
562
+ **Note:** Only append to `oat_hill_completed` when the phase is configured as a HiLL gate.
563
+
564
+ Update content:
565
+
566
+ ```markdown
567
+ ## Current Phase
568
+
569
+ Implementation - Tasks complete; awaiting final review.
570
+
571
+ ## Progress
572
+
573
+ - ✓ Discovery complete
574
+ - ✓ Specification complete
575
+ - ✓ Design complete
576
+ - ✓ Plan complete
577
+ - ✓ Implementation tasks complete
578
+ - ⧗ Awaiting final review
579
+ ```
580
+
581
+ **Bookkeeping commit (required):**
582
+ After updating state.md to reflect implementation completion, commit all modified OAT tracking files:
583
+
584
+ ```bash
585
+ git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/plan.md"
586
+ git diff --cached --quiet || git commit -m "chore(oat): update tracking artifacts for implementation complete"
587
+ ```
588
+
589
+ Do not use `git add -A` or glob patterns. Only commit the three OAT project files listed above.
590
+
591
+ ### Step 13: Final Verification
592
+
593
+ Run project-wide verification:
594
+
595
+ ```bash
596
+ # Run tests
597
+ pnpm test
598
+
599
+ # Run lint
600
+ pnpm lint
601
+
602
+ # Run type check
603
+ pnpm type-check
604
+
605
+ # Run build
606
+ pnpm build
607
+ ```
608
+
609
+ All must pass before proceeding.
610
+
611
+ ### Step 14: Trigger Final Review
612
+
613
+ **At the final plan phase boundary, a code review is required before PR.**
614
+
615
+ Check if final review already completed (preferred source of truth: plan.md Reviews table):
616
+
617
+ ```bash
618
+ FINAL_ROW=$(grep -E "^\\|\\s*final\\s*\\|" "$PROJECT_PATH/plan.md" 2>/dev/null | head -1)
619
+ echo "$FINAL_ROW"
620
+ ```
621
+
622
+ **If final review row exists and status is `passed`:**
623
+
624
+ - Example row:
625
+ - `| final | code | passed | 2026-01-28 | reviews/final-review-2026-01-28.md |`
626
+ - Check:
627
+ ```bash
628
+ echo "$FINAL_ROW" | grep -qE "^\\|\\s*final\\s*\\|.*\\|\\s*passed\\s*\\|" && echo "passed"
629
+ ```
630
+ - Skip to Step 15 (PR prompt)
631
+
632
+ **If final review is not marked `passed`:**
633
+
634
+ - Tell user: "All tasks complete. Final review required before PR."
635
+ - Offer review options (3-tier capability model):
636
+
637
+ ```
638
+ Implementation complete. Final review required.
639
+
640
+ Review options:
641
+ 1. Run review in this session via a subagent (recommended if provider supported)
642
+ 2. Run review in a fresh session and return to this session to receive review
643
+ 3. Run review inline
644
+
645
+ To run in a separate session use: oat-project-review-provide code final
646
+ ```
647
+
648
+ **After user chooses:**
649
+
650
+ - If subagent (option 1): Agent spawns the review via Task tool — no command needed from user
651
+ - If fresh session (option 2): User runs `oat-project-review-provide code final` in a separate session, then returns here
652
+ - If inline (option 3): Agent executes the review directly per oat-project-review-provide skill
653
+ - After review: User runs `oat-project-review-receive` to process findings
654
+ - If Critical/Important findings: Fix tasks added, re-run the `oat-project-implement` skill
655
+ - Loop until final review passes (max 3 cycles per oat-project-review-receive)
656
+
657
+ **After final review is marked `passed`:**
658
+
659
+ - Update `"$PROJECT_PATH/state.md"` frontmatter:
660
+ - `oat_phase: implement`
661
+ - `oat_phase_status: complete`
662
+ - `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
663
+ - Append `"implement"` to `oat_hill_completed` (only if configured as a HiLL gate)
664
+ - Update state content to “Implementation complete”.
665
+ - Update `"$PROJECT_PATH/plan.md"`:
666
+ - Set the `final` review row status to `passed` (if not already)
667
+ - Ensure `## Implementation Complete` totals reflect any review fix tasks that were added
668
+ - Update `"$PROJECT_PATH/implementation.md"`:
669
+ - Ensure `oat_current_task_id: null`
670
+ - Ensure the “Review Received” section reflects completed fixes and points to the next action (PR) rather than “execute fix tasks”
671
+
672
+ ### Step 15: Prompt for Next Steps
673
+
674
+ After final review passes (no Critical/Important findings):
675
+
676
+ ```
677
+ Final review passed for {project-name}.
678
+
679
+ All tasks complete and verified. Next steps:
680
+
681
+ 1. Generate project summary (oat-project-summary)
682
+ 2. Sync documentation (oat-project-document) — if applicable
683
+ 3. Create final PR (oat-project-pr-final)
684
+
685
+ Options:
686
+ a. Run all three in sequence now
687
+ b. Run summary + PR only (skip docs)
688
+ c. Exit (run individually later)
689
+
690
+ Choose:
691
+ ```
692
+
693
+ **If user chooses sequence (a or b):**
694
+
695
+ 1. Invoke `oat-project-summary` to generate summary.md
696
+ 2. If docs selected: invoke `oat-project-document`
697
+ 3. Invoke `oat-project-pr-final` — this sets `oat_phase_status: pr_open` and guides to revise/complete
698
+
699
+ Do not route directly to `oat-project-complete`. The `pr_open` status set by pr-final is the proper entry to the revision/completion flow.
700
+
701
+ **If user chooses exit (c):**
702
+
703
+ Tell user: "Run the skills individually when ready: oat-project-summary → oat-project-document → oat-project-pr-final"
704
+
705
+ ### Step 16: Output Summary
706
+
707
+ ```
708
+ Implementation complete for {project-name}.
709
+
710
+ Summary:
711
+ - Phases: {N} completed
712
+ - Tasks: {N} completed
713
+ - Commits: {N} created
714
+
715
+ Final verification:
716
+ - Tests: ✓ passing
717
+ - Lint: ✓ clean
718
+ - Types: ✓ valid
719
+ - Build: ✓ success
720
+
721
+ Final review:
722
+ - Status: ✓ passed
723
+ - Artifact: reviews/final-review-{date}.md
724
+
725
+ Next: Create PR or run the oat-project-pr-final skill (when available)
726
+ ```
727
+
728
+ ## Success Criteria
729
+
730
+ - All tasks executed in order
731
+ - TDD discipline followed
732
+ - Each task has a commit
733
+ - Implementation.md tracks all progress
734
+ - Final verification passes
735
+ - Final review passes (no Critical/Important findings)
736
+ - No unresolved blockers