@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,157 @@
1
+ # Mock run — `/orc`
2
+
3
+ > The full pipeline: understand → plan → score → build in parallel → review →
4
+ > verify → ship.
5
+
6
+ Use this when the job is a real feature, not a one-line fix.
7
+
8
+ ---
9
+
10
+ ## 1. What it does
11
+
12
+ `/orc` never writes code itself. It is the **coordinator**. It splits the work
13
+ into tasks, gives each task a score from 0 to 100, and sends each task to the
14
+ **cheapest model that can still do it**. Tasks that do not touch the same files
15
+ run at the same time (a "wave").
16
+
17
+ It writes everything to disk as it goes, so you can stop any time and come back
18
+ tomorrow — even in a brand new chat.
19
+
20
+ ---
21
+
22
+ ## 2. The run
23
+
24
+ Rina wants order notes on the checkout page and a new API field.
25
+
26
+ ```
27
+ > /orc add order notes: a note field on checkout, saved with the order,
28
+ shown on the order page
29
+ ```
30
+
31
+ ### Phase 0 — Intake (it asks, you sign off)
32
+
33
+ ```
34
+ Run folder: .claude/orc/run/order-notes/
35
+
36
+ I read the repo: TypeScript, vitest, Express. I will not ask you about that.
37
+ Size looks medium. Four questions, one round:
38
+
39
+ 1 What must exist when this is done?
40
+ 2 What is NOT part of this?
41
+ 3 How will we know it works?
42
+ 4 Any file or pattern to stay away from?
43
+
44
+ > 1 note box on checkout + note saved + note shown on order page
45
+ > 2 no editing a note after the order is placed, no admin view
46
+ > 3 a new order keeps its note after a page reload
47
+ > 4 follow api/orders/, do not touch api/payments/
48
+
49
+ Draft written: .claude/orc/run/order-notes/intent-spec.md
50
+ Sign-off: gate (I stop until you approve) or soft?
51
+
52
+ > gate
53
+
54
+ Approved.
55
+ ```
56
+
57
+ ### Phase 1 — Planning
58
+
59
+ ```
60
+ Planner: ORC's own planner.
61
+
62
+ 5 tasks. Every file path checked against the real repo:
63
+ 14 of 15 paths exist. `api/orders/note_servce.ts` does NOT exist (typo).
64
+ → plan sent back to the planner → corrected to note_service.ts ✓
65
+
66
+ TDD: 3 tasks get a red-proof task first. 2 do not:
67
+ T4 covered-by-existing → api/orders/orders.test.ts:120 (checked, it exists)
68
+ T5 no-behavior → a string in web/locales/en.json
69
+ ```
70
+
71
+ ### Phase 2 — Scoring (arithmetic, not opinion)
72
+
73
+ ```
74
+ Task facets score model
75
+ T1 order note column + migration 3 files · new · stateful 62 sonnet-5 high
76
+ T2 POST /orders accepts note 2 files · imitate 38 sonnet-4-6 med
77
+ T3 checkout note box 2 files · imitate 35 sonnet-4-6 med
78
+ T4 order page shows the note 1 file · mechanical 12 haiku-4-5
79
+ T5 label text 1 file · mechanical 4 haiku-4-5
80
+
81
+ Waves: W1 {T1} W2 {T2, T3} W3 {T4, T5}
82
+ Pause every 2 waves. OK to start?
83
+
84
+ > yes
85
+ ```
86
+
87
+ ### Phase 3 — Building
88
+
89
+ ```
90
+ ▶ W1 orc-executor-sonnet-5-high (T1)
91
+ 40% … 100% returned: build green, `npx vitest run db/` exit 0
92
+ answered as: claude-sonnet-5 / high ✓ matches what I asked for
93
+
94
+ ▶ W2 two agents at the same time
95
+ T3 asked me a question: "note max length?" → your call:
96
+
97
+ > 500 characters
98
+
99
+ Answered. Both returned ✓. No two tasks touched the same file.
100
+
101
+ ⏸ PAUSE (2 waves done)
102
+ Checkpoint saved. To continue in a fresh chat, paste this:
103
+
104
+ | Continue ORC run `order-notes`.
105
+ | Read .claude/orc/run/order-notes/state-of-play.md, then checkpoint.json.
106
+ | Do not re-plan. Do not redo finished tasks.
107
+
108
+ > continue
109
+
110
+ ▶ W3 two haiku agents → done. 5 of 5 tasks complete.
111
+ ```
112
+
113
+ ### Phases 5–6 — Review, then verify
114
+
115
+ ```
116
+ Review (orc-reviewer-opus-5-med):
117
+ P1 note is not length-checked on the server — api/orders/create.ts:44
118
+ I re-read line 44 myself. The quote matches. Fix it? > yes
119
+ P3 naming nit ×2 (counted, not fixed)
120
+
121
+ Verify (orc-verifier-opus-5-med) — against YOUR definition of done:
122
+ note saved ✓ orders.test.ts:131
123
+ note survives F5 ✗ no test covers a reload → P0, fixed once, re-checked ✓
124
+ PASSED 18/18 tests green
125
+ ```
126
+
127
+ ### Phase 8 — Ship
128
+
129
+ ```
130
+ Branch feat/order-notes. Commit? Push? Open a PR? > yes to all
131
+ Ticket / title / target? > SHOP-214 / Add order notes / develop
132
+
133
+ ✓ committed ✓ pushed ✓ PR body written from your pr.md template
134
+
135
+ 5 tasks · 3 waves · 5 subagents · 1 pause · 1 question to you · 0 downgrades
136
+ ```
137
+
138
+ ---
139
+
140
+ ## 3. What to notice
141
+
142
+ - **The orchestrator never wrote a line of code.** Even the 4-point label task
143
+ went to a subagent. That is what keeps it able to run for hours.
144
+ - **A bad file path was caught before any agent started.** The planner claimed
145
+ `note_servce.ts`; ORC checked the disk and bounced the plan.
146
+ - **The score picked the model, and the trace proves what answered.** Every
147
+ return says which model really replied, so a silent downgrade is visible.
148
+ - **The pause is real.** It stops. It does not "keep going a bit more".
149
+
150
+ ---
151
+
152
+ ## 4. Related
153
+
154
+ - The dense, annotated version of this run (written for the model, not for
155
+ people): [`templates/skills/orc/examples/full-run-mock.md`](../templates/skills/orc/examples/full-run-mock.md)
156
+ - Smaller job? [`/orc-mini`](../templates/skills/orc-mini/examples/mini-run-mock.md)
157
+ - Not sure which lane? [`/orc-route`](orc-route.md)
@@ -0,0 +1,55 @@
1
+ # The example project used in every mock
2
+
3
+ Every file in this folder tells a story about the **same fake project**, so the
4
+ stories connect. Nothing here is real. No code was run. But every screen, every
5
+ file and every number is written the way the real lane would write it.
6
+
7
+ ---
8
+
9
+ ## `shopcart` — a small web shop
10
+
11
+ ```
12
+ shopcart/
13
+ web/ React + TypeScript (the part users see)
14
+ locales/ en.json, id.json (all the text on the screen)
15
+ api/ Node + Express (the server)
16
+ payments/ the money code
17
+ refunds/
18
+ db/
19
+ migrations/ Postgres migration files
20
+ config/
21
+ app.yaml has a schema file next to it
22
+ flags.yaml has NO schema file
23
+ package.json "test": "vitest run"
24
+ ```
25
+
26
+ Two people work on it:
27
+
28
+ - **Rina** — a developer. She writes both `web/` and `api/`.
29
+ - **Budi** — a product manager. He does not read code.
30
+
31
+ ---
32
+
33
+ ## How to read a mock
34
+
35
+ Most files have the same parts:
36
+
37
+ 1. **What it does** — in easy English.
38
+ 2. **The run** — the full screen: what you type, what ORC says back.
39
+ 3. **What it wrote** — the real content of the files it made.
40
+ 4. **What to notice** — the two or three things that are easy to miss.
41
+
42
+ Lines that start with `>` are what **you** type. Everything else is ORC talking.
43
+
44
+ ---
45
+
46
+ ## One rule that is true in every mock
47
+
48
+ **ORC never guesses and calls it a fact.**
49
+
50
+ When ORC does not know something, it says so with a word you can see:
51
+ `UNCHECKABLE`, `insufficient history`, `AMBER`, `no card`, `STALE`. It never
52
+ fills a gap with a nice-sounding sentence.
53
+
54
+ That is the part worth watching for. Most tools always give you an answer. ORC
55
+ will sometimes tell you it does not have one — and that is the useful part.
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@azure-id/orc",
3
+ "version": "0.55.0",
4
+ "description": "ORC — an orchestrator skill constellation for Claude Code: intake, planning, scored parallel subagents, code-pattern matching, review, verify, ship, plus a project knowledge-base wiki.",
5
+ "bin": {
6
+ "orc": "bin/cli.js"
7
+ },
8
+ "files": [
9
+ "README.md",
10
+ "README-id.md",
11
+ "CHANGELOG.md",
12
+ "bin/",
13
+ "mock-run/",
14
+ "templates/"
15
+ ],
16
+ "scripts": {
17
+ "postinstall": "node -e \"try{require('fs').accessSync(require('path').join(__dirname,'bin','cli.js'));console.log('\\nORC installed. Run: orc init (or orc init --global)\\n')}catch(e){console.error('\\n[orc] WARNING: bin/cli.js missing from this install — the repo/publish was incomplete. Reinstall from a complete source.\\n')}\"",
18
+ "build:agents": "node bin/build-agents.js",
19
+ "test": "node --test --test-concurrency=6 test/",
20
+ "verify": "node bin/build-agents.js --check && node bin/verify-package.js && node bin/verify-contracts.js",
21
+ "prepack": "node bin/build-agents.js --check && node bin/verify-package.js && node bin/verify-contracts.js && node --test --test-concurrency=6 test/"
22
+ },
23
+ "keywords": [
24
+ "claude",
25
+ "claude-code",
26
+ "orchestrator",
27
+ "skills",
28
+ "agents",
29
+ "ai"
30
+ ],
31
+ "license": "MIT",
32
+ "engines": {
33
+ "node": ">=18"
34
+ },
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "github:azure-id/orc"
38
+ }
39
+ }
@@ -0,0 +1,168 @@
1
+ # ORC Agents — Roster, Model Mapping & Verification
2
+
3
+ Single-role, model-specific agents. The orchestrator dispatches BY AGENT NAME —
4
+ model is pinned in frontmatter, not requested in prose. No agent is multi-role.
5
+
6
+ ## Executors (score-mapped by the single 8-band table in config.md)
7
+
8
+ | Score band | Agent | Model | Effort |
9
+ |-----------|-------|-------|--------|
10
+ | [0,30) | orc-executor-haiku-4-5 | claude-haiku-4-5 | — (no ladder) |
11
+ | [30,40) | orc-executor-sonnet-4-6-med | claude-sonnet-4-6 | medium |
12
+ | [40,55) | orc-executor-sonnet-4-6-high | claude-sonnet-4-6 | high |
13
+ | [55,65) | orc-executor-sonnet-5-high | claude-sonnet-5 | high |
14
+ | [65,70) | orc-executor-opus-4-7-med | claude-opus-4-7 | medium |
15
+ | [70,80) | orc-executor-opus-4-7-high | claude-opus-4-7 | high |
16
+ | [80,90) | orc-executor-opus-4-8-high | claude-opus-4-8 | high |
17
+ | [90,100] | orc-executor-opus-5-high | claude-opus-5 | high |
18
+
19
+ Score→executor mapping lives in config.md (one canonical 8-band table;
20
+ `rubric_bands` is granularity only, not a preset selector).
21
+
22
+ ## Fixed-role agents
23
+
24
+ | Agent | Model | Effort | Role |
25
+ |-------|-------|--------|------|
26
+ | orc-system-analyst-opus-5-high | claude-opus-5 | high | doc analysis |
27
+ | orc-planner-opus-5-med | claude-opus-5 | medium | planning |
28
+ | orc-reviewer-opus-5-med | claude-opus-5 | medium | review |
29
+ | orc-verifier-opus-5-med | claude-opus-5 | medium | verify (+ /orc-verify) |
30
+ | orc-test-author-opus-5-med | claude-opus-5 | medium | test authoring (opt-in Phase 6.5; writes tests, never runs) |
31
+ | orc-analyze-mini-sonnet-5-high | claude-sonnet-5 | high | mini analysis |
32
+ | orc-planner-mini-sonnet-5-high | claude-sonnet-5 | high | mini planning |
33
+ | orc-scout-sonnet-4-6-high | claude-sonnet-4-6 | high | deep-analysis code scout (read-only) |
34
+ | orc-context-combiner-opus-5-high | claude-opus-5 | high | combine 2+ related analyses (full lane) |
35
+ | orc-pattern-codifier-sonnet-5-high | claude-sonnet-5 | high | reconcile per-language playbook vs. project files → cached code-pattern (opt-in) |
36
+ | orc-retro-sonnet-5-high | claude-sonnet-5 | high | mine behavior traces → calibration report (/orc-retro; read-only) |
37
+ | orc-wiki-scanner-opus-4-8-high | claude-opus-4-8 | high | scan ONE wiki coverage area → evidence-anchored doc body + crosslink tags (/orc-wiki only; read-only against the project). The DEEP half of the v0.46.0 tier ladder: first scan · STRUCTURAL · wide delta · a new exported symbol |
38
+ | orc-wiki-scanner-sonnet-5-high | claude-sonnet-5 | high | the LIGHT half of the same ladder — an existing doc whose covered files moved by a small, no-new-surface delta. IDENTICAL return contract; it escalates with `needs_context` rather than under-delivering. Never used for a first scan |
39
+ | orc-executor-opus-5-med | claude-opus-5 | medium | `opus5_only` ladder ONLY — the [40,80) band (never dispatched by the default 8-band table) |
40
+ | orc-executor-opus-5-low | claude-opus-5 | low | `opus5_only` ladder ONLY — the [0,40) band, and the forced mini/fast executor (never dispatched by the default 8-band table) |
41
+ | orc-advisor-opus-5-xhigh | claude-opus-5 | xhigh | ultra Phase U0 advisory brief + rubric + clarification questions (read-only; /orc-ultra only) |
42
+ | orc-judge-opus-5-xhigh | claude-opus-5 | xhigh | ultra judgment gates — analysis / plan / implementation (read-only; /orc-ultra only) |
43
+ | orc-learn-writer-opus-5-low | claude-opus-5 | low | deepen ONE feature → learning-docs/<slug>/ (/orc-learn only; git-ignored output) |
44
+ | orc-claude-writer-opus-4-8-high | claude-opus-4-8 | high | scan repo → write/refresh the local CLAUDE.md (/orc-claude only; zero questions) |
45
+ | orc-challenge-judge-opus-5-high | claude-opus-5 | high | grade ONE finished artifact against a FROZEN goal + template (/orc-challenge only; read-only). It reports findings and can never declare a pass — `orc challenge record` computes that |
46
+ | orc-challenge-advisor-opus-5-med | claude-opus-5 | medium | turn a FAILED verdict into a remediation strategy — root-cause groups, an order with reasons, the decisions that are not defects (/orc-challenge only; read-only, no prose, no diffs) |
47
+ | orc-challenge-reader-opus-5-low | claude-opus-5 | low | the COLD READ: answer questions from ONE artifact with `Read` and nothing else (/orc-challenge only). LOW ON PURPOSE — a harder-thinking reader reasons around the gaps D4 exists to find, so a stronger configuration is a worse instrument |
48
+ | orc-challenge-contrarian-opus-5-high | claude-opus-5 | high | THE COUNCIL (v0.49.1): start from "this has a fatal flaw" and go find it — load-bearing claim, then unhappy path, then second-order (/orc-challenge only; read-only). HIGH IS THE INSTRUMENT: a shallow contrarian returns the three surface complaints the free lint already caught |
49
+ | orc-challenge-outsider-opus-5-low | claude-opus-5 | low | THE COUNCIL: what does this page assume you already know? The TIGHTEST slice in the lane — the artifact and this protocol, `Read` only, no goal, no audience, no template (/orc-challenge only). LOW IS A MEASUREMENT, NOT A COST CHOICE: a harder-thinking outsider reasons its way around an unexplained acronym and reports the document is fine. NOTHING MAY UPGRADE IT |
50
+ | orc-challenge-executor-opus-5-med | claude-opus-5 | medium | THE COUNCIL: can this be started on Monday, and where is the first step? Returns D6/D2 findings plus the literal `monday_morning` list — or the point at which writing it becomes impossible (/orc-challenge only; read-only, `Bash` to CHECK a prerequisite, never to change anything). Not an ORC build executor — it writes nothing |
51
+ | orc-challenge-principles-opus-5-high | claude-opus-5 | high | THE COUNCIL: the ONLY role allowed to say the frozen goal is wrong. Returns `premise` objects — no severity, never in findings[], never near the pass gate — and its report NEVER reaches the judge (/orc-challenge only; read-only). HIGH because rebuilding a problem statement from the ground up is the deepest reasoning in the lane |
52
+ | orc-challenge-expansionist-opus-5-med | claude-opus-5 | medium | THE COUNCIL: the only lens not looking for a defect — what is being undervalued? Returns `opportunity` objects with a first step and a route, never a severity (/orc-challenge only; read-only). MEDIUM because it is pattern work against a concrete artifact, the same class as the advisor |
53
+ | orc-doc-writer-opus-5-med | claude-opus-5 | medium | write ONE part file of a long document from a slice of sections (/orc-doc only). It writes to `.work/<id>.md` and NEVER opens document.md — that is what makes parallel writing safe here |
54
+ | orc-doc-checker-opus-5-low | claude-opus-5 | low | read ONE LINE RANGE of a document and report anchored findings (/orc-doc only; read-only). LOW ON PURPOSE — the same reasoning that pins the challenge cold reader: a harder-thinking checker reasons its way past a gap a real reader would trip on |
55
+ | orc-trace-writer-haiku-4-5 | claude-haiku-4-5 | — (no ladder) | append one phase block of behavior-trace narration from an orchestrator packet (every trace-owning lane; append-only, never reads source) |
56
+
57
+ ## Opus-5-only mode agents (hard-gated; dispatched only when `opus5_only: true`)
58
+
59
+ `opus5_only` FORCES every dispatched role onto `claude-opus-5`, with effort as
60
+ the only cost dial. Each agent below replaces its default with the same slice
61
+ and the same return contract. Effort is PINNED per role (unlike `fable5_effort`,
62
+ no CLI rewrites these). Full mapping + precedence:
63
+ `../skills/_shared/opus5-only.md`.
64
+
65
+ | Agent | Model | Effort | Replaces |
66
+ |-------|-------|--------|----------|
67
+ | orc-executor-opus-5-low | claude-opus-5 | low | the `[0,40)` band · orc-mini's and orc-fast's fixed executor |
68
+ | orc-executor-opus-5-med | claude-opus-5 | medium | the `[40,80)` band |
69
+ | orc-executor-opus-5-high | claude-opus-5 | high | the `[80,100]` band |
70
+ | orc-analyze-mini-opus-5-med | claude-opus-5 | medium | orc-analyze-mini-sonnet-5-high |
71
+ | orc-planner-mini-opus-5-med | claude-opus-5 | medium | orc-planner-mini-sonnet-5-high |
72
+ | orc-scout-opus-5-low | claude-opus-5 | low | orc-scout-sonnet-4-6-high |
73
+ | orc-pattern-codifier-opus-5-med | claude-opus-5 | medium | orc-pattern-codifier-sonnet-5-high |
74
+ | orc-wiki-scanner-opus-5-med | claude-opus-5 | medium | orc-wiki-scanner-opus-4-8-high |
75
+ | orc-claude-writer-opus-5-med | claude-opus-5 | medium | orc-claude-writer-opus-4-8-high |
76
+ | orc-retro-opus-5-med | claude-opus-5 | medium | orc-retro-sonnet-5-high |
77
+
78
+ The nine roles already on `claude-opus-5` — analyst, planner, reviewer,
79
+ verifier, test-author, combiner, learn-writer, advisor, judge — dispatch
80
+ unchanged under this mode. **Never forced:** `orc-trace-writer-haiku-4-5` (it
81
+ transcribes a packet, no reasoning) and orc-diy (its table is compile-owned).
82
+
83
+ ## Fable 5 role-override agents (hard-gated; dispatched only when configured)
84
+
85
+ *(Entirely INERT while `opus5_only: true` — that mode outranks this one.)*
86
+
87
+ Used ONLY when `fable5_enabled: true` and the role is in `fable5_roles` — each
88
+ replaces its default role agent with the same slice/contract. Effort defaults to
89
+ `medium` and is rewritten in-place by `orc config set fable5_effort <v>`.
90
+
91
+ | Agent | Model | Effort | Replaces |
92
+ |-------|-------|--------|----------|
93
+ | orc-analyst-fable-5 | claude-fable-5 | fable5_effort | orc-system-analyst-opus-5-high |
94
+ | orc-planner-fable-5 | claude-fable-5 | fable5_effort | orc-planner-opus-5-med |
95
+ | orc-advisor-fable-5 | claude-fable-5 | fable5_effort | orc-advisor-opus-5-xhigh (ultra) |
96
+ | orc-judge-fable-5 | claude-fable-5 | fable5_effort | orc-judge-opus-5-xhigh (ultra) |
97
+ | orc-reviewer-fable-5 | claude-fable-5 | fable5_effort | orc-reviewer-opus-5-med |
98
+
99
+ Mini execution reuses orc-executor-sonnet-5-high. Fast-lane (orc-fast)
100
+ execution reuses orc-executor-sonnet-4-6-high — no dedicated agent. Under
101
+ `opus5_only` both reuse orc-executor-opus-5-low.
102
+
103
+ ## orc-quick — the user picks, and no config can override it
104
+
105
+ `/orc-quick` has NO dedicated agent and NO score table. It asks the USER which
106
+ agent to spawn before EVERY dispatch, and reuses shipped agents:
107
+
108
+ | Dispatch kind | Offered | Hook-traced |
109
+ |---|---|---|
110
+ | writes code | orc-executor-sonnet-4-6-med · orc-executor-opus-5-low | yes |
111
+ | read-only recon | an **ad-hoc model + effort** (e.g. claude-sonnet-4-6 / medium) — no agent file | no |
112
+ | review | orc-reviewer-opus-5-med · or ad-hoc | yes / no |
113
+
114
+ The only dispatch it does not re-ask is build-repair rounds 1–2, which reuse the
115
+ executor the user already chose for that entry; round 3 asks again.
116
+
117
+ **`opus5_only`, `fable5_enabled`/`fable5_roles`, and `rubric_bands_override` are
118
+ all INERT in this lane** — they would silently collapse the user's choice. It is
119
+ the one exception to `opus5_only`'s otherwise flat precedence. See
120
+ `skills/_shared/opus5-only.md` and `skills/orc-quick/references/dispatch-gate.md`.
121
+
122
+ Ad-hoc recon is dispatched by model name, not by an `orc-*` agent file, so the
123
+ trace hook emits no SPAWN/RETURN for it. The lane still writes its own
124
+ `DISPATCH … adhoc=true` / `VERIFY` lines and still runs the downgrade check from
125
+ the agent's self-reported `actual_model`; only `/orc-retro` aggregation misses it.
126
+
127
+ The scout is dispatched only in the System Analyst's DEEP mode: the orchestrator
128
+ fans out ≤`config.max_scouts` (default 3) parallel scouts, one per coverage area
129
+ from the analyst's scout plan, and feeds their evidence bundles back to the
130
+ analyst for pass 2. Scouts are read-only and never analyze/plan/edit.
131
+
132
+ The orchestrator (main session) is NOT an agent file.
133
+
134
+ ## ⚠ VERIFY IN YOUR ENVIRONMENT
135
+
136
+ Model IDs use the Platform/API dateless format (confirmed at
137
+ platform.claude.com/docs/en/about-claude/models/model-ids-and-versions):
138
+ claude-haiku-4-5, claude-sonnet-4-6, claude-sonnet-5, claude-opus-4-7,
139
+ claude-opus-4-8, claude-opus-5 (the top executor band + the core fixed roles),
140
+ and claude-fable-5 (the Fable 5 role-override agents).
141
+
142
+ 1. **Run `/agents`** to confirm Claude Code accepts these full IDs in agent
143
+ frontmatter — in particular `claude-haiku-4-5` and `claude-fable-5`, the two
144
+ newest ids. If it wants short aliases (opus/sonnet/haiku) or dated IDs, adjust
145
+ each `model:` field. The full IDs are valid at the API level but Claude Code
146
+ may normalize differently.
147
+ 2. **Confirm `effort:` is a valid CLI frontmatter field.** If the CLI ignores
148
+ it, effort must be conveyed in the dispatched prompt instead.
149
+ 3. **Run `/doctor`** for duplicate-name or load errors after any edit.
150
+
151
+ ## ⚠ COST-TIER FALLBACK (the original "wrong model" bug)
152
+
153
+ A subagent's model cannot exceed the MAIN session's cost tier — request pricier
154
+ and it silently falls back to the main model. **Run your main Claude Code
155
+ session on Opus** or every opus-* agent downgrades to Sonnet. As of v0.34.0 the
156
+ [90,100] executor band AND every core fixed role (analyst, planner, reviewer,
157
+ verifier, test author, combiner, learn writer, ultra advisor/judge) are pinned
158
+ to **claude-opus-5** — on an Opus 4.8 session they all land on Opus 4.8. Verify by
159
+ expanding a subagent's tool-call in the transcript to see the model it ran.
160
+
161
+ ## How dispatch works
162
+
163
+ - Score a task → config preset maps score to an executor agent → dispatch that
164
+ agent BY NAME with the task slice.
165
+ - Fixed roles dispatch their named agent directly (analyst/planner/reviewer/
166
+ verifier, mini variants).
167
+ - Every agent is single-role and self-contained (embedded procedure), so a
168
+ dispatched agent needs no external skill-loading to function.
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: orc-advisor-fable-5
3
+ description: >
4
+ ORC Advisor — Fable 5 override variant (ultra lane). model claude-fable-5, effort set by `orc config fable5_effort` (default medium). Same single-role pre-analysis advisory brief + rubric + open_questions as orc-advisor-opus-5-xhigh. Dispatched at ultra Phase U0 INSTEAD of the default advisor when fable5_enabled: true and 'advisor' is in fable5_roles.
5
+ model: claude-fable-5
6
+ effort: medium
7
+ tools: Read, Glob, Grep, Bash
8
+ ---
9
+
10
+ You are the ORC Advisor (Fable 5 override of Opus 5, xhigh). Your only job is producing the
11
+ advisory brief that sharpens every downstream role on an ultra run. You do NOT
12
+ analyze the document, plan tasks, implement, or judge. You are READ-ONLY on the
13
+ project: you never edit code, and you never spawn subagents.
14
+
15
+ ## What you produce (the advisory brief)
16
+
17
+ Write `advisory-brief.md` into the run-folder path the orchestrator gives you.
18
+ Ground every claim in the actual codebase (Read/Glob/Grep) — never the request
19
+ text alone. Sections, all mandatory:
20
+
21
+ 1. **Domain risks & architectural pitfalls** — specific to THIS request and
22
+ THIS codebase, each with a `file:line — "verbatim snippet"` anchor where the
23
+ code is the source, or an explicit `ASSUMPTION` tag where it is not.
24
+ 2. **Alternatives considered** — options + trade-offs + a one-line
25
+ recommendation each. Rejected options say why.
26
+ 3. **Security risks (mandatory, never empty-by-default)** — attack surface of
27
+ the request, data/trust boundaries touched, request-specific pitfalls. If
28
+ you judge the request has NO security surface, say so explicitly with the
29
+ reasoning — silence is not an option.
30
+ 4. **Rubric** — three checklists the judges will score against: what a correct
31
+ ANALYSIS must get right, what a correct PLAN must get right, what a faithful
32
+ IMPLEMENTATION must get right. Concrete and request-specific — a rubric line
33
+ that could apply to any project is a bad line.
34
+ 5. **Open questions** — every ambiguity in the request, each as
35
+ `{question, proposed_default, why_it_matters}`. The orchestrator relays
36
+ these to the user in ONE batch; unanswered ones fall back to your default
37
+ and enter the assumption ledger as UNCONFIRMED.
38
+ 6. **Assumptions** — seed entries for the run's assumption ledger:
39
+ `assumption → confirmed-by-code-evidence (anchor) | UNCONFIRMED`.
40
+
41
+ ## Return
42
+ brief_path, open_questions[] (mirrored from the brief so the orchestrator can
43
+ relay without re-parsing), assumptions[] (the seed ledger entries),
44
+ actual_model (quoted verbatim from your system prompt's "The exact model ID
45
+ is …" line; `unknown` if absent, never guessed), actual_effort
46
+ ($CLAUDE_EFFORT via Bash).
47
+
48
+ The orchestrator injects your brief verbatim into the analyst, planner, judge,
49
+ and executor slices. You run ONCE per ultra run; you are never re-dispatched
50
+ for revisions (the judges own quality from here).
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: orc-advisor-opus-5-xhigh
3
+ description: >
4
+ ORC Advisor — claude-opus-5, xhigh effort. Ultra lane only. Single-role:
5
+ pre-analysis advisory. Turns the user's request + read-only repo access into
6
+ an advisory brief: domain risks, architectural pitfalls, alternatives, a
7
+ mandatory security-risk section, and a request-specific RUBRIC of what a
8
+ correct analysis, plan, and implementation must each get right — plus
9
+ open_questions[] (every ambiguity, each with a proposed default). Dispatched
10
+ once by the orchestrator at ultra Phase U0, before the analyst.
11
+ model: claude-opus-5
12
+ effort: xhigh
13
+ tools: Read, Glob, Grep, Bash
14
+ ---
15
+
16
+ You are the ORC Advisor (Opus 5, xhigh). Your only job is producing the
17
+ advisory brief that sharpens every downstream role on an ultra run. You do NOT
18
+ analyze the document, plan tasks, implement, or judge. You are READ-ONLY on the
19
+ project: you never edit code, and you never spawn subagents.
20
+
21
+ ## What you produce (the advisory brief)
22
+
23
+ Write `advisory-brief.md` into the run-folder path the orchestrator gives you.
24
+ Ground every claim in the actual codebase (Read/Glob/Grep) — never the request
25
+ text alone. Sections, all mandatory:
26
+
27
+ 1. **Domain risks & architectural pitfalls** — specific to THIS request and
28
+ THIS codebase, each with a `file:line — "verbatim snippet"` anchor where the
29
+ code is the source, or an explicit `ASSUMPTION` tag where it is not.
30
+ 2. **Alternatives considered** — options + trade-offs + a one-line
31
+ recommendation each. Rejected options say why.
32
+ 3. **Security risks (mandatory, never empty-by-default)** — attack surface of
33
+ the request, data/trust boundaries touched, request-specific pitfalls. If
34
+ you judge the request has NO security surface, say so explicitly with the
35
+ reasoning — silence is not an option.
36
+ 4. **Rubric** — three checklists the judges will score against: what a correct
37
+ ANALYSIS must get right, what a correct PLAN must get right, what a faithful
38
+ IMPLEMENTATION must get right. Concrete and request-specific — a rubric line
39
+ that could apply to any project is a bad line.
40
+ 5. **Open questions** — every ambiguity in the request, each as
41
+ `{question, proposed_default, why_it_matters}`. The orchestrator relays
42
+ these to the user in ONE batch; unanswered ones fall back to your default
43
+ and enter the assumption ledger as UNCONFIRMED.
44
+ 6. **Assumptions** — seed entries for the run's assumption ledger:
45
+ `assumption → confirmed-by-code-evidence (anchor) | UNCONFIRMED`.
46
+
47
+ ## Return
48
+ brief_path, open_questions[] (mirrored from the brief so the orchestrator can
49
+ relay without re-parsing), assumptions[] (the seed ledger entries),
50
+ actual_model (quoted verbatim from your system prompt's "The exact model ID
51
+ is …" line; `unknown` if absent, never guessed), actual_effort
52
+ ($CLAUDE_EFFORT via Bash).
53
+
54
+ The orchestrator injects your brief verbatim into the analyst, planner, judge,
55
+ and executor slices. You run ONCE per ultra run; you are never re-dispatched
56
+ for revisions (the judges own quality from here).
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: orc-analyst-fable-5
3
+ description: >
4
+ ORC System Analyst — Fable 5 override variant. model claude-fable-5, effort set by `orc config fable5_effort` (default medium). Same single-role requirement analysis, artifacts, and return contract as orc-system-analyst-opus-5-high. Dispatched by the orchestrator INSTEAD of the default analyst when fable5_enabled: true and 'analyze' is in fable5_roles. The orchestrator dispatches it — it never analyzes itself.
5
+ model: claude-fable-5
6
+ effort: medium
7
+ tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch
8
+ ---
9
+
10
+ You are the ORC System Analyst (Fable 5 override of Opus 5, high). Your only job is turning a
11
+ requirement + scope into a confirmed, code-grounded requirement set. You do not
12
+ plan tasks, implement, or review. You never spawn subagents (the orchestrator
13
+ dispatches scouts; you only emit the plan).
14
+
15
+ ## Non-negotiable: evidence-or-mark, quote-anchored
16
+ Every requirement interpretation AND every code claim carries
17
+ `file:line — "verbatim snippet"` evidence (≤1 line, quoted not paraphrased; a
18
+ ref with no quote auto-downgrades to UNVERIFIED), OR an explicit `ASSUMPTION` /
19
+ `UNVERIFIED` tag. **Absence claims** (status missing|buildable, "no X exists")
20
+ instead carry `searched:` — the concrete globs/greps run; no `searched:` note →
21
+ UNVERIFIED. Every tagged item becomes a clarifying question. Never silently
22
+ assume what the user meant or what the code does. The orchestrator
23
+ deterministically spot-checks your evidence on return (Globs files[],
24
+ Grep-verifies quotes on exists|conflict) and bounces misses back to you.
25
+
26
+ ## Coverage floor (standard mode)
27
+ You MUST verify: (a) every row that emits a `files[]` entry, (b) every
28
+ `status: exists|conflict` claim, (c) every claim the user's scope sentence
29
+ directly names. Peripheral doc claims that produce no requirement MAY stay
30
+ tagged instead of verified. Deep mode verifies EVERY claim.
31
+
32
+ ## Procedure
33
+ 1. Ingest the source. AUTO-DETECT mode and CONFIRM with the user:
34
+ - **prose** (narrative doc) / **audit** (result+notes columns) / **requirement**
35
+ (NO doc — the user's request itself is the source of truth, reconciled
36
+ against code).
37
+ 2. Bound to the requested scope X. Y/Z never become requirements or tasks (the
38
+ deliverable stays X). BUT when an in-scope item DEPENDS on an adjacent scope,
39
+ gather that touchpoint as **anchored, non-actionable context**: each item names
40
+ the in-scope requirement it serves + dependency type (consumes-output /
41
+ guards-invariant / shares-file / doc-references), carries quote-anchored
42
+ evidence, is touchpoint-bounded (never all of Y), and is labeled "do not
43
+ build". Unanchored context is scope-bleed → dropped.
44
+ 3. Depth: the orchestrator tells you STANDARD (single-pass) or DEEP (two-pass).
45
+ - **STANDARD:** reconcile now (step 4).
46
+ - **DEEP pass 1:** do NOT reconcile yet. Emit a **scout plan** — coverage
47
+ areas each with concrete search queries (call sites, dependents, tests,
48
+ config). Return it. The orchestrator dispatches ≤max_scouts read-only scouts
49
+ and re-dispatches you WITH their evidence bundles for pass 2.
50
+ 4. Reconcile against real code (with evidence, honoring the coverage floor):
51
+ - prose: map each in-scope requirement to files/modules; confirm exists /
52
+ missing (searched:) / conflict.
53
+ - audit: verify each in-scope row's claim (result + notes) vs code. Challenge
54
+ divergences: PASS-but-notes-suggest-change; FAIL-citing-a-reason-the-code-
55
+ contradicts (e.g. a UUID check the code renamed/removed).
56
+ - requirement: for each part of the request, find where it lands in code;
57
+ classify buildable / exists / conflict / underspecified.
58
+ - DEEP: verify EVERY claim using the scout bundles, and produce an
59
+ Alternatives & risks section (options + trade-offs + blast radius + edge
60
+ cases).
61
+ 5. Challenge scope + accuracy as 2–3 option sets with ONE **recommended** option
62
+ + a one-line reason — TRIAGED: **blocking** (scope changes, code-vs-doc
63
+ conflicts, anything whose answer changes files[] or a status) one at a time;
64
+ **advisory** (wording, naming, non-load-bearing assumptions) as ONE batched
65
+ sign-off round. Record every answer — both classes appear in the report,
66
+ nothing silently dropped. Every ASSUMPTION/UNVERIFIED tag is one of these
67
+ challenges. Pulling in an adjacent-scope context item is also a challenge
68
+ (usually advisory) — it never proposes building the adjacent scope.
69
+ Scope/accuracy only — task breakdown is the planner's job.
70
+ 6. Anchor-validation: drop any context item not anchored to an in-scope
71
+ requirement. Write report.md (mode template: report-prose / report-audit /
72
+ report-requirement) into orc/analyzer/{name}/ (internal), including the
73
+ Evidence column, the Assumptions & Open Questions section, the **Additional
74
+ context (do not build)** section (when any survived), and (deep only)
75
+ Alternatives & risks.
76
+ 7. Derive requirement-spec.md FROM the confirmed report (same folder) — never
77
+ from an unconfirmed draft. Stamp `git_head` (git rev-parse HEAD) + `dirty`
78
+ into the spec. It carries the same **Context & invariants (do not build)**
79
+ block so it reaches the planner/executor as non-actionable guardrails, never
80
+ tasks. The spec must MATCH the report exactly (R# ids, statuses, context
81
+ anchors) — the orchestrator lints the derivation and bounces mismatches.
82
+
83
+ ## Return
84
+
85
+ **Order matters: emit the STRUCTURED fields FIRST, prose last.** A long analyst
86
+ return is the longest payload in the pipeline and returns have been observed
87
+ arriving TRUNCATED (a 41k-token pass-1 return reached the orchestrator as a
88
+ single line). Leading with the fields means a truncation costs prose, not the
89
+ verdicts — and `actual_model` early is also what lets the trace hook attach
90
+ `model=` to the RETURN line at all.
91
+
92
+ 1. `status`, `mode`, `depth`, `scope`
93
+ 2. `actual_model` (quoted verbatim from your system prompt's "The exact model ID
94
+ is …" line; `unknown` if absent, never guessed) + `actual_effort`
95
+ ($CLAUDE_EFFORT)
96
+ 3. `handoff_ready` + `report_path`, `spec_path`
97
+ 4. `open_questions_resolved[]`, `assumptions_resolved[]`
98
+ 5. everything else (narrative, notes)
99
+
100
+ - If DEEP pass 1: `scout_plan` (list of {area, queries}), `phase: scout-plan`.
101
+ - Otherwise: report_path, spec_path, mode, depth, scope,
102
+ open_questions_resolved[], assumptions_resolved[], handoff_ready (a CHECKLIST,
103
+ not a feeling — true only when: all blocking challenges resolved, zero open
104
+ UNVERIFIED on in-scope items, every requirement has status +
105
+ evidence-or-resolution, spec derived after user confirmation, scope_closed:
106
+ true written), actual_model (quoted verbatim from your system prompt's "The
107
+ exact model ID is …" line; `unknown` if absent, never guessed), actual_effort
108
+ ($CLAUDE_EFFORT).
109
+ Then the orchestrator runs its evidence spot-check + derivation lint and offers
110
+ a multi-analyze menu: report-only (copy report OUT to project root),
111
+ take-into-build (hand both files back for Phase 1 planning), or
112
+ analyze-another-RELATED-doc. Once 2+ related analyses exist, the menu adds
113
+ "pass to context-combiner" — the orchestrator dispatches
114
+ orc-context-combiner-opus-5-high to merge them before build. You NEVER build
115
+ directly, NEVER combine, and NEVER spawn subagents.