@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.
- package/CHANGELOG.md +72 -0
- package/README.md +9 -2
- package/dist/{asset-feeds-WDIB3E6H.js → asset-feeds-3MVRNS5U.js} +12 -12
- package/dist/{asset-feeds-WDIB3E6H.js.map → asset-feeds-3MVRNS5U.js.map} +1 -1
- package/dist/asset-manager/catalog-deployer.js +9 -9
- package/dist/asset-manager/index.js +13 -13
- package/dist/asset-manager/installer.js +9 -9
- package/dist/asset-manager/src/index.d.ts +22 -3
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts +9 -1
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/bridge/drivers/claude-sdk.js +11 -11
- package/dist/bridge/drivers/codex.js +10 -10
- package/dist/bridge/drivers/continue.js +12 -12
- package/dist/bridge/drivers/echo.js +1 -1
- package/dist/bridge/drivers/gemini.js +5 -5
- package/dist/bridge/drivers/goose.js +12 -12
- package/dist/bridge/drivers/omp.js +2 -2
- package/dist/bridge/drivers/opencode.js +12 -12
- package/dist/bridge/drivers/qwen.js +5 -5
- package/dist/bridge/index.js +12 -12
- package/dist/{chunk-WMEPS6S4.js → chunk-2XXAVTTO.js} +3 -3
- package/dist/{chunk-WMEPS6S4.js.map → chunk-2XXAVTTO.js.map} +1 -1
- package/dist/{chunk-KGGT6MUM.js → chunk-37DN45RR.js} +19 -7
- package/dist/chunk-37DN45RR.js.map +1 -0
- package/dist/chunk-5NH3U6N5.js +15 -0
- package/dist/{chunk-BZXR6SW5.js.map → chunk-5NH3U6N5.js.map} +1 -1
- package/dist/{chunk-P2EM6FNQ.js → chunk-6IGFSUTE.js} +23 -36
- package/dist/chunk-6IGFSUTE.js.map +1 -0
- package/dist/{chunk-EOGNW74K.js → chunk-7KITVWXK.js} +25 -23
- package/dist/chunk-7KITVWXK.js.map +1 -0
- package/dist/{chunk-S6KNDUAU.js → chunk-A67BHJCH.js} +5 -5
- package/dist/{chunk-S6KNDUAU.js.map → chunk-A67BHJCH.js.map} +1 -1
- package/dist/{chunk-3E2TIPBZ.js → chunk-AE42DHSH.js} +2 -2
- package/dist/{chunk-3E2TIPBZ.js.map → chunk-AE42DHSH.js.map} +1 -1
- package/dist/{chunk-L257BENF.js → chunk-BATL2CWI.js} +128 -32
- package/dist/chunk-BATL2CWI.js.map +1 -0
- package/dist/{chunk-2MEMXBLC.js → chunk-BHUHGLNS.js} +5 -5
- package/dist/{chunk-2MEMXBLC.js.map → chunk-BHUHGLNS.js.map} +1 -1
- package/dist/{chunk-XIYXBHLN.js → chunk-DTV7HL5R.js} +2 -2
- package/dist/{chunk-XIYXBHLN.js.map → chunk-DTV7HL5R.js.map} +1 -1
- package/dist/{chunk-BJQUSAGB.js → chunk-GCYD4EGY.js} +4 -4
- package/dist/{chunk-BJQUSAGB.js.map → chunk-GCYD4EGY.js.map} +1 -1
- package/dist/{chunk-EB6OPURC.js → chunk-HTKZ4AOW.js} +3 -3
- package/dist/{chunk-EB6OPURC.js.map → chunk-HTKZ4AOW.js.map} +1 -1
- package/dist/{chunk-OFNXRI4L.js → chunk-IDUGP4V7.js} +3 -3
- package/dist/{chunk-OFNXRI4L.js.map → chunk-IDUGP4V7.js.map} +1 -1
- package/dist/{chunk-ANWHAGM7.js → chunk-JAJG4G5E.js} +3 -3
- package/dist/{chunk-ANWHAGM7.js.map → chunk-JAJG4G5E.js.map} +1 -1
- package/dist/{chunk-PU5VY7KF.js → chunk-JCATNLY3.js} +4 -4
- package/dist/{chunk-PU5VY7KF.js.map → chunk-JCATNLY3.js.map} +1 -1
- package/dist/{chunk-77GKEZ2R.js → chunk-JEA32KB6.js} +3 -3
- package/dist/{chunk-77GKEZ2R.js.map → chunk-JEA32KB6.js.map} +1 -1
- package/dist/{chunk-7Y43UXKA.js → chunk-JELTQ4H7.js} +3 -3
- package/dist/{chunk-7Y43UXKA.js.map → chunk-JELTQ4H7.js.map} +1 -1
- package/dist/{chunk-R3QW7CA5.js → chunk-JF26V3BC.js} +7 -7
- package/dist/chunk-JF26V3BC.js.map +1 -0
- package/dist/{chunk-XOTJVCJB.js → chunk-JKWU6ULI.js} +3 -3
- package/dist/{chunk-XOTJVCJB.js.map → chunk-JKWU6ULI.js.map} +1 -1
- package/dist/{chunk-ARUJBGAH.js → chunk-KXTO7HON.js} +3 -3
- package/dist/{chunk-ARUJBGAH.js.map → chunk-KXTO7HON.js.map} +1 -1
- package/dist/{chunk-2QZG5VJQ.js → chunk-LAI7X6I2.js} +3 -3
- package/dist/{chunk-2QZG5VJQ.js.map → chunk-LAI7X6I2.js.map} +1 -1
- package/dist/{chunk-YANDJSMN.js → chunk-LFMX2UEF.js} +3 -3
- package/dist/{chunk-YANDJSMN.js.map → chunk-LFMX2UEF.js.map} +1 -1
- package/dist/{chunk-BUNBKRJZ.js → chunk-LUBS5DXY.js} +3 -3
- package/dist/{chunk-BUNBKRJZ.js.map → chunk-LUBS5DXY.js.map} +1 -1
- package/dist/{chunk-TLKM4M47.js → chunk-MFHKHXDE.js} +6 -3
- package/dist/chunk-MFHKHXDE.js.map +1 -0
- package/dist/chunk-NESV47MF.js +20 -0
- package/dist/chunk-NESV47MF.js.map +1 -0
- package/dist/{chunk-6OWIEFZ2.js → chunk-OANSNVCP.js} +5 -5
- package/dist/{chunk-6OWIEFZ2.js.map → chunk-OANSNVCP.js.map} +1 -1
- package/dist/{chunk-MGHUSFYQ.js → chunk-ONWTPXVU.js} +8 -8
- package/dist/{chunk-MGHUSFYQ.js.map → chunk-ONWTPXVU.js.map} +1 -1
- package/dist/{chunk-DD3OZLRD.js → chunk-OXE5A6H6.js} +3 -3
- package/dist/{chunk-DD3OZLRD.js.map → chunk-OXE5A6H6.js.map} +1 -1
- package/dist/{chunk-BIMEKYOE.js → chunk-QEXEHXX5.js} +15 -18
- package/dist/chunk-QEXEHXX5.js.map +1 -0
- package/dist/{chunk-TVJBJLXR.js → chunk-QK756IRJ.js} +13 -13
- package/dist/{chunk-TVJBJLXR.js.map → chunk-QK756IRJ.js.map} +1 -1
- package/dist/{chunk-UDBN3LZU.js → chunk-RD6GE4HU.js} +4 -4
- package/dist/{chunk-UDBN3LZU.js.map → chunk-RD6GE4HU.js.map} +1 -1
- package/dist/{chunk-IOUIC2ZD.js → chunk-SQBPE66C.js} +8 -8
- package/dist/{chunk-IOUIC2ZD.js.map → chunk-SQBPE66C.js.map} +1 -1
- package/dist/{chunk-YRF5CYHR.js → chunk-SR4RFKHM.js} +36 -5
- package/dist/chunk-SR4RFKHM.js.map +1 -0
- package/dist/{chunk-BWOLP6KQ.js → chunk-U6ORGQHZ.js} +3 -3
- package/dist/{chunk-BWOLP6KQ.js.map → chunk-U6ORGQHZ.js.map} +1 -1
- package/dist/{chunk-RXPC4KBW.js → chunk-UAAAERXI.js} +3 -3
- package/dist/{chunk-RXPC4KBW.js.map → chunk-UAAAERXI.js.map} +1 -1
- package/dist/chunk-UKDFOOEG.js +22 -0
- package/dist/chunk-UKDFOOEG.js.map +1 -0
- package/dist/{chunk-6ZCVROWW.js → chunk-UNRZCQD4.js} +6 -6
- package/dist/{chunk-6ZCVROWW.js.map → chunk-UNRZCQD4.js.map} +1 -1
- package/dist/{chunk-ZSFTCMZL.js → chunk-VETH6MDG.js} +19 -19
- package/dist/{chunk-ZSFTCMZL.js.map → chunk-VETH6MDG.js.map} +1 -1
- package/dist/{chunk-4YE7OYTB.js → chunk-VKSA2CDJ.js} +5 -6
- package/dist/chunk-VKSA2CDJ.js.map +1 -0
- package/dist/{chunk-OABIGSUY.js → chunk-WX74MVNA.js} +2 -2
- package/dist/chunk-WX74MVNA.js.map +1 -0
- package/dist/{chunk-U6K3I3AX.js → chunk-XGIS325V.js} +3 -3
- package/dist/{chunk-U6K3I3AX.js.map → chunk-XGIS325V.js.map} +1 -1
- package/dist/{chunk-FJTC5YFO.js → chunk-XMQAV6T3.js} +3 -3
- package/dist/{chunk-FJTC5YFO.js.map → chunk-XMQAV6T3.js.map} +1 -1
- package/dist/{chunk-B4J4RGNY.js → chunk-Y5OCUOXF.js} +34 -19
- package/dist/chunk-Y5OCUOXF.js.map +1 -0
- package/dist/{chunk-LZ5RH6LD.js → chunk-Y7UBRRKG.js} +89 -128
- package/dist/chunk-Y7UBRRKG.js.map +1 -0
- package/dist/{chunk-PHKFFJ4I.js → chunk-ZIYYMR6Y.js} +3 -3
- package/dist/{chunk-PHKFFJ4I.js.map → chunk-ZIYYMR6Y.js.map} +1 -1
- package/dist/{chunk-JPR7EPIM.js → chunk-ZUZ5LLZ2.js} +4 -4
- package/dist/{chunk-JPR7EPIM.js.map → chunk-ZUZ5LLZ2.js.map} +1 -1
- package/dist/cli/index.js +796 -583
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/catalog-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/catalog.d.ts +33 -3
- package/dist/cli/src/commands/catalog.d.ts.map +1 -1
- package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/library-index.d.ts +57 -1
- package/dist/cli/src/commands/library-index.d.ts.map +1 -1
- package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
- package/dist/cli/src/commands/npx.d.ts.map +1 -1
- package/dist/cli/src/commands/outdated.d.ts +3 -1
- package/dist/cli/src/commands/outdated.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/skailify-lib.d.ts +3 -2
- package/dist/cli/src/commands/skailify-lib.d.ts.map +1 -1
- package/dist/cli/src/commands/update.d.ts.map +1 -1
- package/dist/cli/src/commands/validate.d.ts.map +1 -1
- package/dist/cli/src/setup.d.ts.map +1 -1
- package/dist/cli/src/skill-checks.d.ts +21 -0
- package/dist/cli/src/skill-checks.d.ts.map +1 -0
- package/dist/cli/src/spinner.d.ts +24 -0
- package/dist/cli/src/spinner.d.ts.map +1 -0
- package/dist/connectors/config.js +6 -6
- package/dist/connectors/index.js +15 -15
- package/dist/{connectors-GUN4MRWR.js → connectors-OB3OAZTK.js} +18 -18
- package/dist/{connectors-GUN4MRWR.js.map → connectors-OB3OAZTK.js.map} +1 -1
- package/dist/core/index.js +8 -8
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.js +1 -1
- package/dist/core/publish-manifest.js +2 -2
- package/dist/core/ref.js +1 -1
- package/dist/core/runtime-assets.js +6 -6
- package/dist/core/src/asset-roots.d.ts +8 -0
- package/dist/core/src/asset-roots.d.ts.map +1 -1
- package/dist/core/src/cache-paths.d.ts +6 -0
- package/dist/core/src/cache-paths.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +2 -2
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/models.d.ts +7 -0
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/publish-manifest.d.ts +26 -2
- package/dist/core/src/publish-manifest.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/walker.d.ts.map +1 -1
- package/dist/core/store.js +2 -2
- package/dist/core/workspace-config.js +5 -5
- package/dist/deploy/index.js +8 -8
- package/dist/discovery/index.js +4 -4
- package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
- package/dist/discovery/src/discover.d.ts.map +1 -1
- package/dist/discovery/src/hash.d.ts +45 -23
- package/dist/discovery/src/hash.d.ts.map +1 -1
- package/dist/discovery/src/index.d.ts +2 -0
- package/dist/discovery/src/index.d.ts.map +1 -1
- package/dist/discovery/src/parse-manifest.d.ts +27 -0
- package/dist/discovery/src/parse-manifest.d.ts.map +1 -0
- package/dist/discovery/src/tree-entries.d.ts.map +1 -1
- package/dist/{ensure-sources-VCPA762L.js → ensure-sources-Z3KKLEM6.js} +16 -16
- package/dist/{ensure-sources-VCPA762L.js.map → ensure-sources-Z3KKLEM6.js.map} +1 -1
- package/dist/factory-assets/README.md +2 -2
- package/dist/factory-assets/connectors/box.js +15 -15
- package/dist/factory-assets/connectors/deploy.js +15 -15
- package/dist/factory-assets/connectors/devserver.js +15 -15
- package/dist/factory-assets/connectors/flow/adapter.js +15 -15
- package/dist/factory-assets/connectors/flow/engine.js +9 -9
- package/dist/factory-assets/connectors/flow/run-flow.js +17 -17
- package/dist/factory-assets/connectors/flow.js +15 -15
- package/dist/factory-assets/connectors/git.js +15 -15
- package/dist/factory-assets/connectors/gmail.js +15 -15
- package/dist/factory-assets/connectors/googledrive.js +15 -15
- package/dist/factory-assets/connectors/local.js +15 -15
- package/dist/factory-assets/connectors/mattermost.js +15 -15
- package/dist/factory-assets/connectors/memory.js +15 -15
- package/dist/factory-assets/connectors/minio.js +15 -15
- package/dist/factory-assets/connectors/postgres.js +15 -15
- package/dist/factory-assets/connectors/s3.js +15 -15
- package/dist/factory-assets/connectors/sharepoint.js +15 -15
- package/dist/factory-assets/connectors/sqlite.js +15 -15
- package/dist/factory-assets/connectors/static-server.js +15 -15
- package/dist/factory-assets/connectors/tunnel.js +15 -15
- package/dist/factory-assets/connectors/webdav.js +15 -15
- package/dist/factory-assets/connectors/xstate-store.js +15 -15
- package/dist/factory-assets/connectors/xstate.js +15 -15
- package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +17 -15
- package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +20 -17
- package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +82 -71
- package/dist/factory-assets/skills/skaile-manage-workspace/SKILL.md +17 -11
- package/dist/factory-assets/skills/skailify/SKILL.md +8 -4
- package/dist/{flows-BOB5YA5R.js → flows-DTADYIXH.js} +13 -13
- package/dist/{flows-BOB5YA5R.js.map → flows-DTADYIXH.js.map} +1 -1
- package/dist/{helpers-ZGK4R5MZ.js → helpers-F2RFRT5D.js} +16 -16
- package/dist/{helpers-ZGK4R5MZ.js.map → helpers-F2RFRT5D.js.map} +1 -1
- package/dist/library/index.js +11 -11
- package/dist/library/install.js +3 -2
- package/dist/library/src/config.d.ts +5 -4
- package/dist/library/src/config.d.ts.map +1 -1
- package/dist/library/src/index.d.ts +1 -1
- package/dist/library/src/index.d.ts.map +1 -1
- package/dist/library/src/install/install-from-manifest.d.ts.map +1 -1
- package/dist/library/src/local/install-library-asset.d.ts +3 -2
- package/dist/library/src/local/install-library-asset.d.ts.map +1 -1
- package/dist/library/src/local/library.d.ts.map +1 -1
- package/dist/library/src/manifest-writer.d.ts +6 -0
- package/dist/library/src/manifest-writer.d.ts.map +1 -1
- package/dist/library/src/sync/git-driver.d.ts +8 -0
- package/dist/library/src/sync/git-driver.d.ts.map +1 -1
- package/dist/{library-publish-RIP6NBYA.js → library-publish-62RFU74A.js} +47 -26
- package/dist/library-publish-62RFU74A.js.map +1 -0
- package/dist/{open-library-4IJTBVTR.js → open-library-NVG3CZUO.js} +19 -19
- package/dist/{open-library-4IJTBVTR.js.map → open-library-NVG3CZUO.js.map} +1 -1
- package/dist/open-registry-IYH6W6CN.js +32 -0
- package/dist/{open-registry-G5DI4RPU.js.map → open-registry-IYH6W6CN.js.map} +1 -1
- package/dist/paths-STQO4FYF.js +22 -0
- package/dist/{paths-L5XLUC3D.js.map → paths-STQO4FYF.js.map} +1 -1
- package/dist/{plugin-store-QENDYZ63.js → plugin-store-2DTEIJTG.js} +10 -10
- package/dist/{plugin-store-QENDYZ63.js.map → plugin-store-2DTEIJTG.js.map} +1 -1
- package/dist/{project-4INCIIZI.js → project-44LM6SRV.js} +18 -17
- package/dist/{project-4INCIIZI.js.map → project-44LM6SRV.js.map} +1 -1
- package/dist/resolver/index.js +9 -9
- package/dist/runner/index.js +25 -25
- package/dist/sdk/asset-manager.js +13 -13
- package/dist/sdk/bridge.js +12 -12
- package/dist/sdk/core.js +8 -8
- package/dist/sdk/flow.js +9 -9
- package/dist/sdk/index.js +25 -25
- package/dist/sdk/resolver.js +9 -9
- package/dist/sdk/runner.js +25 -25
- package/dist/secrets/index.js +2 -2
- package/dist/{setup-RG4PJJUW.js → setup-4BV5ZWOZ.js} +24 -23
- package/dist/setup-4BV5ZWOZ.js.map +1 -0
- package/dist/skills-M7OU3WMP.js +26 -0
- package/dist/{skills-CL45F7AG.js.map → skills-M7OU3WMP.js.map} +1 -1
- package/dist/{source-LJOI5AXU.js → source-HTT6CXUP.js} +20 -20
- package/dist/{source-LJOI5AXU.js.map → source-HTT6CXUP.js.map} +1 -1
- package/dist/{source-manifest-publish-QEJML4VS.js → source-manifest-publish-CPXUX3CL.js} +22 -22
- package/dist/{source-manifest-publish-QEJML4VS.js.map → source-manifest-publish-CPXUX3CL.js.map} +1 -1
- package/dist/tui/index.js +25 -25
- package/dist/workspace-plugin/adapters/mcp.js +22 -22
- package/dist/workspace-plugin/adapters/omp.js +14 -14
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-4YE7OYTB.js.map +0 -1
- package/dist/chunk-B4J4RGNY.js.map +0 -1
- package/dist/chunk-BIMEKYOE.js.map +0 -1
- package/dist/chunk-BZXR6SW5.js +0 -15
- package/dist/chunk-EOGNW74K.js.map +0 -1
- package/dist/chunk-KGGT6MUM.js.map +0 -1
- package/dist/chunk-L257BENF.js.map +0 -1
- package/dist/chunk-LZ5RH6LD.js.map +0 -1
- package/dist/chunk-OABIGSUY.js.map +0 -1
- package/dist/chunk-P2EM6FNQ.js.map +0 -1
- package/dist/chunk-R3QW7CA5.js.map +0 -1
- package/dist/chunk-TLKM4M47.js.map +0 -1
- package/dist/chunk-YRF5CYHR.js.map +0 -1
- package/dist/library-publish-RIP6NBYA.js.map +0 -1
- package/dist/open-registry-G5DI4RPU.js +0 -32
- package/dist/paths-L5XLUC3D.js +0 -22
- package/dist/setup-RG4PJJUW.js.map +0 -1
- 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.
|
|
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
|
|
62
|
-
root with an `assets:` list and lay files out however you like;
|
|
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`
|
|
145
|
-
|
|
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
|
|
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.
|
|
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
|
|
21
|
-
MCP server) resolves through `@skaile/workspaces` and any store. This
|
|
22
|
-
the
|
|
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
|
-
##
|
|
30
|
+
## Two files, two halves
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
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
|
|
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
|
|
230
|
-
|
|
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
|
|
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.
|
|
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,
|
|
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
|
-
├──
|
|
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`
|
|
96
|
-
2.
|
|
97
|
-
3. `
|
|
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 `
|
|
101
|
-
|
|
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
|
-
- "
|
|
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 —
|
|
143
|
+
## 4. The manifest — `skaile.manifest.yaml`
|
|
144
144
|
|
|
145
|
-
One file at the **repo root** declares
|
|
146
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
```
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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
|
-
|
|
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
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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
|
-
|
|
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
|
-
|
|
192
|
-
|
|
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
|
|
196
|
-
skaile source
|
|
197
|
-
skaile source
|
|
198
|
-
skaile source
|
|
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
|
-
|
|
212
|
-
skaile library publish @research/brief@1.0.0
|
|
213
|
+
skaile store login
|
|
213
214
|
|
|
214
|
-
#
|
|
215
|
-
skaile library
|
|
215
|
+
# Preview the plan: remote, publisher namespace(s), ref, refs to publish
|
|
216
|
+
skaile library publish personal --dry-run
|
|
216
217
|
|
|
217
|
-
#
|
|
218
|
-
skaile library
|
|
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
|
-
|
|
222
|
-
|
|
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
|
|
247
|
+
- **Mechanism:** declare it in `skaile.manifest.yaml` under `dev_paths`:
|
|
236
248
|
|
|
237
249
|
```yaml
|
|
238
|
-
|
|
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.
|
|
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
|
-
|
|
49
|
-
`bundle`, `contract`)
|
|
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 [
|
|
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
|
|
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
|
|
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/<
|
|
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
|
|
101
|
-
skaile source
|
|
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 <
|
|
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
|
|
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.
|
|
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
|
-
| `--
|
|
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:
|
|
65
|
-
(
|
|
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-
|
|
1
|
+
export { flowFindFlowForSession, flowGetSession, flowList, flowListSessions, flowShow } from './chunk-XMQAV6T3.js';
|
|
2
2
|
import './chunk-R6O6YWU7.js';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-JELTQ4H7.js';
|
|
4
4
|
import './chunk-X5YPJV4N.js';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
import './chunk-JKWU6ULI.js';
|
|
6
|
+
import './chunk-QEXEHXX5.js';
|
|
7
7
|
import './chunk-4GY63JU6.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
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-
|
|
13
|
-
import './chunk-
|
|
12
|
+
import './chunk-6IGFSUTE.js';
|
|
13
|
+
import './chunk-MFHKHXDE.js';
|
|
14
14
|
import './chunk-TOSHZX4C.js';
|
|
15
|
-
import './chunk-
|
|
15
|
+
import './chunk-SR4RFKHM.js';
|
|
16
16
|
import './chunk-RVRB27AN.js';
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
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-
|
|
26
|
-
//# sourceMappingURL=flows-
|
|
25
|
+
//# sourceMappingURL=flows-DTADYIXH.js.map
|
|
26
|
+
//# sourceMappingURL=flows-DTADYIXH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"flows-
|
|
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-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
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-
|
|
8
|
+
import './chunk-37DN45RR.js';
|
|
9
9
|
import './chunk-CGYEHQOX.js';
|
|
10
|
-
import './chunk-
|
|
10
|
+
import './chunk-QEXEHXX5.js';
|
|
11
11
|
import './chunk-4GY63JU6.js';
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
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-
|
|
17
|
-
import './chunk-
|
|
16
|
+
import './chunk-6IGFSUTE.js';
|
|
17
|
+
import './chunk-MFHKHXDE.js';
|
|
18
18
|
import './chunk-TOSHZX4C.js';
|
|
19
|
-
import './chunk-
|
|
19
|
+
import './chunk-SR4RFKHM.js';
|
|
20
20
|
import './chunk-RVRB27AN.js';
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-
|
|
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-
|
|
34
|
-
//# sourceMappingURL=helpers-
|
|
33
|
+
//# sourceMappingURL=helpers-F2RFRT5D.js.map
|
|
34
|
+
//# sourceMappingURL=helpers-F2RFRT5D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"helpers-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"helpers-F2RFRT5D.js"}
|