@iowarp/clio-coder 0.4.5 → 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.
- package/.claude-plugin/marketplace.json +283 -0
- package/CHANGELOG.md +74 -0
- package/CONTRIBUTING.md +116 -38
- package/NOTICE +24 -0
- package/README.md +341 -682
- package/dist/{acp-H3CU2HBQ.js → acp-W3Y3TRHD.js} +12 -12
- package/dist/{agents-IXQQZ7BD.js → agents-J4ICNLQ3.js} +57 -56
- package/dist/assets/codewiki.json +1 -1
- package/dist/assets/tui-notices/get-east-asian-width-LICENSE +9 -0
- package/dist/assets/tui-notices/marked-LICENSE +44 -0
- package/dist/assets/tui-notices/pi-tui-LICENSE +21 -0
- package/dist/{auth-R7KYF7N3.js → auth-X2UJUMOC.js} +25 -25
- package/dist/{builtins-CRFDQUVP.js → builtins-XLXWWSRF.js} +6 -6
- package/dist/{chunk-DZK63TZJ.js → chunk-24S3DN22.js} +336 -612
- package/dist/{chunk-NTK3WTHM.js → chunk-24TOGHPO.js} +2 -2
- package/dist/{chunk-M6TAYK66.js → chunk-2O2LVQQK.js} +11 -4
- package/dist/{chunk-OQM5IVJY.js → chunk-34XHRVKG.js} +3 -3
- package/dist/{chunk-LY4N4TTL.js → chunk-3LXJOICS.js} +2 -2
- package/dist/{chunk-SE4ZKILO.js → chunk-3XE4NRLF.js} +30 -9
- package/dist/{chunk-YYB3MC65.js → chunk-4MFBBY2Z.js} +3 -3
- package/dist/{chunk-5VTJP36Q.js → chunk-4N2RZ4TO.js} +2 -2
- package/dist/{chunk-FKIOX6DS.js → chunk-4QKAITQT.js} +10 -5
- package/dist/chunk-4UHVS5T7.js +207 -0
- package/dist/{chunk-VLPTKCKT.js → chunk-5AJPUR72.js} +6 -6
- package/dist/{chunk-5CY4Q6QI.js → chunk-5EQO5NWP.js} +105 -3
- package/dist/{chunk-RXIOCVBZ.js → chunk-65BGHOUR.js} +8 -5
- package/dist/{chunk-T53XI6I7.js → chunk-6CA2BHOR.js} +2 -2
- package/dist/{chunk-HL26ADLH.js → chunk-6CB2IL4N.js} +2 -1
- package/dist/{chunk-HR3HPQ76.js → chunk-6LRLOJHQ.js} +3 -3
- package/dist/{chunk-HXHFDHB6.js → chunk-6TAATXXH.js} +6 -6
- package/dist/{chunk-WFKDPU7U.js → chunk-6YHPAAZR.js} +3 -3
- package/dist/{chunk-ZMZQEBKI.js → chunk-7EEGBKV4.js} +11 -11
- package/dist/{chunk-BS4GAMUB.js → chunk-A67NR5AT.js} +2 -2
- package/dist/{chunk-WJIMKGD6.js → chunk-BAU36233.js} +8 -8
- package/dist/{chunk-MDU3C27C.js → chunk-BO4XV5VX.js} +8 -8
- package/dist/{chunk-KF6GFW6O.js → chunk-BQQ5MXUC.js} +11 -11
- package/dist/{chunk-K6RDB7IA.js → chunk-C3G5PNUO.js} +23 -23
- package/dist/{chunk-SRZOW5L2.js → chunk-C6GEXX4L.js} +1 -1
- package/dist/{chunk-U2JOLB7O.js → chunk-CE64C5K5.js} +227 -72
- package/dist/chunk-CP3HIR5H.js +2119 -0
- package/dist/{chunk-BBV5TKE6.js → chunk-CPXGJI2A.js} +2 -2
- package/dist/{chunk-5DDOTTG4.js → chunk-CULVKYTK.js} +5 -5
- package/dist/{chunk-F34AR6O3.js → chunk-D2T66PDV.js} +6 -6
- package/dist/{chunk-NF3BK5WR.js → chunk-DACXIVVF.js} +5 -5
- package/dist/{chunk-4SVIVOMC.js → chunk-DLIYANB7.js} +20 -15
- package/dist/{chunk-E3BQTQUP.js → chunk-DO7M3LSX.js} +9 -9
- package/dist/{chunk-2QPI3TR3.js → chunk-DVJL77SO.js} +2 -2
- package/dist/chunk-EM2WNQS2.js +93 -0
- package/dist/{chunk-ODUTYZIU.js → chunk-EUEXGXXR.js} +5 -5
- package/dist/{chunk-UL36QJX6.js → chunk-EUZRMP4Y.js} +18 -16
- package/dist/{chunk-R6MAYTMS.js → chunk-G4LGUTOE.js} +4 -4
- package/dist/{chunk-CBSKDFWL.js → chunk-GEVQNST4.js} +2 -2
- package/dist/{chunk-XXBQKW32.js → chunk-GFQ7P2UF.js} +7 -7
- package/dist/{chunk-SBZX6ARC.js → chunk-GI5RRMAH.js} +14 -14
- package/dist/{chunk-KDWLXVMN.js → chunk-GVZFCJHE.js} +343 -113
- package/dist/{chunk-633EXGZA.js → chunk-GXIWHXDB.js} +3 -3
- package/dist/{chunk-LUL5Z66S.js → chunk-HOX4YZ2K.js} +6 -5
- package/dist/chunk-HRAKUPIH.js +57 -0
- package/dist/{chunk-KYKNBD4Y.js → chunk-IJMW64DX.js} +978 -258
- package/dist/{chunk-DIMRLNIC.js → chunk-IMOD2YPV.js} +16 -9
- package/dist/{chunk-6CDNRHWH.js → chunk-IQCNVLO6.js} +28 -8
- package/dist/{chunk-UTUNT5QL.js → chunk-ISNCCX42.js} +9 -9
- package/dist/{chunk-RLTT5GVY.js → chunk-IZYTT3CD.js} +9 -5
- package/dist/{chunk-5ZMXGW7P.js → chunk-KAFMW7WM.js} +4 -85
- package/dist/chunk-KKEYGFX4.js +915 -0
- package/dist/{chunk-HHVJNVUJ.js → chunk-KS7ETA3P.js} +2 -2
- package/dist/{chunk-UXAC2FX4.js → chunk-L3Z5ANCV.js} +7 -7
- package/dist/{chunk-EHCPSZJF.js → chunk-LBFQMYS3.js} +2 -2
- package/dist/{chunk-QEQISF75.js → chunk-LK2FN5JY.js} +1 -1
- package/dist/{chunk-URBGEOH3.js → chunk-M6Z2V6YU.js} +5 -5
- package/dist/{chunk-DRD2A54W.js → chunk-MBJO5VNZ.js} +18 -18
- package/dist/chunk-MNQN3X6Y.js +595 -0
- package/dist/{chunk-GXCCHKN6.js → chunk-MZHXENL7.js} +7 -7
- package/dist/chunk-MZNWZUJM.js +1801 -0
- package/dist/{chunk-7YJWEF2L.js → chunk-N37QC5FV.js} +5 -5
- package/dist/{chunk-WLMSOT73.js → chunk-NCCQ6DVS.js} +7 -7
- package/dist/{chunk-TZ7MFRG4.js → chunk-NO7J45X6.js} +170 -53
- package/dist/chunk-OH3YYA3B.js +15 -0
- package/dist/{chunk-22PQ4TX4.js → chunk-P4DL2LM5.js} +16 -77
- package/dist/{chunk-R6MICQYU.js → chunk-PFLOULP3.js} +4 -4
- package/dist/{chunk-MC3JSVR6.js → chunk-QJMRYTCX.js} +7 -7
- package/dist/{chunk-ILJ7DWGE.js → chunk-QKWL7SYE.js} +12 -12
- package/dist/chunk-R2CT5YDO.js +66 -0
- package/dist/chunk-RFCKPS2V.js +26 -0
- package/dist/{chunk-ONRTXOZY.js → chunk-RTLNFZMD.js} +12 -4
- package/dist/{chunk-U7H5WRG5.js → chunk-RXFPB32E.js} +8 -6
- package/dist/{chunk-S32UQ5GL.js → chunk-SEDI5K5B.js} +18 -18
- package/dist/{chunk-ICO4TQ2F.js → chunk-SELG4SUR.js} +41 -25
- package/dist/{chunk-YEJIG7LN.js → chunk-SER7RRAE.js} +27 -832
- package/dist/{chunk-K2HL3GBL.js → chunk-T4TY5GG3.js} +165 -15
- package/dist/chunk-T7QQBNLH.js +691 -0
- package/dist/{chunk-HGSLRG33.js → chunk-TLTGZTXI.js} +3 -3
- package/dist/chunk-TZ6UVP2H.js +637 -0
- package/dist/{chunk-EWD5P3GK.js → chunk-TZHN5ITX.js} +13 -41
- package/dist/{chunk-7TKWWPD7.js → chunk-U3TPUXOQ.js} +398 -253
- package/dist/{chunk-GNQRWTMY.js → chunk-UA3W4FGC.js} +6 -6
- package/dist/{chunk-O2RQ7LCK.js → chunk-UA6W4XFJ.js} +2 -2
- package/dist/chunk-UWD3JD5X.js +709 -0
- package/dist/chunk-V4ZKOKRB.js +13433 -0
- package/dist/{chunk-NC4KV7EL.js → chunk-VCRVEDUC.js} +5 -5
- package/dist/{chunk-I7VLWRK2.js → chunk-VMATUZB6.js} +12 -10
- package/dist/{chunk-J2FYEQ5L.js → chunk-VTYHHQ57.js} +2 -2
- package/dist/chunk-WB7POC6M.js +891 -0
- package/dist/{chunk-GVYWZNRK.js → chunk-WBVKKTUT.js} +2 -2
- package/dist/{chunk-EHOSNVVM.js → chunk-WLHX3MM5.js} +6 -2
- package/dist/{chunk-SDWNDICN.js → chunk-WN552PKN.js} +573 -316
- package/dist/{chunk-TEG3RYVZ.js → chunk-WT5TRMO4.js} +51 -26
- package/dist/{chunk-NY6IWDVU.js → chunk-WURGVOZJ.js} +56 -12
- package/dist/{chunk-7WUZEB2M.js → chunk-XR3XJN2M.js} +2 -2
- package/dist/chunk-XW2UZICE.js +372 -0
- package/dist/{chunk-FSTIBAGM.js → chunk-XZ6UFQ52.js} +11 -11
- package/dist/chunk-Y3JU5RPK.js +8 -0
- package/dist/chunk-YKRJTYNP.js +1143 -0
- package/dist/{chunk-7HBHHVCK.js → chunk-YPRSNUTC.js} +2 -2
- package/dist/{chunk-PWWSIB2A.js → chunk-ZGIGW4ZG.js} +5 -5
- package/dist/cli/index.js +34 -36
- package/dist/{clio-5I2IBFYL.js → clio-L2P7S2R2.js} +9 -9
- package/dist/{code-nav-YXIAEZVS.js → code-nav-B5LNX4KU.js} +25 -25
- package/dist/{components-TNIKXCBH.js → components-63MMQKUT.js} +6 -6
- package/dist/{config-Y2JDJ3JJ.js → config-YXARKGTX.js} +81 -77
- package/dist/configure-LMVQJ46J.js +85 -0
- package/dist/{context-QQ53HSGJ.js → context-7HJEWTTP.js} +92 -48
- package/dist/{context-S2EEC3EJ.js → context-XSZKKFBW.js} +14 -14
- package/dist/{context-P5YSEO55.js → context-YG2LZDYZ.js} +67 -64
- package/dist/{context-clear-TMEQCOTH.js → context-clear-AC5NXHM2.js} +64 -61
- package/dist/{context-index-HP2JFUWA.js → context-index-KKTPRV5G.js} +3 -3
- package/dist/{context-map-INTXD54D.js → context-map-T7ROR5D5.js} +4 -4
- package/dist/{context-working-set-CNLSQN5K.js → context-working-set-F4Q4J3NS.js} +15 -12
- package/dist/{detail-5572VLBO.js → detail-H73BEF2N.js} +65 -62
- package/dist/{dispatch-runner-FRHD6P2O.js → dispatch-runner-3RY5FSJC.js} +83 -80
- package/dist/{doctor-N3LCM2LG.js → doctor-EQYJOGUG.js} +47 -32
- package/dist/{eval-BUU3ZOUZ.js → eval-4P7O6CCE.js} +114 -50
- package/dist/{evidence-DTGEN456.js → evidence-D6GUSYJW.js} +64 -61
- package/dist/{evidence-SQ5DNFEN.js → evidence-O76QF7TZ.js} +69 -65
- package/dist/{evolve-IJNUFZDS.js → evolve-H47BCETS.js} +65 -62
- package/dist/{extensions-YVRHX6ZI.js → extensions-NNL3ZOCU.js} +98 -20
- package/dist/{fleet-ZNNVSYFO.js → fleet-KMNS6NOM.js} +115 -107
- package/dist/{fleet-commands-5YE7NPJL.js → fleet-commands-DOWSYCBX.js} +15 -15
- package/dist/{fleet-decisions-3SBSCTCW.js → fleet-decisions-S3PTZV2D.js} +9 -9
- package/dist/{fleet-graph-6HHPWF5T.js → fleet-graph-F2DE2TME.js} +26 -24
- package/dist/{fleet-inspect-JEYMGCGC.js → fleet-inspect-EN2Q6IVB.js} +67 -63
- package/dist/{fleet-preflight-QRSHIIDE.js → fleet-preflight-FRLETDD3.js} +3 -3
- package/dist/{fleet-validate-4PM4GDDL.js → fleet-validate-B2XDLS57.js} +28 -29
- package/dist/{fleet-verify-NJDTHTO3.js → fleet-verify-4JKUWGJ7.js} +64 -61
- package/dist/{fleet-view-UP2BWQQY.js → fleet-view-BHJFW26B.js} +67 -63
- package/dist/{init-S3GZQ5ZF.js → init-XAT5N5YM.js} +86 -80
- package/dist/interop-FVECHFKG.js +246 -0
- package/dist/{inventory-K2OZ36YJ.js → inventory-7KFQGLCV.js} +67 -63
- package/dist/library-NY2XOT75.js +492 -0
- package/dist/library-QAPAO23R.js +306 -0
- package/dist/library-import-5Y6MAS3R.js +183 -0
- package/dist/library-inventory-JT6HWITQ.js +56 -0
- package/dist/library-validation-EQUH25DC.js +42 -0
- package/dist/{memory-OQOXQGYD.js → memory-DYVTTCP6.js} +65 -62
- package/dist/{models-3IK2Y5WE.js → models-MASFJ6Y2.js} +51 -38
- package/dist/{monitor-FTJLTKCQ.js → monitor-YMP4NXJJ.js} +73 -69
- package/dist/{orchestrator-N47O7SFD.js → orchestrator-AFQRRTEI.js} +4255 -2845
- package/dist/{panes-7BTYH3XQ.js → panes-D3Y2KFG5.js} +4 -4
- package/dist/{panes-WPOMEMRH.js → panes-NICTHQCV.js} +7 -7
- package/dist/{paths-J3KN7UAO.js → paths-PSFAUIGO.js} +5 -5
- package/dist/{preload-65U34NG6.js → preload-5Q7VXRFJ.js} +64 -61
- package/dist/{reset-MUVQDLNL.js → reset-7NKZK7JN.js} +11 -9
- package/dist/{resources-LM76COAO.js → resources-NILSIZAT.js} +94 -38
- package/dist/{run-3VFZQ33N.js → run-BPZGEBZV.js} +131 -114
- package/dist/{share-4JUB4BL7.js → share-EZ6ERBMH.js} +31 -28
- package/dist/skills-BTVVNYVM.js +100 -0
- package/dist/{skills-eval-G6T57L7M.js → skills-eval-UY34MNK7.js} +117 -78
- package/dist/{skills-inventory-WLM46PJH.js → skills-inventory-JDHSIA7I.js} +30 -25
- package/dist/{slash-commands-GBARG3Y7.js → slash-commands-K4FNQ2AT.js} +53 -49
- package/dist/{steer-S7D7IKPU.js → steer-2B3EQGFH.js} +4 -4
- package/dist/{support-5VAEC32W.js → support-L2SOL3IE.js} +7 -7
- package/dist/{targets-N5REUETU.js → targets-44VKGFLN.js} +69 -47
- package/dist/{tasks-6BVY5YZF.js → tasks-3KODKFU7.js} +14 -14
- package/dist/{terminal-lease-57UEOJKS.js → terminal-lease-LXA7MMPO.js} +32 -19
- package/dist/{tools-6OCQ6SVB.js → tools-3UB7TEVR.js} +7 -7
- package/dist/{trace-JHLXWUMN.js → trace-TAMIU4OJ.js} +5 -4
- package/dist/{tui-primitives-RCY2HN7G.js → tui-primitives-A6MUW32V.js} +3 -2
- package/dist/{uninstall-FXYMFFRT.js → uninstall-QYVRPEM4.js} +9 -9
- package/dist/{upgrade-4HD5HAIV.js → upgrade-7PMKM2JH.js} +17 -18
- package/dist/{usage-4GWM2WWP.js → usage-6EQV7EQK.js} +77 -73
- package/dist/{verifiers-GSKWKWVG.js → verifiers-JLITWSHU.js} +16 -16
- package/dist/{verify-3AS3ULCY.js → verify-T7NAEVIG.js} +13 -13
- package/dist/{web-fetch-MQN4FH3X.js → web-fetch-W4TNW4Q7.js} +4 -4
- package/dist/{wiki-generate-7BV7XWIY.js → wiki-generate-T2TJQJUA.js} +90 -84
- package/dist/{with-panes-OFTNAR4Y.js → with-panes-CHFC7HGI.js} +4 -4
- package/dist/worker/entry.js +297 -88
- package/docs/README.md +43 -0
- package/docs/architecture/architecture.md +8 -7
- package/docs/architecture/artifact-versions.md +3 -3
- package/docs/architecture/context-engine.md +36 -2
- package/docs/architecture/library.md +32 -0
- package/docs/architecture/middleware-and-components.md +1 -1
- package/docs/architecture/model-catalog.md +21 -1
- package/docs/architecture/pi-boundary.md +18 -0
- package/docs/architecture/prompt-envelope-and-tools.md +5 -5
- package/docs/architecture/safety-model.md +21 -2
- package/docs/architecture/session-lifecycle.md +12 -1
- package/docs/architecture/tui-design.md +153 -39
- package/docs/architecture/worker-context.md +106 -0
- package/docs/guide/authoring-plugins.md +160 -0
- package/docs/guide/built-in-agents.md +5 -5
- package/docs/guide/commands-and-modes.md +186 -80
- package/docs/guide/configuration-and-targets.md +123 -28
- package/docs/guide/configuration-reference.md +36 -38
- package/docs/guide/environment-variables.md +2 -2
- package/docs/guide/exit-codes-and-output.md +1 -1
- package/docs/guide/extensions-and-sharing.md +93 -53
- package/docs/guide/fleet-dispatch.md +32 -10
- package/docs/guide/glossary.md +2 -2
- package/docs/guide/harness-extensions.md +291 -0
- package/docs/guide/installation-and-lifecycle.md +53 -20
- package/docs/guide/interop.md +243 -0
- package/docs/guide/panes-and-files.md +3 -3
- package/docs/guide/plugins.md +80 -0
- package/docs/guide/resource-library.md +111 -45
- package/docs/guide/skills-marketplace.md +35 -72
- package/docs/guide/tool-usage.md +19 -7
- package/docs/guide/troubleshooting.md +1 -1
- package/docs/process/development-pipeline.md +15 -15
- package/docs/process/documentation-coverage.md +29 -2
- package/docs/process/documentation-guide.md +15 -7
- package/docs/process/eval-runner.md +8 -3
- package/docs/process/performance-methodology.md +1 -1
- package/docs/process/release-cut-checklist.md +22 -6
- package/docs/process/scientific-validation.md +23 -0
- package/evals/scalar-decision-machinery.ts +1 -1
- package/examples/extensions/README.md +67 -0
- package/examples/extensions/lab-status/clio-coder-extension.json +14 -0
- package/examples/extensions/lab-status/extension.mjs +68 -0
- package/examples/extensions/lab-status/jobs.synthetic.json +9 -0
- package/examples/extensions/measurements/clio-coder-extension.json +28 -0
- package/examples/extensions/measurements/summarize.cjs +23 -0
- package/library/README.md +109 -0
- package/library/_authoring/templates/agent/README.md +28 -0
- package/library/_authoring/templates/agent/agents/benchmark-scout.md +30 -0
- package/library/_authoring/templates/agent/plugin.json +23 -0
- package/library/_authoring/templates/fleet/README.md +29 -0
- package/library/_authoring/templates/fleet/fleets/pipeline-review.md +31 -0
- package/library/_authoring/templates/fleet/plugin.json +23 -0
- package/library/_authoring/templates/plugin/README.md +37 -0
- package/library/_authoring/templates/plugin/agents/data-curator.md +31 -0
- package/library/_authoring/templates/plugin/assets/curation-guide.md +22 -0
- package/library/_authoring/templates/plugin/plugin.json +42 -0
- package/library/_authoring/templates/plugin/prompts/inspect-dataset.md +15 -0
- package/library/_authoring/templates/plugin/skills/dataset-curation/SKILL.md +36 -0
- package/library/_authoring/templates/plugin/skills/dataset-curation/evals.md +17 -0
- package/library/_authoring/templates/prompt/README.md +28 -0
- package/library/_authoring/templates/prompt/plugin.json +23 -0
- package/library/_authoring/templates/prompt/prompts/paper-summary.md +26 -0
- package/library/_authoring/templates/skill/README.md +24 -0
- package/library/_authoring/templates/skill/SKILL.md +39 -0
- package/library/_authoring/templates/skill/evals.md +30 -0
- package/library/_authoring/templates/skill/plugin.json +23 -0
- package/library/agents/README.md +7 -0
- package/library/fleets/README.md +7 -0
- package/library/plugins/materio/README.md +137 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-lab-definer.md +208 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-literature-reviewer.md +308 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-research-explorer.md +249 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-executor.md +416 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-verifier.md +60 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-workflow-planner.md +238 -0
- package/library/plugins/materio/ai.iowarp.clio/fleets/materio-execute-task.md +50 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/add-task.md +66 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/archive-task.md +65 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/checkpoint.md +26 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-research-tasks.md +230 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-virtual-lab.md +181 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/execute-task.md +292 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/help.md +129 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/identify-research.md +206 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/literature-review.md +201 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/pause-research.md +12 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/progress.md +105 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/remove-task.md +63 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/resume-research.md +64 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/settings.md +16 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/status.md +92 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/upload-data.md +104 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/wtfp.md +145 -0
- package/library/plugins/materio/ai.iowarp.clio/references/execution.md +56 -0
- package/library/plugins/materio/ai.iowarp.portability/provenance.json +9 -0
- package/library/plugins/materio/assets/actions/add-task.md +86 -0
- package/library/plugins/materio/assets/actions/archive-task.md +84 -0
- package/library/plugins/materio/assets/actions/checkpoint.md +47 -0
- package/library/plugins/materio/assets/actions/define-research-tasks.md +228 -0
- package/library/plugins/materio/assets/actions/define-virtual-lab.md +179 -0
- package/library/plugins/materio/assets/actions/execute-task.md +290 -0
- package/library/plugins/materio/assets/actions/help.md +140 -0
- package/library/plugins/materio/assets/actions/identify-research.md +204 -0
- package/library/plugins/materio/assets/actions/literature-review.md +199 -0
- package/library/plugins/materio/assets/actions/pause-research.md +34 -0
- package/library/plugins/materio/assets/actions/progress.md +125 -0
- package/library/plugins/materio/assets/actions/remove-task.md +82 -0
- package/library/plugins/materio/assets/actions/resume-research.md +84 -0
- package/library/plugins/materio/assets/actions/settings.md +38 -0
- package/library/plugins/materio/assets/actions/status.md +112 -0
- package/library/plugins/materio/assets/actions/upload-data.md +123 -0
- package/library/plugins/materio/assets/actions/wtfp.md +179 -0
- package/library/plugins/materio/assets/references/research-domains.md +134 -0
- package/library/plugins/materio/assets/references/research-policy.md +77 -0
- package/library/plugins/materio/assets/references/traditional-workflows.md +146 -0
- package/library/plugins/materio/assets/scripts/check_physics.py +271 -0
- package/library/plugins/materio/assets/scripts/check_scripts.py +248 -0
- package/library/plugins/materio/assets/scripts/project_plugin.py +165 -0
- package/library/plugins/materio/assets/scripts/research_state.py +400 -0
- package/library/plugins/materio/assets/scripts/verify_citations.py +616 -0
- package/library/plugins/materio/assets/templates/RESEARCH.md +39 -0
- package/library/plugins/materio/assets/templates/VIRTUAL-LAB.md +120 -0
- package/library/plugins/materio/assets/templates/WORKFLOW.md +42 -0
- package/library/plugins/materio/assets/templates/config.json +5 -0
- package/library/plugins/materio/evals/scripts.yaml +29 -0
- package/library/plugins/materio/plugin.json +530 -0
- package/library/plugins/materio/skills/materio-lab-definer/SKILL.md +74 -0
- package/library/plugins/materio/skills/materio-literature-reviewer/SKILL.md +64 -0
- package/library/plugins/materio/skills/materio-research-explorer/SKILL.md +74 -0
- package/library/plugins/materio/skills/materio-task-executor/SKILL.md +214 -0
- package/library/plugins/materio/skills/materio-task-verifier/SKILL.md +46 -0
- package/library/plugins/materio/skills/materio-workflow-planner/SKILL.md +79 -0
- package/library/plugins/materio/tests/test_check_physics.py +139 -0
- package/library/plugins/materio/tests/test_check_scripts.py +140 -0
- package/library/plugins/materio/tests/test_research_state.py +291 -0
- package/library/plugins/materio/tests/test_verify_citations.py +337 -0
- package/library/prompts/README.md +7 -0
- package/library/registry.yaml +921 -0
- package/library/skills/README.md +120 -0
- package/{skills → library/skills}/coding/ast-grep/SKILL.md +1 -1
- package/{skills → library/skills}/coding/ast-grep/evals.md +1 -1
- package/library/skills/coding/ast-grep/plugin.json +23 -0
- package/{skills → library/skills}/coding/coding-standards/SKILL.md +1 -1
- package/{skills → library/skills}/coding/coding-standards/evals.md +1 -1
- package/library/skills/coding/coding-standards/plugin.json +23 -0
- package/{skills → library/skills}/coding/prototype/SKILL.md +1 -1
- package/{skills → library/skills}/coding/prototype/evals.md +1 -1
- package/library/skills/coding/prototype/plugin.json +23 -0
- package/{skills → library/skills}/coding/tdd/SKILL.md +1 -1
- package/{skills → library/skills}/coding/tdd/evals.md +1 -1
- package/library/skills/coding/tdd/plugin.json +23 -0
- package/{skills → library/skills}/context/context-handoff/SKILL.md +1 -1
- package/{skills → library/skills}/context/context-handoff/evals.md +1 -1
- package/library/skills/context/context-handoff/plugin.json +23 -0
- package/{skills → library/skills}/context/context-prime/SKILL.md +1 -1
- package/{skills → library/skills}/context/context-prime/evals.md +1 -1
- package/library/skills/context/context-prime/plugin.json +23 -0
- package/{skills → library/skills}/git/branch-closeout/SKILL.md +1 -1
- package/library/skills/git/branch-closeout/plugin.json +23 -0
- package/{skills → library/skills}/git/file-ticket/SKILL.md +1 -1
- package/library/skills/git/file-ticket/plugin.json +23 -0
- package/{skills → library/skills}/git/fix-issue/SKILL.md +1 -1
- package/library/skills/git/fix-issue/plugin.json +23 -0
- package/{skills → library/skills}/git/resolve-merge-conflicts/SKILL.md +1 -1
- package/{skills → library/skills}/git/resolve-merge-conflicts/evals.md +1 -1
- package/library/skills/git/resolve-merge-conflicts/plugin.json +23 -0
- package/{skills → library/skills}/git/ship/SKILL.md +1 -1
- package/library/skills/git/ship/plugin.json +23 -0
- package/{skills → library/skills}/git/worktree-create/SKILL.md +1 -1
- package/library/skills/git/worktree-create/plugin.json +23 -0
- package/{skills → library/skills}/git/worktree-merge/SKILL.md +1 -1
- package/library/skills/git/worktree-merge/plugin.json +23 -0
- package/{skills → library/skills}/meta/clio-coder-dev/SKILL.md +1 -1
- package/{skills → library/skills}/meta/clio-coder-dev/evals.md +1 -1
- package/library/skills/meta/clio-coder-dev/plugin.json +23 -0
- package/{skills → library/skills}/meta/clio-coder-test/SKILL.md +1 -1
- package/{skills → library/skills}/meta/clio-coder-test/evals.md +1 -1
- package/library/skills/meta/clio-coder-test/plugin.json +23 -0
- package/{skills → library/skills}/meta/credentials/SKILL.md +1 -1
- package/{skills → library/skills}/meta/credentials/evals.md +1 -1
- package/library/skills/meta/credentials/plugin.json +23 -0
- package/library/skills/meta/find-skills/SKILL.md +85 -0
- package/library/skills/meta/find-skills/evals.md +65 -0
- package/library/skills/meta/find-skills/plugin.json +23 -0
- package/{skills → library/skills}/meta/herdr/SKILL.md +1 -1
- package/{skills → library/skills}/meta/herdr/evals.md +1 -1
- package/library/skills/meta/herdr/plugin.json +23 -0
- package/{skills → library/skills}/meta/skill-craft/SKILL.md +23 -9
- package/{skills → library/skills}/meta/skill-craft/evals.md +11 -3
- package/library/skills/meta/skill-craft/plugin.json +23 -0
- package/{skills → library/skills}/planning/archify/SKILL.md +13 -13
- package/library/skills/planning/archify/plugin.json +23 -0
- package/{skills → library/skills}/planning/architecture/SKILL.md +1 -1
- package/{skills → library/skills}/planning/architecture/evals.md +1 -1
- package/library/skills/planning/architecture/plugin.json +23 -0
- package/{skills → library/skills}/planning/backlog/SKILL.md +1 -1
- package/{skills → library/skills}/planning/backlog/evals.md +1 -1
- package/library/skills/planning/backlog/plugin.json +23 -0
- package/{skills → library/skills}/planning/prd/SKILL.md +1 -1
- package/{skills → library/skills}/planning/prd/evals.md +1 -1
- package/library/skills/planning/prd/plugin.json +23 -0
- package/{skills → library/skills}/planning/product-intent/SKILL.md +1 -1
- package/{skills → library/skills}/planning/product-intent/evals.md +1 -1
- package/library/skills/planning/product-intent/plugin.json +23 -0
- package/{skills → library/skills}/planning/tech-spec/SKILL.md +1 -1
- package/{skills → library/skills}/planning/tech-spec/evals.md +1 -1
- package/library/skills/planning/tech-spec/plugin.json +23 -0
- package/{skills → library/skills}/registry.yaml +7 -7
- package/{skills → library/skills}/remote.yaml +1 -1
- package/{skills → library/skills}/research/arxiv-literature/SKILL.md +1 -1
- package/{skills → library/skills}/research/arxiv-literature/evals.md +1 -1
- package/library/skills/research/arxiv-literature/plugin.json +23 -0
- package/{skills → library/skills}/research/experiment-protocol/SKILL.md +1 -1
- package/{skills → library/skills}/research/experiment-protocol/evals.md +1 -1
- package/library/skills/research/experiment-protocol/plugin.json +23 -0
- package/{skills → library/skills}/research/scientific-debugging/SKILL.md +1 -1
- package/{skills → library/skills}/research/scientific-debugging/evals.md +1 -1
- package/library/skills/research/scientific-debugging/plugin.json +23 -0
- package/{skills → library/skills}/research/scientific-modernization/SKILL.md +1 -1
- package/{skills → library/skills}/research/scientific-modernization/evals.md +1 -1
- package/library/skills/research/scientific-modernization/plugin.json +23 -0
- package/{skills → library/skills}/skill-marketplace.json +37 -37
- package/{skills → library/skills}/workflow/cut-it/SKILL.md +1 -1
- package/{skills → library/skills}/workflow/cut-it/evals.md +1 -1
- package/library/skills/workflow/cut-it/plugin.json +23 -0
- package/{skills → library/skills}/workflow/design-council/SKILL.md +1 -1
- package/{skills → library/skills}/workflow/design-council/evals.md +1 -1
- package/library/skills/workflow/design-council/plugin.json +23 -0
- package/{skills → library/skills}/workflow/grill-me/SKILL.md +1 -1
- package/{skills → library/skills}/workflow/grill-me/evals.md +1 -1
- package/library/skills/workflow/grill-me/plugin.json +23 -0
- package/{skills → library/skills}/workflow/workflow-distiller/SKILL.md +14 -11
- package/{skills → library/skills}/workflow/workflow-distiller/evals.md +14 -6
- package/library/skills/workflow/workflow-distiller/plugin.json +23 -0
- package/package.json +12 -5
- package/src/cli/agents.ts +1 -1
- package/src/cli/ask.ts +10 -10
- package/src/cli/config-inspect.ts +1 -1
- package/src/cli/configure-editor.ts +51 -0
- package/src/cli/configure-interop.ts +1 -1
- package/src/cli/configure-oauth.ts +1 -1
- package/src/cli/configure-onboarding.ts +232 -96
- package/src/cli/configure-prompts.ts +76 -0
- package/src/cli/configure-quick.ts +274 -0
- package/src/cli/configure-target.ts +14 -2
- package/src/cli/configure.ts +415 -176
- package/src/cli/eval.ts +40 -6
- package/src/cli/extensions.ts +74 -8
- package/src/cli/fleet-preflight.ts +2 -0
- package/src/cli/fleet.ts +2 -0
- package/src/cli/index.ts +1 -3
- package/src/cli/interop-inspect.ts +61 -33
- package/src/cli/interop.ts +79 -9
- package/src/cli/library-import.ts +139 -0
- package/src/cli/library.ts +418 -120
- package/src/cli/oauth-manual-input.ts +1 -1
- package/src/cli/reset.ts +2 -0
- package/src/cli/run.ts +26 -9
- package/src/cli/select.ts +35 -4
- package/src/cli/skills-eval.ts +43 -6
- package/src/cli/skills-inventory.ts +6 -2
- package/src/cli/skills.ts +44 -491
- package/src/cli/upgrade.ts +2 -2
- package/src/core/bus-events.ts +5 -0
- package/src/core/config.ts +6 -1
- package/src/core/defaults.ts +34 -12
- package/src/{interactive → core}/external-editor.ts +4 -4
- package/src/core/recent-models.ts +2 -2
- package/src/core/session-routing.ts +3 -3
- package/src/core/state-file-lock.ts +1 -1
- package/src/core/tool-names.ts +5 -0
- package/src/domains/agents/extension.ts +42 -6
- package/src/domains/agents/fleet-commands.ts +92 -1
- package/src/domains/agents/fleet-contract.ts +87 -19
- package/src/domains/agents/recipe.ts +5 -4
- package/src/domains/agents/registry.ts +80 -24
- package/src/domains/config/classify.ts +1 -1
- package/src/domains/config/keybindings.ts +156 -124
- package/src/domains/context/worker/contract.ts +91 -0
- package/src/domains/context/worker/pressure.ts +120 -0
- package/src/domains/context/worker/recall.ts +62 -0
- package/src/domains/context/worker/select.ts +164 -0
- package/src/domains/context/worker/snapshot.ts +35 -0
- package/src/domains/context/worker/store.ts +16 -0
- package/src/domains/context/working-set/replay/synthetic.ts +2 -1
- package/src/domains/dispatch/active-route-planner.ts +2 -0
- package/src/domains/dispatch/backoff.ts +1 -0
- package/src/domains/dispatch/code-step.ts +12 -2
- package/src/domains/dispatch/contract.ts +3 -0
- package/src/domains/dispatch/execution-plan.ts +2 -0
- package/src/domains/dispatch/extension.ts +109 -27
- package/src/domains/dispatch/fleet-plan.ts +10 -0
- package/src/domains/dispatch/fleet-run.ts +1 -0
- package/src/domains/dispatch/orphan-recovery.ts +1 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/state.ts +1 -0
- package/src/domains/dispatch/types.ts +5 -0
- package/src/domains/dispatch/validation.ts +12 -0
- package/src/domains/dispatch/workspace-checkpoint.ts +1 -1
- package/src/domains/evidence/failure-attribution.ts +1 -0
- package/src/domains/evidence/trust-status.ts +22 -3
- package/src/domains/extensions/command-schema.ts +145 -0
- package/src/domains/extensions/command-tools.ts +15 -0
- package/src/domains/extensions/compatibility.ts +7 -0
- package/src/domains/extensions/contract.ts +0 -4
- package/src/domains/extensions/discovery.ts +69 -205
- package/src/domains/extensions/extension.ts +0 -4
- package/src/domains/extensions/index.ts +1 -5
- package/src/domains/extensions/manager.ts +1 -6
- package/src/domains/extensions/operator-commands.ts +29 -0
- package/src/domains/extensions/operator-runtime.ts +483 -0
- package/src/domains/extensions/public-api.ts +53 -0
- package/src/domains/extensions/runtime-child.mjs +114 -0
- package/src/domains/extensions/runtime-process.ts +306 -0
- package/src/domains/extensions/runtime-schema.ts +146 -0
- package/src/domains/extensions/{resources.ts → snapshot-access.ts} +1 -17
- package/src/domains/extensions/snapshot.ts +4 -32
- package/src/domains/extensions/state.ts +5 -83
- package/src/domains/extensions/types.ts +33 -34
- package/src/domains/interop/adopt.ts +546 -0
- package/src/domains/interop/detect.ts +50 -12
- package/src/domains/interop/foreign.ts +554 -0
- package/src/domains/interop/import.ts +277 -0
- package/src/domains/interop/index.ts +24 -0
- package/src/domains/interop/install.ts +6 -0
- package/src/domains/interop/inventory.ts +351 -0
- package/src/domains/interop/projection.ts +360 -0
- package/src/domains/interop/registry.ts +106 -3
- package/src/domains/interop/types.ts +51 -0
- package/src/domains/lifecycle/migrations/index.ts +0 -2
- package/src/domains/lifecycle/naming-resources.ts +1 -1
- package/src/domains/middleware/marketplace-offer.ts +1 -1
- package/src/domains/mux/contract.ts +1 -1
- package/src/domains/plugins/catalog.ts +204 -0
- package/src/domains/plugins/contract.ts +24 -0
- package/src/domains/plugins/discovery.ts +316 -0
- package/src/domains/plugins/extension.ts +40 -0
- package/src/domains/plugins/index.ts +77 -0
- package/src/domains/plugins/integrity.ts +6 -0
- package/src/domains/plugins/manifest.ts +3 -0
- package/src/domains/plugins/resources.ts +102 -0
- package/src/domains/plugins/state.ts +753 -0
- package/src/domains/plugins/types.ts +217 -0
- package/src/domains/prompts/extension.ts +9 -2
- package/src/domains/prompts/fragments/operating/skills.md +10 -10
- package/src/domains/providers/probe/fingerprint.ts +13 -6
- package/src/domains/providers/probe/reasoning.ts +2 -0
- package/src/domains/providers/runtimes/common/probe-helpers.ts +23 -7
- package/src/domains/providers/runtimes/protocol/anthropic-compat.ts +7 -2
- package/src/domains/providers/runtimes/protocol/openai-compat.ts +10 -4
- package/src/domains/resources/common-loader.ts +9 -6
- package/src/domains/resources/index.ts +67 -0
- package/src/domains/resources/library-actions.ts +836 -0
- package/src/domains/resources/library-evals.ts +38 -0
- package/src/domains/resources/library-inventory.ts +1048 -0
- package/src/domains/resources/library-types.ts +50 -0
- package/src/domains/resources/library-validation.ts +634 -0
- package/src/domains/resources/library.ts +437 -156
- package/src/domains/resources/package-references.ts +66 -0
- package/src/domains/resources/prompts/loader.ts +75 -41
- package/src/domains/resources/skills/install.ts +2 -2
- package/src/domains/resources/skills/loader.ts +77 -22
- package/src/domains/resources/skills/marketplace.ts +48 -57
- package/src/domains/resources/skills/promotion.ts +2 -2
- package/src/domains/resources/skills/provenance-pin.ts +17 -4
- package/src/domains/safety/action-classifier.ts +2 -2
- package/src/domains/safety/default-path-policy.ts +3 -1
- package/src/domains/safety/policy-engine.ts +1 -1
- package/src/domains/safety/protected-artifacts.ts +21 -5
- package/src/domains/safety/skill-authority.ts +5 -2
- package/src/domains/share/archive.ts +1 -1
- package/src/engine/apis/openai-completions.ts +52 -2
- package/src/engine/notices/pi-tui-LICENSE +21 -0
- package/src/engine/tui.ts +3 -0
- package/src/engine/worker-runtime.ts +58 -14
- package/src/engine/worker-tools.ts +5 -0
- package/src/entry/orchestrator.ts +26 -5
- package/src/entry/plugin-reload.ts +18 -0
- package/src/interactive/application-controller.ts +68 -52
- package/src/interactive/chat-loop.ts +32 -5
- package/src/interactive/chat-panel.ts +168 -638
- package/src/interactive/chat-renderer.ts +13 -30
- package/src/interactive/clio-editor.ts +53 -21
- package/src/interactive/command-output.ts +56 -1
- package/src/interactive/dispatch-board.ts +1 -3
- package/src/interactive/editor-submit.ts +73 -59
- package/src/interactive/fleet-run-preview.ts +2 -0
- package/src/interactive/follow-up-queue-panel.ts +3 -3
- package/src/interactive/footer/dashboard.ts +12 -4
- package/src/interactive/footer/notifications.ts +2 -2
- package/src/interactive/footer/widgets.ts +52 -93
- package/src/interactive/interactive-application.ts +225 -63
- package/src/interactive/interactive-event-projection.ts +2 -44
- package/src/interactive/interactive-input-runtime.ts +257 -35
- package/src/interactive/interactive-presentation.ts +71 -21
- package/src/interactive/interactive-slash-runtime.ts +40 -48
- package/src/interactive/keybinding-manager.ts +156 -79
- package/src/interactive/keyboard-owner.ts +37 -0
- package/src/interactive/layout.ts +29 -4
- package/src/interactive/leader-key.ts +49 -102
- package/src/interactive/leader-menu.ts +45 -0
- package/src/interactive/overlay-ask-user-lifecycle.ts +9 -1
- package/src/interactive/overlay-frame.ts +15 -0
- package/src/interactive/overlay-general-openers.ts +2 -0
- package/src/interactive/overlay-key-routing.ts +46 -47
- package/src/interactive/overlay-lifecycle.ts +31 -15
- package/src/interactive/overlay-resource-openers.ts +56 -46
- package/src/interactive/overlay-session-lifecycle.ts +1 -1
- package/src/interactive/overlays/ask-user.ts +630 -556
- package/src/interactive/overlays/extension-panel.ts +70 -0
- package/src/interactive/overlays/extensions.ts +28 -5
- package/src/interactive/overlays/fleet-run-approval.ts +7 -3
- package/src/interactive/overlays/help-reference.ts +89 -40
- package/src/interactive/overlays/interop.ts +122 -3
- package/src/interactive/overlays/keybinding-detail.ts +2 -2
- package/src/interactive/overlays/library-lifecycle.ts +90 -0
- package/src/interactive/overlays/library-model.ts +574 -0
- package/src/interactive/overlays/library-review.ts +557 -0
- package/src/interactive/overlays/library-tabs.ts +3 -15
- package/src/interactive/overlays/library.ts +602 -0
- package/src/interactive/overlays/list-overlay.ts +218 -39
- package/src/interactive/overlays/model-selector.ts +28 -25
- package/src/interactive/overlays/session-selector.ts +9 -3
- package/src/interactive/overlays/settings.ts +34 -26
- package/src/interactive/overlays/tree-selector.ts +16 -11
- package/src/interactive/permission-hint.ts +13 -0
- package/src/interactive/permission-overlay.ts +77 -28
- package/src/interactive/prompt-source-label.ts +21 -0
- package/src/interactive/renderers/preview.ts +16 -0
- package/src/interactive/renderers/reference-card.ts +35 -0
- package/src/interactive/renderers/tool-execution.ts +67 -160
- package/src/interactive/renderers/worker-entry.ts +90 -42
- package/src/interactive/slash-autocomplete.ts +100 -7
- package/src/interactive/slash-commands.ts +396 -105
- package/src/interactive/slash-spec.ts +0 -1
- package/src/interactive/status/controller.ts +0 -5
- package/src/interactive/status/state-machine.ts +44 -26
- package/src/interactive/status/types.ts +3 -0
- package/src/interactive/status/verbs.ts +13 -12
- package/src/interactive/terminal-lease.ts +44 -12
- package/src/interactive/transcript-detail.ts +50 -112
- package/src/interactive/turn-queues.ts +8 -7
- package/src/interactive/turn-runtime.ts +1 -1
- package/src/interactive/view/artifacts.ts +4 -0
- package/src/interactive/view/view-overlay.ts +58 -43
- package/src/interactive/welcome-dashboard.ts +525 -408
- package/src/tools/bootstrap.ts +8 -0
- package/src/tools/builtin-tool-catalog.ts +7 -2
- package/src/tools/context/index.ts +58 -5
- package/src/tools/context/library.ts +465 -0
- package/src/tools/context/surface.ts +20 -6
- package/src/tools/core-bootstrap.ts +3 -0
- package/src/tools/dispatch-admission.ts +24 -1
- package/src/tools/dispatch-arguments.ts +8 -0
- package/src/tools/dispatch-plan.ts +32 -0
- package/src/tools/dispatch-schema.ts +31 -1
- package/src/tools/dispatch-types.ts +3 -0
- package/src/tools/dispatch.ts +1 -1
- package/src/tools/harness-extensions.ts +169 -0
- package/src/tools/observation.ts +4 -0
- package/src/tools/policy.ts +7 -1
- package/src/tools/presentation.ts +1 -1
- package/src/tools/registry.ts +20 -2
- package/src/tools/verify/numeric.ts +4 -4
- package/src/tools/worker-evidence.ts +5 -0
- package/src/worker/context-seed.ts +192 -0
- package/src/worker/entry.ts +1 -0
- package/src/worker/spec-contract.ts +8 -1
- package/dist/chunk-3UW3KU4A.js +0 -21
- package/dist/chunk-6SYEGZI3.js +0 -433
- package/dist/chunk-CXQ37WJH.js +0 -45
- package/dist/chunk-EQEJJ53P.js +0 -399
- package/dist/chunk-KTFSFCVN.js +0 -46
- package/dist/chunk-QRFXEO6Y.js +0 -17
- package/dist/chunk-T7FDXNRU.js +0 -1257
- package/dist/chunk-U7VQ4NI4.js +0 -911
- package/dist/configure-SML6UBZ5.js +0 -55
- package/dist/interop-YOTGXFJM.js +0 -115
- package/dist/library-GJI6W6OK.js +0 -226
- package/dist/skills-S36AAJHU.js +0 -510
- package/skills/README.md +0 -418
- package/skills/meta/find-skills/SKILL.md +0 -78
- package/skills/meta/find-skills/evals.md +0 -47
- package/src/domains/extensions/resource-path.ts +0 -27
- package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +0 -27
- package/src/interactive/overlays/agents.ts +0 -70
- package/src/interactive/overlays/library-install-confirm.ts +0 -152
- package/src/interactive/overlays/prompts.ts +0 -89
- package/src/interactive/overlays/skills-hub.ts +0 -615
- /package/{skills → library/skills}/coding/ast-grep/references/rule_reference.md +0 -0
- /package/{skills → library/skills}/coding/prototype/references/LOGIC.md +0 -0
- /package/{skills → library/skills}/coding/prototype/references/UI.md +0 -0
- /package/{skills → library/skills}/coding/tdd/references/mocking.md +0 -0
- /package/{skills → library/skills}/coding/tdd/references/tests.md +0 -0
- /package/{skills → library/skills}/context/context-handoff/scripts/new-handoff.sh +0 -0
- /package/{skills → library/skills}/git/branch-closeout/evals.md +0 -0
- /package/{skills → library/skills}/git/branch-closeout/references/closeout-checklist.md +0 -0
- /package/{skills → library/skills}/git/file-ticket/assets/issue-template.md +0 -0
- /package/{skills → library/skills}/git/file-ticket/evals.md +0 -0
- /package/{skills → library/skills}/git/file-ticket/references/issue-discovery.md +0 -0
- /package/{skills → library/skills}/git/fix-issue/evals.md +0 -0
- /package/{skills → library/skills}/git/fix-issue/references/diagnosis-and-rca.md +0 -0
- /package/{skills → library/skills}/git/resolve-merge-conflicts/references/conflict-matrix.md +0 -0
- /package/{skills → library/skills}/git/ship/assets/pr-template.md +0 -0
- /package/{skills → library/skills}/git/ship/evals.md +0 -0
- /package/{skills → library/skills}/git/ship/references/remote-and-branch-policy.md +0 -0
- /package/{skills → library/skills}/git/worktree-create/evals.md +0 -0
- /package/{skills → library/skills}/git/worktree-create/references/worktree-setup.md +0 -0
- /package/{skills → library/skills}/git/worktree-merge/evals.md +0 -0
- /package/{skills → library/skills}/git/worktree-merge/references/merge-strategies.md +0 -0
- /package/{skills → library/skills}/meta/clio-coder-test/references/harness.md +0 -0
- /package/{skills → library/skills}/meta/clio-coder-test/references/test-map.md +0 -0
- /package/{skills → library/skills}/planning/archify/evals.md +0 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# Coding agent interoperability
|
|
2
|
+
|
|
3
|
+
> **Visual blueprint:** See the [visual reference](../html/interop_blueprint.html) in the source checkout.
|
|
4
|
+
|
|
5
|
+
Interoperability runs both ways. Inbound, Clio can discover resources held by
|
|
6
|
+
Claude Code, Codex, Antigravity CLI, GitHub Copilot CLI, and OpenCode, then adopt
|
|
7
|
+
safe text resources into the library after approval. Outbound, the same canonical
|
|
8
|
+
`library/` sources this repository ships are installable by Claude Code and
|
|
9
|
+
loadable by Codex without a converted copy. Inspection and adoption use zero
|
|
10
|
+
model tokens. Gemini, Cursor, and the shared Agent Skills convention retain their
|
|
11
|
+
existing presence detection; this inventory does not extend their capabilities.
|
|
12
|
+
|
|
13
|
+
## Outbound: Use this library from Claude Code
|
|
14
|
+
|
|
15
|
+
The repository is a standard Claude Code marketplace. `.claude-plugin/marketplace.json`
|
|
16
|
+
is generated by `pnpm run library:pin` from the pinned packages in
|
|
17
|
+
`library/registry.yaml`, so it cannot describe a package the repository does not
|
|
18
|
+
actually contain.
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
claude plugin marketplace add iowarp/clio-coder
|
|
22
|
+
claude plugin install tdd@clio-coder
|
|
23
|
+
claude plugin install materio@clio-coder
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
A local checkout or the installed npm package works the same way, because every
|
|
27
|
+
entry's source is a relative path inside the repository:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
claude plugin marketplace add ./path/to/clio-coder
|
|
31
|
+
claude plugin marketplace add "$(npm root -g)/@iowarp/clio-coder"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The marketplace publishes 34 entries: the 33 curated skill packages and the
|
|
35
|
+
`materio` bundle. What each entry becomes on the Claude Code side:
|
|
36
|
+
|
|
37
|
+
| Source layout | What Claude Code loads |
|
|
38
|
+
| --- | --- |
|
|
39
|
+
| `library/skills/<category>/<name>/` with a root `SKILL.md` | One skill, named by the `SKILL.md` frontmatter, with its `references/` companions |
|
|
40
|
+
| `library/plugins/materio/` with a `skills/` directory | Materio's six portable skills and nothing else |
|
|
41
|
+
|
|
42
|
+
Nothing is converted and no recipe body is duplicated. The packages carry their
|
|
43
|
+
portable Agent Plugins `plugin.json`, which Claude Code does not read; the
|
|
44
|
+
marketplace entry supplies the name, description, version, category and license
|
|
45
|
+
it shows. `claude plugin validate . --strict` passes on the generated file, so no
|
|
46
|
+
entry needs `strict: false` and no package needs a second `.claude-plugin/plugin.json`.
|
|
47
|
+
|
|
48
|
+
Materio's Clio-native agents, prompts and fleets sit at declared resource paths
|
|
49
|
+
that no peer host scans. They travel with the installed bytes and are never
|
|
50
|
+
presented as Claude-native components. `claude plugin details materio` reports
|
|
51
|
+
`Skills (6)` and `Agents (0)`.
|
|
52
|
+
|
|
53
|
+
### Not every library package is published
|
|
54
|
+
|
|
55
|
+
A library package is published only when a host would load a real skill surface
|
|
56
|
+
from it, and only when it carries nothing that host default-scans into a native
|
|
57
|
+
component. Claude Code scans a plugin root for `agents/`, `commands/`, `hooks/`,
|
|
58
|
+
`output-styles/` and `.mcp.json` without being asked, so a package that keeps
|
|
59
|
+
Clio agent recipes in a top-level `agents/` directory would have them shown as
|
|
60
|
+
native Claude agents. That is a compatibility claim nobody measured, so the
|
|
61
|
+
generator leaves the package out and `pnpm run library:pin` prints the reason.
|
|
62
|
+
|
|
63
|
+
Those packages remain valid first-class library packages, and agent-, prompt- and
|
|
64
|
+
fleet-only packages are normal contributions. They simply have no peer-host
|
|
65
|
+
projection. An author who wants one package to serve both audiences declares its
|
|
66
|
+
Clio resource roots at paths no host scans, for example `"agents": "native/agents"`,
|
|
67
|
+
and keeps a `skills/` directory or root `SKILL.md` for the portable surface.
|
|
68
|
+
|
|
69
|
+
## Outbound: Use this library from Codex
|
|
70
|
+
|
|
71
|
+
Codex scans `.agents/skills` at the repository root, in the working directory and
|
|
72
|
+
in `$HOME`, recurses into subdirectories, and follows symlinks. The repository's
|
|
73
|
+
own `.agents/skills` links straight at the canonical trees:
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
.agents/skills/clio-coder -> ../../library/skills
|
|
77
|
+
.agents/skills/materio -> ../../library/plugins/materio/skills
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
A Codex session started anywhere in a clone therefore sees all 33 curated skills
|
|
81
|
+
and Materio's 6 portable skills under their canonical names, with no install step
|
|
82
|
+
and no copied `SKILL.md`. To get the same catalog in every repository, link the
|
|
83
|
+
canonical directories into your user skills root:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
mkdir -p ~/.agents/skills
|
|
87
|
+
ln -s /path/to/clio-coder/library/skills ~/.agents/skills/clio-coder
|
|
88
|
+
ln -s /path/to/clio-coder/library/plugins/materio/skills ~/.agents/skills/materio
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
The clone convenience requires Git to materialize symbolic links. On Windows,
|
|
92
|
+
enable Git symlink support (`core.symlinks=true`) with the required OS permission,
|
|
93
|
+
or install individual skills using the following route.
|
|
94
|
+
|
|
95
|
+
To install individual skills instead, use Codex's own installer, which accepts a
|
|
96
|
+
GitHub repository path:
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
$skill-installer install tdd from iowarp/clio-coder/library/skills/coding/tdd
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Disable one without deleting it through `[[skills.config]]` in `~/.codex/config.toml`.
|
|
103
|
+
|
|
104
|
+
There is deliberately no Codex plugin marketplace here. Portable Codex plugins
|
|
105
|
+
discover only a root `skills/` directory, the standalone packages carry a root
|
|
106
|
+
`SKILL.md`, and a `.codex-plugin` overlay cannot override that while the portable
|
|
107
|
+
root `plugin.json` is present. Publishing one would claim a compatibility that
|
|
108
|
+
does not exist.
|
|
109
|
+
|
|
110
|
+
## Inspect installed hosts
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
clio-coder interop inspect
|
|
114
|
+
clio-coder interop inspect --json
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Inspection reports binary presence, a bounded version probe (or unknown),
|
|
118
|
+
connection and ACP adapter state, and resource counts derived from the disk
|
|
119
|
+
inventory. User and current-project resources are distinguished. JSON omits
|
|
120
|
+
native source paths and declaration values, including MCP credentials.
|
|
121
|
+
A cache directory establishes available content; installation and activation
|
|
122
|
+
remain unknown unless a host's installation registry establishes them.
|
|
123
|
+
Malformed, unreadable, symbolic-link, oversized, or unsupported configurations
|
|
124
|
+
produce an unknown inventory diagnostic instead of an invented zero.
|
|
125
|
+
|
|
126
|
+
The scanner reads these configuration layouts, honoring the named host home
|
|
127
|
+
variable when present. An explicit fixture home ignores process host overrides.
|
|
128
|
+
It never traverses session history or starts a conversational agent.
|
|
129
|
+
|
|
130
|
+
| Host | User root | Project roots | Inventory and evidence commands |
|
|
131
|
+
| --- | --- | --- | --- |
|
|
132
|
+
| Claude Code | `~/.claude` (`CLAUDE_CONFIG_DIR`) | `.claude` | Skills, agents, commands, output styles, hooks, MCP (including `~/.claude.json` and project-root `.mcp.json`); installed plugin paths, versions and marketplace from `plugins/installed_plugins.json`. Evidence: `claude --version`, `claude plugin list --json`. |
|
|
133
|
+
| Codex | `~/.codex` (`CODEX_HOME`), shared `~/.agents` | `.codex`, `.agents` | Skills, TOML agents, legacy prompts, hooks, MCP, plugin cache and plugin configuration. Evidence: `codex --version`, `codex plugin list --json`. |
|
|
134
|
+
| Antigravity CLI | `~/.gemini/config` (`ANTIGRAVITY_HOME`) | `.agents` | Skills, agents, commands, plugins, import manifest, hooks, MCP. Evidence: `agy --version`, `agy plugin list`. Imported commands may already be converted into skills. |
|
|
135
|
+
| GitHub Copilot CLI | `~/.copilot` (`COPILOT_HOME`) | `.github`, `.copilot` | Skills, agents, commands, hooks, MCP, plugin directories and local directory marketplaces in `settings.json`. Remote marketplace source paths remain unknown when no local installation is found. Evidence: `copilot --help`, `copilot plugin --help`, `copilot plugin list`. |
|
|
136
|
+
| OpenCode | `~/.config/opencode` (`OPENCODE_CONFIG_DIR`, or `XDG_CONFIG_HOME/opencode`) | `.opencode` | Skills, singular/plural agent and command directories, MCP declarations and `opencode.json` at the project root, JavaScript/TypeScript plugins and tools. Evidence: `opencode --version`, `opencode agent list`. JSONC that cannot be parsed as JSON is reported unknown. |
|
|
137
|
+
|
|
138
|
+
The listing commands above were checked in disposable profiles; runtime inspection
|
|
139
|
+
uses the disk inventory and bounded version probes in disposable profiles, so
|
|
140
|
+
CLI alias or log side effects cannot change the operator's home or project. Listing status itself remains
|
|
141
|
+
unknown. In particular, Clio does not invoke OpenCode's agent listing against an
|
|
142
|
+
operator profile because host startup can import executable modules.
|
|
143
|
+
|
|
144
|
+
## Inbound: Review and adopt foreign resources
|
|
145
|
+
|
|
146
|
+
### Reviewing foreign plugin source, trust, and unsupported components
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
clio-coder interop adopt claude-code --dry-run
|
|
150
|
+
clio-coder interop adopt codex --kind skill --project
|
|
151
|
+
clio-coder interop adopt claude-code --kind plugin --user --yes
|
|
152
|
+
clio-coder interop adopt copilot --kind prompt --user
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
The host names are `claude-code`, `codex`, `antigravity`, `copilot`, and
|
|
156
|
+
`opencode`; `claude` and `agy` are accepted aliases. `--kind` selects `skill`,
|
|
157
|
+
`agent`, `prompt`, or `plugin`. The destination defaults to user scope;
|
|
158
|
+
`--project` chooses the current project's library. Destination scope does not
|
|
159
|
+
filter source scope: every matching discovered user and project resource is
|
|
160
|
+
reviewed in the plan.
|
|
161
|
+
|
|
162
|
+
The plan lists each source, destination, digest, and reason for installing or
|
|
163
|
+
skipping it. Its SHA-256 identifies the reviewed projection; the library engine
|
|
164
|
+
also records its standard full-tree integrity pin when publishing the package. `--dry-run` prints the plan and writes nothing. Otherwise Clio asks
|
|
165
|
+
for approval in a terminal. Without a terminal, the plan remains unexecuted
|
|
166
|
+
unless `--yes` was supplied. Declining installs nothing. Installation rechecks
|
|
167
|
+
the source against the reviewed content; a changed source requires a new plan.
|
|
168
|
+
Each package publishes atomically through the library engine; a multi-package
|
|
169
|
+
plan may report successful packages alongside failures.
|
|
170
|
+
|
|
171
|
+
| Resource | Adoption behavior |
|
|
172
|
+
| --- | --- |
|
|
173
|
+
| Skill | Text-only skill directory, with required name and description, packaged through the library engine. Executable, non-text, or symbolic-link companions cause a skip. Foreign audit stamps are not retained. |
|
|
174
|
+
| Prompt or command | Markdown body becomes a Clio prompt. Host execution settings and frontmatter are omitted; the description is retained. |
|
|
175
|
+
| Agent or subagent | Markdown persona or TOML `developer_instructions` becomes a Clio recipe limited to read, grep, find, and ls. Host tools, model, permissions, hooks, and skill bindings are omitted and the plan says so. |
|
|
176
|
+
| Plugin | Accepts a valid portable root `plugin.json`, or a supported `.claude-plugin/plugin.json` / `.codex-plugin/plugin.json` package. Clio adopts a data-only projection of its skills, prompts, agents, and text references. Host extension metadata, hooks, MCP, scripts, tools, fleets, and non-text files are omitted. Dependencies on removed components cause a skip. Package `requires` declarations are preserved; required packages must already be installed, active, and valid in the destination scope. Missing requirements are named in the plan, checked again after approval, and never imported automatically. |
|
|
177
|
+
| Hook, MCP server, executable module, output style | Listed as not adoptable, with a reason. Nothing is registered or executed. |
|
|
178
|
+
|
|
179
|
+
Claude-only and Codex-only plugin manifests use the same reviewed conversion as
|
|
180
|
+
`library import`. Supported Claude commands become prompts, and Claude agent
|
|
181
|
+
bindings are retained when their required skills convert in the same package.
|
|
182
|
+
Unsupported companions and host features are listed in the plan. A portable
|
|
183
|
+
package is refused when retained recipes require omitted files; for example,
|
|
184
|
+
the tested WTF-P bundle requires action JSON files outside the supported text
|
|
185
|
+
projection. Use ordinary `library install` for a reviewed portable package whose
|
|
186
|
+
complete recipe assets are required, or import supported individual resources.
|
|
187
|
+
|
|
188
|
+
Installed packages retain `{kind: "interop", host, source}` provenance and
|
|
189
|
+
`trust: "foreign"`, with the original absolute source path. Skill and prompt
|
|
190
|
+
loading keeps the existing `integrations.projectResources.trustProjectImports`
|
|
191
|
+
opt-in, including when a project resource is adopted to user scope. Approval to
|
|
192
|
+
copy a resource does not grant that trust. Same plugin id/version or matching
|
|
193
|
+
installed package content is skipped; identifier collisions are not replaced.
|
|
194
|
+
Library integrity checks, drift detection, disable, and removal apply normally.
|
|
195
|
+
To refresh a foreign source, remove the old library package and review a new adoption plan; no host files are ever
|
|
196
|
+
moved, removed, or modified.
|
|
197
|
+
|
|
198
|
+
## Inbound: Install or import an explicit foreign package (Claude Code, Codex)
|
|
199
|
+
|
|
200
|
+
Adoption above starts from what an installed host already has. To install or import an explicit Claude Code plugin or Codex package directly—whether from a local directory or a GitHub repository tree—use `clio-coder library import`:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
clio-coder library import ./vendor/some-plugin --dry-run
|
|
204
|
+
clio-coder library import https://github.com/owner/repo/tree/main/plugins/thing --project
|
|
205
|
+
clio-coder library import ./vendor/some-plugin --format claude --yes
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
In an active session, `/library import <path-or-url>` stages and reviews that exact foreign package in the Library. When installing a Claude Code plugin or Codex package, Clio parses the vendor manifest (e.g. `.claude-plugin/plugin.json`) and presents an interactive review before any managed installation or workspace mutation occurs (staging writes temporary inspection files prior to acceptance). The review details four critical facets:
|
|
209
|
+
1. **Source and Provenance**: Displays the verified package source path or repository tree URL, format (`claude-code` or `codex`), and transport.
|
|
210
|
+
2. **Projected Declarative Resources**: Converts text skills (with markdown instructions), commands (converted into prompts), and basic agent personas into native library recipes.
|
|
211
|
+
3. **Foreign Trust Tier**: Marks the package with foreign trust (`trust: "foreign"`). Under Clio's safety model, foreign package skills and prompts—whether installed at project scope or user scope—remain untrusted and withheld from model turns until `integrations.projectResources.trustProjectImports` (`skills.trustProjectCompatRoots`) is enabled. Bound agent recipes require all referenced skills to be trusted.
|
|
212
|
+
4. **Unsupported and Omitted Components**: All executable foreign mechanisms—including MCP servers (`.mcp.json`), lifecycle hooks (`hooks/`), shell scripts (`scripts/`), and daemon runners—are explicitly omitted and listed in the review plan. They are never registered as harness tools or executed.
|
|
213
|
+
|
|
214
|
+
Cancelling the review cleans up temporary staging files without modifying managed package state or workspace files. The Library's `o` key is the separate route into the local-agent discovery surface below, which starts from what an installed host already has rather than from a source you name.
|
|
215
|
+
|
|
216
|
+
Detection is deterministic. A root `plugin.json` always takes precedence; an
|
|
217
|
+
invalid root is refused before any vendor fallback. With no root manifest, `.claude-plugin/plugin.json`
|
|
218
|
+
selects the Claude Code format and `.codex-plugin/plugin.json` selects Codex. When
|
|
219
|
+
both hidden manifests are present the import is ambiguous and `--format` is
|
|
220
|
+
required. A directory with none of the three is not importable.
|
|
221
|
+
|
|
222
|
+
Publication, content validation and the project-import trust gate are reported
|
|
223
|
+
separately. An enabled trust gate is a prerequisite for runtime admission, not
|
|
224
|
+
a claim that every recipe is available.
|
|
225
|
+
|
|
226
|
+
The same review contract as adoption applies: `--dry-run` prints the projected
|
|
227
|
+
plan and writes nothing, the plan names every converted resource, every
|
|
228
|
+
unsupported host feature and every omitted file, and the source directory is
|
|
229
|
+
never modified. Imported packages install with `trust: "foreign"` and keep
|
|
230
|
+
`{kind: "import", source, transport, format}` provenance, so they stay visibly
|
|
231
|
+
foreign in the library after installation. A skill whose instructions reference a
|
|
232
|
+
companion that was omitted is reported unsupported rather than claimed working.
|
|
233
|
+
|
|
234
|
+
## Terminal flow
|
|
235
|
+
|
|
236
|
+
Open `/interop` to inspect inventory or connect an external delegation peer.
|
|
237
|
+
Inventory detail folds behind Enter and wraps in the scrolling detail pane.
|
|
238
|
+
Select a host, press `p` for a project destination or `u` for user, and press `k`
|
|
239
|
+
to cycle the kind filter. Press `i` to review the full adoption plan, then `y`
|
|
240
|
+
to approve it or `b` to return without installing. Escape closes the overlay.
|
|
241
|
+
Connection remains a separate action: `a` connects a proposed peer and `d`
|
|
242
|
+
declines it. `/agents` browses the library's own agent recipes and is a separate
|
|
243
|
+
surface from this one.
|
|
@@ -20,7 +20,7 @@ Inside a herdr session, Clio can open panes beside itself and close them
|
|
|
20
20
|
when it quits:
|
|
21
21
|
|
|
22
22
|
- **The files pane.** A file view docked below the session. `/files` or
|
|
23
|
-
`Alt+E` opens it and moves the keyboard into it; the same key or command
|
|
23
|
+
`Alt+E` opens it and moves the keyboard into it; after Ctrl+Y returns focus to Clio, the same key or command
|
|
24
24
|
closes it. Picking a file sends it back to the composer as an `@file`
|
|
25
25
|
mention and returns the keyboard to the prompt. The engine behind it is a
|
|
26
26
|
vendored file manager, installed on request with
|
|
@@ -140,7 +140,7 @@ version, or the theme changed since, and the next open regenerates it.
|
|
|
140
140
|
| Surface | What it does |
|
|
141
141
|
| --- | --- |
|
|
142
142
|
| `/files` | Toggle the files pane: open it below the session and move the keyboard into it, or close it and return the keyboard to the composer. |
|
|
143
|
-
| `Alt+E` |
|
|
143
|
+
| `Alt+E` | Toggle from Clio focus (`clio-coder.files.toggle`; `Ctrl+G` then `e` on terminals without Alt). |
|
|
144
144
|
| `/files open` | Open the pane, or focus it when it is already open. |
|
|
145
145
|
| `/files close` | Close the pane. |
|
|
146
146
|
| `/files pick` | Borrow the pane for one selection, then close it. Outside herdr, `/files` always behaves this way. |
|
|
@@ -174,7 +174,7 @@ the draft`.
|
|
|
174
174
|
|
|
175
175
|
### What closes what
|
|
176
176
|
|
|
177
|
-
- `/files`, `Alt+E`, and `/files close` close the files pane. A pane the
|
|
177
|
+
- From Clio focus, `/files`, `Alt+E`, and `/files close` close the files pane. Yazi owns its own keys until Ctrl+Y returns the selection and focus. A pane the
|
|
178
178
|
operator closed from herdr is treated as closed the moment herdr reports
|
|
179
179
|
it, so the next toggle opens rather than trying to close a pane that is
|
|
180
180
|
not there.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Portable plugins and the library
|
|
2
|
+
|
|
3
|
+
> **Visual blueprint:** The source checkout includes the complete
|
|
4
|
+
> [Plugins visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/plugins_blueprint.html).
|
|
5
|
+
|
|
6
|
+
A plugin is a complete, versioned bundle of skills and supporting files. The portable root `plugin.json` follows [Agent Plugins 1.0.0](https://agent-plugins.org/). Clio reads native prompts, agent recipes, and fleets from its namespaced manifest extension. Installing a bundle keeps those resources and their references together.
|
|
7
|
+
|
|
8
|
+
Browse the bundled catalog, preview a complete installation, then install it:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
clio-coder library search
|
|
12
|
+
clio-coder library list --kind plugin
|
|
13
|
+
clio-coder library install plugin:materio --dry-run --json
|
|
14
|
+
clio-coder library install plugin:materio
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The catalog is shipped with Clio; it does not install content automatically. A preview reports the destination and full-tree SHA-256. The pin covers the manifest, skills, prompts, scripts, references, names, and directory structure. The installer checks the staged bundle again before committing it. If a source changes after the preview, make a new plan. `--force` never overrides a catalog pin mismatch.
|
|
18
|
+
|
|
19
|
+
For a bundle you authored locally, install its directory directly:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
clio-coder library install ./my-plugin --project
|
|
23
|
+
clio-coder library inspect my-plugin --project --json
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
An existing local directory always wins over a catalog ID with the same spelling. `--project` installs into `.clio-coder/plugins/`; the default user scope installs into Clio's configuration directory. Valid, compatible project installations take precedence, including a disabled project installation that suppresses the user copy. The Plugins tab identifies every installed scope and the copy its actions select.
|
|
27
|
+
|
|
28
|
+
Manage installed content through the same lifecycle functions used by the terminal UI:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
clio-coder library list --all --json
|
|
32
|
+
clio-coder library disable materio
|
|
33
|
+
clio-coder library enable materio
|
|
34
|
+
clio-coder library drift materio
|
|
35
|
+
clio-coder library pin materio
|
|
36
|
+
clio-coder library update materio
|
|
37
|
+
clio-coder library remove materio
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Every successful installation records a verified pin. `pin` reports and verifies it; it does not approve edited files. Drifted content is blocked from loading. Update refuses to replace local edits unless `--force` is supplied; the install result reports any recovery copies of edited content. Updating a catalog package uses the current catalog version and pin. Updating a local package uses its recorded source directory, even when the catalog contains the same plugin name. Updates and replacements preserve an existing disabled state; enable the plugin explicitly when ready. Removal preserves edited content and reports its recovery path.
|
|
41
|
+
|
|
42
|
+
In an active session, open `/library` or press Alt+L. Use the Plugins category, `b` for Browse or Installed, and `s` for User or Project scope. Enter opens a package's members; the selected row offers `i` to review installation, `u` to review an update, `e` to enable or disable, and `r` to review removal when those actions apply. Use the CLI `library pin` and `library drift` commands for pin and drift checks. Run `/library reload` to refresh resources in that session after changes. The headless `library reload` command refreshes only its own process.
|
|
43
|
+
|
|
44
|
+
## Private catalogs
|
|
45
|
+
|
|
46
|
+
The ordinary library catalog supports an `entries` list and plugin entries with explicit versions and pins:
|
|
47
|
+
|
|
48
|
+
```yaml
|
|
49
|
+
entries:
|
|
50
|
+
- kind: plugin
|
|
51
|
+
name: lab-workflow
|
|
52
|
+
description: Lab analysis workflow and references.
|
|
53
|
+
version: 1.0.0
|
|
54
|
+
sourceUrl: ./lab-workflow
|
|
55
|
+
sha256: <64 lowercase hexadecimal characters>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Relative paths resolve against the catalog's directory. Remote bundles use an explicit GitHub tree URL such as `https://github.com/owner/repository/tree/v1.0.0/plugins/lab-workflow`, together with the full-tree digest and version. The bounded Git transport fetches the selected branch or tag; the installer verifies every bundle file against the catalog pin. Other URL formats are rejected as unsupported. Automatic skill offers select only kind `skill`; they use the same package engine. Catalog `requires` references use the same typed dependency graph as other library entries. Installed plugin dependencies must also be loadable; disabled or damaged dependencies require explicit enabling or repair before installation continues.
|
|
59
|
+
|
|
60
|
+
Maintainers regenerate the shipped catalog after changing a bundled package:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pnpm library:pin
|
|
64
|
+
pnpm library:check
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
The pin command reads each bundle's actual portable manifest and hashes the complete bundle. `library:check` fails on stale catalog metadata or content digests and is part of release hygiene.
|
|
68
|
+
|
|
69
|
+
## Plugins and extensions
|
|
70
|
+
|
|
71
|
+
Recipe plugins and executable harness extensions serve different purposes and have completely distinct lifecycles:
|
|
72
|
+
- **Recipe Plugins**: Managed through `clio-coder library` and `/library`. They package portable declarative components (skills, prompts, agents, fleets, and supporting reference files or explicitly invoked evaluation scripts) using the portable `plugin.json` manifest. While full package trees may carry scripts invoked explicitly by evaluations or workflows, installation, browsing, or loading recipe metadata in the Library never registers executable harness capabilities (such as daemons, background runners, or harness hooks). They install into `.clio-coder/plugins/` (or user `plugins/`). Reloading recipes in an active session is done via `/library reload`.
|
|
73
|
+
- **Harness Extensions**: Managed through `clio-coder extensions` and `/extensions`. They package executable capabilities: an extension operator runtime requires a shipped Node `.mjs` entrypoint (`parseExtensionRuntime` in `src/domains/extensions/runtime-schema.ts`) registering custom slash handlers (`api.handle(...)`), passive lifecycle observations (`events: ["session_open", "turn_end"]`), status indicators, and UI panels. Separately, command tools support `runtime: node` or `python3`, and `hooks.yaml` defines blocking or effect-producing pre-tool/post-tool execution. Extensions install into `.clio-coder/extensions/` (or user `extensions/`). Reloading runtime handlers and hooks at idle is done via `/extensions reload` (subject to integrity checks). However, model-visible command-tool schemas are frozen at session boot and cannot change mid-session; altering tool schemas requires restarting Clio.
|
|
74
|
+
- **Strict Boundary**: The two systems never overlap. An extension manifest attempting to declare domain resources (`skills`, `prompts`, `agents`, `fleets`) is refused and points at `clio-coder library install <path>`. Use `clio-coder extensions list` and `/extensions` to inspect installed extensions. Retired slash commands `/plugins` and `/resources` return an explicit usage error directing operators to `/library` for recipe packages and `/extensions` for harness extensions.
|
|
75
|
+
|
|
76
|
+
## Other package kinds and evals
|
|
77
|
+
|
|
78
|
+
The same library supports single-resource skill, agent, prompt and fleet packages. See [library usage](resource-library.md) for registration and JSON state, and [architecture](../architecture/library.md) for the shared invariants. `/library` has all five kinds and `s` switches the selected scope.
|
|
79
|
+
|
|
80
|
+
Materio declares `extensions["ai.iowarp.clio"].evals.scripts: "evals/scripts.yaml"`. After installation, run `clio-coder eval validate --package plugin:materio --eval scripts` and `clio-coder eval run --package plugin:materio --eval scripts`. This offline suite copies the package to a temporary workspace and runs its Python script contracts. It does not evaluate model research quality.
|
|
@@ -1,68 +1,134 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Library packages
|
|
2
2
|
|
|
3
|
-
> **Visual blueprint:**
|
|
4
|
-
> [Resource Library visual reference](https://github.com/iowarp/clio-coder/blob/main/docs/html/resource_library_blueprint.html).
|
|
3
|
+
> **Visual blueprint:** See the [Library visual reference](../html/resource_library_blueprint.html) in the source checkout.
|
|
5
4
|
|
|
6
|
-
The
|
|
5
|
+
The **library** is Clio's collection of installable **packages**. Each package has one kind: `plugin`, `skill`, `agent`, `prompt`, or `fleet`. Every kind uses a root `plugin.json`, an explicit Semantic Version, a full-tree SHA-256 pin, and the same installation state. A plugin bundles several resources; each other kind exposes one public resource and may include supporting files.
|
|
7
6
|
|
|
8
|
-
##
|
|
7
|
+
## Browse and install
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
```bash
|
|
10
|
+
clio-coder library list --json
|
|
11
|
+
clio-coder library search research --kind skill
|
|
12
|
+
clio-coder library inspect plugin:materio --json
|
|
13
|
+
clio-coder library install plugin:materio --project --dry-run --json
|
|
14
|
+
clio-coder library install plugin:materio --project --json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
`install` is an explicit request to write. `--dry-run` reports every source, destination and digest without installing. The TUI asks for confirmation before writing. `--force` permits replacement of ordinary installed packages and preserves edited files in a reported recovery directory; it cannot override a source pin, identity or version mismatch.
|
|
18
|
+
|
|
19
|
+
An existing local directory wins over a library name with the same spelling. `kind:name` checks the package kind; bare names are accepted when unambiguous. Package names share one namespace within each scope. A replacement cannot change a package's kind; remove it explicitly first.
|
|
20
|
+
|
|
21
|
+
## Scope and workspace state
|
|
22
|
+
|
|
23
|
+
All kinds install beneath `<configDir>/plugins/<name>/` at user scope or `<cwd>/.clio-coder/plugins/<name>/` at project scope. These existing engine directories hold complete packages, including single-resource packages. The corresponding `plugins/state.json` records kind, source, structured origin, trust, installation time and verified digest. There is no per-kind installation pin file.
|
|
24
|
+
|
|
25
|
+
Install and registration default to user scope. Other lifecycle actions select the project copy when it exists; `--user` or `--project` selects exactly that copy. A valid, compatible project copy takes precedence over the user copy. Disabling that project copy suppresses the user copy as well. Invalid project content does not hide a valid user installation.
|
|
26
|
+
|
|
27
|
+
`library list --json` returns `{entries, diagnostics}`. Each entry includes an `installed` array containing every matching installed scope and its `enabled`, `valid`, `compatible`, `effective`, and `loadable` state. An empty array means the package is available but uninstalled. Scope flags filter the installed copies. Broken and disabled packages remain visible for repair or removal.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
clio-coder library disable plugin:materio --project
|
|
31
|
+
clio-coder library enable plugin:materio --project
|
|
32
|
+
clio-coder library drift plugin:materio --project
|
|
33
|
+
clio-coder library pin plugin:materio --project
|
|
34
|
+
clio-coder library update plugin:materio --project --dry-run
|
|
35
|
+
clio-coder library update plugin:materio --project
|
|
36
|
+
clio-coder library remove plugin:materio --project
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Drift prevents resources from loading. `pin` verifies and reports the recorded pin; it never blesses local changes. Updates of registered packages use the current index version and pin. Local installations update from their recorded directory. Update and replacement preserve disabled state. Removal preserves edited content and reports the recovery path. Installed state remains addressable after its index entry disappears.
|
|
40
|
+
|
|
41
|
+
Interop adoption records `{kind: "interop", host, source}` and `trust: "foreign"`. Foreign skills and prompts require `integrations.projectResources.trustProjectImports`, including foreign project files adopted to user scope. Updates and forced replacement of an interop-origin package are refused: remove it and review a new adoption so omitted host executables cannot reappear. See [interoperability](interop.md).
|
|
42
|
+
|
|
43
|
+
## One index format
|
|
44
|
+
|
|
45
|
+
The bundled index is `library/registry.yaml`. Clio also reads the user index selected by `integrations.library.catalog` (default `<configDir>/library.yaml`) and the project `.clio-coder/library.yaml`. Project rows override user and bundled rows with the same typed reference; `--from <index>` has highest priority.
|
|
46
|
+
|
|
47
|
+
Clio Coder ships the index together with its curated `library/skills/` packages and `library/plugins/` bundles in the npm package. Bundled sources resolve relative to the installed index, so they remain available from any working directory without a GitHub fetch. Built-in subagent recipes ship separately under `src/domains/agents/builtins/`; installed plugins can contribute additional recipes and bound skills. The manifest's `ai.iowarp.clio` extension key identifies Clio-specific declarations inside a package, not a marketplace address.
|
|
11
48
|
|
|
12
49
|
```yaml
|
|
13
|
-
|
|
14
|
-
- kind:
|
|
15
|
-
name:
|
|
16
|
-
description:
|
|
17
|
-
|
|
50
|
+
entries:
|
|
51
|
+
- kind: plugin
|
|
52
|
+
name: lab-workflow
|
|
53
|
+
description: Evidence-based laboratory workflow.
|
|
54
|
+
version: 1.0.0
|
|
55
|
+
sourceUrl: ./lab-workflow
|
|
56
|
+
sha256: <64 lowercase hexadecimal characters>
|
|
18
57
|
requires:
|
|
19
|
-
- agent:release-builder
|
|
20
58
|
- skill:ship
|
|
21
59
|
```
|
|
22
60
|
|
|
23
|
-
|
|
61
|
+
An index is JSON or YAML, either an `entries` object or a list. Every row requires kind, name, description, version, source and digest. Relative paths resolve beside the index. Remote sources use explicit GitHub tree URLs, such as `https://github.com/owner/repo/tree/v1.0.0/packages/lab-workflow`; the staged tree must match the pin. Neither opening the library nor registration fetches remote content.
|
|
24
62
|
|
|
25
|
-
|
|
63
|
+
`requires` contains typed package references and must agree with `extensions["ai.iowarp.clio"].requires` in the package manifest. Missing, malformed and cyclic dependencies are refused. Dependencies must be installed, enabled and loadable; disabled or damaged dependencies require explicit repair. `install --with-requirements` includes missing dependencies in its plan and installs them in dependency order. Each package is atomic; a later package failure does not undo already installed dependencies. Updates require their dependencies to be installed first.
|
|
26
64
|
|
|
27
|
-
|
|
65
|
+
## Register and publish
|
|
28
66
|
|
|
29
|
-
|
|
67
|
+
```bash
|
|
68
|
+
clio-coder library validate ./lab-workflow --json
|
|
69
|
+
clio-coder library register ./lab-workflow --project --json
|
|
70
|
+
clio-coder library install plugin:lab-workflow --project
|
|
71
|
+
pnpm library:pin
|
|
72
|
+
pnpm library:check
|
|
73
|
+
```
|
|
30
74
|
|
|
31
|
-
|
|
75
|
+
Working authoring templates for all five package kinds live in `library/_authoring/templates/`. Registration validates a local package and writes its identity, version, digest and source into the selected scoped index without installing it. Replacing an existing registration requires `--force`. The maintainer pin command regenerates the bundled index from complete packages in `library/` (`library/skills/` and `library/plugins/`); `library:check` is part of hygiene and verifies all distributed bytes against `library/registry.yaml`. For curated skills, `skills:pin` records normalized skill-body hashes as provenance evidence. See [authoring a package](authoring-plugins.md) and the [architecture invariants](../architecture/library.md).
|
|
32
76
|
|
|
33
|
-
|
|
77
|
+
`library:pin` also regenerates `.claude-plugin/marketplace.json` from those pins, which is what lets another agent install these packages from the repository: `claude plugin marketplace add iowarp/clio-coder`, then `claude plugin install <name>@clio-coder`. Codex reads the same canonical directories through `.agents/skills`. Neither surface holds a copied recipe body, and `library:check` fails on a stale one. A package publishes there only when a peer host would load a real skill surface from it and nothing it would default-scan into a native component; the pin run prints which packages it left out and why, and leaving one out is not a failure. See [coding agent interoperability](interop.md).
|
|
34
78
|
|
|
35
|
-
|
|
36
|
-
clio-coder library list [--kind k] [--json]
|
|
37
|
-
clio-coder library search <query> [--kind k] [--json]
|
|
38
|
-
clio-coder library add <ref> [--from <catalog|path>] [--with-requirements] [--yes] [--json]
|
|
39
|
-
clio-coder library use <kind> <name>
|
|
40
|
-
clio-coder library push
|
|
41
|
-
clio-coder library sync
|
|
42
|
-
clio-coder library remote confirm <url>
|
|
43
|
-
```
|
|
79
|
+
Private index repositories may opt into Git synchronization. Set `integrations.library.sync: true`, configure a remote named `library`, and review `clio-coder library remote confirm <url>`. `library sync` fetches that remote and merges `FETCH_HEAD` with `--ff-only`; `library push` pushes it. Disabled synchronization or an unconfirmed/mismatched remote refuses before mutation. These commands synchronize the private repository; they do not automatically update installed packages.
|
|
44
80
|
|
|
45
|
-
|
|
81
|
+
## Keyboard shortcuts: Alt+L for Library and Alt+M for Model picker
|
|
46
82
|
|
|
47
|
-
|
|
83
|
+
Clio provides default top-level keyboard shortcuts from the composer:
|
|
84
|
+
- **Alt+L**: Toggles the Library overlay (`clio-coder.library.toggle`). Pressing **Alt+L** while inside the Library closes it and returns focus to your active composer draft.
|
|
85
|
+
- **Alt+M**: Toggles the Model picker overlay (`clio-coder.model.select`), allowing you to switch models, view token budgets, or configure reasoning effort.
|
|
86
|
+
- **Alt+W**: Toggles the Workers / dispatch board overlay (`clio-coder.dispatchBoard.toggle`).
|
|
87
|
+
- **Ctrl+G**: Opens the contextual leader action menu when focused in the composer, offering single-key actions (such as `l` for Library, `m` for Model picker, `w` for Workers dispatch board, and `s` to background attached dispatch).
|
|
48
88
|
|
|
49
|
-
|
|
50
|
-
requested tab, while `/skill` opens Skills. Each tab lists discovered entries
|
|
51
|
-
and any unresolved requirements. Installing from a row uses the same
|
|
52
|
-
plan-then-write path as `clio-coder library add`, behind a confirmation that
|
|
53
|
-
states every destination and hash and writes nothing when cancelled. `Enter`
|
|
54
|
-
on an installed row leads to its invocation surface. See
|
|
55
|
-
[Skills Marketplace](skills-marketplace.md) for the key table.
|
|
89
|
+
These are default shortcuts subject to configured keybinding overrides and focused modal ownership (see [Commands and Modes](commands-and-modes.md#keybindings)).
|
|
56
90
|
|
|
57
|
-
##
|
|
91
|
+
## Interactive library navigation
|
|
58
92
|
|
|
59
|
-
|
|
60
|
-
| --- | --- | --- |
|
|
61
|
-
| skill | `<configDir>/skills/<name>/SKILL.md` | Existing skill loader and installer |
|
|
62
|
-
| agent | `<configDir>/agents/<name>.md` | Agent recipe schema and policy |
|
|
63
|
-
| prompt | `<configDir>/prompts/<name>.md` | Prompt template loader |
|
|
64
|
-
| fleet | `<configDir>/fleets/<name>.md` | Fleet contract parser |
|
|
93
|
+
**Alt+L** or `/library` opens the fullscreen Library; `/skills`, `/agents`, and `/prompts` open its corresponding category. The five tabs cover skills, agents, prompts, fleets, and plugins. `b` switches Browse/Installed, and `s` selects User/Project for management. Mode and scope remain visible on empty tabs. Left/right changes category; `/` focuses search, where letters and left/right edit the query. Enter returns from search to the list; Esc clears search or returns before closing.
|
|
65
94
|
|
|
66
|
-
|
|
95
|
+
Enter opens a package's members. `v` uses an available recipe by preparing its invocation in the composer; a fleet opens its existing approval preview. `i` reviews installation, `u` update, `e` enable/disable, and `r` removal. A member's management action names its whole owning package and the selected scope. Core and loose recipes have no package removal action. `o` opens local-agent discovery and reviewed adoption; `R` rereads the browser inventory. Pin and drift inspection remain available through the CLI.
|
|
96
|
+
|
|
97
|
+
`/library inspect <ref>`, `/library install <ref>`, `/library remove <ref>`, and `/library import <path-or-url>` open the same browser and review flow; use typed references such as `skill:tdd` and an explicit `--user` or `--project` when needed. Import reviews the supplied source, its supported recipes and omitted features. Origin, vendor format, trust, scope and actual availability are separate facts; an installed foreign package may still have recipes withheld by the trust setting.
|
|
98
|
+
|
|
99
|
+
Every managed change is reviewed before writing. The review shows dependencies, affected dependents, fallback behavior and recovery, with `d` revealing paths and digests. Esc cancels and releases staged sources. Outcomes report committed, failed and unattempted steps, disk verification, resource admission and session refresh separately. A failed refresh does not undo a committed write; `R` in the outcome retries refresh without repeating the mutation.
|
|
100
|
+
|
|
101
|
+
## Session reload and package disable behavior
|
|
102
|
+
|
|
103
|
+
`/library reload` refreshes installed recipes (skills, prompts, agents, fleets) in the active running session. If an external CLI command or file edit changes installed recipes, `/library reload` reloads the inventory without needing a restart. In headless mode, `library reload` refreshes only its own process.
|
|
104
|
+
|
|
105
|
+
When you disable a package (via `library disable <ref>` or pressing `e` in the Library overlay):
|
|
106
|
+
- The package state in `plugins/state.json` is updated with `enabled: false`. No files are deleted.
|
|
107
|
+
- Resource discovery and admission exclude disabled recipes on subsequent reads (`enabledPluginResourceRoots` in `src/domains/plugins/resources.ts` rechecks current installation state on the next read, even before a manual session reload). A CLI disable does not broadcast cancellation into other running processes, stop an in-flight tool, or erase instructions already in model context.
|
|
108
|
+
- If a project-scope copy of a package is disabled, it explicitly suppresses any matching user-scope copy as well, ensuring that the project's intent to disable the capability is honored.
|
|
109
|
+
- Re-enabling the package with `library enable <ref>` restores resource discovery. Adding or replacing recipes requires a session refresh; active UI management actions report their own refresh results, while `/library reload` reloads the inventory for the current session.
|
|
110
|
+
|
|
111
|
+
Contrast with harness extensions: executable harness extensions carry Node operator runtimes, command tools (Node or Python), and lifecycle hooks. Running `/extensions reload` refreshes extension runtime handlers, hooks, and panels at idle (subject to integrity verification), but command-tool schemas are frozen at session boot and cannot change mid-session.
|
|
112
|
+
|
|
113
|
+
`/skills` opens the skill tab; `/skill <name>` activates a skill, `/skill off` clears the active skill's armed tool surface (without erasing instructions already loaded in transcript or context), and bare `/skill` returns usage guidance pointing to `/skills`. `library skills --all --json` lists runtime skills, including unmanaged files; `library inventory --json` is the fixed body-free GUI read. `clio-coder library validate <path>` validates an unmanaged draft or a complete package candidate. Installed package lifecycle remains in `library`; retired slash commands `/plugins` and `/resources` return an explicit usage error directing operators to `/library` for recipe packages and `/extensions` for harness extensions.
|
|
114
|
+
|
|
115
|
+
## One inventory for the operator and the model
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
clio-coder library recipes --json
|
|
119
|
+
clio-coder library recipes materials --kind agent
|
|
120
|
+
clio-coder library recipes --source core --all
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
`library recipes` is the versioned, body-free read of the recipes actually discovered here, across every source: bundled core recipes, loose user and project files, installed package members, and foreign files in interop compatibility roots. Each row carries its actual runtime name, its owning package or source class, its scope, its origin evidence, its availability and, where it is usable, its invocation. It never fetches a remote source and never writes. `library list` and `library search` stay package-oriented and answer with install targets; `--kind agent` there also matches packages whose generated `provides` hints include an agent, so a kind query finds the owning bundle before installation. `library inventory --json` is unchanged: it remains the fixed skills wire contract that GUI hosts read.
|
|
124
|
+
|
|
125
|
+
Clio reads the same inventory through `context(scope="library")`. That scope is a read: bounded `kind`, `query` and `ref` selection with `limit`/`offset` pages, tagged rows for loaded resources, catalog hints and install targets, and no activation, installation, registration or pin write anywhere in it. Skill activation stays under `context(scope="skills")` and `/skill <name>`. A hint row names its installable owner and that member's honest state and never carries an invocation, because nothing has loaded it. Internal and shadow agents, untrusted resources and instruction bodies are not in the model's view at all, and a worker run has no library projection of its own. See [tool usage](tool-usage.md) for the argument surface and the row shapes.
|
|
126
|
+
|
|
127
|
+
A package declares named suite paths in `extensions["ai.iowarp.clio"].evals`. Run the same eval interface for every kind:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
clio-coder eval validate --package plugin:materio --eval scripts --project
|
|
131
|
+
clio-coder eval run --package plugin:materio --eval scripts --project
|
|
132
|
+
```
|
|
67
133
|
|
|
68
|
-
|
|
134
|
+
Evals run only when explicitly requested. Installed packages must be active and verified; local authoring directories can be tested directly. The resulting suite provenance includes the package reference, version, digest and eval name. Materio's `scripts` suite runs its offline Python contracts in a temporary copy; it measures script behavior, not model output quality. The separate experimental `eval skill <name|path>` lane runs authored `evals.md` baseline/treatment/judge scenarios.
|