{ "manifest_version": 1, "name": "skill-catalog", "summary": "技能目录站:把对外发布的技能生成一个静态站(能干什么 / 先装什么 / 要配什么 / 依赖谁 / 一条安装命令),生成物不手改页面。", "tier": 1, "status": "stable", "version": "5067fdf", "source": { "path": "skills/skill-catalog", "commit": "5067fdf", "describe": "5067fdf", "dirty": false, "packed_at": "2026-10-02T05:54:51.818Z" }, "platforms": [ "darwin", "linux" ], "entry": { "path": "scripts/skill-catalog.mjs" }, "commands": [ "build", "preview", "deploy", "list", "check" ], "errors": [ "usage", "deps", "platform", "auth", "config", "notfound", "conflict", "blocked", "timeout", "external", "internal" ], "aliases": [ "skill-catalog" ], "admin": [], "depends_on": [ { "skill": "skill-interface", "tierAtLeast": 1, "note": "技能发现与接口解析 skill-registry.mjs、配置契约 skill-config.mjs、泄漏扫描 skill-pack.mjs" } ], "requires": [ { "kind": "runtime", "name": "node", "check": "which node", "note": "生成器;零 npm 依赖" }, { "kind": "runtime", "name": "python3", "check": "which python3", "note": "预览用的本地文件服务;部署时的 tar/ssh 走系统命令" }, { "kind": "binary", "name": "tar", "note": "部署打包(tar)与字体下载/上线自检(curl)" }, { "kind": "binary", "name": "curl", "note": "部署打包(tar)与字体下载/上线自检(curl)" } ], "config": [ { "key": "site_url", "desc": "站点公开地址(写进页面的 canonical 与分享链接)", "type": "url" }, { "key": "deploy_relay", "desc": "部署用的跳板机(本地能 ssh 的别名)", "type": "string", "default": "lightos" }, { "key": "deploy_host", "desc": "目标主机(在跳板机上能 ssh 的别名)", "type": "string", "default": "aliyun-hk" }, { "key": "deploy_path", "desc": "目标目录(Caddy 站点根,站点以 current 软链切换)", "type": "path", "required": true, "ask": "目录站放到目标机器的哪个目录?" } ], "external_imports": [ { "from": "scripts/skill-catalog.mjs", "import": "../../skill-interface/scripts/skill-registry.mjs", "target": "../skill-interface/scripts/skill-registry.mjs" }, { "from": "scripts/skill-catalog.mjs", "import": "../../skill-interface/scripts/skill-config.mjs", "target": "../skill-interface/scripts/skill-config.mjs" }, { "from": "scripts/skill-catalog.mjs", "import": "../../skill-interface/scripts/skill-pack.mjs", "target": "../skill-interface/scripts/skill-pack.mjs" } ], "contract": { "version": 1, "skill": "skill-catalog", "tier": 1, "platforms": [ "darwin", "linux" ], "commands": { "build": { "destructive": false }, "check": { "destructive": false }, "deploy": { "destructive": false }, "list": { "destructive": false }, "preview": { "destructive": false } }, "errors": [ "auth", "blocked", "config", "conflict", "deps", "external", "internal", "notfound", "platform", "timeout", "usage" ], "aliases": [ "skill-catalog" ], "adminAliases": [] }, "files": [ { "path": "REFERENCE.md", "bytes": 8622, "sha256": "1f02f50d78756cb2" }, { "path": "SKILL.md", "bytes": 1675, "sha256": "66ae1ca77fa750af" }, { "path": "VERSION", "bytes": 6, "sha256": "297b50f08386d352" }, { "path": "assets/app.js", "bytes": 5134, "sha256": "585048deddd24fa1" }, { "path": "assets/favicon.svg", "bytes": 235, "sha256": "dc255fa0fe62baca" }, { "path": "assets/style.css", "bytes": 17877, "sha256": "d2a02fd09ea7ffa7" }, { "path": "contract.lock.json", "bytes": 616, "sha256": "8ad8365c09c32df8" }, { "path": "interface.json", "bytes": 2813, "sha256": "85140b7a2154ada6" }, { "path": "scripts/setup-hosting.sh", "bytes": 1366, "sha256": "911b62832db699d6" }, { "path": "scripts/skill-catalog.mjs", "bytes": 38433, "sha256": "6faf465b64cc520a" } ], "leak_scan": { "errors": 0, "warnings": 0, "findings": [] } }