@azure-id/orc 0.55.0

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 (449) hide show
  1. package/CHANGELOG.md +2017 -0
  2. package/README-id.md +521 -0
  3. package/README.md +485 -0
  4. package/bin/build-agents.js +86 -0
  5. package/bin/cli.js +29050 -0
  6. package/bin/mockrun-catalog.js +267 -0
  7. package/bin/onboarding-content.js +172 -0
  8. package/bin/pricing.json +200 -0
  9. package/bin/providers.json +437 -0
  10. package/bin/ui.js +95 -0
  11. package/bin/verify-contracts.js +3277 -0
  12. package/bin/verify-package.js +498 -0
  13. package/bin/webui/api.js +1163 -0
  14. package/bin/webui/app.html +198 -0
  15. package/bin/webui/css/00-tokens.css +92 -0
  16. package/bin/webui/css/01-base.css +42 -0
  17. package/bin/webui/css/02-shell.css +103 -0
  18. package/bin/webui/css/03-components.css +462 -0
  19. package/bin/webui/css/04-motion.css +91 -0
  20. package/bin/webui/css/05-tour.css +100 -0
  21. package/bin/webui/css/06-responsive.css +108 -0
  22. package/bin/webui/css/panels/boundary.css +26 -0
  23. package/bin/webui/css/panels/challenge.css +151 -0
  24. package/bin/webui/css/panels/crosslink.css +194 -0
  25. package/bin/webui/css/panels/docs.css +254 -0
  26. package/bin/webui/css/panels/experiment.css +23 -0
  27. package/bin/webui/css/panels/extra.css +536 -0
  28. package/bin/webui/css/panels/flow.css +177 -0
  29. package/bin/webui/css/panels/handoff.css +67 -0
  30. package/bin/webui/css/panels/knowledge.css +86 -0
  31. package/bin/webui/css/panels/learn.css +154 -0
  32. package/bin/webui/css/panels/maintenance.css +55 -0
  33. package/bin/webui/css/panels/mockrun.css +268 -0
  34. package/bin/webui/css/panels/overview.css +100 -0
  35. package/bin/webui/css/panels/pact.css +43 -0
  36. package/bin/webui/css/panels/runs.css +105 -0
  37. package/bin/webui/css/panels/settings.css +227 -0
  38. package/bin/webui/css/panels/stats.css +87 -0
  39. package/bin/webui/fixtures/boundary.js +92 -0
  40. package/bin/webui/fixtures/challenge.js +825 -0
  41. package/bin/webui/fixtures/crosslink.js +31 -0
  42. package/bin/webui/fixtures/docs.js +982 -0
  43. package/bin/webui/fixtures/extra.js +1934 -0
  44. package/bin/webui/fixtures/flow.js +81 -0
  45. package/bin/webui/fixtures/handoff.js +35 -0
  46. package/bin/webui/fixtures/index.js +486 -0
  47. package/bin/webui/fixtures/knowledge.js +291 -0
  48. package/bin/webui/fixtures/maintenance.js +42 -0
  49. package/bin/webui/fixtures/mockrun.js +36 -0
  50. package/bin/webui/fixtures/pact.js +111 -0
  51. package/bin/webui/fixtures/runs.js +109 -0
  52. package/bin/webui/fixtures/settings.js +78 -0
  53. package/bin/webui/fixtures/shell.js +48 -0
  54. package/bin/webui/fixtures/stats.js +104 -0
  55. package/bin/webui/i18n/TERMS.md +134 -0
  56. package/bin/webui/i18n/en/banner.json +29 -0
  57. package/bin/webui/i18n/en/boundary.json +20 -0
  58. package/bin/webui/i18n/en/challenge.json +106 -0
  59. package/bin/webui/i18n/en/common.json +69 -0
  60. package/bin/webui/i18n/en/crosslink.json +69 -0
  61. package/bin/webui/i18n/en/docs.json +175 -0
  62. package/bin/webui/i18n/en/experiment.json +17 -0
  63. package/bin/webui/i18n/en/extra.json +313 -0
  64. package/bin/webui/i18n/en/flow.json +30 -0
  65. package/bin/webui/i18n/en/handoff.json +37 -0
  66. package/bin/webui/i18n/en/knowledge.json +141 -0
  67. package/bin/webui/i18n/en/learn.json +16 -0
  68. package/bin/webui/i18n/en/maintenance.json +52 -0
  69. package/bin/webui/i18n/en/mockrun.json +19 -0
  70. package/bin/webui/i18n/en/nav.json +19 -0
  71. package/bin/webui/i18n/en/overview.json +89 -0
  72. package/bin/webui/i18n/en/pact.json +36 -0
  73. package/bin/webui/i18n/en/runs.json +51 -0
  74. package/bin/webui/i18n/en/settings.json +49 -0
  75. package/bin/webui/i18n/en/stats.json +69 -0
  76. package/bin/webui/i18n/en/tour.json +33 -0
  77. package/bin/webui/i18n/id/banner.json +29 -0
  78. package/bin/webui/i18n/id/boundary.json +20 -0
  79. package/bin/webui/i18n/id/challenge.json +106 -0
  80. package/bin/webui/i18n/id/common.json +70 -0
  81. package/bin/webui/i18n/id/crosslink.json +69 -0
  82. package/bin/webui/i18n/id/docs.json +175 -0
  83. package/bin/webui/i18n/id/experiment.json +17 -0
  84. package/bin/webui/i18n/id/extra.json +313 -0
  85. package/bin/webui/i18n/id/flow.json +30 -0
  86. package/bin/webui/i18n/id/handoff.json +37 -0
  87. package/bin/webui/i18n/id/knowledge.json +141 -0
  88. package/bin/webui/i18n/id/learn.json +16 -0
  89. package/bin/webui/i18n/id/maintenance.json +52 -0
  90. package/bin/webui/i18n/id/mockrun.json +19 -0
  91. package/bin/webui/i18n/id/nav.json +19 -0
  92. package/bin/webui/i18n/id/overview.json +89 -0
  93. package/bin/webui/i18n/id/pact.json +36 -0
  94. package/bin/webui/i18n/id/runs.json +51 -0
  95. package/bin/webui/i18n/id/settings.json +49 -0
  96. package/bin/webui/i18n/id/stats.json +69 -0
  97. package/bin/webui/i18n/id/tour.json +33 -0
  98. package/bin/webui/js/00-core.js +115 -0
  99. package/bin/webui/js/01-i18n.js +149 -0
  100. package/bin/webui/js/02-ui.js +211 -0
  101. package/bin/webui/js/03-md.js +286 -0
  102. package/bin/webui/js/04-router.js +51 -0
  103. package/bin/webui/js/05-banners.js +172 -0
  104. package/bin/webui/js/06-edit.js +183 -0
  105. package/bin/webui/js/90-tour.js +488 -0
  106. package/bin/webui/js/91-shortcuts.js +126 -0
  107. package/bin/webui/js/99-boot.js +118 -0
  108. package/bin/webui/js/panels/boundary.js +104 -0
  109. package/bin/webui/js/panels/challenge.js +781 -0
  110. package/bin/webui/js/panels/crosslink.js +654 -0
  111. package/bin/webui/js/panels/docs.js +1338 -0
  112. package/bin/webui/js/panels/experiment.js +98 -0
  113. package/bin/webui/js/panels/extra.js +3011 -0
  114. package/bin/webui/js/panels/flow.js +297 -0
  115. package/bin/webui/js/panels/handoff.js +169 -0
  116. package/bin/webui/js/panels/knowledge.js +890 -0
  117. package/bin/webui/js/panels/learn.js +220 -0
  118. package/bin/webui/js/panels/maintenance.js +235 -0
  119. package/bin/webui/js/panels/mockrun.js +227 -0
  120. package/bin/webui/js/panels/overview.js +447 -0
  121. package/bin/webui/js/panels/pact.js +189 -0
  122. package/bin/webui/js/panels/runs.js +416 -0
  123. package/bin/webui/js/panels/settings.js +573 -0
  124. package/bin/webui/js/panels/stats.js +378 -0
  125. package/bin/webui/serve.js +557 -0
  126. package/mock-run/INDEX.md +106 -0
  127. package/mock-run/a-normal-day.md +587 -0
  128. package/mock-run/context-combiner.md +100 -0
  129. package/mock-run/extra-recovery.md +330 -0
  130. package/mock-run/extra-slots.md +177 -0
  131. package/mock-run/media/README.md +43 -0
  132. package/mock-run/orc-aftermath.md +392 -0
  133. package/mock-run/orc-boundary.md +356 -0
  134. package/mock-run/orc-brainstorm.md +177 -0
  135. package/mock-run/orc-budget.md +534 -0
  136. package/mock-run/orc-challenge-council.md +262 -0
  137. package/mock-run/orc-challenge.md +416 -0
  138. package/mock-run/orc-cli.md +200 -0
  139. package/mock-run/orc-diy.md +129 -0
  140. package/mock-run/orc-doc.md +448 -0
  141. package/mock-run/orc-explain.md +86 -0
  142. package/mock-run/orc-export.md +423 -0
  143. package/mock-run/orc-extra.md +392 -0
  144. package/mock-run/orc-fast.md +106 -0
  145. package/mock-run/orc-grill.md +151 -0
  146. package/mock-run/orc-handoff.md +480 -0
  147. package/mock-run/orc-pact.md +421 -0
  148. package/mock-run/orc-pattern.md +112 -0
  149. package/mock-run/orc-plan.md +108 -0
  150. package/mock-run/orc-pr-setup.md +126 -0
  151. package/mock-run/orc-quick.md +113 -0
  152. package/mock-run/orc-route.md +93 -0
  153. package/mock-run/orc-ui.md +125 -0
  154. package/mock-run/orc-ultra.md +103 -0
  155. package/mock-run/orc.md +157 -0
  156. package/mock-run/the-example-project.md +55 -0
  157. package/package.json +39 -0
  158. package/templates/agents/MODEL-MAPPING.md +168 -0
  159. package/templates/agents/orc-advisor-fable-5.md +50 -0
  160. package/templates/agents/orc-advisor-opus-5-xhigh.md +56 -0
  161. package/templates/agents/orc-analyst-fable-5.md +115 -0
  162. package/templates/agents/orc-analyze-mini-opus-5-med.md +60 -0
  163. package/templates/agents/orc-analyze-mini-sonnet-5-high.md +58 -0
  164. package/templates/agents/orc-challenge-advisor-opus-5-med.md +75 -0
  165. package/templates/agents/orc-challenge-contrarian-opus-5-high.md +110 -0
  166. package/templates/agents/orc-challenge-executor-opus-5-med.md +114 -0
  167. package/templates/agents/orc-challenge-expansionist-opus-5-med.md +112 -0
  168. package/templates/agents/orc-challenge-judge-opus-5-high.md +132 -0
  169. package/templates/agents/orc-challenge-outsider-opus-5-low.md +109 -0
  170. package/templates/agents/orc-challenge-principles-opus-5-high.md +109 -0
  171. package/templates/agents/orc-challenge-reader-opus-5-low.md +90 -0
  172. package/templates/agents/orc-claude-writer-opus-4-8-high.md +53 -0
  173. package/templates/agents/orc-claude-writer-opus-5-med.md +55 -0
  174. package/templates/agents/orc-context-combiner-opus-5-high.md +88 -0
  175. package/templates/agents/orc-doc-checker-opus-5-low.md +108 -0
  176. package/templates/agents/orc-doc-writer-opus-5-med.md +134 -0
  177. package/templates/agents/orc-executor-haiku-4-5.md +113 -0
  178. package/templates/agents/orc-executor-opus-4-7-high.md +114 -0
  179. package/templates/agents/orc-executor-opus-4-7-med.md +114 -0
  180. package/templates/agents/orc-executor-opus-4-8-high.md +114 -0
  181. package/templates/agents/orc-executor-opus-5-high.md +114 -0
  182. package/templates/agents/orc-executor-opus-5-low.md +114 -0
  183. package/templates/agents/orc-executor-opus-5-med.md +114 -0
  184. package/templates/agents/orc-executor-sonnet-4-6-high.md +114 -0
  185. package/templates/agents/orc-executor-sonnet-4-6-med.md +114 -0
  186. package/templates/agents/orc-executor-sonnet-5-high.md +114 -0
  187. package/templates/agents/orc-judge-fable-5.md +79 -0
  188. package/templates/agents/orc-judge-opus-5-xhigh.md +85 -0
  189. package/templates/agents/orc-learn-writer-opus-5-low.md +73 -0
  190. package/templates/agents/orc-pattern-codifier-opus-5-med.md +65 -0
  191. package/templates/agents/orc-pattern-codifier-sonnet-5-high.md +63 -0
  192. package/templates/agents/orc-planner-fable-5.md +152 -0
  193. package/templates/agents/orc-planner-mini-opus-5-med.md +69 -0
  194. package/templates/agents/orc-planner-mini-sonnet-5-high.md +67 -0
  195. package/templates/agents/orc-planner-opus-5-med.md +160 -0
  196. package/templates/agents/orc-retro-opus-5-med.md +73 -0
  197. package/templates/agents/orc-retro-sonnet-5-high.md +72 -0
  198. package/templates/agents/orc-reviewer-fable-5.md +57 -0
  199. package/templates/agents/orc-reviewer-opus-5-med.md +60 -0
  200. package/templates/agents/orc-scout-opus-5-low.md +40 -0
  201. package/templates/agents/orc-scout-sonnet-4-6-high.md +39 -0
  202. package/templates/agents/orc-system-analyst-opus-5-high.md +120 -0
  203. package/templates/agents/orc-test-author-opus-5-med.md +71 -0
  204. package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -0
  205. package/templates/agents/orc-verifier-opus-5-med.md +69 -0
  206. package/templates/agents/orc-wiki-scanner-opus-4-8-high.md +79 -0
  207. package/templates/agents/orc-wiki-scanner-opus-5-med.md +81 -0
  208. package/templates/agents/orc-wiki-scanner-sonnet-5-high.md +106 -0
  209. package/templates/commands/orc-aftermath.md +49 -0
  210. package/templates/commands/orc-analyze.md +21 -0
  211. package/templates/commands/orc-boundary.md +46 -0
  212. package/templates/commands/orc-brainstorm.md +51 -0
  213. package/templates/commands/orc-budget.md +54 -0
  214. package/templates/commands/orc-challenge.md +58 -0
  215. package/templates/commands/orc-claude.md +14 -0
  216. package/templates/commands/orc-diy.md +13 -0
  217. package/templates/commands/orc-doc.md +128 -0
  218. package/templates/commands/orc-explain.md +20 -0
  219. package/templates/commands/orc-export.md +46 -0
  220. package/templates/commands/orc-fast.md +15 -0
  221. package/templates/commands/orc-grill.md +40 -0
  222. package/templates/commands/orc-handoff.md +52 -0
  223. package/templates/commands/orc-learn.md +17 -0
  224. package/templates/commands/orc-mini.md +12 -0
  225. package/templates/commands/orc-pact.md +44 -0
  226. package/templates/commands/orc-pattern.md +15 -0
  227. package/templates/commands/orc-plan.md +22 -0
  228. package/templates/commands/orc-poly.md +21 -0
  229. package/templates/commands/orc-pr-driver.md +30 -0
  230. package/templates/commands/orc-pr-setup.md +31 -0
  231. package/templates/commands/orc-quick.md +33 -0
  232. package/templates/commands/orc-retro.md +17 -0
  233. package/templates/commands/orc-route.md +41 -0
  234. package/templates/commands/orc-ultra.md +17 -0
  235. package/templates/commands/orc-verify.md +11 -0
  236. package/templates/commands/orc-wiki.md +42 -0
  237. package/templates/commands/orc.md +16 -0
  238. package/templates/hooks/orc-effort-guard.js +178 -0
  239. package/templates/hooks/orc-statusline.js +305 -0
  240. package/templates/hooks/orc-trace.js +471 -0
  241. package/templates/hooks/orc-update-lib.js +125 -0
  242. package/templates/skills/_shared/README.md +50 -0
  243. package/templates/skills/_shared/detecting-artifacts.md +90 -0
  244. package/templates/skills/_shared/drift-recovery.md +98 -0
  245. package/templates/skills/_shared/extra-dispatch.md +1051 -0
  246. package/templates/skills/_shared/fable5-override.md +56 -0
  247. package/templates/skills/_shared/fallback-handoff.md +42 -0
  248. package/templates/skills/_shared/gh-stack-commands.md +65 -0
  249. package/templates/skills/_shared/gotchas.md +177 -0
  250. package/templates/skills/_shared/interview.md +144 -0
  251. package/templates/skills/_shared/lane-suspend.md +82 -0
  252. package/templates/skills/_shared/opus5-only.md +131 -0
  253. package/templates/skills/_shared/pr-templates.md +106 -0
  254. package/templates/skills/_shared/read-ladder.md +54 -0
  255. package/templates/skills/_shared/return-validation.md +145 -0
  256. package/templates/skills/_shared/smoke-gate.md +28 -0
  257. package/templates/skills/_shared/stack-plan.md +135 -0
  258. package/templates/skills/_shared/untrusted-input.md +63 -0
  259. package/templates/skills/context-combiner/SKILL.md +187 -0
  260. package/templates/skills/context-combiner/schemas/combined-report.md +78 -0
  261. package/templates/skills/context-combiner/schemas/combined-requirement-spec.md +87 -0
  262. package/templates/skills/orc/README.md +150 -0
  263. package/templates/skills/orc/SKILL.md +526 -0
  264. package/templates/skills/orc/config.md +389 -0
  265. package/templates/skills/orc/examples/full-run-mock.md +73 -0
  266. package/templates/skills/orc/references/analyst-gates.md +124 -0
  267. package/templates/skills/orc/references/effort-and-mode.md +224 -0
  268. package/templates/skills/orc/references/house-rules.md +20 -0
  269. package/templates/skills/orc/references/intake.md +120 -0
  270. package/templates/skills/orc/references/log-protocol.md +39 -0
  271. package/templates/skills/orc/references/pattern-gate.md +89 -0
  272. package/templates/skills/orc/references/plan-handoff.md +84 -0
  273. package/templates/skills/orc/references/preflight-report.md +220 -0
  274. package/templates/skills/orc/references/security-checklist.md +39 -0
  275. package/templates/skills/orc/references/stop-and-resume.md +160 -0
  276. package/templates/skills/orc/references/trace-protocol.md +314 -0
  277. package/templates/skills/orc/references/ultra-mode.md +123 -0
  278. package/templates/skills/orc/references/wave-grouping.md +121 -0
  279. package/templates/skills/orc/references/wiki-consult.md +177 -0
  280. package/templates/skills/orc/schemas/checkpoint.md +122 -0
  281. package/templates/skills/orc/schemas/intent-spec.md +42 -0
  282. package/templates/skills/orc/schemas/planning-output.md +279 -0
  283. package/templates/skills/orc/subskills/orc-checkpoint/SKILL.md +55 -0
  284. package/templates/skills/orc/subskills/orc-execution/SKILL.md +72 -0
  285. package/templates/skills/orc/subskills/orc-execution/core.md +151 -0
  286. package/templates/skills/orc/subskills/orc-execution/subagent.md +13 -0
  287. package/templates/skills/orc/subskills/orc-planner/SKILL.md +264 -0
  288. package/templates/skills/orc/subskills/orc-planner-mini/SKILL.md +121 -0
  289. package/templates/skills/orc/subskills/orc-pr/SKILL.md +51 -0
  290. package/templates/skills/orc/subskills/orc-pr/pr.md +22 -0
  291. package/templates/skills/orc/subskills/orc-pr/stack-gate.md +108 -0
  292. package/templates/skills/orc/subskills/orc-review-verify/SKILL.md +76 -0
  293. package/templates/skills/orc/subskills/orc-review-verify/core.md +135 -0
  294. package/templates/skills/orc/subskills/orc-review-verify/subagent.md +7 -0
  295. package/templates/skills/orc/subskills/orc-testgen/SKILL.md +45 -0
  296. package/templates/skills/orc/subskills/orc-testgen/core.md +59 -0
  297. package/templates/skills/orc/subskills/orc-testgen/subagent.md +7 -0
  298. package/templates/skills/orc-advisor/SKILL.md +60 -0
  299. package/templates/skills/orc-aftermath/SKILL.md +136 -0
  300. package/templates/skills/orc-aftermath/references/report.md +95 -0
  301. package/templates/skills/orc-analyze/SKILL.md +220 -0
  302. package/templates/skills/orc-analyze/examples/analyze-mock.md +42 -0
  303. package/templates/skills/orc-analyze/references/branching.md +51 -0
  304. package/templates/skills/orc-analyze/references/deep-mode.md +27 -0
  305. package/templates/skills/orc-analyze/references/thin-input.md +77 -0
  306. package/templates/skills/orc-analyze/schemas/report-audit.md +83 -0
  307. package/templates/skills/orc-analyze/schemas/report-prose.md +63 -0
  308. package/templates/skills/orc-analyze/schemas/report-requirement.md +78 -0
  309. package/templates/skills/orc-analyze/schemas/requirement-spec.md +77 -0
  310. package/templates/skills/orc-analyze-mini/SKILL.md +112 -0
  311. package/templates/skills/orc-analyze-mini/examples/quick-analysis-mock.md +31 -0
  312. package/templates/skills/orc-boundary/SKILL.md +208 -0
  313. package/templates/skills/orc-boundary/references/card.md +78 -0
  314. package/templates/skills/orc-boundary/references/gate.md +113 -0
  315. package/templates/skills/orc-brainstorm/SKILL.md +339 -0
  316. package/templates/skills/orc-brainstorm/references/brainstorm-doc.md +133 -0
  317. package/templates/skills/orc-brainstorm/references/lenses.md +152 -0
  318. package/templates/skills/orc-budget/SKILL.md +225 -0
  319. package/templates/skills/orc-budget/references/corpus.md +87 -0
  320. package/templates/skills/orc-challenge/README.md +142 -0
  321. package/templates/skills/orc-challenge/SKILL.md +255 -0
  322. package/templates/skills/orc-challenge/examples/code-module.md +110 -0
  323. package/templates/skills/orc-challenge/examples/council-full-roster.md +273 -0
  324. package/templates/skills/orc-challenge/examples/tsd-two-iterations.md +213 -0
  325. package/templates/skills/orc-challenge/references/conservation.md +107 -0
  326. package/templates/skills/orc-challenge/references/council.md +315 -0
  327. package/templates/skills/orc-challenge/references/cycle-state.md +185 -0
  328. package/templates/skills/orc-challenge/references/dimensions.md +121 -0
  329. package/templates/skills/orc-challenge/references/fix-brief.md +130 -0
  330. package/templates/skills/orc-challenge/references/intake.md +171 -0
  331. package/templates/skills/orc-challenge/references/kinds.md +44 -0
  332. package/templates/skills/orc-challenge/references/plain-english.md +98 -0
  333. package/templates/skills/orc-challenge/references/rubric.md +109 -0
  334. package/templates/skills/orc-challenge/references/sealed-slice.md +97 -0
  335. package/templates/skills/orc-challenge/references/verdict-doc.md +154 -0
  336. package/templates/skills/orc-claude/SKILL.md +199 -0
  337. package/templates/skills/orc-claude/examples/claude-run-mock.md +65 -0
  338. package/templates/skills/orc-claude/references/refresh.md +76 -0
  339. package/templates/skills/orc-claude/references/template.md +109 -0
  340. package/templates/skills/orc-diy/README.md +142 -0
  341. package/templates/skills/orc-diy/SKILL.md +70 -0
  342. package/templates/skills/orc-diy/references/blocks/analyze.md +24 -0
  343. package/templates/skills/orc-diy/references/blocks/execution.md +42 -0
  344. package/templates/skills/orc-diy/references/blocks/extra.md +55 -0
  345. package/templates/skills/orc-diy/references/blocks/header.md +55 -0
  346. package/templates/skills/orc-diy/references/blocks/mock-example.md +22 -0
  347. package/templates/skills/orc-diy/references/blocks/pattern.md +18 -0
  348. package/templates/skills/orc-diy/references/blocks/planning.md +34 -0
  349. package/templates/skills/orc-diy/references/blocks/review.md +18 -0
  350. package/templates/skills/orc-diy/references/blocks/scoring.md +16 -0
  351. package/templates/skills/orc-diy/references/blocks/security.md +25 -0
  352. package/templates/skills/orc-diy/references/blocks/ship.md +25 -0
  353. package/templates/skills/orc-diy/references/blocks/summary.md +18 -0
  354. package/templates/skills/orc-diy/references/blocks/testgen.md +17 -0
  355. package/templates/skills/orc-diy/references/blocks/trace.md +28 -0
  356. package/templates/skills/orc-diy/references/blocks/verify.md +25 -0
  357. package/templates/skills/orc-diy/references/blocks/wiki.md +26 -0
  358. package/templates/skills/orc-diy/references/compile.md +59 -0
  359. package/templates/skills/orc-diy/references/flow-schema.md +100 -0
  360. package/templates/skills/orc-diy/references/locked-blocks.md +37 -0
  361. package/templates/skills/orc-doc/README.md +229 -0
  362. package/templates/skills/orc-doc/SKILL.md +444 -0
  363. package/templates/skills/orc-doc/examples/orc-doc-prd-run.md +325 -0
  364. package/templates/skills/orc-doc/references/chunking.md +527 -0
  365. package/templates/skills/orc-doc/references/gates.md +311 -0
  366. package/templates/skills/orc-doc/references/generation-rules.md +122 -0
  367. package/templates/skills/orc-doc/references/house-rules.md +170 -0
  368. package/templates/skills/orc-doc/references/import-targets.md +40 -0
  369. package/templates/skills/orc-doc/references/plain-language.md +66 -0
  370. package/templates/skills/orc-doc/references/portable-markdown.md +74 -0
  371. package/templates/skills/orc-doc/references/resume-protocol.md +228 -0
  372. package/templates/skills/orc-doc/references/templates/collaboration.md +118 -0
  373. package/templates/skills/orc-doc/references/templates/prd.md +133 -0
  374. package/templates/skills/orc-doc/references/templates/report.md +102 -0
  375. package/templates/skills/orc-doc/references/templates/tsd.md +122 -0
  376. package/templates/skills/orc-doc/references/templates/workflow.md +112 -0
  377. package/templates/skills/orc-explain/SKILL.md +57 -0
  378. package/templates/skills/orc-export/SKILL.md +154 -0
  379. package/templates/skills/orc-fast/SKILL.md +188 -0
  380. package/templates/skills/orc-grill/SKILL.md +207 -0
  381. package/templates/skills/orc-grill/references/grill-doc.md +105 -0
  382. package/templates/skills/orc-handoff/SKILL.md +204 -0
  383. package/templates/skills/orc-handoff/references/handoff-log.md +67 -0
  384. package/templates/skills/orc-handoff/references/surfaces.md +88 -0
  385. package/templates/skills/orc-judge/SKILL.md +82 -0
  386. package/templates/skills/orc-learn/SKILL.md +156 -0
  387. package/templates/skills/orc-learn/examples/learn-run-mock.md +61 -0
  388. package/templates/skills/orc-learn/references/deepen.md +70 -0
  389. package/templates/skills/orc-learn/references/refresh.md +65 -0
  390. package/templates/skills/orc-learn/references/template-knowledge.md +83 -0
  391. package/templates/skills/orc-learn/references/template-learning.md +67 -0
  392. package/templates/skills/orc-mini/SKILL.md +226 -0
  393. package/templates/skills/orc-mini/examples/mini-run-mock.md +50 -0
  394. package/templates/skills/orc-pact/SKILL.md +218 -0
  395. package/templates/skills/orc-pact/references/gate.md +70 -0
  396. package/templates/skills/orc-pact/references/ledger.md +99 -0
  397. package/templates/skills/orc-pattern/SKILL.md +124 -0
  398. package/templates/skills/orc-pattern/references/INDEX.md +73 -0
  399. package/templates/skills/orc-pattern/references/be-django.md +80 -0
  400. package/templates/skills/orc-pattern/references/be-express.md +82 -0
  401. package/templates/skills/orc-pattern/references/be-fastapi.md +107 -0
  402. package/templates/skills/orc-pattern/references/be-go.md +96 -0
  403. package/templates/skills/orc-pattern/references/be-nestjs.md +86 -0
  404. package/templates/skills/orc-pattern/references/be-postgres.md +98 -0
  405. package/templates/skills/orc-pattern/references/fe-a11y.md +36 -0
  406. package/templates/skills/orc-pattern/references/fe-angular.md +87 -0
  407. package/templates/skills/orc-pattern/references/fe-nextjs.md +65 -0
  408. package/templates/skills/orc-pattern/references/fe-perf.md +39 -0
  409. package/templates/skills/orc-pattern/references/fe-react.md +83 -0
  410. package/templates/skills/orc-pattern/references/fe-vue.md +75 -0
  411. package/templates/skills/orc-pattern/schemas/pattern-doc.md +62 -0
  412. package/templates/skills/orc-poly/SKILL.md +216 -0
  413. package/templates/skills/orc-poly/examples/poly-run-mock.md +51 -0
  414. package/templates/skills/orc-poly/references/gather.md +70 -0
  415. package/templates/skills/orc-poly/references/poly-spec.md +84 -0
  416. package/templates/skills/orc-pr-driver/README.md +349 -0
  417. package/templates/skills/orc-pr-driver/SKILL.md +167 -0
  418. package/templates/skills/orc-pr-driver/references/conflict-playbook.md +78 -0
  419. package/templates/skills/orc-pr-driver/references/green-gate.md +105 -0
  420. package/templates/skills/orc-pr-driver/references/orc-run-split.md +99 -0
  421. package/templates/skills/orc-pr-setup/README.md +436 -0
  422. package/templates/skills/orc-pr-setup/SKILL.md +184 -0
  423. package/templates/skills/orc-pr-setup/references/certainty-gate.md +66 -0
  424. package/templates/skills/orc-pr-setup/references/layer-taxonomy.md +67 -0
  425. package/templates/skills/orc-quick/README.md +423 -0
  426. package/templates/skills/orc-quick/SKILL.md +306 -0
  427. package/templates/skills/orc-quick/references/context-doc.md +114 -0
  428. package/templates/skills/orc-quick/references/dispatch-gate.md +163 -0
  429. package/templates/skills/orc-quick/references/gh-mode.md +127 -0
  430. package/templates/skills/orc-retro/SKILL.md +222 -0
  431. package/templates/skills/orc-retro/examples/retro-mock.md +171 -0
  432. package/templates/skills/orc-route/SKILL.md +165 -0
  433. package/templates/skills/orc-verify/SKILL.md +86 -0
  434. package/templates/skills/orc-verify/examples/verify-mock.md +33 -0
  435. package/templates/skills/orc-wiki/README.md +325 -0
  436. package/templates/skills/orc-wiki/SKILL.md +322 -0
  437. package/templates/skills/orc-wiki/examples/wiki-run-mock.md +37 -0
  438. package/templates/skills/orc-wiki/references/claude-md-injection.md +61 -0
  439. package/templates/skills/orc-wiki/references/crosslink-compile.md +39 -0
  440. package/templates/skills/orc-wiki/references/crosslink-kinds.md +57 -0
  441. package/templates/skills/orc-wiki/references/crosslink.md +284 -0
  442. package/templates/skills/orc-wiki/references/extra.md +79 -0
  443. package/templates/skills/orc-wiki/references/integrity-check.md +86 -0
  444. package/templates/skills/orc-wiki/references/orientation.md +51 -0
  445. package/templates/skills/orc-wiki/references/partial-refresh.md +203 -0
  446. package/templates/skills/orc-wiki/references/pattern-prewarm.md +19 -0
  447. package/templates/skills/orc-wiki/references/staleness.md +288 -0
  448. package/templates/skills/orc-wiki/schemas/crosslink-tag.md +166 -0
  449. package/templates/skills/orc-wiki/schemas/wiki-doc.md +120 -0
@@ -0,0 +1,187 @@
1
+ ---
2
+ name: context-combiner
3
+ description: >
4
+ Combines 2+ RELATED, already-confirmed ORC analyses (from orc-analyze) into
5
+ ONE merged, deduped, conflict-resolved requirement context before build. Use
6
+ when the user analyzed multiple related documents within the same scope and
7
+ chose "pass to context-combiner" at orc-analyze's Phase F. Verifies the source
8
+ analyses actually overlap (shared files/requirements/scope) and challenges the
9
+ user if they look unrelated; pools ALL source requirements into one table and
10
+ reconciles them (exact/semantic duplicates, partial overlaps split — never
11
+ collapsed, conflicts, ordering) one issue at a time; proves NOTHING WAS LOST
12
+ via a source coverage matrix and a 100% coverage gate before handoff;
13
+ spot-checks inherited evidence and marks stale anchors; writes
14
+ combined-report.md + combined-requirement-spec.md (the merged spec reuses the
15
+ requirement-spec schema, so the planner/build pipeline is unchanged). Full
16
+ lane only (Opus 5 high). The orchestrator DISPATCHES this to a subagent —
17
+ it never combines itself, and the combiner never builds or spawns subagents.
18
+ ---
19
+
20
+ # CONTEXT-COMBINER
21
+
22
+ The orchestrator stays on top and **dispatches a Context Combiner subagent
23
+ (orc-context-combiner-opus-5-high)** with a list of 2+ confirmed analysis
24
+ spec paths. It never combines itself. The combiner merges related, ALREADY
25
+ code-grounded analyses — it does not re-analyze the repo from scratch.
26
+
27
+ Purpose: turn 2+ related, confirmed requirement-specs (same user scope) into ONE
28
+ merged, deduped, conflict-resolved requirement set a planner can build from as if
29
+ it were a single analysis — with PROOF that no source requirement was lost.
30
+
31
+ ## Hard rules
32
+
33
+ 1. **Dispatched, not self-run.** The orchestrator coordinates; the Combiner
34
+ subagent (Opus 5 high) reads the specs and reconciles them against each
35
+ other. The combiner NEVER builds and NEVER spawns subagents.
36
+ 2. **Related only — verify + challenge.** The user asserted relatedness at the
37
+ Phase F gate, but the combiner MUST verify real overlap (shared files,
38
+ overlapping requirements, shared scope). If overlap is weak/empty, it
39
+ challenges: "combine anyway / keep separate" — and records the decision.
40
+ 3. **Trust confirmed sources — but spot-check freshness.** Source specs are
41
+ already code-grounded with evidence. The combiner INHERITS their `file:line`
42
+ evidence — it does not re-derive the code. It only reconciles the specs
43
+ against EACH OTHER, plus ONE bounded freshness pass: for each inherited
44
+ anchor, confirm the file still exists and the line still plausibly matches
45
+ (Read just that region — never a re-analysis). A failed check marks the row's
46
+ evidence `STALE` — never silently carried. STALE evidence on a buildable
47
+ requirement becomes a Phase D challenge (re-anchor / proceed anyway / drop).
48
+ Record the repo state checked against as `combined_against` (git HEAD short
49
+ sha) in both artifacts.
50
+ 4. **Resolve conflicts one at a time.** Every cross-source conflict, duplicate,
51
+ and ordering dependency is raised as a 2–3 option challenge with ONE
52
+ **recommended** option + a one-line reason. Wait, record, continue. Never
53
+ batch. Keep asking until the combined context is clear (no open conflict).
54
+ 5. **Conservation — nothing is lost, and you must prove it.** Every source
55
+ requirement ID gets EXACTLY ONE outcome in the Source coverage matrix
56
+ (merged / deduped-into / split-across / conflict-resolved / dropped).
57
+ `dropped` is legal ONLY with a recorded user decision from a Phase D
58
+ challenge. **When in doubt, keep both rows** — a redundant requirement costs
59
+ the planner a dedupe; a lost one costs the build a feature. The conservation
60
+ gate (Phase E) blocks artifact handoff until `coverage_pct` is 100.
61
+ 6. **Two artifacts, spec derived from report.** `combined-report.md` (human,
62
+ source of truth) and `combined-requirement-spec.md` DERIVED from it (schemas/).
63
+ 7. **Never build on unresolved.** If a conflict is left unresolved, record it as
64
+ an open question and refuse handoff to build until it is resolved.
65
+ 8. **Checkpoint decisions eagerly.** Every challenge verdict is appended to
66
+ `combine-decisions.md` in the internal folder THE MOMENT it is given
67
+ (question, options, choice, timestamp). On resume/compaction, replay that
68
+ file and continue from the first unanswered item — never re-ask a recorded
69
+ decision, never lose one.
70
+ 9. Usage: report handoff + remind the user to run `/usage`. Never invoke it.
71
+ 10. **Never open a run of your own.** The combiner has no slash command; it is
72
+ always dispatched from `orc-analyze` Phase F while that run's trace is still
73
+ open. So: do NOT write `log_dir/.current`, do NOT create a trace file, do
74
+ NOT emit `FINISH`. Your `DISPATCH`/`RETURN`, every Phase D verdict and the
75
+ Phase E conservation result belong to the **dispatching lane's** end-of-run
76
+ packet — the hook segments your work as its own `PHASE-EDGE` family
77
+ (`combine`) inside that same file. Bootstrapping here would split the
78
+ analyze run across two files and invent a lane nothing can open. See
79
+ `../orc/references/trace-protocol.md`.
80
+
81
+ ## Phase A — Load sources
82
+ Read every source `requirement-spec.md` (2+) the orchestrator hands you, plus
83
+ their reports. Confirm you have ≥2. Note each source's scope, mode, depth.
84
+ Record `combined_against` = current git HEAD short sha.
85
+ **Scale guard:** if sources > 4, warn that merge quality and token cost degrade
86
+ and offer staged combining (combine the two most related first, then fold in
87
+ the next against the combined result). Record the choice in
88
+ `combine-decisions.md`.
89
+
90
+ ## Phase B — Verify relatedness
91
+ Compute overlap across sources:
92
+ - shared `files[]` between specs,
93
+ - overlapping/duplicate requirement statements,
94
+ - shared scope string.
95
+ If overlap is strong → proceed. If weak/empty → CHALLENGE (recommended-option):
96
+ "These share {N} files / no overlapping requirements — combine anyway
97
+ (recommended only if you're sure) or keep separate?" Record the verdict in the
98
+ report's Relatedness check. If the user chooses **keep separate**, STOP the run:
99
+ do NOT proceed to Phase C or write any `combined-*` artifact — return to the
100
+ orchestrator with `combined: false` (the analyses stay separate; the orchestrator
101
+ falls back to per-analysis stop/build).
102
+
103
+ ## Phase C — Pool, then reconcile
104
+
105
+ **C.0 — Pool first, never pairwise.** Normalize ALL source requirements into ONE
106
+ pooled table (`source_id` e.g. A.R1, statement, files, evidence, depth of its
107
+ source). Then cluster pooled rows by shared files/behavior and detect issues
108
+ WITHIN clusters. This scales to N sources — pairwise comparison misses
109
+ three-way interactions and is forbidden.
110
+
111
+ **C.1 — Classify every cluster:**
112
+ - **EXACT-DUPLICATE** — same requirement, same wording → merge into one row,
113
+ tracking `from: [A.Rx, B.Ry]`.
114
+ - **SEMANTIC-DUPLICATE** — same effect, different wording → merge, but QUOTE
115
+ both original statements in the report so intent nuance isn't erased. If the
116
+ equivalence is not obvious, it's a Phase D challenge, not a silent merge.
117
+ - **PARTIAL-OVERLAP** — one requirement subsumes or intersects another →
118
+ **SPLIT into a shared row + residue row(s)**; never collapse. Residue rows
119
+ keep their own `from[]` and evidence. Ambiguous splits are Phase D challenges.
120
+ - **CONFLICT** — source A and source B require contradictory things on the same
121
+ file/behavior.
122
+ - **ORDERING** — one source depends on another's change existing first. Record
123
+ as structured pairs (`before` / `after` merged IDs), not free text.
124
+
125
+ **C.2 — Reconcile beyond requirements.** Cross-check `assumptions_resolved` and
126
+ `alternatives` across sources too: contradictory resolved assumptions are a
127
+ CONFLICT (Phase D); alternatives anchored to a merged/split requirement are
128
+ re-pointed at the merged ID.
129
+
130
+ **C.3 — Evidence freshness spot-check** (per Hard rule 3): verify each inherited
131
+ anchor still exists; mark failures `STALE`.
132
+
133
+ Anything ambiguous becomes a Phase D challenge.
134
+
135
+ ## Phase D — Challenge (interactive, recommended options, one at a time)
136
+ For every CONFLICT / ambiguous DUPLICATE or PARTIAL-OVERLAP split / ORDERING
137
+ decision / STALE-evidence-on-buildable / proposed drop, ask a single focused
138
+ 2–3 option question with ONE **recommended** option + a one-line reason. Wait,
139
+ record, continue. Never batch. Append every verdict to `combine-decisions.md`
140
+ immediately (Hard rule 8). Keep going until nothing is unresolved.
141
+
142
+ ## Phase E — Conservation gate (before any artifact is written)
143
+ Build the **Source coverage matrix**: one row per source requirement ID with
144
+ exactly one Outcome — `merged → #N` / `deduped-into → #N` / `split-across →
145
+ #N,#M` / `conflict-resolved → #N` / `dropped (user decision ref)`. Then check:
146
+ - every source ID appears exactly once (no unaccounted IDs, no double-counting),
147
+ - the union of `from[]` across merged rows equals the non-dropped source set,
148
+ - every `dropped` row cites a recorded decision in `combine-decisions.md`.
149
+ `coverage_pct` = accounted source IDs / total source IDs × 100. If it is not
150
+ 100 → fix the merge (or raise the missing challenge), do NOT proceed.
151
+ `handoff_ready` = (`coverage_pct` == 100) AND (no open conflict).
152
+
153
+ ## Phase F — Write combined artifacts
154
+ 1. Write `combined-report.md` (schemas/combined-report.md) into
155
+ `.claude/skills/orc/analyzer/combined-{name}/` (internal): Relatedness check,
156
+ Merged requirements (deduped, ordered, evidence inherited, STALE flagged,
157
+ `depth_from` when sources differ in depth), **Source coverage matrix**
158
+ (Phase E), **Additional context (do not build)** merged from the sources
159
+ (anchors re-pointed at the merged requirement; dedupe ONLY when the evidence
160
+ anchor is the same `file:line` AND the notes convey the same constraint —
161
+ otherwise keep both; non-actionable, omit if none), Cross-scope conflicts &
162
+ decisions, Open questions, Handoff readiness.
163
+ 2. Derive `combined-requirement-spec.md` (schemas/combined-requirement-spec.md)
164
+ FROM the confirmed combined report, in the same internal folder. Reuse the
165
+ base requirement-spec shape + `combined_from`, `cross_scope`, and the
166
+ `coverage` block.
167
+
168
+ ## Phase G — Return & branch
169
+ Return to the orchestrator: `combined_report_path`, `combined_spec_path`,
170
+ `combined_from[]`, `conflicts_resolved[]`, `coverage_pct`, `dropped[]`
171
+ (source IDs dropped by user decision), `stale_evidence[]` (rows flagged STALE),
172
+ `handoff_ready: bool` (open/unresolved items are NOT a return field — they live
173
+ in the report's Open questions section, reachable via `combined_report_path`).
174
+ The orchestrator then offers the user (plain language):
175
+ - **Stop here** → COPY `combined-report.md` OUT to `{report_out_dir}/combined-{name}/`
176
+ and stop.
177
+ - **Pass to orc build** → hand `combined-requirement-spec.md` back to the
178
+ orchestrator, which continues at Phase 1 (Requirement Planner) and runs the
179
+ full pipeline. The combiner NEVER builds directly.
180
+
181
+ **Gate the build option on `handoff_ready`:** if `handoff_ready` is false (an
182
+ unresolved conflict remains per Hard rule 7, or `coverage_pct` < 100 per Hard
183
+ rule 5), the orchestrator offers ONLY **Stop here** — the build option is
184
+ withheld until the open conflict is resolved and coverage is complete.
185
+
186
+ ## No mini variant
187
+ Full lane only. `orc-analyze-mini` / `orc-mini` do not use the combiner.
@@ -0,0 +1,78 @@
1
+ # Template — Combined Analysis Report
2
+
3
+ Human-readable source of truth for a MERGE of 2+ related analyses. Written to
4
+ orc/analyzer/combined-{name}/combined-report.md. Copied OUT to
5
+ {report_out_dir}/combined-{name}/ on "stop here".
6
+
7
+ ```markdown
8
+ # Combined Analysis Report — {combined-name}
9
+ kind: combined
10
+ combined_from: [analysis-A, analysis-B, ...] # source analysis names
11
+ scope: <the shared scope X these analyses live in>
12
+ combined_at: DDMMYY HH:MM:SS
13
+ combined_against: <git HEAD short sha the evidence spot-check ran against>
14
+ model: opus-5-high # the RESOLVED model of the combiner that produced
15
+ # this — never copied from here
16
+
17
+ ## Relatedness check
18
+ How the source analyses overlap — shared files, overlapping requirements,
19
+ shared scope. If overlap was weak, the user was challenged and their decision
20
+ is recorded here.
21
+ - Shared files: web/reports/x (analysis-A R1, analysis-B R2)
22
+ - Overlapping requirement: both add export to the reports module
23
+ - Verdict: related (confirmed) | combined-anyway (user override) | ...
24
+
25
+ ## Merged requirements (deduped, ordered)
26
+ Every row carries file:line evidence inherited from the source spec (the
27
+ combiner trusts confirmed specs; it does not re-derive the code) — spot-checked
28
+ against `combined_against`; anchors that no longer match are marked STALE and
29
+ were challenged, never silently carried. SEMANTIC-DUPLICATE merges quote both
30
+ original statements. PARTIAL-OVERLAP rows are split (shared + residue), never
31
+ collapsed. `Depth` is shown when sources differ in depth.
32
+
33
+ | # | Requirement (merged) | From | Depth | Code reality | Evidence (file:line) | Files/modules | Status |
34
+ |---|----------------------|------|-------|--------------|----------------------|---------------|--------|
35
+ | 1 | "add CSV export" | A.R1 | deep | HTML only | web/reports/view.x:30 | web/reports/x | buildable |
36
+ | 2 | "reuse report auth" | A.R2, B.R3 (dedup) | standard | guard present | web/reports/routes.x:12 (STALE — user chose proceed) | web/reports/x | exists |
37
+
38
+ ## Source coverage matrix (conservation proof)
39
+ EVERY source requirement ID appears exactly once with exactly one Outcome.
40
+ `dropped` requires a recorded user decision in combine-decisions.md. The gate
41
+ below must show coverage_pct: 100 before this report can hand off to build.
42
+
43
+ | Source ID | Outcome | Merged as | Decision ref |
44
+ |-----------|---------|-----------|--------------|
45
+ | A.R1 | merged | #1 | — |
46
+ | A.R2 | deduped-into | #2 | — |
47
+ | B.R2 | conflict-resolved | #3 | combine-decisions.md #2 |
48
+ | B.R3 | deduped-into | #2 | — |
49
+ | B.R4 | dropped | — | combine-decisions.md #4 (user: superseded by A.R1) |
50
+
51
+ - source requirements total: {N} · accounted: {N} · coverage_pct: 100
52
+
53
+ ## Additional context (do not build)
54
+ Anchored, non-actionable context merged from the sources — each item re-pointed at
55
+ the merged requirement it serves. Dedupe ONLY when the evidence anchor is the same
56
+ file:line AND the notes convey the same constraint — near-identical notes are kept,
57
+ both, with their own From tags. Read for understanding; never a task. Omit this
58
+ whole section if no source carried context.
59
+ | Anchor (merged #) | From | From scope | Dependency | Touchpoint to respect | Evidence (file:line) |
60
+ |-------------------|------|-----------|------------|-----------------------|----------------------|
61
+ | 1 (CSV export) | A.ctx | reporting (Y) | consumes-output | report query already paginates; export must page too | web/reports/query.x:44 |
62
+
63
+ ## Cross-scope conflicts & decisions
64
+ Every conflict/duplicate/partial-overlap/ordering issue found across sources
65
+ (including contradictory resolved assumptions), each raised as a
66
+ recommended-option challenge and resolved. Decisions are also checkpointed
67
+ eagerly in combine-decisions.md.
68
+ - CONFLICT (resolved): A.R4 wants offset paging, B.R2 wants cursor — user chose cursor.
69
+ - DUPLICATE (merged): A.R2 and B.R3 both reuse auth — merged into #2.
70
+ - PARTIAL-OVERLAP (split): A.R5 subsumes B.R1 — shared row #4, A-only residue row #5.
71
+ - ORDERING (structured): before: #1 (A export) → after: #6 (B schedule).
72
+
73
+ ## Open questions (block handoff until resolved)
74
+ - (none) | UNRESOLVED: ... — combiner refuses build handoff while any remain.
75
+
76
+ ## Handoff readiness
77
+ - complete: yes/no (coverage_pct == 100, all conflicts resolved, no open UNRESOLVED)
78
+ ```
@@ -0,0 +1,87 @@
1
+ # Schema — Combined Requirement Spec (DERIVED from combined-report.md)
2
+
3
+ Machine projection of combined-report.md. A STRICT SUPERSET of the base
4
+ requirement-spec schema — every base field is present (so the planner consumes it
5
+ UNCHANGED, exactly like a single requirement-spec.md) — plus combine-only
6
+ additions: `combined_from`, `combined_against`, `cross_scope`, `coverage`,
7
+ `kind`, and `requirements[].from` / `requirements[].depth_from`.
8
+ Written to orc/analyzer/combined-{name}/combined-requirement-spec.md.
9
+
10
+ ```yaml
11
+ analysis_name: string # combined-{name}
12
+ kind: combined # ADDED: marks this as a merge (vs a single analysis)
13
+ combined_from: [string] # ADDED: source analysis names, e.g. [analysis-A, analysis-B]
14
+ combined_against: string # ADDED: git HEAD short sha the evidence spot-check ran against
15
+ mode: audit | prose | requirement | mixed # base enum + 'mixed' when sources differ
16
+ depth: standard | deep | mixed # base enum + 'mixed' when sources differ
17
+ source_doc: string | null # base field: null for combined (sources are in combined_from)
18
+ scope: string # base field: the shared scope X
19
+ grounding: repo-read | repo-read+scouts | from-system-analyst | from-source-specs
20
+ # base enum + 'from-source-specs'; combined always uses the latter
21
+ derived_from: combined-report.md
22
+ created_at: timestamp
23
+
24
+ requirements: # base field, merged/deduped/ordered — base item shape + 'from'
25
+ - id: R1
26
+ statement: string
27
+ from: [string] # ADDED: which source req(s) this came from, e.g. [A.R1]
28
+ depth_from: standard | deep # ADDED: depth of the dominant source (only when depth: mixed)
29
+ code_reality: string
30
+ evidence: [string] # file:line inherited from source spec; STALE anchors are
31
+ # suffixed " (STALE)" and carry a recorded user decision
32
+ files: [string]
33
+ status: exists | missing | conflict | verified | buildable | resolved
34
+ resolution: string|null
35
+
36
+ assumptions_resolved: # base field: merged from all sources (may be []).
37
+ - item: string # Contradictory resolutions across sources were raised as
38
+ decision: string # CONFLICT challenges and carry the reconciled decision.
39
+
40
+ alternatives: # base field: merged from deep-mode sources ([] if none),
41
+ - for: R# # re-pointed at MERGED requirement ids
42
+ recommended: string
43
+ options: [string]
44
+ risk: string
45
+
46
+ context: # base field: merged anchored, NON-ACTIONABLE context ([] if none)
47
+ - anchor: R# # remapped to the MERGED requirement id (still REQUIRED — no anchor, no entry)
48
+ from_scope: string
49
+ dependency: string # consumes-output | guards-invariant | shares-file | doc-references
50
+ note: string
51
+ evidence: [string]
52
+ # Same rule as the base spec: read-for-understanding, never a task. On merge,
53
+ # dedupe ONLY same-file:line anchors carrying the same constraint; otherwise keep both.
54
+
55
+ coverage: # ADDED: conservation proof (mirrors the report's coverage matrix)
56
+ source_requirements_total: int
57
+ merged_total: int
58
+ coverage_pct: 100 # MUST be 100 — the combiner refuses handoff below that
59
+ dropped: # source IDs excluded ONLY by recorded user decision
60
+ - id: string # e.g. B.R4
61
+ decision: string
62
+ stale_evidence: [string] # merged R ids whose inherited anchors failed the spot-check
63
+
64
+ cross_scope: # ADDED: combine-only audit block
65
+ conflicts_resolved:
66
+ - between: [A.R4, B.R2]
67
+ decision: string
68
+ overlaps_merged:
69
+ - merged: [A.R2, B.R3]
70
+ into: R2
71
+ kind: exact | semantic # semantic merges quote both statements in the report
72
+ overlaps_split: # PARTIAL overlaps are split, never collapsed
73
+ - between: [A.R5, B.R1]
74
+ shared: R4
75
+ residue: [R5]
76
+ ordering: # structured — consumable as planner dependencies
77
+ - before: R1
78
+ after: R6
79
+
80
+ # Everything here is confirmed. The planner does NOT re-question scope/accuracy;
81
+ # it turns these into tasks (cross_scope.ordering rows are real sequencing
82
+ # dependencies — respect them when waving). Because this is a strict superset of
83
+ # the base spec, the planner reads it exactly like a single requirement-spec.md —
84
+ # the added keys (kind, combined_from, combined_against, requirements[].from,
85
+ # requirements[].depth_from, coverage, cross_scope) are additive and ignorable.
86
+ scope_closed: true
87
+ ```
@@ -0,0 +1,150 @@
1
+ # ORC (installed payload)
2
+
3
+ A Claude Code skill constellation: intake → planning → scored parallel
4
+ execution → review → verify → ship. One orchestrator spine invoking focused
5
+ subskills, with eager checkpointing that survives compaction, crashes, and
6
+ fresh-session resumes.
7
+
8
+ Stack-agnostic — detects and adapts to your project's language/tooling.
9
+
10
+ > This README ships inside the installed payload. The full user docs (install,
11
+ > commands, config, changelog) live in the `orc` npm package's root README:
12
+ > https://github.com/azure-id/orc
13
+
14
+ ## Install / update
15
+
16
+ Installed by the `orc` npm package — don't copy files by hand:
17
+
18
+ ```bash
19
+ npm i -g github:azure-id/orc
20
+ orc init # install into ./.claude (orc init --global for ~/.claude)
21
+ orc update # re-copy the installed package's files (offline)
22
+ orc upgrade # fetch the latest package, then apply it
23
+ orc config # view/change settings — zero model tokens
24
+ ```
25
+
26
+ `orc init` installs **skills/**, **commands/** (`/orc` `/orc-mini` `/orc-fast`
27
+ `/orc-analyze`
28
+ `/orc-plan` `/orc-verify` `/orc-wiki` `/orc-pattern`), **agents/** (single-role,
29
+ model-pinned subagents + `MODEL-MAPPING.md`), and **hooks/** (effort hard-block,
30
+ statusline tier warning, behavior trace), merging the hook wiring
31
+ non-destructively into `.claude/settings.json`.
32
+
33
+ After installing:
34
+
35
+ 1. **Paste your PR template** into `orc/subskills/orc-pr/pr.md` (replaces the
36
+ placeholder).
37
+ 2. Add `.claude/orc/run/` to your project `.gitignore` (a local
38
+ .gitignore inside run/ is included, but confirm).
39
+ 3. Run `/agents` to confirm the model IDs your Claude Code accepts, and **run
40
+ your main session on Opus** — a subagent's model can't exceed the main
41
+ session's tier.
42
+
43
+ ## Use
44
+
45
+ ```
46
+ use orc to build <feature> # or /orc
47
+ ```
48
+
49
+ It will: rough-size → ask tiered intake questions (2/4/6) → draft an intent-spec
50
+ for your sign-off → plan (Superpowers/OpenSpec/Requirement Planner/self) →
51
+ recommend sequential vs parallel dispatch (workers always spawned) → score every
52
+ task (rubric → config preset → named executor agent) and show you the table →
53
+ execute in conflict-free waves with batch pauses → at every stop: checkpoint,
54
+ usage report, and a paste-block to resume in a FRESH session (recommended for
55
+ long runs) → review → verify → optional security pass / test authoring →
56
+ summary → commit/push/PR.
57
+
58
+ ## Layout (this skill)
59
+
60
+ ```
61
+ orc/
62
+ ├── SKILL.md # thin orchestrator spine (progressive disclosure)
63
+ ├── config.md # shipped defaults + the single score→model table
64
+ ├── schemas/ # orchestrator-owned; workers get slices
65
+ │ ├── intent-spec.md
66
+ │ ├── planning-output.md
67
+ │ └── checkpoint.md # + state-of-play format
68
+ ├── references/ # loaded only when their phase fires
69
+ │ ├── intake.md
70
+ │ ├── effort-and-mode.md # dispatch-style gate + scoring rubric
71
+ │ ├── wave-grouping.md
72
+ │ ├── log-protocol.md
73
+ │ ├── stop-and-resume.md # stop sequence, /usage, resume block
74
+ │ ├── house-rules.md # standing behavioral card, injected into every slice
75
+ │ ├── security-checklist.md # Phase 5.5 OWASP/STRIDE items (opt-in)
76
+ │ └── trace-protocol.md # behavior trace (PERMANENT — always on)
77
+ ├── subskills/
78
+ │ ├── orc-execution/ # SKILL.md + core.md + subagent.md (always spawned)
79
+ │ ├── orc-review-verify/ # review / verify / security modes (always spawned)
80
+ │ ├── orc-planner/ # Requirement Planner (+ orc-planner-mini fast lane)
81
+ │ ├── orc-testgen/ # opt-in Phase 6.5 test authoring
82
+ │ ├── orc-checkpoint/ # stateless write/read service
83
+ │ └── orc-pr/ # SKILL.md + pr.md (YOUR template goes here)
84
+ ├── examples/full-run-mock.md
85
+ └── run/ # gitignored — all run artifacts live here
86
+ ```
87
+
88
+ Sibling skills installed alongside: `orc-mini` (fast path), `orc-fast`
89
+ (fastest lane — knowledge-gated on a fresh wiki + pattern cache, falls back to
90
+ orc-mini), `orc-verify`
91
+ (standalone git-diff verify), `orc-analyze` + `orc-analyze-mini` (System
92
+ Analyst), `orc-wiki` (project knowledge base), `orc-pattern` (code-pattern
93
+ codifier: 9 language playbooks + a11y/perf rule packs), `context-combiner`
94
+ (merge related analyses).
95
+
96
+ ## Key behaviors to know
97
+
98
+ - **The orchestrator NEVER implements — it always spawns scored subagents,
99
+ even for tiny tasks.** Orchestrator (Opus 4.8 high, or Opus 5 / Fable 5 at
100
+ medium+) only coordinates; each task's 0–100 score (computed arithmetically
101
+ from the planner's per-task `facets`) maps to a named executor agent via the
102
+ single 8-band table in `config.md` (`rubric_bands` = report granularity only),
103
+ Haiku 4.5 → Opus 4.8 high [80,90) → Opus 5 high [90,100].
104
+ - **Every executor slice carries** the intent-spec constraints, the task's
105
+ sliced acceptance criteria, the standing
106
+ house-rules card, and — when a code-pattern is resolved — your project's
107
+ conventions + blocking invariants + the playbook's measurable validation
108
+ gate. Executors echo `actual_model`/`actual_effort` (claimed-vs-actual tier
109
+ check), `pattern_version`/`invariants_checked`, plus verbatim build/test
110
+ `evidence` and an `unmet[]` honesty field — a `done` without proof (or with
111
+ admitted unmet lines) is a malformed return.
112
+ - **Plans are grounded, not trusted:** every declared file carries an
113
+ `exists|new` attestation the orchestrator spot-checks with Glob before
114
+ scoring — hallucinated paths bounce the plan back to the planner.
115
+ - **P0–P3 severity ladder** on review/verify findings: P0 (objective breakage)
116
+ auto-fixed once without asking · P1 (correctness/security risk) gates ship,
117
+ you're asked before the fix · P2/P3 advisory, offered as an optional
118
+ fix-batch in the summary. Every P0–P2 finding must be anchored (file:line +
119
+ verbatim quote — spot-checked before any fix); unanchored findings are
120
+ auto-P3 and never gate.
121
+ - **Opt-in phases** (all default OFF, via `orc config`): security pass
122
+ (`security_review`, fires only on runs with a task scored ≥ 70), test
123
+ authoring (`generate_tests`, writes tests + a TEST-PLAN.md + curl bundle to a
124
+ visible `test-generator/<change-slug>/` folder at the project root, never runs
125
+ them), behavior trace (PERMANENT — persistent per-run `.txt`).
126
+ - **Usage is reported at every pause AND at run completion** — limits reminder
127
+ plus the full per-task dispatch table (score, model, effort).
128
+ - **Disk is truth.** Every pause emits a resume block; paste it into a fresh
129
+ session to continue with near-zero context cost. state-of-play.md +
130
+ checkpoint carry everything.
131
+ - **Strict contracts.** Workers receive slices, return fixed structures;
132
+ malformed = failure. `needs_context` (cap 2) is the only way a worker asks
133
+ for more.
134
+
135
+ ## Verify at first run (environment-dependent)
136
+
137
+ - Whether `/usage` can be invoked programmatically (fallback: dispatch-log
138
+ report + instruct you to run /usage yourself — already built in).
139
+ - That the orchestrator loads subskills by PATH (subskills/...) — it should
140
+ never rely on nested-skill auto-discovery.
141
+ - The planner hand-off: if Superpowers/OpenSpec output lacks declared files,
142
+ the orchestrator extracts them — watch that seam on run one.
143
+
144
+ ## Tuning after first runs
145
+
146
+ - Waves over-serializing → declared_files globs too broad; narrow them.
147
+ - Collisions slipping through → workers under-declaring; emphasize tests too.
148
+ - Rubric scores feel off → adjust weights in references/effort-and-mode.md;
149
+ audit the override log to see where the orchestrator disagreed with it.
150
+ - Cached pattern drifted from the codebase → `/orc-pattern --refresh`.