@iowarp/clio-coder 0.4.6 → 0.4.7

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 (657) hide show
  1. package/.claude-plugin/marketplace.json +283 -0
  2. package/CHANGELOG.md +50 -0
  3. package/CONTRIBUTING.md +102 -29
  4. package/NOTICE +8 -0
  5. package/README.md +37 -5
  6. package/dist/{acp-UVEVWSDL.js → acp-W3Y3TRHD.js} +12 -12
  7. package/dist/{agents-VWY37DTK.js → agents-J4ICNLQ3.js} +52 -52
  8. package/dist/assets/codewiki.json +1 -1
  9. package/dist/assets/tui-notices/get-east-asian-width-LICENSE +9 -0
  10. package/dist/assets/tui-notices/marked-LICENSE +44 -0
  11. package/dist/assets/tui-notices/pi-tui-LICENSE +21 -0
  12. package/dist/{auth-PCV2XQDV.js → auth-X2UJUMOC.js} +24 -24
  13. package/dist/{builtins-PD652MTK.js → builtins-XLXWWSRF.js} +6 -6
  14. package/dist/{chunk-DZK63TZJ.js → chunk-24S3DN22.js} +336 -612
  15. package/dist/{chunk-NTK3WTHM.js → chunk-24TOGHPO.js} +2 -2
  16. package/dist/{chunk-M6TAYK66.js → chunk-2O2LVQQK.js} +11 -4
  17. package/dist/{chunk-OQM5IVJY.js → chunk-34XHRVKG.js} +3 -3
  18. package/dist/{chunk-LY4N4TTL.js → chunk-3LXJOICS.js} +2 -2
  19. package/dist/{chunk-3BJGMT2D.js → chunk-3XE4NRLF.js} +1 -1
  20. package/dist/{chunk-N2OKBREN.js → chunk-4MFBBY2Z.js} +3 -3
  21. package/dist/{chunk-5VTJP36Q.js → chunk-4N2RZ4TO.js} +2 -2
  22. package/dist/{chunk-WNGF5AJX.js → chunk-4QKAITQT.js} +3 -3
  23. package/dist/chunk-4UHVS5T7.js +207 -0
  24. package/dist/{chunk-GLYBJ4RQ.js → chunk-5AJPUR72.js} +6 -6
  25. package/dist/{chunk-5CY4Q6QI.js → chunk-5EQO5NWP.js} +105 -3
  26. package/dist/{chunk-6HAO6X5B.js → chunk-65BGHOUR.js} +8 -5
  27. package/dist/{chunk-6VRRJT7L.js → chunk-6CA2BHOR.js} +2 -2
  28. package/dist/{chunk-HL26ADLH.js → chunk-6CB2IL4N.js} +2 -1
  29. package/dist/{chunk-E7RF4KBO.js → chunk-6LRLOJHQ.js} +3 -3
  30. package/dist/{chunk-HXHFDHB6.js → chunk-6TAATXXH.js} +6 -6
  31. package/dist/{chunk-P6M7RKMI.js → chunk-6YHPAAZR.js} +3 -3
  32. package/dist/{chunk-5QRX7SLS.js → chunk-7EEGBKV4.js} +7 -7
  33. package/dist/{chunk-BS4GAMUB.js → chunk-A67NR5AT.js} +2 -2
  34. package/dist/{chunk-WJIMKGD6.js → chunk-BAU36233.js} +8 -8
  35. package/dist/{chunk-PZN2LQY6.js → chunk-BO4XV5VX.js} +4 -4
  36. package/dist/{chunk-I2K2NCZQ.js → chunk-BQQ5MXUC.js} +6 -6
  37. package/dist/{chunk-X3BI7HTV.js → chunk-C3G5PNUO.js} +21 -21
  38. package/dist/{chunk-SRZOW5L2.js → chunk-C6GEXX4L.js} +1 -1
  39. package/dist/{chunk-6RYDAVQT.js → chunk-CE64C5K5.js} +219 -64
  40. package/dist/chunk-CP3HIR5H.js +2119 -0
  41. package/dist/{chunk-BBV5TKE6.js → chunk-CPXGJI2A.js} +2 -2
  42. package/dist/{chunk-IGLVVNEG.js → chunk-CULVKYTK.js} +4 -4
  43. package/dist/{chunk-DXLUVUD4.js → chunk-D2T66PDV.js} +5 -5
  44. package/dist/{chunk-NF3BK5WR.js → chunk-DACXIVVF.js} +5 -5
  45. package/dist/{chunk-IKRWLEDA.js → chunk-DLIYANB7.js} +20 -15
  46. package/dist/{chunk-RGZNQ5CT.js → chunk-DO7M3LSX.js} +9 -9
  47. package/dist/{chunk-2QPI3TR3.js → chunk-DVJL77SO.js} +2 -2
  48. package/dist/{chunk-ODUTYZIU.js → chunk-EUEXGXXR.js} +5 -5
  49. package/dist/{chunk-WKUYQBCG.js → chunk-EUZRMP4Y.js} +18 -16
  50. package/dist/{chunk-JMPL7NUB.js → chunk-G4LGUTOE.js} +4 -4
  51. package/dist/{chunk-CBSKDFWL.js → chunk-GEVQNST4.js} +2 -2
  52. package/dist/{chunk-NNWJYUNO.js → chunk-GFQ7P2UF.js} +7 -7
  53. package/dist/{chunk-SXQKNKRA.js → chunk-GI5RRMAH.js} +14 -14
  54. package/dist/{chunk-HPTJF6DG.js → chunk-GVZFCJHE.js} +336 -83
  55. package/dist/{chunk-ACCKVSHU.js → chunk-GXIWHXDB.js} +3 -3
  56. package/dist/{chunk-LUL5Z66S.js → chunk-HOX4YZ2K.js} +6 -5
  57. package/dist/chunk-HRAKUPIH.js +57 -0
  58. package/dist/{chunk-F5Z7EWMN.js → chunk-IJMW64DX.js} +50 -50
  59. package/dist/{chunk-QNWRHOMF.js → chunk-IMOD2YPV.js} +16 -9
  60. package/dist/{chunk-HZ2T2YED.js → chunk-IQCNVLO6.js} +28 -8
  61. package/dist/{chunk-HZFBVU5X.js → chunk-ISNCCX42.js} +8 -8
  62. package/dist/{chunk-7JSSKXG2.js → chunk-IZYTT3CD.js} +7 -3
  63. package/dist/chunk-KKEYGFX4.js +915 -0
  64. package/dist/{chunk-HHVJNVUJ.js → chunk-KS7ETA3P.js} +2 -2
  65. package/dist/{chunk-BLTEAUCB.js → chunk-L3Z5ANCV.js} +7 -7
  66. package/dist/{chunk-4VMV6OS6.js → chunk-LBFQMYS3.js} +2 -2
  67. package/dist/{chunk-URBGEOH3.js → chunk-M6Z2V6YU.js} +5 -5
  68. package/dist/{chunk-BT7HGDOX.js → chunk-MBJO5VNZ.js} +12 -12
  69. package/dist/chunk-MNQN3X6Y.js +595 -0
  70. package/dist/{chunk-3QKXHCGS.js → chunk-MZHXENL7.js} +5 -5
  71. package/dist/chunk-MZNWZUJM.js +1801 -0
  72. package/dist/{chunk-7YJWEF2L.js → chunk-N37QC5FV.js} +5 -5
  73. package/dist/{chunk-TJFDL26W.js → chunk-NCCQ6DVS.js} +7 -7
  74. package/dist/{chunk-P5JMBPDJ.js → chunk-NO7J45X6.js} +162 -47
  75. package/dist/chunk-OH3YYA3B.js +15 -0
  76. package/dist/{chunk-22PQ4TX4.js → chunk-P4DL2LM5.js} +16 -77
  77. package/dist/{chunk-LIN2K3EL.js → chunk-PFLOULP3.js} +4 -4
  78. package/dist/{chunk-QXFBABFJ.js → chunk-QKWL7SYE.js} +11 -11
  79. package/dist/chunk-RFCKPS2V.js +26 -0
  80. package/dist/{chunk-ZS43Y2FT.js → chunk-RTLNFZMD.js} +12 -4
  81. package/dist/{chunk-U7H5WRG5.js → chunk-RXFPB32E.js} +8 -6
  82. package/dist/{chunk-Q7NNUHQV.js → chunk-SEDI5K5B.js} +16 -16
  83. package/dist/{chunk-WV6TDAPN.js → chunk-SELG4SUR.js} +7 -7
  84. package/dist/{chunk-3WBALRQH.js → chunk-SER7RRAE.js} +27 -832
  85. package/dist/{chunk-K2HL3GBL.js → chunk-T4TY5GG3.js} +165 -15
  86. package/dist/chunk-T7QQBNLH.js +691 -0
  87. package/dist/{chunk-6OII3LOK.js → chunk-TLTGZTXI.js} +3 -3
  88. package/dist/chunk-TZ6UVP2H.js +637 -0
  89. package/dist/{chunk-3JLFK5MW.js → chunk-TZHN5ITX.js} +13 -41
  90. package/dist/{chunk-VANN3GDP.js → chunk-U3TPUXOQ.js} +399 -234
  91. package/dist/{chunk-VHMX7SXF.js → chunk-UA3W4FGC.js} +6 -6
  92. package/dist/{chunk-3O2ZAUGQ.js → chunk-UA6W4XFJ.js} +2 -2
  93. package/dist/chunk-UWD3JD5X.js +709 -0
  94. package/dist/chunk-V4ZKOKRB.js +13433 -0
  95. package/dist/{chunk-NC4KV7EL.js → chunk-VCRVEDUC.js} +5 -5
  96. package/dist/{chunk-4DU2TVI4.js → chunk-VMATUZB6.js} +12 -10
  97. package/dist/{chunk-J2FYEQ5L.js → chunk-VTYHHQ57.js} +2 -2
  98. package/dist/chunk-WB7POC6M.js +891 -0
  99. package/dist/{chunk-3HQVBIKD.js → chunk-WBVKKTUT.js} +2 -2
  100. package/dist/{chunk-EHOSNVVM.js → chunk-WLHX3MM5.js} +6 -2
  101. package/dist/{chunk-24T2YZ7A.js → chunk-WN552PKN.js} +553 -298
  102. package/dist/{chunk-4U4TKZFR.js → chunk-WT5TRMO4.js} +51 -26
  103. package/dist/{chunk-XWMSPJYN.js → chunk-WURGVOZJ.js} +56 -12
  104. package/dist/{chunk-7WUZEB2M.js → chunk-XR3XJN2M.js} +2 -2
  105. package/dist/chunk-XW2UZICE.js +372 -0
  106. package/dist/{chunk-2AKYFREM.js → chunk-XZ6UFQ52.js} +11 -11
  107. package/dist/chunk-Y3JU5RPK.js +8 -0
  108. package/dist/chunk-YKRJTYNP.js +1143 -0
  109. package/dist/{chunk-PWWSIB2A.js → chunk-ZGIGW4ZG.js} +5 -5
  110. package/dist/cli/index.js +34 -36
  111. package/dist/{clio-QQCMTUZE.js → clio-L2P7S2R2.js} +9 -9
  112. package/dist/{code-nav-GUPM6766.js → code-nav-B5LNX4KU.js} +25 -25
  113. package/dist/{components-TNIKXCBH.js → components-63MMQKUT.js} +6 -6
  114. package/dist/{config-IIM7YOD3.js → config-YXARKGTX.js} +70 -67
  115. package/dist/{configure-4ZM5HWJX.js → configure-LMVQJ46J.js} +47 -35
  116. package/dist/{context-OL5P3HEP.js → context-7HJEWTTP.js} +87 -44
  117. package/dist/{context-44BZLJ3J.js → context-XSZKKFBW.js} +14 -14
  118. package/dist/{context-AIDVQKMW.js → context-YG2LZDYZ.js} +60 -58
  119. package/dist/{context-clear-OQV76MYP.js → context-clear-AC5NXHM2.js} +57 -55
  120. package/dist/{context-index-HP2JFUWA.js → context-index-KKTPRV5G.js} +3 -3
  121. package/dist/{context-map-INTXD54D.js → context-map-T7ROR5D5.js} +4 -4
  122. package/dist/{context-working-set-ZUW3EGLS.js → context-working-set-F4Q4J3NS.js} +12 -10
  123. package/dist/{detail-UXPWRANG.js → detail-H73BEF2N.js} +58 -56
  124. package/dist/{dispatch-runner-P3ZW6G77.js → dispatch-runner-3RY5FSJC.js} +74 -72
  125. package/dist/{doctor-JJVGPZWT.js → doctor-EQYJOGUG.js} +44 -30
  126. package/dist/{eval-V2RTN3UH.js → eval-4P7O6CCE.js} +109 -46
  127. package/dist/{evidence-35PYWGSO.js → evidence-D6GUSYJW.js} +57 -55
  128. package/dist/{evidence-CIGGKI6J.js → evidence-O76QF7TZ.js} +62 -59
  129. package/dist/{evolve-33SM3NJP.js → evolve-H47BCETS.js} +58 -56
  130. package/dist/{extensions-YVRHX6ZI.js → extensions-NNL3ZOCU.js} +98 -20
  131. package/dist/{fleet-LFO7SIPC.js → fleet-KMNS6NOM.js} +106 -99
  132. package/dist/{fleet-commands-RLK72GU3.js → fleet-commands-DOWSYCBX.js} +14 -14
  133. package/dist/{fleet-decisions-3SBSCTCW.js → fleet-decisions-S3PTZV2D.js} +9 -9
  134. package/dist/{fleet-graph-JZIBCGMW.js → fleet-graph-F2DE2TME.js} +26 -24
  135. package/dist/{fleet-inspect-2L5YGGZJ.js → fleet-inspect-EN2Q6IVB.js} +60 -57
  136. package/dist/{fleet-preflight-QRSHIIDE.js → fleet-preflight-FRLETDD3.js} +3 -3
  137. package/dist/{fleet-validate-LIAVKDUU.js → fleet-validate-B2XDLS57.js} +28 -29
  138. package/dist/{fleet-verify-JIK3OQZR.js → fleet-verify-4JKUWGJ7.js} +57 -55
  139. package/dist/{fleet-view-IWHYGQKK.js → fleet-view-BHJFW26B.js} +60 -57
  140. package/dist/{init-NJEDOTQW.js → init-XAT5N5YM.js} +79 -74
  141. package/dist/interop-FVECHFKG.js +246 -0
  142. package/dist/{inventory-74UL7UHU.js → inventory-7KFQGLCV.js} +60 -57
  143. package/dist/library-NY2XOT75.js +492 -0
  144. package/dist/library-QAPAO23R.js +306 -0
  145. package/dist/library-import-5Y6MAS3R.js +183 -0
  146. package/dist/library-inventory-JT6HWITQ.js +56 -0
  147. package/dist/library-validation-EQUH25DC.js +42 -0
  148. package/dist/{memory-I76I5VUH.js → memory-DYVTTCP6.js} +58 -56
  149. package/dist/{models-D4YDIQZQ.js → models-MASFJ6Y2.js} +48 -36
  150. package/dist/{monitor-NKVD55HX.js → monitor-YMP4NXJJ.js} +64 -61
  151. package/dist/{orchestrator-I6OATVPK.js → orchestrator-AFQRRTEI.js} +3685 -1841
  152. package/dist/{panes-7BTYH3XQ.js → panes-D3Y2KFG5.js} +4 -4
  153. package/dist/{panes-WPOMEMRH.js → panes-NICTHQCV.js} +7 -7
  154. package/dist/{paths-J3KN7UAO.js → paths-PSFAUIGO.js} +5 -5
  155. package/dist/{preload-EJAWJEIO.js → preload-5Q7VXRFJ.js} +57 -55
  156. package/dist/{reset-4XMQKDNZ.js → reset-7NKZK7JN.js} +9 -9
  157. package/dist/{resources-TVYVXK3Q.js → resources-NILSIZAT.js} +94 -38
  158. package/dist/{run-OWQNNSJU.js → run-BPZGEBZV.js} +121 -105
  159. package/dist/{share-NPZZMUXG.js → share-EZ6ERBMH.js} +31 -28
  160. package/dist/skills-BTVVNYVM.js +100 -0
  161. package/dist/{skills-eval-J5TCKSJA.js → skills-eval-UY34MNK7.js} +110 -72
  162. package/dist/{skills-inventory-7II4DM57.js → skills-inventory-JDHSIA7I.js} +30 -25
  163. package/dist/{slash-commands-MDSDSWYF.js → slash-commands-K4FNQ2AT.js} +49 -46
  164. package/dist/{steer-S7D7IKPU.js → steer-2B3EQGFH.js} +4 -4
  165. package/dist/{support-5VAEC32W.js → support-L2SOL3IE.js} +7 -7
  166. package/dist/{targets-KILZEOCE.js → targets-44VKGFLN.js} +64 -58
  167. package/dist/{tasks-R6P6OV22.js → tasks-3KODKFU7.js} +12 -12
  168. package/dist/{terminal-lease-LZCG2KN3.js → terminal-lease-LXA7MMPO.js} +32 -19
  169. package/dist/{tools-6OCQ6SVB.js → tools-3UB7TEVR.js} +7 -7
  170. package/dist/{trace-JHLXWUMN.js → trace-TAMIU4OJ.js} +5 -4
  171. package/dist/{tui-primitives-RCY2HN7G.js → tui-primitives-A6MUW32V.js} +3 -2
  172. package/dist/{uninstall-FXYMFFRT.js → uninstall-QYVRPEM4.js} +9 -9
  173. package/dist/{upgrade-D2OZH6IQ.js → upgrade-7PMKM2JH.js} +15 -16
  174. package/dist/{usage-PIASNUS4.js → usage-6EQV7EQK.js} +70 -67
  175. package/dist/{verifiers-LTHUY2PX.js → verifiers-JLITWSHU.js} +15 -15
  176. package/dist/{verify-HYF7KBVE.js → verify-T7NAEVIG.js} +13 -13
  177. package/dist/{web-fetch-MQN4FH3X.js → web-fetch-W4TNW4Q7.js} +4 -4
  178. package/dist/{wiki-generate-RK7JQ5NP.js → wiki-generate-T2TJQJUA.js} +81 -76
  179. package/dist/{with-panes-OFTNAR4Y.js → with-panes-CHFC7HGI.js} +4 -4
  180. package/dist/worker/entry.js +283 -76
  181. package/docs/README.md +43 -0
  182. package/docs/architecture/architecture.md +8 -7
  183. package/docs/architecture/artifact-versions.md +3 -3
  184. package/docs/architecture/context-engine.md +35 -1
  185. package/docs/architecture/library.md +32 -0
  186. package/docs/architecture/middleware-and-components.md +1 -1
  187. package/docs/architecture/model-catalog.md +21 -1
  188. package/docs/architecture/pi-boundary.md +18 -0
  189. package/docs/architecture/prompt-envelope-and-tools.md +5 -5
  190. package/docs/architecture/safety-model.md +21 -2
  191. package/docs/architecture/session-lifecycle.md +12 -1
  192. package/docs/architecture/tui-design.md +108 -9
  193. package/docs/architecture/worker-context.md +106 -0
  194. package/docs/guide/authoring-plugins.md +160 -0
  195. package/docs/guide/built-in-agents.md +5 -5
  196. package/docs/guide/commands-and-modes.md +161 -56
  197. package/docs/guide/configuration-and-targets.md +1 -1
  198. package/docs/guide/configuration-reference.md +27 -34
  199. package/docs/guide/environment-variables.md +2 -2
  200. package/docs/guide/exit-codes-and-output.md +1 -1
  201. package/docs/guide/extensions-and-sharing.md +93 -53
  202. package/docs/guide/fleet-dispatch.md +31 -4
  203. package/docs/guide/glossary.md +1 -1
  204. package/docs/guide/harness-extensions.md +291 -0
  205. package/docs/guide/installation-and-lifecycle.md +9 -9
  206. package/docs/guide/interop.md +243 -0
  207. package/docs/guide/panes-and-files.md +3 -3
  208. package/docs/guide/plugins.md +80 -0
  209. package/docs/guide/resource-library.md +111 -45
  210. package/docs/guide/skills-marketplace.md +35 -72
  211. package/docs/guide/tool-usage.md +19 -7
  212. package/docs/guide/troubleshooting.md +1 -1
  213. package/docs/process/development-pipeline.md +14 -14
  214. package/docs/process/documentation-coverage.md +28 -1
  215. package/docs/process/documentation-guide.md +15 -7
  216. package/docs/process/eval-runner.md +8 -3
  217. package/docs/process/performance-methodology.md +1 -1
  218. package/docs/process/release-cut-checklist.md +4 -0
  219. package/docs/process/scientific-validation.md +23 -0
  220. package/evals/scalar-decision-machinery.ts +1 -1
  221. package/examples/extensions/README.md +67 -0
  222. package/examples/extensions/lab-status/clio-coder-extension.json +14 -0
  223. package/examples/extensions/lab-status/extension.mjs +68 -0
  224. package/examples/extensions/lab-status/jobs.synthetic.json +9 -0
  225. package/examples/extensions/measurements/clio-coder-extension.json +28 -0
  226. package/examples/extensions/measurements/summarize.cjs +23 -0
  227. package/library/README.md +109 -0
  228. package/library/_authoring/templates/agent/README.md +28 -0
  229. package/library/_authoring/templates/agent/agents/benchmark-scout.md +30 -0
  230. package/library/_authoring/templates/agent/plugin.json +23 -0
  231. package/library/_authoring/templates/fleet/README.md +29 -0
  232. package/library/_authoring/templates/fleet/fleets/pipeline-review.md +31 -0
  233. package/library/_authoring/templates/fleet/plugin.json +23 -0
  234. package/library/_authoring/templates/plugin/README.md +37 -0
  235. package/library/_authoring/templates/plugin/agents/data-curator.md +31 -0
  236. package/library/_authoring/templates/plugin/assets/curation-guide.md +22 -0
  237. package/library/_authoring/templates/plugin/plugin.json +42 -0
  238. package/library/_authoring/templates/plugin/prompts/inspect-dataset.md +15 -0
  239. package/library/_authoring/templates/plugin/skills/dataset-curation/SKILL.md +36 -0
  240. package/library/_authoring/templates/plugin/skills/dataset-curation/evals.md +17 -0
  241. package/library/_authoring/templates/prompt/README.md +28 -0
  242. package/library/_authoring/templates/prompt/plugin.json +23 -0
  243. package/library/_authoring/templates/prompt/prompts/paper-summary.md +26 -0
  244. package/library/_authoring/templates/skill/README.md +24 -0
  245. package/library/_authoring/templates/skill/SKILL.md +39 -0
  246. package/library/_authoring/templates/skill/evals.md +30 -0
  247. package/library/_authoring/templates/skill/plugin.json +23 -0
  248. package/library/agents/README.md +7 -0
  249. package/library/fleets/README.md +7 -0
  250. package/library/plugins/materio/README.md +137 -0
  251. package/library/plugins/materio/ai.iowarp.clio/agents/materio-lab-definer.md +208 -0
  252. package/library/plugins/materio/ai.iowarp.clio/agents/materio-literature-reviewer.md +308 -0
  253. package/library/plugins/materio/ai.iowarp.clio/agents/materio-research-explorer.md +249 -0
  254. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-executor.md +416 -0
  255. package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-verifier.md +60 -0
  256. package/library/plugins/materio/ai.iowarp.clio/agents/materio-workflow-planner.md +238 -0
  257. package/library/plugins/materio/ai.iowarp.clio/fleets/materio-execute-task.md +50 -0
  258. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/add-task.md +66 -0
  259. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/archive-task.md +65 -0
  260. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/checkpoint.md +26 -0
  261. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-research-tasks.md +230 -0
  262. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-virtual-lab.md +181 -0
  263. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/execute-task.md +292 -0
  264. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/help.md +129 -0
  265. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/identify-research.md +206 -0
  266. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/literature-review.md +201 -0
  267. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/pause-research.md +12 -0
  268. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/progress.md +105 -0
  269. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/remove-task.md +63 -0
  270. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/resume-research.md +64 -0
  271. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/settings.md +16 -0
  272. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/status.md +92 -0
  273. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/upload-data.md +104 -0
  274. package/library/plugins/materio/ai.iowarp.clio/prompts/materio/wtfp.md +145 -0
  275. package/library/plugins/materio/ai.iowarp.clio/references/execution.md +56 -0
  276. package/library/plugins/materio/ai.iowarp.portability/provenance.json +9 -0
  277. package/library/plugins/materio/assets/actions/add-task.md +86 -0
  278. package/library/plugins/materio/assets/actions/archive-task.md +84 -0
  279. package/library/plugins/materio/assets/actions/checkpoint.md +47 -0
  280. package/library/plugins/materio/assets/actions/define-research-tasks.md +228 -0
  281. package/library/plugins/materio/assets/actions/define-virtual-lab.md +179 -0
  282. package/library/plugins/materio/assets/actions/execute-task.md +290 -0
  283. package/library/plugins/materio/assets/actions/help.md +140 -0
  284. package/library/plugins/materio/assets/actions/identify-research.md +204 -0
  285. package/library/plugins/materio/assets/actions/literature-review.md +199 -0
  286. package/library/plugins/materio/assets/actions/pause-research.md +34 -0
  287. package/library/plugins/materio/assets/actions/progress.md +125 -0
  288. package/library/plugins/materio/assets/actions/remove-task.md +82 -0
  289. package/library/plugins/materio/assets/actions/resume-research.md +84 -0
  290. package/library/plugins/materio/assets/actions/settings.md +38 -0
  291. package/library/plugins/materio/assets/actions/status.md +112 -0
  292. package/library/plugins/materio/assets/actions/upload-data.md +123 -0
  293. package/library/plugins/materio/assets/actions/wtfp.md +179 -0
  294. package/library/plugins/materio/assets/references/research-domains.md +134 -0
  295. package/library/plugins/materio/assets/references/research-policy.md +77 -0
  296. package/library/plugins/materio/assets/references/traditional-workflows.md +146 -0
  297. package/library/plugins/materio/assets/scripts/check_physics.py +271 -0
  298. package/library/plugins/materio/assets/scripts/check_scripts.py +248 -0
  299. package/library/plugins/materio/assets/scripts/project_plugin.py +165 -0
  300. package/library/plugins/materio/assets/scripts/research_state.py +400 -0
  301. package/library/plugins/materio/assets/scripts/verify_citations.py +616 -0
  302. package/library/plugins/materio/assets/templates/RESEARCH.md +39 -0
  303. package/library/plugins/materio/assets/templates/VIRTUAL-LAB.md +120 -0
  304. package/library/plugins/materio/assets/templates/WORKFLOW.md +42 -0
  305. package/library/plugins/materio/assets/templates/config.json +5 -0
  306. package/library/plugins/materio/evals/scripts.yaml +29 -0
  307. package/library/plugins/materio/plugin.json +530 -0
  308. package/library/plugins/materio/skills/materio-lab-definer/SKILL.md +74 -0
  309. package/library/plugins/materio/skills/materio-literature-reviewer/SKILL.md +64 -0
  310. package/library/plugins/materio/skills/materio-research-explorer/SKILL.md +74 -0
  311. package/library/plugins/materio/skills/materio-task-executor/SKILL.md +214 -0
  312. package/library/plugins/materio/skills/materio-task-verifier/SKILL.md +46 -0
  313. package/library/plugins/materio/skills/materio-workflow-planner/SKILL.md +79 -0
  314. package/library/plugins/materio/tests/test_check_physics.py +139 -0
  315. package/library/plugins/materio/tests/test_check_scripts.py +140 -0
  316. package/library/plugins/materio/tests/test_research_state.py +291 -0
  317. package/library/plugins/materio/tests/test_verify_citations.py +337 -0
  318. package/library/prompts/README.md +7 -0
  319. package/library/registry.yaml +921 -0
  320. package/library/skills/README.md +120 -0
  321. package/{skills → library/skills}/coding/ast-grep/SKILL.md +1 -1
  322. package/{skills → library/skills}/coding/ast-grep/evals.md +1 -1
  323. package/library/skills/coding/ast-grep/plugin.json +23 -0
  324. package/{skills → library/skills}/coding/coding-standards/SKILL.md +1 -1
  325. package/{skills → library/skills}/coding/coding-standards/evals.md +1 -1
  326. package/library/skills/coding/coding-standards/plugin.json +23 -0
  327. package/{skills → library/skills}/coding/prototype/SKILL.md +1 -1
  328. package/{skills → library/skills}/coding/prototype/evals.md +1 -1
  329. package/library/skills/coding/prototype/plugin.json +23 -0
  330. package/{skills → library/skills}/coding/tdd/SKILL.md +1 -1
  331. package/{skills → library/skills}/coding/tdd/evals.md +1 -1
  332. package/library/skills/coding/tdd/plugin.json +23 -0
  333. package/{skills → library/skills}/context/context-handoff/SKILL.md +1 -1
  334. package/{skills → library/skills}/context/context-handoff/evals.md +1 -1
  335. package/library/skills/context/context-handoff/plugin.json +23 -0
  336. package/{skills → library/skills}/context/context-prime/SKILL.md +1 -1
  337. package/{skills → library/skills}/context/context-prime/evals.md +1 -1
  338. package/library/skills/context/context-prime/plugin.json +23 -0
  339. package/{skills → library/skills}/git/branch-closeout/SKILL.md +1 -1
  340. package/library/skills/git/branch-closeout/plugin.json +23 -0
  341. package/{skills → library/skills}/git/file-ticket/SKILL.md +1 -1
  342. package/library/skills/git/file-ticket/plugin.json +23 -0
  343. package/{skills → library/skills}/git/fix-issue/SKILL.md +1 -1
  344. package/library/skills/git/fix-issue/plugin.json +23 -0
  345. package/{skills → library/skills}/git/resolve-merge-conflicts/SKILL.md +1 -1
  346. package/{skills → library/skills}/git/resolve-merge-conflicts/evals.md +1 -1
  347. package/library/skills/git/resolve-merge-conflicts/plugin.json +23 -0
  348. package/{skills → library/skills}/git/ship/SKILL.md +1 -1
  349. package/library/skills/git/ship/plugin.json +23 -0
  350. package/{skills → library/skills}/git/worktree-create/SKILL.md +1 -1
  351. package/library/skills/git/worktree-create/plugin.json +23 -0
  352. package/{skills → library/skills}/git/worktree-merge/SKILL.md +1 -1
  353. package/library/skills/git/worktree-merge/plugin.json +23 -0
  354. package/{skills → library/skills}/meta/clio-coder-dev/SKILL.md +1 -1
  355. package/{skills → library/skills}/meta/clio-coder-dev/evals.md +1 -1
  356. package/library/skills/meta/clio-coder-dev/plugin.json +23 -0
  357. package/{skills → library/skills}/meta/clio-coder-test/SKILL.md +1 -1
  358. package/{skills → library/skills}/meta/clio-coder-test/evals.md +1 -1
  359. package/library/skills/meta/clio-coder-test/plugin.json +23 -0
  360. package/{skills → library/skills}/meta/credentials/SKILL.md +1 -1
  361. package/{skills → library/skills}/meta/credentials/evals.md +1 -1
  362. package/library/skills/meta/credentials/plugin.json +23 -0
  363. package/library/skills/meta/find-skills/SKILL.md +85 -0
  364. package/library/skills/meta/find-skills/evals.md +65 -0
  365. package/library/skills/meta/find-skills/plugin.json +23 -0
  366. package/{skills → library/skills}/meta/herdr/SKILL.md +1 -1
  367. package/{skills → library/skills}/meta/herdr/evals.md +1 -1
  368. package/library/skills/meta/herdr/plugin.json +23 -0
  369. package/{skills → library/skills}/meta/skill-craft/SKILL.md +23 -9
  370. package/{skills → library/skills}/meta/skill-craft/evals.md +11 -3
  371. package/library/skills/meta/skill-craft/plugin.json +23 -0
  372. package/{skills → library/skills}/planning/archify/SKILL.md +13 -13
  373. package/library/skills/planning/archify/plugin.json +23 -0
  374. package/{skills → library/skills}/planning/architecture/SKILL.md +1 -1
  375. package/{skills → library/skills}/planning/architecture/evals.md +1 -1
  376. package/library/skills/planning/architecture/plugin.json +23 -0
  377. package/{skills → library/skills}/planning/backlog/SKILL.md +1 -1
  378. package/{skills → library/skills}/planning/backlog/evals.md +1 -1
  379. package/library/skills/planning/backlog/plugin.json +23 -0
  380. package/{skills → library/skills}/planning/prd/SKILL.md +1 -1
  381. package/{skills → library/skills}/planning/prd/evals.md +1 -1
  382. package/library/skills/planning/prd/plugin.json +23 -0
  383. package/{skills → library/skills}/planning/product-intent/SKILL.md +1 -1
  384. package/{skills → library/skills}/planning/product-intent/evals.md +1 -1
  385. package/library/skills/planning/product-intent/plugin.json +23 -0
  386. package/{skills → library/skills}/planning/tech-spec/SKILL.md +1 -1
  387. package/{skills → library/skills}/planning/tech-spec/evals.md +1 -1
  388. package/library/skills/planning/tech-spec/plugin.json +23 -0
  389. package/{skills → library/skills}/registry.yaml +7 -7
  390. package/{skills → library/skills}/remote.yaml +1 -1
  391. package/{skills → library/skills}/research/arxiv-literature/SKILL.md +1 -1
  392. package/{skills → library/skills}/research/arxiv-literature/evals.md +1 -1
  393. package/library/skills/research/arxiv-literature/plugin.json +23 -0
  394. package/{skills → library/skills}/research/experiment-protocol/SKILL.md +1 -1
  395. package/{skills → library/skills}/research/experiment-protocol/evals.md +1 -1
  396. package/library/skills/research/experiment-protocol/plugin.json +23 -0
  397. package/{skills → library/skills}/research/scientific-debugging/SKILL.md +1 -1
  398. package/{skills → library/skills}/research/scientific-debugging/evals.md +1 -1
  399. package/library/skills/research/scientific-debugging/plugin.json +23 -0
  400. package/{skills → library/skills}/research/scientific-modernization/SKILL.md +1 -1
  401. package/{skills → library/skills}/research/scientific-modernization/evals.md +1 -1
  402. package/library/skills/research/scientific-modernization/plugin.json +23 -0
  403. package/{skills → library/skills}/skill-marketplace.json +37 -37
  404. package/{skills → library/skills}/workflow/cut-it/SKILL.md +1 -1
  405. package/{skills → library/skills}/workflow/cut-it/evals.md +1 -1
  406. package/library/skills/workflow/cut-it/plugin.json +23 -0
  407. package/{skills → library/skills}/workflow/design-council/SKILL.md +1 -1
  408. package/{skills → library/skills}/workflow/design-council/evals.md +1 -1
  409. package/library/skills/workflow/design-council/plugin.json +23 -0
  410. package/{skills → library/skills}/workflow/grill-me/SKILL.md +1 -1
  411. package/{skills → library/skills}/workflow/grill-me/evals.md +1 -1
  412. package/library/skills/workflow/grill-me/plugin.json +23 -0
  413. package/{skills → library/skills}/workflow/workflow-distiller/SKILL.md +14 -11
  414. package/{skills → library/skills}/workflow/workflow-distiller/evals.md +14 -6
  415. package/library/skills/workflow/workflow-distiller/plugin.json +23 -0
  416. package/package.json +12 -5
  417. package/src/cli/agents.ts +1 -1
  418. package/src/cli/config-inspect.ts +1 -1
  419. package/src/cli/configure.ts +2 -2
  420. package/src/cli/eval.ts +40 -6
  421. package/src/cli/extensions.ts +74 -8
  422. package/src/cli/fleet-preflight.ts +2 -0
  423. package/src/cli/fleet.ts +2 -0
  424. package/src/cli/index.ts +1 -3
  425. package/src/cli/interop-inspect.ts +61 -33
  426. package/src/cli/interop.ts +79 -9
  427. package/src/cli/library-import.ts +139 -0
  428. package/src/cli/library.ts +418 -120
  429. package/src/cli/run.ts +26 -9
  430. package/src/cli/skills-eval.ts +43 -6
  431. package/src/cli/skills-inventory.ts +6 -2
  432. package/src/cli/skills.ts +44 -491
  433. package/src/core/bus-events.ts +5 -0
  434. package/src/core/defaults.ts +1 -1
  435. package/src/core/recent-models.ts +2 -2
  436. package/src/core/session-routing.ts +3 -3
  437. package/src/core/state-file-lock.ts +1 -1
  438. package/src/core/tool-names.ts +5 -0
  439. package/src/domains/agents/extension.ts +42 -6
  440. package/src/domains/agents/fleet-commands.ts +92 -1
  441. package/src/domains/agents/fleet-contract.ts +87 -19
  442. package/src/domains/agents/recipe.ts +5 -4
  443. package/src/domains/agents/registry.ts +80 -24
  444. package/src/domains/config/keybindings.ts +155 -95
  445. package/src/domains/context/worker/contract.ts +91 -0
  446. package/src/domains/context/worker/pressure.ts +120 -0
  447. package/src/domains/context/worker/recall.ts +62 -0
  448. package/src/domains/context/worker/select.ts +164 -0
  449. package/src/domains/context/worker/snapshot.ts +35 -0
  450. package/src/domains/context/worker/store.ts +16 -0
  451. package/src/domains/context/working-set/replay/synthetic.ts +2 -1
  452. package/src/domains/dispatch/active-route-planner.ts +2 -0
  453. package/src/domains/dispatch/backoff.ts +1 -0
  454. package/src/domains/dispatch/code-step.ts +12 -2
  455. package/src/domains/dispatch/contract.ts +3 -0
  456. package/src/domains/dispatch/execution-plan.ts +2 -0
  457. package/src/domains/dispatch/extension.ts +109 -27
  458. package/src/domains/dispatch/fleet-plan.ts +10 -0
  459. package/src/domains/dispatch/fleet-run.ts +1 -0
  460. package/src/domains/dispatch/orphan-recovery.ts +1 -0
  461. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  462. package/src/domains/dispatch/state.ts +1 -0
  463. package/src/domains/dispatch/types.ts +5 -0
  464. package/src/domains/dispatch/validation.ts +12 -0
  465. package/src/domains/dispatch/workspace-checkpoint.ts +1 -1
  466. package/src/domains/evidence/failure-attribution.ts +1 -0
  467. package/src/domains/evidence/trust-status.ts +22 -3
  468. package/src/domains/extensions/command-schema.ts +145 -0
  469. package/src/domains/extensions/command-tools.ts +15 -0
  470. package/src/domains/extensions/compatibility.ts +7 -0
  471. package/src/domains/extensions/contract.ts +0 -4
  472. package/src/domains/extensions/discovery.ts +69 -205
  473. package/src/domains/extensions/extension.ts +0 -4
  474. package/src/domains/extensions/index.ts +1 -5
  475. package/src/domains/extensions/manager.ts +1 -6
  476. package/src/domains/extensions/operator-commands.ts +29 -0
  477. package/src/domains/extensions/operator-runtime.ts +483 -0
  478. package/src/domains/extensions/public-api.ts +53 -0
  479. package/src/domains/extensions/runtime-child.mjs +114 -0
  480. package/src/domains/extensions/runtime-process.ts +306 -0
  481. package/src/domains/extensions/runtime-schema.ts +146 -0
  482. package/src/domains/extensions/{resources.ts → snapshot-access.ts} +1 -17
  483. package/src/domains/extensions/snapshot.ts +4 -32
  484. package/src/domains/extensions/state.ts +5 -83
  485. package/src/domains/extensions/types.ts +33 -34
  486. package/src/domains/interop/adopt.ts +546 -0
  487. package/src/domains/interop/detect.ts +50 -12
  488. package/src/domains/interop/foreign.ts +554 -0
  489. package/src/domains/interop/import.ts +277 -0
  490. package/src/domains/interop/index.ts +24 -0
  491. package/src/domains/interop/install.ts +6 -0
  492. package/src/domains/interop/inventory.ts +351 -0
  493. package/src/domains/interop/projection.ts +360 -0
  494. package/src/domains/interop/registry.ts +106 -3
  495. package/src/domains/interop/types.ts +51 -0
  496. package/src/domains/lifecycle/migrations/index.ts +0 -2
  497. package/src/domains/lifecycle/naming-resources.ts +1 -1
  498. package/src/domains/middleware/marketplace-offer.ts +1 -1
  499. package/src/domains/mux/contract.ts +1 -1
  500. package/src/domains/plugins/catalog.ts +204 -0
  501. package/src/domains/plugins/contract.ts +24 -0
  502. package/src/domains/plugins/discovery.ts +316 -0
  503. package/src/domains/plugins/extension.ts +40 -0
  504. package/src/domains/plugins/index.ts +77 -0
  505. package/src/domains/plugins/integrity.ts +6 -0
  506. package/src/domains/plugins/manifest.ts +3 -0
  507. package/src/domains/plugins/resources.ts +102 -0
  508. package/src/domains/plugins/state.ts +753 -0
  509. package/src/domains/plugins/types.ts +217 -0
  510. package/src/domains/prompts/extension.ts +9 -2
  511. package/src/domains/prompts/fragments/operating/skills.md +10 -10
  512. package/src/domains/resources/common-loader.ts +9 -6
  513. package/src/domains/resources/index.ts +67 -0
  514. package/src/domains/resources/library-actions.ts +836 -0
  515. package/src/domains/resources/library-evals.ts +38 -0
  516. package/src/domains/resources/library-inventory.ts +1048 -0
  517. package/src/domains/resources/library-types.ts +50 -0
  518. package/src/domains/resources/library-validation.ts +634 -0
  519. package/src/domains/resources/library.ts +437 -156
  520. package/src/domains/resources/package-references.ts +66 -0
  521. package/src/domains/resources/prompts/loader.ts +75 -41
  522. package/src/domains/resources/skills/install.ts +2 -2
  523. package/src/domains/resources/skills/loader.ts +77 -22
  524. package/src/domains/resources/skills/marketplace.ts +48 -57
  525. package/src/domains/resources/skills/promotion.ts +2 -2
  526. package/src/domains/resources/skills/provenance-pin.ts +17 -4
  527. package/src/domains/safety/action-classifier.ts +2 -2
  528. package/src/domains/safety/default-path-policy.ts +3 -1
  529. package/src/domains/safety/policy-engine.ts +1 -1
  530. package/src/domains/safety/protected-artifacts.ts +21 -5
  531. package/src/domains/safety/skill-authority.ts +5 -2
  532. package/src/domains/share/archive.ts +1 -1
  533. package/src/engine/apis/openai-completions.ts +52 -2
  534. package/src/engine/notices/pi-tui-LICENSE +21 -0
  535. package/src/engine/tui.ts +3 -0
  536. package/src/engine/worker-runtime.ts +58 -14
  537. package/src/engine/worker-tools.ts +5 -0
  538. package/src/entry/orchestrator.ts +26 -5
  539. package/src/entry/plugin-reload.ts +18 -0
  540. package/src/interactive/application-controller.ts +67 -21
  541. package/src/interactive/chat-loop.ts +32 -5
  542. package/src/interactive/chat-panel.ts +5 -1
  543. package/src/interactive/clio-editor.ts +53 -21
  544. package/src/interactive/command-output.ts +56 -1
  545. package/src/interactive/editor-submit.ts +65 -28
  546. package/src/interactive/fleet-run-preview.ts +2 -0
  547. package/src/interactive/follow-up-queue-panel.ts +3 -3
  548. package/src/interactive/footer/dashboard.ts +4 -1
  549. package/src/interactive/footer/notifications.ts +2 -2
  550. package/src/interactive/footer/widgets.ts +2 -2
  551. package/src/interactive/interactive-application.ts +209 -21
  552. package/src/interactive/interactive-input-runtime.ts +254 -7
  553. package/src/interactive/interactive-presentation.ts +41 -12
  554. package/src/interactive/interactive-slash-runtime.ts +37 -8
  555. package/src/interactive/keybinding-manager.ts +156 -79
  556. package/src/interactive/keyboard-owner.ts +37 -0
  557. package/src/interactive/leader-key.ts +49 -102
  558. package/src/interactive/leader-menu.ts +45 -0
  559. package/src/interactive/overlay-ask-user-lifecycle.ts +9 -1
  560. package/src/interactive/overlay-frame.ts +15 -0
  561. package/src/interactive/overlay-key-routing.ts +46 -47
  562. package/src/interactive/overlay-lifecycle.ts +30 -15
  563. package/src/interactive/overlay-resource-openers.ts +56 -46
  564. package/src/interactive/overlays/ask-user.ts +630 -556
  565. package/src/interactive/overlays/extension-panel.ts +70 -0
  566. package/src/interactive/overlays/extensions.ts +28 -5
  567. package/src/interactive/overlays/fleet-run-approval.ts +7 -3
  568. package/src/interactive/overlays/help-reference.ts +89 -40
  569. package/src/interactive/overlays/interop.ts +122 -3
  570. package/src/interactive/overlays/keybinding-detail.ts +2 -2
  571. package/src/interactive/overlays/library-lifecycle.ts +90 -0
  572. package/src/interactive/overlays/library-model.ts +574 -0
  573. package/src/interactive/overlays/library-review.ts +557 -0
  574. package/src/interactive/overlays/library-tabs.ts +3 -15
  575. package/src/interactive/overlays/library.ts +602 -0
  576. package/src/interactive/overlays/list-overlay.ts +218 -39
  577. package/src/interactive/overlays/model-selector.ts +28 -25
  578. package/src/interactive/overlays/session-selector.ts +9 -3
  579. package/src/interactive/overlays/settings.ts +25 -18
  580. package/src/interactive/overlays/tree-selector.ts +16 -11
  581. package/src/interactive/permission-hint.ts +13 -0
  582. package/src/interactive/permission-overlay.ts +77 -28
  583. package/src/interactive/prompt-source-label.ts +21 -0
  584. package/src/interactive/renderers/reference-card.ts +35 -0
  585. package/src/interactive/renderers/worker-entry.ts +35 -3
  586. package/src/interactive/slash-autocomplete.ts +99 -1
  587. package/src/interactive/slash-commands.ts +390 -67
  588. package/src/interactive/slash-spec.ts +0 -1
  589. package/src/interactive/terminal-lease.ts +44 -12
  590. package/src/interactive/turn-queues.ts +8 -7
  591. package/src/interactive/turn-runtime.ts +1 -1
  592. package/src/interactive/view/view-overlay.ts +19 -14
  593. package/src/interactive/welcome-dashboard.ts +525 -408
  594. package/src/tools/bootstrap.ts +8 -0
  595. package/src/tools/builtin-tool-catalog.ts +7 -2
  596. package/src/tools/context/index.ts +58 -5
  597. package/src/tools/context/library.ts +465 -0
  598. package/src/tools/context/surface.ts +20 -6
  599. package/src/tools/core-bootstrap.ts +3 -0
  600. package/src/tools/dispatch-admission.ts +24 -1
  601. package/src/tools/dispatch-arguments.ts +8 -0
  602. package/src/tools/dispatch-plan.ts +32 -0
  603. package/src/tools/dispatch-schema.ts +31 -1
  604. package/src/tools/dispatch-types.ts +3 -0
  605. package/src/tools/dispatch.ts +1 -1
  606. package/src/tools/harness-extensions.ts +169 -0
  607. package/src/tools/observation.ts +4 -0
  608. package/src/tools/policy.ts +7 -1
  609. package/src/tools/registry.ts +19 -1
  610. package/src/tools/worker-evidence.ts +5 -0
  611. package/src/worker/context-seed.ts +192 -0
  612. package/src/worker/entry.ts +1 -0
  613. package/src/worker/spec-contract.ts +8 -1
  614. package/dist/chunk-3UW3KU4A.js +0 -21
  615. package/dist/chunk-536HXRFE.js +0 -1257
  616. package/dist/chunk-B3MOMLJ4.js +0 -433
  617. package/dist/chunk-CXQ37WJH.js +0 -45
  618. package/dist/chunk-KTFSFCVN.js +0 -46
  619. package/dist/chunk-QCOV5DFY.js +0 -911
  620. package/dist/chunk-QRFXEO6Y.js +0 -17
  621. package/dist/chunk-VAHLPXPY.js +0 -399
  622. package/dist/interop-RVCAYECG.js +0 -115
  623. package/dist/library-CTKZA7K3.js +0 -226
  624. package/dist/skills-OXFEAWMT.js +0 -510
  625. package/skills/README.md +0 -418
  626. package/skills/meta/find-skills/SKILL.md +0 -78
  627. package/skills/meta/find-skills/evals.md +0 -47
  628. package/src/domains/extensions/resource-path.ts +0 -27
  629. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +0 -27
  630. package/src/interactive/overlays/agents.ts +0 -70
  631. package/src/interactive/overlays/library-install-confirm.ts +0 -152
  632. package/src/interactive/overlays/prompts.ts +0 -89
  633. package/src/interactive/overlays/skills-hub.ts +0 -615
  634. /package/{skills → library/skills}/coding/ast-grep/references/rule_reference.md +0 -0
  635. /package/{skills → library/skills}/coding/prototype/references/LOGIC.md +0 -0
  636. /package/{skills → library/skills}/coding/prototype/references/UI.md +0 -0
  637. /package/{skills → library/skills}/coding/tdd/references/mocking.md +0 -0
  638. /package/{skills → library/skills}/coding/tdd/references/tests.md +0 -0
  639. /package/{skills → library/skills}/context/context-handoff/scripts/new-handoff.sh +0 -0
  640. /package/{skills → library/skills}/git/branch-closeout/evals.md +0 -0
  641. /package/{skills → library/skills}/git/branch-closeout/references/closeout-checklist.md +0 -0
  642. /package/{skills → library/skills}/git/file-ticket/assets/issue-template.md +0 -0
  643. /package/{skills → library/skills}/git/file-ticket/evals.md +0 -0
  644. /package/{skills → library/skills}/git/file-ticket/references/issue-discovery.md +0 -0
  645. /package/{skills → library/skills}/git/fix-issue/evals.md +0 -0
  646. /package/{skills → library/skills}/git/fix-issue/references/diagnosis-and-rca.md +0 -0
  647. /package/{skills → library/skills}/git/resolve-merge-conflicts/references/conflict-matrix.md +0 -0
  648. /package/{skills → library/skills}/git/ship/assets/pr-template.md +0 -0
  649. /package/{skills → library/skills}/git/ship/evals.md +0 -0
  650. /package/{skills → library/skills}/git/ship/references/remote-and-branch-policy.md +0 -0
  651. /package/{skills → library/skills}/git/worktree-create/evals.md +0 -0
  652. /package/{skills → library/skills}/git/worktree-create/references/worktree-setup.md +0 -0
  653. /package/{skills → library/skills}/git/worktree-merge/evals.md +0 -0
  654. /package/{skills → library/skills}/git/worktree-merge/references/merge-strategies.md +0 -0
  655. /package/{skills → library/skills}/meta/clio-coder-test/references/harness.md +0 -0
  656. /package/{skills → library/skills}/meta/clio-coder-test/references/test-map.md +0 -0
  657. /package/{skills → library/skills}/planning/archify/evals.md +0 -0
package/skills/README.md DELETED
@@ -1,418 +0,0 @@
1
- # Clio Skills Marketplace
2
-
3
- Curated, version-controlled skills that Clio Coder's authors have reviewed and
4
- approved. This folder is the **marketplace catalog**, which acts as a publishing shelf rather than a
5
- runtime store.
6
-
7
- ## Marketplace vs runtime
8
-
9
- Clio's engine discovers *runtime* skills from these roots (see
10
- `src/domains/resources/skills/loader.ts`):
11
-
12
- - extension roots
13
- - `~/.agents`, `~/.claude`, `~/.codex`, `~/.config/opencode`, `~/.copilot` → their `skills/` subdir
14
- - `<clio-config>/skills` (per-user)
15
- - project `.agents` / `.claude` / `.codex` / `.opencode` / `.github` → their `skills/` subdir (model-visible only when `integrations.projectResources.trustProjectImports` is true; untrusted by default)
16
- - `.clio-coder/skills` (per-project)
17
-
18
- This repo's `skills/` directory is **not** one of those roots, so nothing here
19
- auto-loads. That gap is deliberate.
20
-
21
- | | Runtime skill | Marketplace skill (here) |
22
- |---|---|---|
23
- | Location | a discovery root above | `skills/<category>/<name>/` in this repo |
24
- | Author | any user or harness | Clio authors, reviewed |
25
- | Provenance | none required | `clio-coder:` block with `registry-id` + `source-url` + `audit: pass` |
26
- | Auto-loaded | yes | no, as it must be installed |
27
-
28
- "Approved" is visible in the frontmatter: a maintainer set `clio-coder.audit: pass`
29
- and a `version`. A skill a user wrote themselves carries none of those fields.
30
-
31
- ## Catalog
32
-
33
- The catalog is organized by theme: each skill lives at
34
- `skills/<category>/<name>/`. Skill names stay globally unique; the category
35
- folder is presentation and provenance, not a namespace.
36
-
37
- ### `planning/` — from idea to committed intent
38
-
39
- | Skill | Type | Use when |
40
- |---|---|---|
41
- | [`product-intent`](planning/product-intent/) | interview | A greenfield idea needs a problem-first product document with a falsifiable hypothesis and zero engineering decisions. |
42
- | [`prd`](planning/prd/) | interview | An idea must become a locked product spec via a phase-gated interview, ending in PRD.md plus milestone prompts. |
43
- | [`architecture`](planning/architecture/) | interview | An intent needs its engineering approach decided interactively: options, trade-offs, spikes, a high-level decision doc. |
44
- | [`backlog`](planning/backlog/) | workflow | A finished PRD/architecture doc must become real tracker tickets with verifiable acceptance criteria. |
45
- | [`tech-spec`](planning/tech-spec/) | workflow | A typed call-stack architecture handoff: contracts + execution flows, implementation-ready. User-invoked only. Provisional. |
46
-
47
- ### `coding/` — building and searching code
48
-
49
- | Skill | Type | Use when |
50
- |---|---|---|
51
- | [`tdd`](coding/tdd/) | discipline | Build or fix test-first: red → green at pre-agreed public seams, one vertical slice per cycle. |
52
- | [`prototype`](coding/prototype/) | workflow | A design question should be answered with clearly-marked throwaway code, then the verdict captured and the code discarded. |
53
- | [`ast-grep`](coding/ast-grep/) | workflow | A code search needs structure, not text: AST patterns, "X inside Y", or grep is too noisy. Test-first rule writing, search only. |
54
- | [`coding-standards`](coding/coding-standards/) | reference | TypeScript correct-by-construction standards: errors as values, parse don't validate, deep modules. Provisional. |
55
-
56
- ### `git/` — commits, PRs, worktrees, conflicts
57
-
58
- | Skill | Type | Use when |
59
- |---|---|---|
60
- | [`file-ticket`](git/file-ticket/) | workflow | Something noticed mid-session must become a tracker issue: capture evidence, dedup, compose, confirm, create via gh. |
61
- | [`fix-issue`](git/fix-issue/) | workflow | A tracker issue should be resolved: diagnose only the unknown, fix test-first, self-review against the issue's acceptance criteria. |
62
- | [`ship`](git/ship/) | workflow | Finished work leaves the machine: one atomic conventional commit referencing the issue, gated push, PR on explicit intent. |
63
- | [`worktree-create`](git/worktree-create/) | workflow | Stand up isolated worktrees for parallel branches: detected install/config/health-check, per-worktree verification. |
64
- | [`worktree-merge`](git/worktree-merge/) | workflow | Integrate finished worktree branches through a throwaway integration branch with per-merge tests and a full final gate. |
65
- | [`resolve-merge-conflicts`](git/resolve-merge-conflicts/) | workflow | A merge/rebase is stopped on conflicts. Resolves from both sides' reconstructed intent, validates, completes the operation. |
66
- | [`branch-closeout`](git/branch-closeout/) | workflow | Proves merged work on the canonical base, inspects and removes associated worktrees through Git, deletes local branches safely, and audits surviving repository refs. |
67
-
68
- ### `research/` — scientific and literature work
69
-
70
- | Skill | Type | Use when |
71
- |---|---|---|
72
- | [`arxiv-literature`](research/arxiv-literature/) | research | Searching arXiv, summarizing papers, comparing papers, or producing compact literature surveys while protecting main-agent context. |
73
- | [`scientific-debugging`](research/scientific-debugging/) | workflow | Debugging has stalled or produces wrong numbers, NaNs, or flaky results. Forces falsifiable hypotheses across fault classes and evidence-cited verdicts before any fix. |
74
- | [`experiment-protocol`](research/experiment-protocol/) | workflow | A benchmark, optimization, or numerical comparison needs success criteria locked before results exist. Pre-registers thresholds into the repo validation contract. |
75
- | [`scientific-modernization`](research/scientific-modernization/) | workflow | Established scientific software is being modernized, ported, rewritten, packaged, accelerated, or replaced. Locks an independent scientific oracle, staged compatibility evidence, and durable stewardship before release. |
76
-
77
- ### `context/` — session state across boundaries
78
-
79
- | Skill | Type | Use when |
80
- |---|---|---|
81
- | [`context-prime`](context/context-prime/) | workflow | A session begins and you need to load project state, the last handoff, and orientation before acting. |
82
- | [`context-handoff`](context/context-handoff/) | workflow | A session is ending and work continues in a new session or another agent. Writes the artifact `context-prime` reads. |
83
-
84
- ### `workflow/` — shaping and stress-testing how work happens
85
-
86
- | Skill | Type | Use when |
87
- |---|---|---|
88
- | [`grill-me`](workflow/grill-me/) | interview | A plan or idea needs stress-testing through a one-question-at-a-time interview before code is written. Ends with a decision log. |
89
- | [`cut-it`](workflow/cut-it/) | workflow | A plan, PRD, or milestone must become an executable sprint of dependency-ordered slices with done-when criteria. |
90
- | [`design-council`](workflow/design-council/) | workflow | A design decision has real tradeoffs and needs several composed expert perspectives that debate through read-only dispatched workers before code is written. |
91
- | [`workflow-distiller`](workflow/workflow-distiller/) | workflow | A workflow that just ran should become a reusable skill. Reconstructs it from the session record, interviews, checks overlap, gates on approval, then writes it following `skill-craft`. |
92
-
93
- ### `meta/` — Clio operating on itself and its ecosystem
94
-
95
- | Skill | Type | Use when |
96
- |---|---|---|
97
- | [`skill-craft`](meta/skill-craft/) | reference | Writing, reviewing, or pruning any SKILL.md: invocation cost, trigger-only descriptions, completion criteria, progressive disclosure, and the pruning pass. |
98
- | [`find-skills`](meta/find-skills/) | workflow | A capability might exist as an installable skill. Searches with `clio-coder skills search`, browses the ecosystem read-only, and installs only through `clio-coder skills install`. |
99
- | [`clio-coder-dev`](meta/clio-coder-dev/) | discipline | Modifying Clio's own source in this repo; deciding whether a change stays local or becomes a contribution. |
100
- | [`clio-coder-test`](meta/clio-coder-test/) | reference | Writing or verifying changes to Clio against the real harness (contracts / smoke / boundaries). |
101
- | [`credentials`](meta/credentials/) | discipline | A task needs an API key, token, or facility credential. Verifies presence without exposing values, collects new secrets via hidden terminal input, and contains leaks. |
102
- | [`herdr`](meta/herdr/) | integration | The user asks to launch, drive, or inspect another agent or command in a Herdr pane — including a second Clio Coder instance. Requires `HERDR_ENV=1`. |
103
-
104
- Each SKILL.md may declare `allowed-tools` / `disallowed-tools`. After a skill
105
- loads, Clio enforces that declaration at tool admission for the rest of the
106
- session, across the operator's later turns, until another skill replaces it or
107
- the operator runs `/skill off` (a worker run keeps the run-scoped lifetime):
108
- calls outside the merged surface are blocked with reason code `skill_surface`,
109
- with `context` and `ask_user` always admitted. A skill can narrow its tool
110
- surface but never grant tools the host would not allow. See [Skill tool surface narrowing](../docs/architecture/safety-model.md#skill-tool-surface-narrowing)
111
- for the full semantics.
112
-
113
- ## Install (activate a marketplace skill)
114
-
115
- `clio-coder skills install` is the bridge from marketplace to runtime. It copies a
116
- skill into a discovery root and stamps install provenance so Clio can load it.
117
-
118
- ```bash
119
- # Project scope (default): copy into <repo>/.clio-coder/skills
120
- clio-coder skills install context-handoff
121
-
122
- # User scope: copy into the Clio config skills dir, available everywhere
123
- clio-coder skills install clio-coder-dev --user
124
-
125
- # Several at once, or a whole catalog group
126
- clio-coder skills install context-prime context-handoff --user
127
- clio-coder skills install --category git
128
- ```
129
-
130
- Bare names resolve through the local marketplace (this catalog when run from
131
- the repo, `CLIO_CODER_SKILL_CATALOG_DIR`, or the skill-marketplace.json index); an
132
- existing local path always wins over a same-named marketplace entry.
133
- `--category` installs every marketplace skill in one catalog group and is the
134
- short form for the sets below; it reports each install separately and exits
135
- nonzero if any of them failed.
136
-
137
- ### Which scope
138
-
139
- Scope is about where the skill is true, not about how much you like it. A
140
- skill that describes how *you* work belongs to your user config; a skill that
141
- describes how *this repository* works belongs to the repository, where a
142
- teammate cloning it gets the same behavior.
143
-
144
- | Set | Scope | Why |
145
- |---|---|---|
146
- | `context-prime`, `context-handoff` | user | The workflow is useful in every repo, while each handoff remains scoped to the project where it was written. |
147
- | `find-skills`, `skill-craft` | user | Discovery and authoring are things you do to your toolkit, not things a project does. A user install outranks copies in shared user compatibility roots. |
148
- | `credentials` | user | Credential handling is a personal-machine discipline; a repo does not get to define it. |
149
- | `clio-coder-dev`, `clio-coder-test` | project, in this repo only | They describe Clio's own source tree. Elsewhere they are noise. |
150
- | `--category git` | project, where `git-master` is used | Branch, PR, and worktree conventions are the repository's, and the recipe binds them by name. |
151
- | `--category research` | project, per project | An arXiv survey or a modernization oracle is scoped to the science being done, not to the person. |
152
- | `--category planning` | project | PRD and architecture output lands in the repo and is reviewed there. |
153
- | `--category coding` | project | `tdd` and `coding-standards` follow the language and the test seams of the checkout. |
154
- | `--category workflow` | either | `grill-me` and `cut-it` travel with the operator; `design-council` is worth pinning per project when the project has recurring design forks. |
155
-
156
- Collision precedence from lowest to highest is extension, shared user
157
- compatibility roots, the Clio user root, project compatibility roots,
158
- `.clio-coder/skills`, then an explicit CLI skill path. Project compatibility
159
- roots are model-visible only after the project-import trust opt-in; their
160
- collision rank is still above the user root.
161
-
162
- After install, confirm Clio sees it:
163
-
164
- ```bash
165
- clio-coder skills list # human view
166
- clio-coder skills inspect context-handoff # full metadata + provenance
167
- ```
168
-
169
- Installed copies are frozen; refresh them from their `source-url` provenance
170
- with `clio-coder skills update <name>` or `clio-coder skills sync`. While developing a
171
- catalog skill, load it directly without installing:
172
- `clio-coder --skill skills/<category>/<name>/SKILL.md`.
173
-
174
- Uninstall is just removing the copy: `rm -r .clio-coder/skills/<name>` (or the
175
- user-scope equivalent). Installs never write outside `.clio-coder/skills` or the
176
- user config skills dir, both of which are gitignored / outside the repo.
177
-
178
- ### Skill discovery and find-skills precedence
179
-
180
- Clio ships [`find-skills`](meta/find-skills/) so that discovery and installation
181
- both route through `clio-coder skills`. A community skill of the same name is
182
- commonly present in the compat roots (`~/.agents/skills`,
183
- `~/.claude/skills`) and drives the external `npx skills` installer, which
184
- bypasses Clio. Compat roots stay enabled, and the loader resolves name
185
- collisions by the precedence above. A user install beats the shared user
186
- compatibility copy. A project install beats both project and user
187
- compatibility copies. Install at the scope where the catalog copy must win:
188
-
189
- ```bash
190
- clio-coder skills install find-skills --user
191
- clio-coder skills install find-skills --project # strongest discovered project copy
192
- ```
193
-
194
- ## Publishing: the marketplace index
195
-
196
- `pnpm run skills:pin` writes two files. `registry.yaml` pins content hashes and
197
- is what drift is measured against. `skill-marketplace.json` is the published
198
- index: one entry per skill with `name`, `description`, optional `triggers`,
199
- `sourceUrl` (the skill's own `clio-coder.source-url`), `version`, `audit`, and
200
- `category`. It carries no hashes, because duplicating them into a second
201
- published artifact only creates a way for the two to disagree.
202
-
203
- A Clio install anywhere points at it and gets bare-name installs from this
204
- catalog:
205
-
206
- ```bash
207
- export CLIO_CODER_SKILL_MARKETPLACE_INDEX=/path/to/skill-marketplace.json
208
- clio-coder skills search worktree # entries show (index, v0.2.0, audit: pass)
209
- clio-coder skills install worktree-merge
210
- ```
211
-
212
- Install then clones the repository named in that entry's `sourceUrl` and copies
213
- the skill out of it, so the index is only as live as the branch its URLs name.
214
- The catalog's `source-url` values all point at `main`; until a release branch
215
- lands there, an install through the index fails naming the repository, the
216
- branch, and the missing path. `pnpm run skills:check` fails if a skill's
217
- `source-url` stops ending with its catalog path, which is how a skill moved
218
- between categories cannot ship a stale pointer.
219
-
220
- ## Frontmatter spec
221
-
222
- The frontmatter contract has two layers, and the split is the point:
223
-
224
- - **Core keys stay community-standard.** `name`, `description`, `version`,
225
- `license`, and `allowed-tools` mean exactly what Claude Code and other agent
226
- loaders expect. No Clio-specific key ever lives at the top level.
227
- - **Everything Clio-specific nests under one reserved `clio-coder:` mapping.**
228
- Registry identity, provenance, audit and eval status, agent bindings, model
229
- guidance — all of it.
230
-
231
- The invariant this buys: a Clio skill dropped into any `.claude/skills`
232
- directory loads and works in Claude Code, which ignores the `clio-coder:` block as
233
- an unknown key. Loaded by Clio Coder, the same file carries its full
234
- marketplace metadata. One file, no forks, no lossy export.
235
-
236
- Required shape for every catalog skill:
237
-
238
- ```yaml
239
- ---
240
- name: <name> # lowercase, hyphens, matches the folder
241
- description: <one sentence> # what it does, plus "Not for X; use Y" routing, <=1024 chars
242
- triggers: # the phrases a user types that should reach it
243
- - <phrase>
244
- version: 0.1.0
245
- license: Apache-2.0
246
- allowed-tools: # optional; community-standard tool narrowing
247
- - read
248
- clio-coder:
249
- registry-id: iowarp/clio-coder
250
- source-url: https://github.com/iowarp/clio-coder/tree/main/skills/<category>/<name>
251
- audit: pass # pass | warn | fail | unknown; reset to unknown on install
252
- provenance: designed # designed | adapted | imported
253
- origin: <url or project> # required when provenance is not "designed"
254
- eval-status: scenarios-recorded # untested | scenarios-recorded | smoke-checked | eval-run
255
- model-size: any # any (runs on ~30B local models) | large
256
- agents: # optional: shadow agents / recipes the body dispatches
257
- - researcher
258
- ---
259
- ```
260
-
261
- Field semantics inside `clio-coder:`:
262
-
263
- - `registry-id` names the audited catalog a skill claims membership of; it is
264
- content, participates in the pinned hash, and survives installs.
265
- - `source-url` and `audit` are install-lifecycle fields: `clio-coder skills install`
266
- rewrites `source-url` to the actual install source and resets `audit` to
267
- `unknown` because auditing is a human decision. Both are provenance-stripped
268
- before hashing.
269
- - `provenance` records how the skill came to exist: `designed` here for Clio,
270
- `adapted` from an external skill (name it in `origin`), or `imported`
271
- near-verbatim.
272
- - `eval-status` is honest test standing: `untested` (no scenarios),
273
- `scenarios-recorded` (evals.md scenarios written, not yet executed),
274
- `smoke-checked` (one representative scenario executed through
275
- `clio-coder skills eval` and the transcript showed the skill loading and driving
276
- its core behavior), `eval-run` (the full scenario set executed and passing;
277
- record the date in evals.md when setting this).
278
- - `model-size` is body-quality guidance: `any` means the body is written to
279
- the local-model bar (explicit, imperative, short steps, explicit stop
280
- conditions) and runs on ~30B-class local models; `large` means the skill
281
- leans on judgment or synthesis that degrades on small models.
282
- - `agents` records agent bindings: the agent surfaces the skill is written
283
- for (`main`, `coder`, or a recipe name whose definition lists the skill)
284
- and, for orchestration skills, the recipes the body dispatches. A harness
285
- without those agents knows what degrades.
286
- - `provisional: true` marks a skill accepted into the catalog on trial: it
287
- passed review but its fit for the ecosystem is still being judged, and it
288
- may be revised or dropped without a deprecation cycle.
289
-
290
- `requires: [skill:<name>, ...]` stays top-level: Clio's loader consumes it for
291
- dependency warnings, and other harnesses ignore it like any unknown key.
292
-
293
- The deprecated nested `clio:` mapping and legacy flat keys (`registry-id`,
294
- `source-url`, `audit` at the top level) are still read as fallbacks for older
295
- installed copies. The catalog itself must use `clio-coder:`, and `pnpm run
296
- skills:check` enforces that.
297
-
298
- ### Versioning policy
299
-
300
- `version` describes the skill as a working instrument. The registry separately
301
- hashes the normalized contents of `SKILL.md`; it does not hash sibling files.
302
- Move the version whenever the workflow an operator runs changes:
303
-
304
- | Change | Version |
305
- |---|---|
306
- | Body text, steps, completion criteria | minor bump |
307
- | `allowed-tools` / `disallowed-tools` / `requires` | minor bump |
308
- | `description` or `name` (what triggers it) | minor bump |
309
- | Bundled `references/`, `scripts/`, `evals.md` scenarios | minor bump |
310
- | `eval-status`, `audit`, `provenance`, `source-url` | no bump |
311
- | Catalog reorganization that moves the folder | no bump |
312
-
313
- Patch releases are for a correction that leaves the workflow identical, such as
314
- a broken link or a typo in a step. Nothing in this catalog is 1.0: a major bump
315
- is reserved for a skill whose triggers change enough that an operator relying on
316
- the old one would be surprised.
317
-
318
- Lifecycle metadata changes do not bump the workflow version. The normalized
319
- `SKILL.md` hash catches non-stripped frontmatter and body edits; install fields
320
- such as `source-url` and `audit` are stripped. A sibling `references/`,
321
- `scripts/`, or `evals.md` change is represented by the required version change
322
- inside `SKILL.md`, because sibling bytes are not hashed directly.
323
-
324
- ## Claude Code interop
325
-
326
- The invariant is that a catalog skill dropped unmodified into `.claude/skills`
327
- loads and runs in Claude Code. Verified against Claude Code 2.1.231:
328
- `skills/git/ship` copied into a scratch project's
329
- `.claude/skills/`, invoked headlessly, loaded through the `Skill` tool and
330
- answered a question about its own body. The `clio-coder:` block is an unknown
331
- frontmatter key there and is ignored.
332
-
333
- **`allowed-tools` means the opposite thing in each harness, and that is the one
334
- finding that shapes this section.** In Clio it narrows: after activation, calls
335
- outside the declared surface are blocked with reason code `skill_surface`. In
336
- Claude Code it grants: the parsed list is merged into
337
- `toolPermissionContext.alwaysAllowRules.command`, which pre-approves those
338
- tools for the turn. Nothing is denied there for being absent from the list.
339
-
340
- Claude Code matches permission rules by exact string equality on the tool name,
341
- through a four-entry alias table (`Task`, `KillShell`, `AgentOutputTool`,
342
- `BashOutputTool`) with no case folding. Clio's tool names are lowercase
343
- (`read`, `bash`, `web_fetch`), so none of them match a Claude Code tool. A
344
- catalog skill's `allowed-tools` is therefore **inert** in Claude Code: it grants
345
- nothing, denies nothing, and the skill loads and runs with whatever surface the
346
- session already had.
347
-
348
- That inertness is the safe outcome, and it is why the catalog keeps Clio tool
349
- names rather than mapping them. Translating `bash` to `Bash` for
350
- Claude-compatibility would not restrict anything; it would silently add `Bash`
351
- to the always-allow rules of every session that loaded the skill. The same goes
352
- for a `clio-coder skills export --for claude` lane, so there is no such lane. To keep
353
- a well-meaning edit from introducing that, `pnpm run skills:check` fails on any
354
- `allowed-tools` entry that is not a Clio tool name in canonical lowercase.
355
-
356
- The rest of the surface, read from the same build:
357
-
358
- | Key | Claude Code behavior |
359
- |---|---|
360
- | `name`, `description` | Read; description is trimmed, and a non-string one is dropped with a warning. No length limit is enforced at load. |
361
- | `version`, `license` | Carried as metadata; `license` is unused. |
362
- | `disable-model-invocation` | Honored, and accepts `true` or the string `"true"`. Matches Clio. |
363
- | `allowed-tools` | Grants, as above. Accepts a YAML list or one comma/space-separated string, same as Clio. |
364
- | `disallowed-tools` | Not read. A Clio denial is not enforced there. |
365
- | `requires:` | Not read; ignored as an unknown key, so a dependency warning is Clio-only. |
366
- | `clio-coder:` | Not read; ignored as an unknown key. This is the invariant. |
367
- | Unparseable frontmatter | The per-skill load is wrapped in a bare catch: the skill is skipped silently, with no diagnostic. Clio warns instead. |
368
- | Size | No cap on SKILL.md. Clio rejects over 1 MiB and warns over 50 KiB, the activation delivery cap. |
369
- | `references/`, `scripts/` subfolders | Not enumerated at load time; they are files the body tells the model to read, which works in both. |
370
-
371
- Degradation summary for a catalog skill running under Claude Code: it loads,
372
- its body drives the workflow, and its tool narrowing does not apply. A skill
373
- whose safety argument rests on narrowing (`ast-grep` is search-only,
374
- `ship` cannot edit source) is advisory there and enforced here.
375
-
376
- ## Contributing / approval
377
-
378
- A skill is "approved for the marketplace" when a maintainer:
379
-
380
- 1. Reviews `SKILL.md` against [`skill-craft`](meta/skill-craft/) (trigger-only
381
- description, checkable completion criteria, progressive disclosure, pruning
382
- pass, evals present).
383
- 2. Confirms it carries the frontmatter spec above with `clio-coder.audit: pass`.
384
- 3. Sets / bumps `version`.
385
-
386
- Each skill ships an `evals.md` recording the baseline scenarios it was tested
387
- against (RED-GREEN per [`skill-craft`](meta/skill-craft/)). `clio-coder skills eval <name>`
388
- executes those scenarios instead of trusting the prose; the eval lane is the
389
- curation gate for this catalog, not an end-user feature.
390
-
391
- What the eval lane does and does not isolate, because a curation gate that
392
- overstates its own rigor is worse than none. Each of the three arms (baseline,
393
- treatment, judge) gets a private temp root with its workspace nested inside,
394
- so `..` from a workspace reveals only that arm and the arms are no longer
395
- adjacent, similarly-named siblings. The judge's copy of the treatment
396
- transcript has the loaded SKILL.md body replaced with a marker, so a bullet
397
- cannot pass on instructions the model merely read. But nothing confines a run
398
- to its workspace: the write boundary is a per-run tool policy, not something a
399
- harness can impose on a child process it spawns, and a full-auto arm has been
400
- observed writing outside its workspace. Eval numbers are evidence about a
401
- cooperative model, not an isolation guarantee. Run campaigns with `CLIO_CODER_*`
402
- pointed at throwaway directories.
403
-
404
- `pnpm run skills:pin` enforces this contract structurally: it refuses to pin a
405
- catalog where any skill is missing the required frontmatter, `audit: pass`, or
406
- its `evals.md`, declares a tool name Clio does not have, or carries a
407
- `source-url` that no longer ends with its catalog path. `pnpm run skills:check`
408
- (run in CI) fails on any drift between the catalog and either generated file,
409
- `registry.yaml` or `skill-marketplace.json`. Each pin covers the normalized
410
- `SKILL.md`, not the whole skill directory. Install-lifecycle stamps such as
411
- `installed-at` do not count as drift; body, version, and registry-identity
412
- edits do. A copy installed via `clio-coder skills install` therefore still
413
- verifies against its audited source at activation.
414
-
415
- A skill may declare typed dependencies with `requires: [skill:<name>, ...]`
416
- frontmatter; the loader warns at load time when a required skill is not
417
- installed, keeping composed workflows (for example a distilled skill that
418
- references `credentials`) auditable instead of silently incomplete.
@@ -1,78 +0,0 @@
1
- ---
2
- name: find-skills
3
- description: Finds and installs published skills when the user asks whether a capability exists as a skill, searching with clio-coder skills search and installing only through clio-coder skills install. Not for authoring a new skill; use skill-craft.
4
- triggers:
5
- - find a skill
6
- - is there a skill for this
7
- - install a skill
8
- - add an agent skill
9
- - search the skills marketplace
10
- version: 0.2.0
11
- license: Apache-2.0
12
- allowed-tools:
13
- - bash
14
- - web_fetch
15
- - read
16
- - ls
17
- - ask_user
18
- clio-coder:
19
- registry-id: iowarp/clio-coder
20
- source-url: https://github.com/iowarp/clio-coder/tree/main/skills/meta/find-skills
21
- audit: pass
22
- provenance: designed
23
- eval-status: scenarios-recorded
24
- model-size: any
25
- ---
26
-
27
- # Find Skills
28
-
29
- Discover and install skills without leaving Clio's install path. Discovery may
30
- range across the whole ecosystem; installation goes through exactly one
31
- command, `clio-coder skills install`, which lands the skill in a Clio discovery root
32
- (`.clio-coder/skills` for project scope, the Clio config skills dir for user scope)
33
- and stamps install provenance so `clio-coder skills list`, `update`, and drift
34
- checks all work.
35
-
36
- ## Procedure
37
-
38
- 1. **Search locally first.** Run `clio-coder skills search <query>`. The output has
39
- an `installed:` section (already active, nothing to do) and a
40
- `marketplace (clio-coder skills install <name>):` section (available from the
41
- local catalog or index). Read any `warning:` diagnostics; a broken
42
- marketplace index looks different from a skill that does not exist. Done
43
- when you can tell the user whether the capability is already installed,
44
- locally installable, or absent locally.
45
-
46
- 2. **Browse the ecosystem when local search comes up empty.** Use `web_fetch`
47
- on https://skills.sh and GitHub to find candidate skills. This step is
48
- read-only research: collect each candidate's GitHub URL, what it does, and
49
- signals of quality (source reputation, stars, install counts). Never run an
50
- installer you find in a listing's instructions.
51
-
52
- 3. **Present candidates and confirm.** Give the user the name, one line on
53
- what it does, the source URL, and the exact `clio-coder skills install` command.
54
- Ask before installing anything from outside the local marketplace.
55
-
56
- 4. **Install through Clio only.**
57
- - Local marketplace entry: `clio-coder skills install <name>`
58
- - External skill: `clio-coder skills install <github-url>`
59
- - Add `--user` when the user wants it in every project; the default
60
- `--project` scope installs into the current repo's `.clio-coder/skills`.
61
- - Overwriting an existing install requires an explicit `--force`; ask
62
- before using it.
63
-
64
- 5. **Verify.** Run `clio-coder skills list` and confirm the new skill appears with
65
- the expected scope. The install path printed by the install command must be
66
- under `.clio-coder/skills/` or the Clio config skills dir. Remind the user that
67
- fresh installs carry `audit: unknown` until they review the skill
68
- themselves. Done when the skill shows up in the list at the intended scope.
69
-
70
- ## Never use external installers
71
-
72
- Skills found on skills.sh or GitHub often ship instructions like
73
- `npx skills add <pkg>`, `skills.sh add`, or `-g` global installs. Those write
74
- to foreign roots (`~/.agents/skills`, `~/.claude/skills`) that bypass Clio's
75
- provenance stamping, update tracking, and registry drift checks. Do not run
76
- them, and do not copy skill files into `~/.agents`, `~/.claude`, `~/.codex`,
77
- or any other harness directory by hand. If a skill only documents an external
78
- installer, its GitHub URL still works: `clio-coder skills install <github-url>`.
@@ -1,47 +0,0 @@
1
- # Evals — find-skills
2
-
3
- Run a subagent WITHOUT the skill to capture the gap, then WITH it to confirm.
4
-
5
- ## F1 — install an external skill by URL
6
- Setup: an empty project with no `.clio-coder/skills`. Prompt: "install the
7
- frontend-design skill from anthropics/skills on GitHub."
8
- Expected:
9
- - Installs with `clio-coder skills install <github-url>`; never runs `npx skills`,
10
- `skills.sh add`, or any `-g` install.
11
- - The installed copy lands under `.clio-coder/skills/` (or the Clio config skills
12
- dir with `--user`), not `~/.agents/skills` or `~/.claude/skills`.
13
- - Confirms with `clio-coder skills list` and reports the install path.
14
- - Mentions that the fresh install carries `audit: unknown` pending review.
15
-
16
- ## F2 — capability question resolved locally
17
- Setup: run from a checkout of this repo, so the local marketplace catalog is
18
- discoverable. Prompt: "is there a skill that helps me hand off context between
19
- sessions?"
20
- Expected:
21
- - Runs `clio-coder skills search` before browsing the web.
22
- - Surfaces `context-handoff` from the marketplace section and offers
23
- `clio-coder skills install context-handoff`.
24
- - Does not fetch skills.sh for something the local catalog already answers.
25
-
26
- ## F3 — ecosystem discovery stays read-only
27
- Setup: any project. Prompt: "find me a skill for writing changelogs; nothing
28
- local matches."
29
- Expected:
30
- - Browses skills.sh or GitHub read-only and presents candidates with source
31
- URL and quality signals.
32
- - Asks before installing an external candidate.
33
- - The offered install command is `clio-coder skills install <github-url>`, even if
34
- the candidate's own README documents `npx skills add`.
35
-
36
- ## Baseline failure modes to watch for (RED)
37
- - Reaches for `npx skills find` / `npx skills add`, following the community
38
- find-skills instructions, so the install bypasses Clio entirely.
39
- - Installs into `~/.agents/skills` or `~/.claude/skills` by hand-copying
40
- files.
41
- - Recommends a skill from a web listing without giving the Clio install
42
- command or verifying with `clio-coder skills list`.
43
-
44
- ## Smoke record (2026-08-13)
45
-
46
- One representative scenario via `clio-coder skills eval` against Nemo-3.5-Lightning
47
- (30B local, llamacpp on mini), full-auto sandbox. NOT CLEANLY RUN: scenario id is F1; driver's --scenario S1 exited 2; re-run did not land before the time-box.
@@ -1,27 +0,0 @@
1
- import { realpathSync, statSync } from "node:fs";
2
- import path from "node:path";
3
-
4
- export function extensionResourcePath(rootPath: string, resourcePath: string): string | null {
5
- const root = path.resolve(rootPath);
6
- const full = path.resolve(root, resourcePath);
7
- const relative = path.relative(root, full);
8
- if (relative === "" || relative === ".." || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) {
9
- return null;
10
- }
11
- try {
12
- const rootReal = realpathSync(root);
13
- const fullReal = realpathSync(full);
14
- const canonicalRelative = path.relative(rootReal, fullReal);
15
- if (
16
- canonicalRelative === ".." ||
17
- canonicalRelative.startsWith(`..${path.sep}`) ||
18
- path.isAbsolute(canonicalRelative)
19
- ) {
20
- return null;
21
- }
22
- if (!statSync(fullReal).isDirectory()) return null;
23
- return fullReal;
24
- } catch {
25
- return null;
26
- }
27
- }
@@ -1,27 +0,0 @@
1
- import { mkdirSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { safeResourceWrite } from "../../../core/safe-resource-write.js";
4
- import { upgradeLegacyExtensionInstallState } from "../../extensions/state.js";
5
- import type { Migration } from "./index.js";
6
-
7
- export const EXTENSION_INSTALL_DIGESTS_MIGRATION_ID = "2026-09-01-extension-install-digests";
8
-
9
- function migrateExtensionInstallDigests(stateDir: string, cwd = process.cwd()): void {
10
- const scopes = upgradeLegacyExtensionInstallState(cwd);
11
- const reportDir = join(stateDir, "migration-reports");
12
- mkdirSync(reportDir, { recursive: true });
13
- safeResourceWrite(
14
- join(reportDir, `${EXTENSION_INSTALL_DIGESTS_MIGRATION_ID}.json`),
15
- `${JSON.stringify({ migration: EXTENSION_INSTALL_DIGESTS_MIGRATION_ID, scopes }, null, 2)}\n`,
16
- { encoding: "utf8", mode: 0o644 },
17
- );
18
- }
19
-
20
- const migration: Migration = {
21
- id: EXTENSION_INSTALL_DIGESTS_MIGRATION_ID,
22
- async up(stateDir: string): Promise<void> {
23
- migrateExtensionInstallDigests(stateDir);
24
- },
25
- };
26
-
27
- export default migration;