@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.
- package/.claude-plugin/marketplace.json +283 -0
- package/CHANGELOG.md +50 -0
- package/CONTRIBUTING.md +102 -29
- package/NOTICE +8 -0
- package/README.md +37 -5
- package/dist/{acp-UVEVWSDL.js → acp-W3Y3TRHD.js} +12 -12
- package/dist/{agents-VWY37DTK.js → agents-J4ICNLQ3.js} +52 -52
- 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-PCV2XQDV.js → auth-X2UJUMOC.js} +24 -24
- package/dist/{builtins-PD652MTK.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-3BJGMT2D.js → chunk-3XE4NRLF.js} +1 -1
- package/dist/{chunk-N2OKBREN.js → chunk-4MFBBY2Z.js} +3 -3
- package/dist/{chunk-5VTJP36Q.js → chunk-4N2RZ4TO.js} +2 -2
- package/dist/{chunk-WNGF5AJX.js → chunk-4QKAITQT.js} +3 -3
- package/dist/chunk-4UHVS5T7.js +207 -0
- package/dist/{chunk-GLYBJ4RQ.js → chunk-5AJPUR72.js} +6 -6
- package/dist/{chunk-5CY4Q6QI.js → chunk-5EQO5NWP.js} +105 -3
- package/dist/{chunk-6HAO6X5B.js → chunk-65BGHOUR.js} +8 -5
- package/dist/{chunk-6VRRJT7L.js → chunk-6CA2BHOR.js} +2 -2
- package/dist/{chunk-HL26ADLH.js → chunk-6CB2IL4N.js} +2 -1
- package/dist/{chunk-E7RF4KBO.js → chunk-6LRLOJHQ.js} +3 -3
- package/dist/{chunk-HXHFDHB6.js → chunk-6TAATXXH.js} +6 -6
- package/dist/{chunk-P6M7RKMI.js → chunk-6YHPAAZR.js} +3 -3
- package/dist/{chunk-5QRX7SLS.js → chunk-7EEGBKV4.js} +7 -7
- package/dist/{chunk-BS4GAMUB.js → chunk-A67NR5AT.js} +2 -2
- package/dist/{chunk-WJIMKGD6.js → chunk-BAU36233.js} +8 -8
- package/dist/{chunk-PZN2LQY6.js → chunk-BO4XV5VX.js} +4 -4
- package/dist/{chunk-I2K2NCZQ.js → chunk-BQQ5MXUC.js} +6 -6
- package/dist/{chunk-X3BI7HTV.js → chunk-C3G5PNUO.js} +21 -21
- package/dist/{chunk-SRZOW5L2.js → chunk-C6GEXX4L.js} +1 -1
- package/dist/{chunk-6RYDAVQT.js → chunk-CE64C5K5.js} +219 -64
- package/dist/chunk-CP3HIR5H.js +2119 -0
- package/dist/{chunk-BBV5TKE6.js → chunk-CPXGJI2A.js} +2 -2
- package/dist/{chunk-IGLVVNEG.js → chunk-CULVKYTK.js} +4 -4
- package/dist/{chunk-DXLUVUD4.js → chunk-D2T66PDV.js} +5 -5
- package/dist/{chunk-NF3BK5WR.js → chunk-DACXIVVF.js} +5 -5
- package/dist/{chunk-IKRWLEDA.js → chunk-DLIYANB7.js} +20 -15
- package/dist/{chunk-RGZNQ5CT.js → chunk-DO7M3LSX.js} +9 -9
- package/dist/{chunk-2QPI3TR3.js → chunk-DVJL77SO.js} +2 -2
- package/dist/{chunk-ODUTYZIU.js → chunk-EUEXGXXR.js} +5 -5
- package/dist/{chunk-WKUYQBCG.js → chunk-EUZRMP4Y.js} +18 -16
- package/dist/{chunk-JMPL7NUB.js → chunk-G4LGUTOE.js} +4 -4
- package/dist/{chunk-CBSKDFWL.js → chunk-GEVQNST4.js} +2 -2
- package/dist/{chunk-NNWJYUNO.js → chunk-GFQ7P2UF.js} +7 -7
- package/dist/{chunk-SXQKNKRA.js → chunk-GI5RRMAH.js} +14 -14
- package/dist/{chunk-HPTJF6DG.js → chunk-GVZFCJHE.js} +336 -83
- package/dist/{chunk-ACCKVSHU.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-F5Z7EWMN.js → chunk-IJMW64DX.js} +50 -50
- package/dist/{chunk-QNWRHOMF.js → chunk-IMOD2YPV.js} +16 -9
- package/dist/{chunk-HZ2T2YED.js → chunk-IQCNVLO6.js} +28 -8
- package/dist/{chunk-HZFBVU5X.js → chunk-ISNCCX42.js} +8 -8
- package/dist/{chunk-7JSSKXG2.js → chunk-IZYTT3CD.js} +7 -3
- package/dist/chunk-KKEYGFX4.js +915 -0
- package/dist/{chunk-HHVJNVUJ.js → chunk-KS7ETA3P.js} +2 -2
- package/dist/{chunk-BLTEAUCB.js → chunk-L3Z5ANCV.js} +7 -7
- package/dist/{chunk-4VMV6OS6.js → chunk-LBFQMYS3.js} +2 -2
- package/dist/{chunk-URBGEOH3.js → chunk-M6Z2V6YU.js} +5 -5
- package/dist/{chunk-BT7HGDOX.js → chunk-MBJO5VNZ.js} +12 -12
- package/dist/chunk-MNQN3X6Y.js +595 -0
- package/dist/{chunk-3QKXHCGS.js → chunk-MZHXENL7.js} +5 -5
- package/dist/chunk-MZNWZUJM.js +1801 -0
- package/dist/{chunk-7YJWEF2L.js → chunk-N37QC5FV.js} +5 -5
- package/dist/{chunk-TJFDL26W.js → chunk-NCCQ6DVS.js} +7 -7
- package/dist/{chunk-P5JMBPDJ.js → chunk-NO7J45X6.js} +162 -47
- package/dist/chunk-OH3YYA3B.js +15 -0
- package/dist/{chunk-22PQ4TX4.js → chunk-P4DL2LM5.js} +16 -77
- package/dist/{chunk-LIN2K3EL.js → chunk-PFLOULP3.js} +4 -4
- package/dist/{chunk-QXFBABFJ.js → chunk-QKWL7SYE.js} +11 -11
- package/dist/chunk-RFCKPS2V.js +26 -0
- package/dist/{chunk-ZS43Y2FT.js → chunk-RTLNFZMD.js} +12 -4
- package/dist/{chunk-U7H5WRG5.js → chunk-RXFPB32E.js} +8 -6
- package/dist/{chunk-Q7NNUHQV.js → chunk-SEDI5K5B.js} +16 -16
- package/dist/{chunk-WV6TDAPN.js → chunk-SELG4SUR.js} +7 -7
- package/dist/{chunk-3WBALRQH.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-6OII3LOK.js → chunk-TLTGZTXI.js} +3 -3
- package/dist/chunk-TZ6UVP2H.js +637 -0
- package/dist/{chunk-3JLFK5MW.js → chunk-TZHN5ITX.js} +13 -41
- package/dist/{chunk-VANN3GDP.js → chunk-U3TPUXOQ.js} +399 -234
- package/dist/{chunk-VHMX7SXF.js → chunk-UA3W4FGC.js} +6 -6
- package/dist/{chunk-3O2ZAUGQ.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-4DU2TVI4.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-3HQVBIKD.js → chunk-WBVKKTUT.js} +2 -2
- package/dist/{chunk-EHOSNVVM.js → chunk-WLHX3MM5.js} +6 -2
- package/dist/{chunk-24T2YZ7A.js → chunk-WN552PKN.js} +553 -298
- package/dist/{chunk-4U4TKZFR.js → chunk-WT5TRMO4.js} +51 -26
- package/dist/{chunk-XWMSPJYN.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-2AKYFREM.js → chunk-XZ6UFQ52.js} +11 -11
- package/dist/chunk-Y3JU5RPK.js +8 -0
- package/dist/chunk-YKRJTYNP.js +1143 -0
- package/dist/{chunk-PWWSIB2A.js → chunk-ZGIGW4ZG.js} +5 -5
- package/dist/cli/index.js +34 -36
- package/dist/{clio-QQCMTUZE.js → clio-L2P7S2R2.js} +9 -9
- package/dist/{code-nav-GUPM6766.js → code-nav-B5LNX4KU.js} +25 -25
- package/dist/{components-TNIKXCBH.js → components-63MMQKUT.js} +6 -6
- package/dist/{config-IIM7YOD3.js → config-YXARKGTX.js} +70 -67
- package/dist/{configure-4ZM5HWJX.js → configure-LMVQJ46J.js} +47 -35
- package/dist/{context-OL5P3HEP.js → context-7HJEWTTP.js} +87 -44
- package/dist/{context-44BZLJ3J.js → context-XSZKKFBW.js} +14 -14
- package/dist/{context-AIDVQKMW.js → context-YG2LZDYZ.js} +60 -58
- package/dist/{context-clear-OQV76MYP.js → context-clear-AC5NXHM2.js} +57 -55
- 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-ZUW3EGLS.js → context-working-set-F4Q4J3NS.js} +12 -10
- package/dist/{detail-UXPWRANG.js → detail-H73BEF2N.js} +58 -56
- package/dist/{dispatch-runner-P3ZW6G77.js → dispatch-runner-3RY5FSJC.js} +74 -72
- package/dist/{doctor-JJVGPZWT.js → doctor-EQYJOGUG.js} +44 -30
- package/dist/{eval-V2RTN3UH.js → eval-4P7O6CCE.js} +109 -46
- package/dist/{evidence-35PYWGSO.js → evidence-D6GUSYJW.js} +57 -55
- package/dist/{evidence-CIGGKI6J.js → evidence-O76QF7TZ.js} +62 -59
- package/dist/{evolve-33SM3NJP.js → evolve-H47BCETS.js} +58 -56
- package/dist/{extensions-YVRHX6ZI.js → extensions-NNL3ZOCU.js} +98 -20
- package/dist/{fleet-LFO7SIPC.js → fleet-KMNS6NOM.js} +106 -99
- package/dist/{fleet-commands-RLK72GU3.js → fleet-commands-DOWSYCBX.js} +14 -14
- package/dist/{fleet-decisions-3SBSCTCW.js → fleet-decisions-S3PTZV2D.js} +9 -9
- package/dist/{fleet-graph-JZIBCGMW.js → fleet-graph-F2DE2TME.js} +26 -24
- package/dist/{fleet-inspect-2L5YGGZJ.js → fleet-inspect-EN2Q6IVB.js} +60 -57
- package/dist/{fleet-preflight-QRSHIIDE.js → fleet-preflight-FRLETDD3.js} +3 -3
- package/dist/{fleet-validate-LIAVKDUU.js → fleet-validate-B2XDLS57.js} +28 -29
- package/dist/{fleet-verify-JIK3OQZR.js → fleet-verify-4JKUWGJ7.js} +57 -55
- package/dist/{fleet-view-IWHYGQKK.js → fleet-view-BHJFW26B.js} +60 -57
- package/dist/{init-NJEDOTQW.js → init-XAT5N5YM.js} +79 -74
- package/dist/interop-FVECHFKG.js +246 -0
- package/dist/{inventory-74UL7UHU.js → inventory-7KFQGLCV.js} +60 -57
- 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-I76I5VUH.js → memory-DYVTTCP6.js} +58 -56
- package/dist/{models-D4YDIQZQ.js → models-MASFJ6Y2.js} +48 -36
- package/dist/{monitor-NKVD55HX.js → monitor-YMP4NXJJ.js} +64 -61
- package/dist/{orchestrator-I6OATVPK.js → orchestrator-AFQRRTEI.js} +3685 -1841
- 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-EJAWJEIO.js → preload-5Q7VXRFJ.js} +57 -55
- package/dist/{reset-4XMQKDNZ.js → reset-7NKZK7JN.js} +9 -9
- package/dist/{resources-TVYVXK3Q.js → resources-NILSIZAT.js} +94 -38
- package/dist/{run-OWQNNSJU.js → run-BPZGEBZV.js} +121 -105
- package/dist/{share-NPZZMUXG.js → share-EZ6ERBMH.js} +31 -28
- package/dist/skills-BTVVNYVM.js +100 -0
- package/dist/{skills-eval-J5TCKSJA.js → skills-eval-UY34MNK7.js} +110 -72
- package/dist/{skills-inventory-7II4DM57.js → skills-inventory-JDHSIA7I.js} +30 -25
- package/dist/{slash-commands-MDSDSWYF.js → slash-commands-K4FNQ2AT.js} +49 -46
- package/dist/{steer-S7D7IKPU.js → steer-2B3EQGFH.js} +4 -4
- package/dist/{support-5VAEC32W.js → support-L2SOL3IE.js} +7 -7
- package/dist/{targets-KILZEOCE.js → targets-44VKGFLN.js} +64 -58
- package/dist/{tasks-R6P6OV22.js → tasks-3KODKFU7.js} +12 -12
- package/dist/{terminal-lease-LZCG2KN3.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-D2OZH6IQ.js → upgrade-7PMKM2JH.js} +15 -16
- package/dist/{usage-PIASNUS4.js → usage-6EQV7EQK.js} +70 -67
- package/dist/{verifiers-LTHUY2PX.js → verifiers-JLITWSHU.js} +15 -15
- package/dist/{verify-HYF7KBVE.js → verify-T7NAEVIG.js} +13 -13
- package/dist/{web-fetch-MQN4FH3X.js → web-fetch-W4TNW4Q7.js} +4 -4
- package/dist/{wiki-generate-RK7JQ5NP.js → wiki-generate-T2TJQJUA.js} +81 -76
- package/dist/{with-panes-OFTNAR4Y.js → with-panes-CHFC7HGI.js} +4 -4
- package/dist/worker/entry.js +283 -76
- 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 +35 -1
- 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 +108 -9
- 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 +161 -56
- package/docs/guide/configuration-and-targets.md +1 -1
- package/docs/guide/configuration-reference.md +27 -34
- 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 +31 -4
- package/docs/guide/glossary.md +1 -1
- package/docs/guide/harness-extensions.md +291 -0
- package/docs/guide/installation-and-lifecycle.md +9 -9
- 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 +14 -14
- package/docs/process/documentation-coverage.md +28 -1
- 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 +4 -0
- 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/config-inspect.ts +1 -1
- package/src/cli/configure.ts +2 -2
- 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/run.ts +26 -9
- 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/core/bus-events.ts +5 -0
- package/src/core/defaults.ts +1 -1
- 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/keybindings.ts +155 -95
- 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/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 +67 -21
- package/src/interactive/chat-loop.ts +32 -5
- package/src/interactive/chat-panel.ts +5 -1
- package/src/interactive/clio-editor.ts +53 -21
- package/src/interactive/command-output.ts +56 -1
- package/src/interactive/editor-submit.ts +65 -28
- 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 +4 -1
- package/src/interactive/footer/notifications.ts +2 -2
- package/src/interactive/footer/widgets.ts +2 -2
- package/src/interactive/interactive-application.ts +209 -21
- package/src/interactive/interactive-input-runtime.ts +254 -7
- package/src/interactive/interactive-presentation.ts +41 -12
- package/src/interactive/interactive-slash-runtime.ts +37 -8
- package/src/interactive/keybinding-manager.ts +156 -79
- package/src/interactive/keyboard-owner.ts +37 -0
- 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-key-routing.ts +46 -47
- package/src/interactive/overlay-lifecycle.ts +30 -15
- package/src/interactive/overlay-resource-openers.ts +56 -46
- 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 +25 -18
- 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/reference-card.ts +35 -0
- package/src/interactive/renderers/worker-entry.ts +35 -3
- package/src/interactive/slash-autocomplete.ts +99 -1
- package/src/interactive/slash-commands.ts +390 -67
- package/src/interactive/slash-spec.ts +0 -1
- package/src/interactive/terminal-lease.ts +44 -12
- package/src/interactive/turn-queues.ts +8 -7
- package/src/interactive/turn-runtime.ts +1 -1
- package/src/interactive/view/view-overlay.ts +19 -14
- 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/registry.ts +19 -1
- 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-536HXRFE.js +0 -1257
- package/dist/chunk-B3MOMLJ4.js +0 -433
- package/dist/chunk-CXQ37WJH.js +0 -45
- package/dist/chunk-KTFSFCVN.js +0 -46
- package/dist/chunk-QCOV5DFY.js +0 -911
- package/dist/chunk-QRFXEO6Y.js +0 -17
- package/dist/chunk-VAHLPXPY.js +0 -399
- package/dist/interop-RVCAYECG.js +0 -115
- package/dist/library-CTKZA7K3.js +0 -226
- package/dist/skills-OXFEAWMT.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
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;
|