@skaile/workspaces 5.2.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +9 -2
  3. package/dist/{asset-feeds-WDIB3E6H.js → asset-feeds-3MVRNS5U.js} +12 -12
  4. package/dist/{asset-feeds-WDIB3E6H.js.map → asset-feeds-3MVRNS5U.js.map} +1 -1
  5. package/dist/asset-manager/catalog-deployer.js +9 -9
  6. package/dist/asset-manager/index.js +13 -13
  7. package/dist/asset-manager/installer.js +9 -9
  8. package/dist/asset-manager/src/index.d.ts +22 -3
  9. package/dist/asset-manager/src/index.d.ts.map +1 -1
  10. package/dist/asset-manager/src/installer.d.ts +9 -1
  11. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  12. package/dist/bridge/drivers/claude-sdk.js +11 -11
  13. package/dist/bridge/drivers/codex.js +10 -10
  14. package/dist/bridge/drivers/continue.js +12 -12
  15. package/dist/bridge/drivers/echo.js +1 -1
  16. package/dist/bridge/drivers/gemini.js +5 -5
  17. package/dist/bridge/drivers/goose.js +12 -12
  18. package/dist/bridge/drivers/omp.js +2 -2
  19. package/dist/bridge/drivers/opencode.js +12 -12
  20. package/dist/bridge/drivers/qwen.js +5 -5
  21. package/dist/bridge/index.js +12 -12
  22. package/dist/{chunk-WMEPS6S4.js → chunk-2XXAVTTO.js} +3 -3
  23. package/dist/{chunk-WMEPS6S4.js.map → chunk-2XXAVTTO.js.map} +1 -1
  24. package/dist/{chunk-KGGT6MUM.js → chunk-37DN45RR.js} +19 -7
  25. package/dist/chunk-37DN45RR.js.map +1 -0
  26. package/dist/chunk-5NH3U6N5.js +15 -0
  27. package/dist/{chunk-BZXR6SW5.js.map → chunk-5NH3U6N5.js.map} +1 -1
  28. package/dist/{chunk-P2EM6FNQ.js → chunk-6IGFSUTE.js} +23 -36
  29. package/dist/chunk-6IGFSUTE.js.map +1 -0
  30. package/dist/{chunk-EOGNW74K.js → chunk-7KITVWXK.js} +25 -23
  31. package/dist/chunk-7KITVWXK.js.map +1 -0
  32. package/dist/{chunk-S6KNDUAU.js → chunk-A67BHJCH.js} +5 -5
  33. package/dist/{chunk-S6KNDUAU.js.map → chunk-A67BHJCH.js.map} +1 -1
  34. package/dist/{chunk-3E2TIPBZ.js → chunk-AE42DHSH.js} +2 -2
  35. package/dist/{chunk-3E2TIPBZ.js.map → chunk-AE42DHSH.js.map} +1 -1
  36. package/dist/{chunk-L257BENF.js → chunk-BATL2CWI.js} +128 -32
  37. package/dist/chunk-BATL2CWI.js.map +1 -0
  38. package/dist/{chunk-2MEMXBLC.js → chunk-BHUHGLNS.js} +5 -5
  39. package/dist/{chunk-2MEMXBLC.js.map → chunk-BHUHGLNS.js.map} +1 -1
  40. package/dist/{chunk-XIYXBHLN.js → chunk-DTV7HL5R.js} +2 -2
  41. package/dist/{chunk-XIYXBHLN.js.map → chunk-DTV7HL5R.js.map} +1 -1
  42. package/dist/{chunk-BJQUSAGB.js → chunk-GCYD4EGY.js} +4 -4
  43. package/dist/{chunk-BJQUSAGB.js.map → chunk-GCYD4EGY.js.map} +1 -1
  44. package/dist/{chunk-EB6OPURC.js → chunk-HTKZ4AOW.js} +3 -3
  45. package/dist/{chunk-EB6OPURC.js.map → chunk-HTKZ4AOW.js.map} +1 -1
  46. package/dist/{chunk-OFNXRI4L.js → chunk-IDUGP4V7.js} +3 -3
  47. package/dist/{chunk-OFNXRI4L.js.map → chunk-IDUGP4V7.js.map} +1 -1
  48. package/dist/{chunk-ANWHAGM7.js → chunk-JAJG4G5E.js} +3 -3
  49. package/dist/{chunk-ANWHAGM7.js.map → chunk-JAJG4G5E.js.map} +1 -1
  50. package/dist/{chunk-PU5VY7KF.js → chunk-JCATNLY3.js} +4 -4
  51. package/dist/{chunk-PU5VY7KF.js.map → chunk-JCATNLY3.js.map} +1 -1
  52. package/dist/{chunk-77GKEZ2R.js → chunk-JEA32KB6.js} +3 -3
  53. package/dist/{chunk-77GKEZ2R.js.map → chunk-JEA32KB6.js.map} +1 -1
  54. package/dist/{chunk-7Y43UXKA.js → chunk-JELTQ4H7.js} +3 -3
  55. package/dist/{chunk-7Y43UXKA.js.map → chunk-JELTQ4H7.js.map} +1 -1
  56. package/dist/{chunk-R3QW7CA5.js → chunk-JF26V3BC.js} +7 -7
  57. package/dist/chunk-JF26V3BC.js.map +1 -0
  58. package/dist/{chunk-XOTJVCJB.js → chunk-JKWU6ULI.js} +3 -3
  59. package/dist/{chunk-XOTJVCJB.js.map → chunk-JKWU6ULI.js.map} +1 -1
  60. package/dist/{chunk-ARUJBGAH.js → chunk-KXTO7HON.js} +3 -3
  61. package/dist/{chunk-ARUJBGAH.js.map → chunk-KXTO7HON.js.map} +1 -1
  62. package/dist/{chunk-2QZG5VJQ.js → chunk-LAI7X6I2.js} +3 -3
  63. package/dist/{chunk-2QZG5VJQ.js.map → chunk-LAI7X6I2.js.map} +1 -1
  64. package/dist/{chunk-YANDJSMN.js → chunk-LFMX2UEF.js} +3 -3
  65. package/dist/{chunk-YANDJSMN.js.map → chunk-LFMX2UEF.js.map} +1 -1
  66. package/dist/{chunk-BUNBKRJZ.js → chunk-LUBS5DXY.js} +3 -3
  67. package/dist/{chunk-BUNBKRJZ.js.map → chunk-LUBS5DXY.js.map} +1 -1
  68. package/dist/{chunk-TLKM4M47.js → chunk-MFHKHXDE.js} +6 -3
  69. package/dist/chunk-MFHKHXDE.js.map +1 -0
  70. package/dist/chunk-NESV47MF.js +20 -0
  71. package/dist/chunk-NESV47MF.js.map +1 -0
  72. package/dist/{chunk-6OWIEFZ2.js → chunk-OANSNVCP.js} +5 -5
  73. package/dist/{chunk-6OWIEFZ2.js.map → chunk-OANSNVCP.js.map} +1 -1
  74. package/dist/{chunk-MGHUSFYQ.js → chunk-ONWTPXVU.js} +8 -8
  75. package/dist/{chunk-MGHUSFYQ.js.map → chunk-ONWTPXVU.js.map} +1 -1
  76. package/dist/{chunk-DD3OZLRD.js → chunk-OXE5A6H6.js} +3 -3
  77. package/dist/{chunk-DD3OZLRD.js.map → chunk-OXE5A6H6.js.map} +1 -1
  78. package/dist/{chunk-BIMEKYOE.js → chunk-QEXEHXX5.js} +15 -18
  79. package/dist/chunk-QEXEHXX5.js.map +1 -0
  80. package/dist/{chunk-TVJBJLXR.js → chunk-QK756IRJ.js} +13 -13
  81. package/dist/{chunk-TVJBJLXR.js.map → chunk-QK756IRJ.js.map} +1 -1
  82. package/dist/{chunk-UDBN3LZU.js → chunk-RD6GE4HU.js} +4 -4
  83. package/dist/{chunk-UDBN3LZU.js.map → chunk-RD6GE4HU.js.map} +1 -1
  84. package/dist/{chunk-IOUIC2ZD.js → chunk-SQBPE66C.js} +8 -8
  85. package/dist/{chunk-IOUIC2ZD.js.map → chunk-SQBPE66C.js.map} +1 -1
  86. package/dist/{chunk-YRF5CYHR.js → chunk-SR4RFKHM.js} +36 -5
  87. package/dist/chunk-SR4RFKHM.js.map +1 -0
  88. package/dist/{chunk-BWOLP6KQ.js → chunk-U6ORGQHZ.js} +3 -3
  89. package/dist/{chunk-BWOLP6KQ.js.map → chunk-U6ORGQHZ.js.map} +1 -1
  90. package/dist/{chunk-RXPC4KBW.js → chunk-UAAAERXI.js} +3 -3
  91. package/dist/{chunk-RXPC4KBW.js.map → chunk-UAAAERXI.js.map} +1 -1
  92. package/dist/chunk-UKDFOOEG.js +22 -0
  93. package/dist/chunk-UKDFOOEG.js.map +1 -0
  94. package/dist/{chunk-6ZCVROWW.js → chunk-UNRZCQD4.js} +6 -6
  95. package/dist/{chunk-6ZCVROWW.js.map → chunk-UNRZCQD4.js.map} +1 -1
  96. package/dist/{chunk-ZSFTCMZL.js → chunk-VETH6MDG.js} +19 -19
  97. package/dist/{chunk-ZSFTCMZL.js.map → chunk-VETH6MDG.js.map} +1 -1
  98. package/dist/{chunk-4YE7OYTB.js → chunk-VKSA2CDJ.js} +5 -6
  99. package/dist/chunk-VKSA2CDJ.js.map +1 -0
  100. package/dist/{chunk-OABIGSUY.js → chunk-WX74MVNA.js} +2 -2
  101. package/dist/chunk-WX74MVNA.js.map +1 -0
  102. package/dist/{chunk-U6K3I3AX.js → chunk-XGIS325V.js} +3 -3
  103. package/dist/{chunk-U6K3I3AX.js.map → chunk-XGIS325V.js.map} +1 -1
  104. package/dist/{chunk-FJTC5YFO.js → chunk-XMQAV6T3.js} +3 -3
  105. package/dist/{chunk-FJTC5YFO.js.map → chunk-XMQAV6T3.js.map} +1 -1
  106. package/dist/{chunk-B4J4RGNY.js → chunk-Y5OCUOXF.js} +34 -19
  107. package/dist/chunk-Y5OCUOXF.js.map +1 -0
  108. package/dist/{chunk-LZ5RH6LD.js → chunk-Y7UBRRKG.js} +89 -128
  109. package/dist/chunk-Y7UBRRKG.js.map +1 -0
  110. package/dist/{chunk-PHKFFJ4I.js → chunk-ZIYYMR6Y.js} +3 -3
  111. package/dist/{chunk-PHKFFJ4I.js.map → chunk-ZIYYMR6Y.js.map} +1 -1
  112. package/dist/{chunk-JPR7EPIM.js → chunk-ZUZ5LLZ2.js} +4 -4
  113. package/dist/{chunk-JPR7EPIM.js.map → chunk-ZUZ5LLZ2.js.map} +1 -1
  114. package/dist/cli/index.js +796 -583
  115. package/dist/cli/index.js.map +1 -1
  116. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  117. package/dist/cli/src/commands/catalog-cmd.d.ts.map +1 -1
  118. package/dist/cli/src/commands/catalog.d.ts +33 -3
  119. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  120. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  121. package/dist/cli/src/commands/library-index.d.ts +57 -1
  122. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  123. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  124. package/dist/cli/src/commands/npx.d.ts.map +1 -1
  125. package/dist/cli/src/commands/outdated.d.ts +3 -1
  126. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  127. package/dist/cli/src/commands/project.d.ts.map +1 -1
  128. package/dist/cli/src/commands/skailify-lib.d.ts +3 -2
  129. package/dist/cli/src/commands/skailify-lib.d.ts.map +1 -1
  130. package/dist/cli/src/commands/update.d.ts.map +1 -1
  131. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  132. package/dist/cli/src/setup.d.ts.map +1 -1
  133. package/dist/cli/src/skill-checks.d.ts +21 -0
  134. package/dist/cli/src/skill-checks.d.ts.map +1 -0
  135. package/dist/cli/src/spinner.d.ts +24 -0
  136. package/dist/cli/src/spinner.d.ts.map +1 -0
  137. package/dist/connectors/config.js +6 -6
  138. package/dist/connectors/index.js +15 -15
  139. package/dist/{connectors-GUN4MRWR.js → connectors-OB3OAZTK.js} +18 -18
  140. package/dist/{connectors-GUN4MRWR.js.map → connectors-OB3OAZTK.js.map} +1 -1
  141. package/dist/core/index.js +8 -8
  142. package/dist/core/manifest.js +2 -2
  143. package/dist/core/models.js +1 -1
  144. package/dist/core/publish-manifest.js +2 -2
  145. package/dist/core/ref.js +1 -1
  146. package/dist/core/runtime-assets.js +6 -6
  147. package/dist/core/src/asset-roots.d.ts +8 -0
  148. package/dist/core/src/asset-roots.d.ts.map +1 -1
  149. package/dist/core/src/cache-paths.d.ts +6 -0
  150. package/dist/core/src/cache-paths.d.ts.map +1 -1
  151. package/dist/core/src/index.d.ts +2 -2
  152. package/dist/core/src/index.d.ts.map +1 -1
  153. package/dist/core/src/lock.d.ts.map +1 -1
  154. package/dist/core/src/models.d.ts +7 -0
  155. package/dist/core/src/models.d.ts.map +1 -1
  156. package/dist/core/src/publish-manifest.d.ts +26 -2
  157. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  158. package/dist/core/src/repo-manager.d.ts.map +1 -1
  159. package/dist/core/src/walker.d.ts.map +1 -1
  160. package/dist/core/store.js +2 -2
  161. package/dist/core/workspace-config.js +5 -5
  162. package/dist/deploy/index.js +8 -8
  163. package/dist/discovery/index.js +4 -4
  164. package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
  165. package/dist/discovery/src/discover.d.ts.map +1 -1
  166. package/dist/discovery/src/hash.d.ts +45 -23
  167. package/dist/discovery/src/hash.d.ts.map +1 -1
  168. package/dist/discovery/src/index.d.ts +2 -0
  169. package/dist/discovery/src/index.d.ts.map +1 -1
  170. package/dist/discovery/src/parse-manifest.d.ts +27 -0
  171. package/dist/discovery/src/parse-manifest.d.ts.map +1 -0
  172. package/dist/discovery/src/tree-entries.d.ts.map +1 -1
  173. package/dist/{ensure-sources-VCPA762L.js → ensure-sources-Z3KKLEM6.js} +16 -16
  174. package/dist/{ensure-sources-VCPA762L.js.map → ensure-sources-Z3KKLEM6.js.map} +1 -1
  175. package/dist/factory-assets/README.md +2 -2
  176. package/dist/factory-assets/connectors/box.js +15 -15
  177. package/dist/factory-assets/connectors/deploy.js +15 -15
  178. package/dist/factory-assets/connectors/devserver.js +15 -15
  179. package/dist/factory-assets/connectors/flow/adapter.js +15 -15
  180. package/dist/factory-assets/connectors/flow/engine.js +9 -9
  181. package/dist/factory-assets/connectors/flow/run-flow.js +17 -17
  182. package/dist/factory-assets/connectors/flow.js +15 -15
  183. package/dist/factory-assets/connectors/git.js +15 -15
  184. package/dist/factory-assets/connectors/gmail.js +15 -15
  185. package/dist/factory-assets/connectors/googledrive.js +15 -15
  186. package/dist/factory-assets/connectors/local.js +15 -15
  187. package/dist/factory-assets/connectors/mattermost.js +15 -15
  188. package/dist/factory-assets/connectors/memory.js +15 -15
  189. package/dist/factory-assets/connectors/minio.js +15 -15
  190. package/dist/factory-assets/connectors/postgres.js +15 -15
  191. package/dist/factory-assets/connectors/s3.js +15 -15
  192. package/dist/factory-assets/connectors/sharepoint.js +15 -15
  193. package/dist/factory-assets/connectors/sqlite.js +15 -15
  194. package/dist/factory-assets/connectors/static-server.js +15 -15
  195. package/dist/factory-assets/connectors/tunnel.js +15 -15
  196. package/dist/factory-assets/connectors/webdav.js +15 -15
  197. package/dist/factory-assets/connectors/xstate-store.js +15 -15
  198. package/dist/factory-assets/connectors/xstate.js +15 -15
  199. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +17 -15
  200. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +20 -17
  201. package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +82 -71
  202. package/dist/factory-assets/skills/skaile-manage-workspace/SKILL.md +17 -11
  203. package/dist/factory-assets/skills/skailify/SKILL.md +8 -4
  204. package/dist/{flows-BOB5YA5R.js → flows-DTADYIXH.js} +13 -13
  205. package/dist/{flows-BOB5YA5R.js.map → flows-DTADYIXH.js.map} +1 -1
  206. package/dist/{helpers-ZGK4R5MZ.js → helpers-F2RFRT5D.js} +16 -16
  207. package/dist/{helpers-ZGK4R5MZ.js.map → helpers-F2RFRT5D.js.map} +1 -1
  208. package/dist/library/index.js +11 -11
  209. package/dist/library/install.js +3 -2
  210. package/dist/library/src/config.d.ts +5 -4
  211. package/dist/library/src/config.d.ts.map +1 -1
  212. package/dist/library/src/index.d.ts +1 -1
  213. package/dist/library/src/index.d.ts.map +1 -1
  214. package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
  215. package/dist/library/src/local/install-library-asset.d.ts +3 -2
  216. package/dist/library/src/local/install-library-asset.d.ts.map +1 -1
  217. package/dist/library/src/local/library.d.ts.map +1 -1
  218. package/dist/library/src/manifest-writer.d.ts +6 -0
  219. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  220. package/dist/library/src/sync/git-driver.d.ts +8 -0
  221. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  222. package/dist/{library-publish-RIP6NBYA.js → library-publish-62RFU74A.js} +47 -26
  223. package/dist/library-publish-62RFU74A.js.map +1 -0
  224. package/dist/{open-library-4IJTBVTR.js → open-library-NVG3CZUO.js} +19 -19
  225. package/dist/{open-library-4IJTBVTR.js.map → open-library-NVG3CZUO.js.map} +1 -1
  226. package/dist/open-registry-IYH6W6CN.js +32 -0
  227. package/dist/{open-registry-G5DI4RPU.js.map → open-registry-IYH6W6CN.js.map} +1 -1
  228. package/dist/paths-STQO4FYF.js +22 -0
  229. package/dist/{paths-L5XLUC3D.js.map → paths-STQO4FYF.js.map} +1 -1
  230. package/dist/{plugin-store-QENDYZ63.js → plugin-store-2DTEIJTG.js} +10 -10
  231. package/dist/{plugin-store-QENDYZ63.js.map → plugin-store-2DTEIJTG.js.map} +1 -1
  232. package/dist/{project-4INCIIZI.js → project-44LM6SRV.js} +18 -17
  233. package/dist/{project-4INCIIZI.js.map → project-44LM6SRV.js.map} +1 -1
  234. package/dist/resolver/index.js +9 -9
  235. package/dist/runner/index.js +25 -25
  236. package/dist/sdk/asset-manager.js +13 -13
  237. package/dist/sdk/bridge.js +12 -12
  238. package/dist/sdk/core.js +8 -8
  239. package/dist/sdk/flow.js +9 -9
  240. package/dist/sdk/index.js +25 -25
  241. package/dist/sdk/resolver.js +9 -9
  242. package/dist/sdk/runner.js +25 -25
  243. package/dist/secrets/index.js +2 -2
  244. package/dist/{setup-RG4PJJUW.js → setup-4BV5ZWOZ.js} +24 -23
  245. package/dist/setup-4BV5ZWOZ.js.map +1 -0
  246. package/dist/skills-M7OU3WMP.js +26 -0
  247. package/dist/{skills-CL45F7AG.js.map → skills-M7OU3WMP.js.map} +1 -1
  248. package/dist/{source-LJOI5AXU.js → source-HTT6CXUP.js} +20 -20
  249. package/dist/{source-LJOI5AXU.js.map → source-HTT6CXUP.js.map} +1 -1
  250. package/dist/{source-manifest-publish-QEJML4VS.js → source-manifest-publish-CPXUX3CL.js} +22 -22
  251. package/dist/{source-manifest-publish-QEJML4VS.js.map → source-manifest-publish-CPXUX3CL.js.map} +1 -1
  252. package/dist/tui/index.js +25 -25
  253. package/dist/workspace-plugin/adapters/mcp.js +22 -22
  254. package/dist/workspace-plugin/adapters/omp.js +14 -14
  255. package/dist/workspace-plugin/index.js +1 -1
  256. package/package.json +1 -1
  257. package/dist/chunk-4YE7OYTB.js.map +0 -1
  258. package/dist/chunk-B4J4RGNY.js.map +0 -1
  259. package/dist/chunk-BIMEKYOE.js.map +0 -1
  260. package/dist/chunk-BZXR6SW5.js +0 -15
  261. package/dist/chunk-EOGNW74K.js.map +0 -1
  262. package/dist/chunk-KGGT6MUM.js.map +0 -1
  263. package/dist/chunk-L257BENF.js.map +0 -1
  264. package/dist/chunk-LZ5RH6LD.js.map +0 -1
  265. package/dist/chunk-OABIGSUY.js.map +0 -1
  266. package/dist/chunk-P2EM6FNQ.js.map +0 -1
  267. package/dist/chunk-R3QW7CA5.js.map +0 -1
  268. package/dist/chunk-TLKM4M47.js.map +0 -1
  269. package/dist/chunk-YRF5CYHR.js.map +0 -1
  270. package/dist/library-publish-RIP6NBYA.js.map +0 -1
  271. package/dist/open-registry-G5DI4RPU.js +0 -32
  272. package/dist/paths-L5XLUC3D.js +0 -22
  273. package/dist/setup-RG4PJJUW.js.map +0 -1
  274. package/dist/skills-CL45F7AG.js +0 -26
@@ -2,7 +2,7 @@
2
2
  name: authoring-skaile-assets
3
3
  description: "Use when authoring or restructuring an AI-asset repository (skills, agents, prompts, contracts, MCP servers, connectors, flows, bundles) so it resolves cleanly through @skaile/workspaces and any store. Covers file layout, the 11 asset kinds, frontmatter conventions, the requires-vs-dependencies split, and how to test a source locally before publishing."
4
4
  metadata:
5
- version: '0.1.0'
5
+ version: '0.1.1'
6
6
  stage: alpha
7
7
  tags:
8
8
  - skaile
@@ -21,14 +21,14 @@ metadata:
21
21
  You are helping an author build or fix an **AI-asset repository** (a "source") so
22
22
  that `@skaile/workspaces` — and any store mirroring it — can discover, resolve,
23
23
  and deploy its assets. This skill owns the *content* side (files on disk). Its
24
- companion **[authoring-skaile-manifests]** owns the `skaile.yaml` manifest and
24
+ companion **[authoring-skaile-manifests]** owns the `skaile.manifest.yaml` manifest and
25
25
  the dependency grammar; read it before publishing.
26
26
 
27
27
  ## Mental model
28
28
 
29
29
  A **source** is a git repo of asset bytes. Identity is the global tuple
30
30
  `(publisher, kind, name, version)` and is **asset-intrinsic** — declared in the
31
- source's own `skaile.yaml`, never chosen by the consuming project. A consumer
31
+ source's own `skaile.manifest.yaml`, never chosen by the consuming project. A consumer
32
32
  reaches the bytes by cloning the source repo (`sources[]`) or by querying a
33
33
  catalog (`stores[]`); both paths are content-hash verified and interchangeable.
34
34
 
@@ -58,11 +58,11 @@ catalog (`stores[]`); both paths are content-hash verified and interchangeable.
58
58
 
59
59
  ## File layout — two options
60
60
 
61
- **A. Explicit (recommended for curated repos).** Put `skaile.yaml` at the repo
62
- root with an `assets:` list and lay files out however you like; `root:`/`files:`
63
- point at each asset. See [authoring-skaile-manifests].
61
+ **A. Explicit (recommended for curated repos).** Put `skaile.manifest.yaml` at
62
+ the repo root with an `assets:` list and lay files out however you like;
63
+ `root:`/`files:` point at each asset. See [authoring-skaile-manifests].
64
64
 
65
- **B. Convention (zero-config).** Omit `skaile.yaml`; the walker falls back to the
65
+ **B. Convention (zero-config).** Omit `skaile.manifest.yaml`; the walker falls back to the
66
66
  agentskills.io layout:
67
67
 
68
68
  ```
@@ -72,7 +72,7 @@ agentskills.io layout:
72
72
  mcp-servers/excel/MCP.md
73
73
  ```
74
74
 
75
- > ⚠️ If `skaile.yaml` has a **non-empty `assets:` list, it is exhaustive** — only
75
+ > ⚠️ If `skaile.manifest.yaml` has a **non-empty `assets:` list, it is exhaustive** — only
76
76
  > listed assets are resolvable. Files on disk that you forgot to list still show
77
77
  > up in `skaile manage` (the browse scan walks the filesystem) but **fail at
78
78
  > install** with `Asset not found`. Keep the list complete, or omit it and rely
@@ -86,10 +86,10 @@ extensions nested under `metadata:` (both locations are read for `version` and
86
86
 
87
87
  ```markdown
88
88
  ---
89
- name: audit # MUST equal the assets[].name in skaile.yaml
89
+ name: audit # MUST equal the assets[].name in skaile.manifest.yaml
90
90
  description: "Use when ..." # one line; this is what the model matches on
91
91
  metadata:
92
- version: '1.4.0' # source skaile.yaml is authoritative; this is a hint only
92
+ version: '1.4.0' # source skaile.manifest.yaml is authoritative; this is a hint only
93
93
  stage: stable
94
94
  tags: [review, quality, ci]
95
95
  requires: # peer assets this one needs — kind:name form
@@ -102,9 +102,9 @@ metadata:
102
102
  ```
103
103
 
104
104
  Rules that bite:
105
- - **`name:` MUST equal the `assets[].name`** in `skaile.yaml`. Mismatch is an
105
+ - **`name:` MUST equal the `assets[].name`** in `skaile.manifest.yaml`. Mismatch is an
106
106
  index-time hard error.
107
- - `metadata.version` is **ignored for resolution** — the source `skaile.yaml`
107
+ - `metadata.version` is **ignored for resolution** — the source `skaile.manifest.yaml`
108
108
  version (or git-tag waterfall) is authoritative. Keep it as documentation only.
109
109
  - `description:` is the model-facing trigger. Write it as "Use when …"; it
110
110
  decides whether the skill gets surfaced.
@@ -141,8 +141,10 @@ dependencies:
141
141
  1. Pick the kind + name; create the manifest file (`SKILL.md`, `agent.yaml`, …).
142
142
  2. Write a sharp `description:` ("Use when …").
143
143
  3. Declare same-source peers in `requires:` (`kind:name`).
144
- 4. If publishing as a curated source: add the asset to `skaile.yaml` `assets:`
145
- and confirm `name:` matches. Run [authoring-skaile-manifests] to author/verify.
144
+ 4. If publishing as a curated source: add the asset to `skaile.manifest.yaml`
145
+ `assets:` (`skaile library create` does this; after hand edits run
146
+ `skaile library index <library>`) and confirm `name:` matches. Run
147
+ [authoring-skaile-manifests] to author/verify.
146
148
  5. Test locally before pushing (below).
147
149
  6. Commit; tag a SemVer release (`vX.Y.Z`) so the version waterfall resolves.
148
150
 
@@ -169,7 +171,7 @@ above.
169
171
  |---|---|---|
170
172
  | `Asset not found` on an asset visible in `manage` | omitted from `assets:` | add it, or drop `assets:` and use convention |
171
173
  | `name mismatch` at index time | `SKILL.md` `name:` ≠ `assets[].name` | make them equal |
172
- | `publisher must be declared` | non-GitHub source URL, no `publisher:` | set `publisher:` in `skaile.yaml` |
174
+ | `publisher must be declared` | non-GitHub source URL, no `publisher:` | set `publisher:` in `skaile.manifest.yaml` |
173
175
  | `publisher required in asset ref` | a dep uses legacy `kind:name@pub` | migrate to `kind:@pub/name` (see [authoring-skaile-manifests]) |
174
176
  | dep silently absent at runtime | `requires:` used a full canonical ref | `requires:` is `kind:name` only; full refs go in bundle/project `dependencies:` |
175
177
 
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: authoring-skaile-manifests
3
- description: "Use when creating or fixing a skaile.yaml manifest for a new or existing skill / asset / MCP-server repo so it works with @skaile/workspaces and stores. Covers the publication half (publisher, version, assets[]), the consumption half (sources, stores, dependencies, overrides), the canonical dependency-ref grammar (kind:@publisher/name#version), the version waterfall, conflict resolution, and the v3 lock file. Also use to generate a manifest from an existing tree or migrate a legacy manifest."
3
+ description: "Use when creating or fixing the skaile.manifest.yaml (publication) or skaile.yaml (consumption) manifest for a new or existing skill / asset / MCP-server repo so it works with @skaile/workspaces and stores. Covers the publication half (publisher, version, assets[] in skaile.manifest.yaml), the consumption half (sources, stores, dependencies, overrides in skaile.yaml), the canonical dependency-ref grammar (kind:@publisher/name#version), the version waterfall, conflict resolution, and the v3 lock file. Also use to generate a manifest from an existing tree or migrate a legacy manifest."
4
4
  metadata:
5
- version: '0.1.0'
5
+ version: '0.1.1'
6
6
  stage: alpha
7
7
  tags:
8
8
  - skaile
@@ -15,24 +15,25 @@ metadata:
15
15
  - lockfile
16
16
  ---
17
17
 
18
- # Authoring `skaile.yaml` manifests
18
+ # Authoring `skaile.manifest.yaml` and `skaile.yaml` manifests
19
19
 
20
- You are creating or repairing a `skaile.yaml` so a repo (skills, assets, or an
21
- MCP server) resolves through `@skaile/workspaces` and any store. This skill owns
22
- the manifest and the **latest dependency standard**. For file layout and asset
23
- content, see **[authoring-skaile-assets]**.
20
+ You are creating or repairing the manifest(s) of a repo (skills, assets, or an
21
+ MCP server) so it resolves through `@skaile/workspaces` and any store. This
22
+ skill owns the manifests and the **latest dependency standard**. For file layout
23
+ and asset content, see **[authoring-skaile-assets]**.
24
24
 
25
25
  Reference (canonical): the in-repo concept doc `docs/concepts/manifest-schema.md`
26
26
  and the spec `_devlog/specs/2026-05-31-manifest-canonical-identity.md`.
27
27
  The full dependency standard is in
28
28
  [`references/dependency-standard.md`](./references/dependency-standard.md).
29
29
 
30
- ## One file, two halves
30
+ ## Two files, two halves
31
31
 
32
- `skaile.yaml` lives at the repo root. A repo can be **source-only** (publication
33
- half), **project-only** (consumption half), or both.
32
+ Publication and consumption live in **separate files** at the repo root. A repo
33
+ can be **source-only** (`skaile.manifest.yaml`), **project-only** (`skaile.yaml`),
34
+ or both. `publisher:`, `version:` and `assets:` are rejected in `skaile.yaml`.
34
35
 
35
- ### Publication half — "this repo IS a source"
36
+ ### Publication half — "this repo IS a source" (`skaile.manifest.yaml`)
36
37
 
37
38
  ```yaml
38
39
  publisher: skaile-ai # optional; defaults to the source URL's GitHub org/user
@@ -73,7 +74,7 @@ assets: # optional; when present it EXHAUSTIVELY lists p
73
74
  > `Asset not found`. When you add an agent/flow/skill to the tree, add it here
74
75
  > too — or omit `assets:` entirely and let the convention walker find everything.
75
76
 
76
- ### Consumption half — "this repo IS a project"
77
+ ### Consumption half — "this repo IS a project" (`skaile.yaml`)
77
78
 
78
79
  ```yaml
79
80
  sources: # absent → no direct git resolution
@@ -149,7 +150,7 @@ complete rules, SHA-synthetic versions, and worked examples.
149
150
 
150
151
  The version for an asset is the first of:
151
152
 
152
- 1. `assets[].version` (per-asset in the source `skaile.yaml`).
153
+ 1. `assets[].version` (per-asset in the source `skaile.manifest.yaml`).
153
154
  2. The source's top-level `version:`.
154
155
  3. A SemVer-shaped git tag (`git describe --tags`), `v` stripped.
155
156
  4. Synthetic `0.0.0-sha.<7char>` from the resolved commit.
@@ -173,7 +174,7 @@ mean identical content everywhere, or every downstream consumer breaks.
173
174
 
174
175
  ## Generate a manifest from an existing repo
175
176
 
176
- For a new or existing skill/asset/MCP repo with no (or a stale) `skaile.yaml`:
177
+ For a new or existing skill/asset/MCP repo with no (or a stale) `skaile.manifest.yaml`:
177
178
 
178
179
  1. **Enumerate assets on disk** — find every manifest file:
179
180
  ```bash
@@ -223,11 +224,13 @@ regenerate with `rm skaile.lock.yaml && skaile install`.
223
224
 
224
225
  ## Migration
225
226
 
226
- There is no `skaile manifest migrate` command. The transform
227
+ There is no CLI command for manifest migration. The transform
227
228
  (`repositories:`/`ai_resources:` → `sources:`/`dependencies:`, bare deps →
228
229
  `@<publisher>`, `@skaile` → `@skaile-ai` rebrand, legacy `kind:name@pub` →
229
- `kind:@pub/name`) is done by the **`migrate-skaile-manifest`** skill. Run it from
230
- an AI session against each legacy `skaile.yaml`.
230
+ `kind:@pub/name`, and the publication keys `publisher:`/`version:`/`assets:`
231
+ moving from `skaile.yaml` to `skaile.manifest.yaml`) is done by the
232
+ **`migrate-skaile-manifest`** skill. Run it from an AI session against each
233
+ legacy `skaile.yaml`.
231
234
 
232
235
  ## Manifest checklist
233
236
 
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: "skaile-author-asset"
3
- description: "Use when an asset author needs to build a skill in a local library and publish it. Covers the source/library/store model, laying out a repo (any depth, optional plugin grouping), the SKILL.md format, and the .skaile-source.yaml manifest (v1 glob vs v2 author-shipped inventory) and publish flow via the skaile CLI."
3
+ description: "Use when an asset author needs to build a skill in a local library and publish it. Covers the source/library/store model, laying out a repo (any depth, optional plugin grouping), the SKILL.md format, and the skaile.manifest.yaml publication manifest and publish flow (library publish/register/yank) via the skaile CLI."
4
4
  metadata:
5
- version: "0.1.1"
5
+ version: "0.1.2"
6
6
  tags:
7
7
  - "authoring"
8
8
  - "skill"
@@ -19,7 +19,7 @@ metadata:
19
19
  # Author an AI-Asset
20
20
 
21
21
  How to author a **skill** (or any asset kind) in a local library, lay out the
22
- repository, write the `.skaile-source.yaml` **manifest**, and
22
+ repository, keep its `skaile.manifest.yaml` **manifest** current, and
23
23
  **publish** it through the store.
24
24
 
25
25
  For the canonical skill folder layout and frontmatter spec, read the companion
@@ -78,7 +78,7 @@ names carry no meaning, so lay the repo out however suits you:
78
78
 
79
79
  ```
80
80
  my-assets/ # repo root (a "source")
81
- ├── .skaile-source.yaml # manifest (see §4)
81
+ ├── skaile.manifest.yaml # publication manifest (see §4)
82
82
  ├── .claude-plugin/
83
83
  │ └── plugin.json # optional grouping (see below)
84
84
  ├── skills/
@@ -92,13 +92,13 @@ my-assets/ # repo root (a "source")
92
92
 
93
93
  **Publisher** is never read from a path segment. Resolution order:
94
94
 
95
- 1. A per-asset `publisher` in a v2 inventory (§4).
96
- 2. `publisher_overrides` — a per-path entry in the manifest.
97
- 3. `publisher_default` — a literal such as `'@acme'`.
98
- 4. Otherwise the repo name.
95
+ 1. A per-asset `publisher` on the `assets[]` entry (§4).
96
+ 2. The manifest's top-level `publisher`.
97
+ 3. Otherwise your store identity or the library name (`library create` warns when it falls back).
99
98
 
100
- With `publisher_default: '@acme'`, every asset is published as `@acme/<name>`;
101
- use `publisher_overrides` for the exceptions.
99
+ With `publisher: acme` at the top of `skaile.manifest.yaml`, every asset is
100
+ published as `@acme/<name>`; set `publisher` on an entry for the exceptions.
101
+ Change the default later with `skaile library set <library> publisher=<slug>`.
102
102
 
103
103
  **Grouping in `skaile manage`** is optional and comes from Claude plugin
104
104
  manifests, not from folders: list the asset directories in
@@ -126,7 +126,7 @@ metadata:
126
126
  tags: [research, brief]
127
127
  stage: alpha # alpha | beta | stable | deprecated
128
128
  requires: # cross-asset dependencies (optional)
129
- - "@research/brief-format@^2"
129
+ - "skill:brief-format"
130
130
  ---
131
131
 
132
132
  # Brief
@@ -140,86 +140,98 @@ metadata:
140
140
 
141
141
  Keep the body tight — it ships as a prompt.
142
142
 
143
- ## 4. The manifest — `.skaile-source.yaml`
143
+ ## 4. The manifest — `skaile.manifest.yaml`
144
144
 
145
- One file at the **repo root** declares how the repo maps to publisher
146
- namespaces. Two modes:
145
+ One file at the **library/repo root** declares what the repo **publishes**:
146
+ the default `publisher`, a default `version`, and the `assets[]` inventory.
147
+ `skaile library init` / `library create` write and maintain it; the publish
148
+ commands read it as the **allowlist** — only assets listed in `assets[]` are
149
+ published.
147
150
 
148
- ### v1 — glob mode (default)
151
+ ```yaml
152
+ # skaile.manifest.yaml
153
+ publisher: acme # GitHub-shaped, no "@"; inherited by every asset
154
+ version: 1.0.0 # repo-level default version
155
+ dev_paths: # optional: dev-only prefixes, excluded unless --dev
156
+ - ai-assets-dev
157
+ assets:
158
+ - kind: skill
159
+ name: brief
160
+ root: research/skills/brief # a directory, walked recursively
161
+ description: Generates a project brief
162
+ keywords: [research, brief]
163
+ dependencies: # canonical refs only: kind:@<publisher>/<name>[#version]
164
+ - skill:@acme/brief-format#^2
165
+ - kind: agent
166
+ name: analyst
167
+ files: # or an explicit file list (repo-relative)
168
+ - agents/analyst/agent.yaml
169
+ publisher: research # per-asset publisher override
170
+ version: 2.0.0 # per-asset version override
171
+ ```
149
172
 
150
- Discovery walks the tree, matches kind globs, and resolves each asset's
151
- publisher from the manifest. Use this while a repo is evolving fast.
173
+ Keep it in sync with the tree instead of hand-editing the inventory:
152
174
 
153
- ```yaml
154
- version: 1
155
- publisher_default: '@acme' # literal publisher; never derived from a folder name
156
- default_ref: main
157
- publisher_overrides:
158
- - path: research-contracts/
159
- publisher: '@research-contracts'
175
+ ```bash
176
+ skaile library create skill my-skill --library personal # scaffolds the asset AND adds its assets[] entry
177
+ skaile library index personal # after hand edits: add new assets, drop deleted ones
178
+ skaile validate <library-path> # schema + canonical names, run before publishing
160
179
  ```
161
180
 
162
- ### v2 — author-shipped inventory (pinned)
181
+ An asset on disk but missing from `assets[]` is **not published**; an entry
182
+ whose `root:` directory is gone makes `library publish` fail until
183
+ `library index` drops it. `sha256` per entry is optional — if you pin one, a
184
+ mismatch is a hard error.
163
185
 
164
- Add an `assets:` block and bump to `version: 2`. Discovery then treats the
165
- block as authoritative: it **skips the glob walk**, uses your curated `files[]`
166
- filter, your per-entry publisher, your `requires[]` graph, and verifies your
167
- `sha256`. Use this for reproducible, signed, audit-friendly releases.
186
+ > `.skaile-source.yaml` is the **legacy** source config of third-party repos
187
+ > (`publisher_default`, `publisher_overrides`, `dev_paths`). It is not what a
188
+ > library writes and no longer sets a publisher; `skaile.manifest.yaml`
189
+ > replaces it.
168
190
 
169
- ```yaml
170
- version: 2
171
- publisher_default: '@acme'
172
- default_ref: main
173
- assets:
174
- - path: research/skills/brief # relative to repo root
175
- kind: skill
176
- publisher: '@research' # required per entry
177
- name: brief
178
- version: 1.0.0
179
- sha256: "<64-hex>" # optional locally, REQUIRED to publish
180
- files: # explicit; no wildcards; ≥1
181
- - SKILL.md
182
- - validator.py
183
- - references/template.md
184
- requires:
185
- - "@research/brief-format@^2"
186
- metadata:
187
- description: Generates a project brief
188
- keywords: [research, brief]
189
- ```
191
+ ### Curating a repo you don't own
190
192
 
191
- **Never hand-edit the `assets:` block.** Generate it from the asset files (this
192
- is what `source-manifest-builder` automates):
193
+ For a third-party source added with `skaile source add`, the manifest is a
194
+ **curator** manifest (it carries `source:` and `provenance:`) kept under
195
+ `~/.skaile/store/manifests/`:
193
196
 
194
197
  ```bash
195
- skaile source build-manifest --path ./my-assets # preview
196
- skaile source build-manifest --path ./my-assets --diff # show drift (CI-friendly, non-zero on drift)
197
- skaile source build-manifest --path ./my-assets --write # write the manifest
198
- skaile source verify-manifest --path ./my-assets --strict # verify before commit/publish
198
+ skaile source manifest init <src> # create it from a discovery walk
199
+ skaile source manifest rebuild <src> # re-derive after upstream changes (keeps your curation; --overwrite discards it)
200
+ skaile source manifest verify <src> --strict # verify hashes + manifest parse before publishing
201
+ skaile source manifest publish <src> # register it in the store
199
202
  ```
200
203
 
201
- Hash = sort `files[]` lexicographically, then SHA256 over
202
- `<relpath>\0<content>\0` per file. Author-computed hashes are wire-compatible
203
- with server-computed ones. Missing files are a hard error in manifest mode.
204
-
205
204
  ## 5. Publish
206
205
 
206
+ `<library>` below is the **library name** (as shown by `skaile library list`),
207
+ never an asset ref.
208
+
207
209
  ```bash
208
210
  # Attach a GitHub remote so the library is store-publishable
209
211
  skaile library link personal https://github.com/you/my-assets
210
212
 
211
- # Push bytes to GitHub + register the manifest in the store, atomically
212
- skaile library publish @research/brief@1.0.0
213
+ skaile store login
213
214
 
214
- # Or register a manifest for bytes already on GitHub (no push)
215
- skaile library register @research/brief@1.0.0
215
+ # Preview the plan: remote, publisher namespace(s), ref, refs to publish
216
+ skaile library publish personal --dry-run
216
217
 
217
- # Retract a catalog entry
218
- skaile library yank @research/brief@1.0.0
218
+ # Commit + push to the PUBLIC remote, register it as a store source, publish its assets
219
+ skaile library publish personal
220
+ # → skill:@acme/brief#1.0.0
221
+
222
+ # Or register bytes that are already on GitHub (no commit/push)
223
+ skaile library register personal
224
+
225
+ # Retract published assets (all, or one with --asset)
226
+ skaile library yank personal --asset skill:@acme/brief#1.0.0
219
227
  ```
220
228
 
221
- Consumers then install pointer-only: `skaile install @research/brief@1.0.0`
222
- fetches from your repo at the pinned commit and verifies SHA256 per file.
229
+ `--asset <ref>` limits `publish` / `register` / `yank` to one asset. A local
230
+ library with no remote needs `--create-repo` (or `library link`) first.
231
+
232
+ Consumers then install pointer-only with the canonical ref:
233
+ `skaile install skill:@acme/brief#1.0.0` fetches from your repo at the pinned
234
+ commit and verifies SHA256 per file.
223
235
 
224
236
  ## Dev-only assets — `dev_paths` + `--dev`
225
237
 
@@ -232,11 +244,10 @@ pulled in only when a contributor opts in.
232
244
  - **Folder name:** keep dev assets under one top-level folder named
233
245
  **`ai-assets-dev/`** (intention-revealing; treat the `-dev` suffix as
234
246
  reserved).
235
- - **Mechanism:** declare it in `.skaile-source.yaml` under `dev_paths`:
247
+ - **Mechanism:** declare it in `skaile.manifest.yaml` under `dev_paths`:
236
248
 
237
249
  ```yaml
238
- version: 1
239
- publisher_default: '@acme'
250
+ publisher: acme
240
251
  dev_paths: # excluded from a normal discovery run
241
252
  - ai-assets-dev
242
253
  ```
@@ -2,7 +2,7 @@
2
2
  name: "skaile-manage-workspace"
3
3
  description: "Use when managing a skaile workspace from the command line: init/install a project, add/remove/list/search assets, work with sources and libraries, the interactive manage TUI, patches, sessions, and catalog config. Wraps the `skaile` CLI workspace surface."
4
4
  metadata:
5
- version: "0.1.1"
5
+ version: "0.1.2"
6
6
  tags:
7
7
  - "cli"
8
8
  - "workspace"
@@ -45,8 +45,8 @@ paths, resources) live in `skaile.yaml` and are hand-edited.
45
45
 
46
46
  ## Assets in a workspace
47
47
 
48
- `skaile <noun>` works across kinds (`skill`, `agent`, `prompt`, `flow`,
49
- `bundle`, `contract`); the unified verbs:
48
+ The asset verbs work across kinds (`skill`, `agent`, `prompt`, `flow`,
49
+ `bundle`, `contract`):
50
50
 
51
51
  ```bash
52
52
  skaile add <ref> [--global] # add to skaile.yaml + deploy
@@ -57,7 +57,7 @@ skaile search [kind] [query] # search across all sources
57
57
  skaile info <ref> # metadata, deps, deploy status
58
58
  skaile why <ref> # why is this installed (dep chain)
59
59
  skaile tree # dependency tree
60
- skaile outdated [name] # assets behind their source
60
+ skaile outdated [ref] # assets behind their source
61
61
  skaile update [name] # refresh catalog cache + re-deploy outdated
62
62
  skaile diff <ref> # deployed vs source diff
63
63
  skaile doctor [name] # scan for broken deps
@@ -65,12 +65,14 @@ skaile create <name> [--kind k] # scaffold a new asset
65
65
  skaile history [limit] # recent actions
66
66
  ```
67
67
 
68
- `<ref>` is `@publisher/name` optionally pinned with `@version`.
68
+ `<ref>` is the canonical `kind:@<publisher>/<name>`, optionally pinned with
69
+ `#<version>` — e.g. `skill:@research/brief#1.0.0`. The `kind:` prefix is
70
+ required and the version follows `#`, never `@`.
69
71
 
70
72
  ### Pointer-only install from the catalog
71
73
 
72
74
  ```bash
73
- skaile install @research/brief@1.0.0
75
+ skaile install skill:@research/brief#1.0.0
74
76
  ```
75
77
 
76
78
  Resolves the install manifest from the configured catalog, fetches file bytes
@@ -92,15 +94,19 @@ grouped by publisher/source and Claude plugin, unlisted assets under `Other`), *
92
94
  ## Sources (third-party / team repos)
93
95
 
94
96
  ```bash
95
- skaile source add <git-url> # clone + register a github source (~/.skaile/sources/<name>)
97
+ skaile source add <git-url> # clone + register a github source (~/.skaile/cache/sources/<host>/<owner>/<repo>/)
96
98
  skaile source list # registered sources
97
99
  skaile source show <name>
98
100
  skaile source remove <name>
99
101
  skaile source sync [name] # re-fetch upstream changes
100
- skaile source build-manifest --path <p> [--diff|--write] # author-shipped inventory
101
- skaile source verify-manifest --path <p> --strict
102
+ skaile source manifest init <src> # curate a manifest over a source you don't own
103
+ skaile source manifest verify <src> --strict # verify hashes + manifest parse
102
104
  ```
103
105
 
106
+ `source manifest *` curates a catalog entry over a source you **don't** own. For
107
+ a library you author yourself, the manifest is its `skaile.manifest.yaml` (kept
108
+ current by `skaile library index <library>`) — see `skaile-author-asset`.
109
+
104
110
  ## Libraries (your authoring places)
105
111
 
106
112
  ```bash
@@ -110,7 +116,7 @@ skaile library create <kind> <name> # scaffold a new asset
110
116
  skaile library list|status|show <name>
111
117
  skaile library default <name> # set default
112
118
  skaile library commit|pull|push|sync <name> # git ops
113
- skaile library publish <ref> # push + register manifest atomically
119
+ skaile library publish <library> # push + register in the store (<library> is a NAME, not a ref)
114
120
  ```
115
121
 
116
122
  See the `skaile-author-asset` skill for the full authoring + publish flow.
@@ -154,7 +160,7 @@ catalog settings per-workspace.
154
160
  ## Dev-only assets
155
161
 
156
162
  A source can mark assets meant only for developing the project itself (those
157
- under `ai-assets-dev/`) as dev-only via `dev_paths` in its `.skaile-source.yaml`.
163
+ under `ai-assets-dev/`) as dev-only via `dev_paths` in its `skaile.manifest.yaml`.
158
164
  A normal sync excludes them; `--dev` on the sync re-includes them:
159
165
 
160
166
  ```bash
@@ -2,7 +2,7 @@
2
2
  name: skailify
3
3
  description: "Use when a user wants to move an existing coding-agent skill (a Claude Code skill under ~/.claude/skills/, or any SKILL.md directory) into a skaile library so it can be versioned and published. Trigger phrases: 'skailify my skill', 'import this Claude skill into my library', 'move my ~/.claude skill into skaile', 'turn my CC skill into a skaile asset', 'add my local skill to the library'. Drives `skaile asset import` and verifies with `skaile validate`."
4
4
  metadata:
5
- version: "0.1.0"
5
+ version: "0.1.1"
6
6
  source: AUTHORED
7
7
  stage: alpha
8
8
  tags:
@@ -52,7 +52,7 @@ wires the entry into `skaile.manifest.yaml`. The low-level `skaile asset migrate
52
52
 
53
53
  | Flag | Use |
54
54
  |---|---|
55
- | `--to <library>` | Target a non-default library. |
55
+ | `--library <library>` | Target a non-default library. |
56
56
  | `--version <semver>` | Stamp when the skill ships none (default `0.1.0`). |
57
57
  | `--stage <stage>` | `alpha` (default) \| `beta` \| `stable`. |
58
58
  | `--no-normalize` | Copy frontmatter verbatim (rare — only if already skaile-shaped). |
@@ -61,8 +61,12 @@ wires the entry into `skaile.manifest.yaml`. The low-level `skaile asset migrate
61
61
  ## After import
62
62
 
63
63
  - Edit the stamped `metadata.tags` if `import` left them empty.
64
- - To publish: `skaile library publish <kind>:@<publisher>/<name>@<version>`
65
- (needs a git-linked library — see [skaile-author-asset]).
64
+ - To publish: link the library to a GitHub remote once
65
+ (`skaile library link <library> <git-url>`), sign in (`skaile store login`),
66
+ then `skaile library publish <library>` — `<library>` is the library **name**,
67
+ not an asset ref; add `--asset <ref>` for one asset and `--dry-run` to preview
68
+ (see [skaile-author-asset]). The imported skill publishes as
69
+ `skill:@<publisher>/<name>#<version>`.
66
70
  - Re-running `import` for the same `(kind, name)` updates its manifest entry in
67
71
  place rather than duplicating it.
68
72
 
@@ -1,26 +1,26 @@
1
- export { flowFindFlowForSession, flowGetSession, flowList, flowListSessions, flowShow } from './chunk-FJTC5YFO.js';
1
+ export { flowFindFlowForSession, flowGetSession, flowList, flowListSessions, flowShow } from './chunk-XMQAV6T3.js';
2
2
  import './chunk-R6O6YWU7.js';
3
- import './chunk-7Y43UXKA.js';
3
+ import './chunk-JELTQ4H7.js';
4
4
  import './chunk-X5YPJV4N.js';
5
- import './chunk-XOTJVCJB.js';
6
- import './chunk-BIMEKYOE.js';
5
+ import './chunk-JKWU6ULI.js';
6
+ import './chunk-QEXEHXX5.js';
7
7
  import './chunk-4GY63JU6.js';
8
- import './chunk-PU5VY7KF.js';
9
- import './chunk-U6K3I3AX.js';
8
+ import './chunk-JCATNLY3.js';
9
+ import './chunk-XGIS325V.js';
10
10
  import './chunk-5BEFNLOR.js';
11
11
  import './chunk-A2ULN3KX.js';
12
- import './chunk-P2EM6FNQ.js';
13
- import './chunk-TLKM4M47.js';
12
+ import './chunk-6IGFSUTE.js';
13
+ import './chunk-MFHKHXDE.js';
14
14
  import './chunk-TOSHZX4C.js';
15
- import './chunk-YRF5CYHR.js';
15
+ import './chunk-SR4RFKHM.js';
16
16
  import './chunk-RVRB27AN.js';
17
- import './chunk-YANDJSMN.js';
18
- import './chunk-OABIGSUY.js';
17
+ import './chunk-LFMX2UEF.js';
18
+ import './chunk-WX74MVNA.js';
19
19
  import './chunk-ICSCSM5D.js';
20
20
  import './chunk-JMKB7IB4.js';
21
21
  import './chunk-MJHSLODD.js';
22
22
  import './chunk-C3CAXQMA.js';
23
23
  import './chunk-BOFL7GIF.js';
24
24
  import './chunk-NSBPE2FW.js';
25
- //# sourceMappingURL=flows-BOB5YA5R.js.map
26
- //# sourceMappingURL=flows-BOB5YA5R.js.map
25
+ //# sourceMappingURL=flows-DTADYIXH.js.map
26
+ //# sourceMappingURL=flows-DTADYIXH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"flows-BOB5YA5R.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"flows-DTADYIXH.js"}
@@ -1,25 +1,25 @@
1
- export { KIND_COL_WIDTH, S, TARGET_DEFAULT_HINT, bareSoftDepName, colorRef, fitWidth, formatRelativeTime, formatSoftDepAddPreview, formatSoftDepHint, formatSoftDepRemovePreview, formatSoftDepSection, kindColor, kindColorPad, logErr, logInfo, logOk, logWarn, warnLegacyClaudeCopies } from './chunk-77GKEZ2R.js';
2
- import './chunk-L257BENF.js';
3
- import './chunk-B4J4RGNY.js';
4
- import './chunk-LZ5RH6LD.js';
5
- import './chunk-4YE7OYTB.js';
1
+ export { KIND_COL_WIDTH, S, TARGET_DEFAULT_HINT, bareSoftDepName, colorRef, fitWidth, formatRelativeTime, formatSoftDepAddPreview, formatSoftDepHint, formatSoftDepRemovePreview, formatSoftDepSection, kindColor, kindColorPad, logErr, logInfo, logOk, logWarn, warnLegacyClaudeCopies } from './chunk-JEA32KB6.js';
2
+ import './chunk-BATL2CWI.js';
3
+ import './chunk-Y5OCUOXF.js';
4
+ import './chunk-Y7UBRRKG.js';
5
+ import './chunk-VKSA2CDJ.js';
6
6
  import './chunk-R7FOF242.js';
7
7
  import './chunk-ZDKJHQY2.js';
8
- import './chunk-KGGT6MUM.js';
8
+ import './chunk-37DN45RR.js';
9
9
  import './chunk-CGYEHQOX.js';
10
- import './chunk-BIMEKYOE.js';
10
+ import './chunk-QEXEHXX5.js';
11
11
  import './chunk-4GY63JU6.js';
12
- import './chunk-PU5VY7KF.js';
13
- import './chunk-U6K3I3AX.js';
12
+ import './chunk-JCATNLY3.js';
13
+ import './chunk-XGIS325V.js';
14
14
  import './chunk-5BEFNLOR.js';
15
15
  import './chunk-A2ULN3KX.js';
16
- import './chunk-P2EM6FNQ.js';
17
- import './chunk-TLKM4M47.js';
16
+ import './chunk-6IGFSUTE.js';
17
+ import './chunk-MFHKHXDE.js';
18
18
  import './chunk-TOSHZX4C.js';
19
- import './chunk-YRF5CYHR.js';
19
+ import './chunk-SR4RFKHM.js';
20
20
  import './chunk-RVRB27AN.js';
21
- import './chunk-YANDJSMN.js';
22
- import './chunk-OABIGSUY.js';
21
+ import './chunk-LFMX2UEF.js';
22
+ import './chunk-WX74MVNA.js';
23
23
  import './chunk-ICSCSM5D.js';
24
24
  import './chunk-JMKB7IB4.js';
25
25
  import './chunk-MJHSLODD.js';
@@ -30,5 +30,5 @@ import './chunk-UQ6LFBPZ.js';
30
30
  import './chunk-TNWXGHLD.js';
31
31
  import './chunk-5CYEWBPB.js';
32
32
  import './chunk-NSBPE2FW.js';
33
- //# sourceMappingURL=helpers-ZGK4R5MZ.js.map
34
- //# sourceMappingURL=helpers-ZGK4R5MZ.js.map
33
+ //# sourceMappingURL=helpers-F2RFRT5D.js.map
34
+ //# sourceMappingURL=helpers-F2RFRT5D.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"helpers-ZGK4R5MZ.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"helpers-F2RFRT5D.js"}