我们团队有一些 Agent Skills 不想公开,但想在团队内部共享。找了一圈没找到合适的地方放私有 skills ,就自己写了一个:skillsgist 。
GitHub: https://github.com/Qsnh/skillsgist ( MIT )
简单说,它是部署在你自己 Cloudflare 账号下的私有 Agent Skills 仓库,用的 npx skills add 安装。

基本情况
- 部署只要一个 Worker 、一个 D1 和一个 R2 ,默认配置在 Workers 免费版里就能跑。README 里有 Deploy to Cloudflare 按钮,点完填一个
SESSION_SECRET,再打开/setup建第一个管理员就能用了,也可以用 wrangler 手动部署。 - 服务端实现了 skills.sh 的发现协议(
/.well-known/agent-skills/index.json),所以直接用下面安装:
# 项目里的公开技能,不需要 key
npx skills add https://skills.example.com/p/<project>
# 私有技能:每个人在每个项目有自己的 install key
npx skills add https://skills.example.com/i/<install-key>
- 新技能默认私有,要公开得在那个技能上单独打开。
- 发布方式:网页上传 zip 、tar.gz 或者单个 SKILL.md ,也可以直接在网页上改 SKILL.md 。CI 可以调一个幂等的
PUT接口,内容没变就不会生成新版本,所以每次 push 都发一遍也没关系。 - 版本不可变,按 v1 、v2 、v3 编号。产物按内容寻址,CLI 下载后会校验 digest 。把旧版本的内容重新发一次就是回滚。
- 页面全部在服务端渲染,不开 JS 也能用。

v1.0 之后加了什么
v1.0.0 是 9 月 24 日发的,到 9 月 29 日发了三个版本。
v1.1.0:项目和下载量
- 技能按项目( Project )分组,人按项目加入,每个项目里的角色单独设。项目管理员可以管自己项目的技能和成员,不需要全站管理员权限。
- install key 改成每人每项目一把,一把 key 只能装一个项目的技能。
- 每个项目有自己的主页,上面是安装命令、搜索和技能列表。技能也可以连同版本和下载量一起挪到别的项目。
- 加了下载量:CLI 安装和网页上的"下载 zip"算一次,看页面、拉索引、被拒的请求都不算。

v1.2.0:界面支持中文
- 界面现在有英文、简体中文、繁体中文和日文。语言跟随浏览器,也可以在页脚手动切换。
- 各种语言共用同一个网址,你分享出去的链接,同事打开时会按对方自己的语言显示。安装命令和 API 不受影响,技能内容本身不翻译。

v1.3.0:按成员控制发布权限
- 项目设置页里,每个成员旁边有"允许发布 / 禁止发布"的按钮。新加入的成员默认不能发布。
- 被禁的成员照样能看、能装项目里所有技能,只是不能往这个项目发布,也不能改自己在这个项目里的技能。
- 项目管理员和全站管理员始终可以发布。
- 通过 API 发布会直接返回 403 ,并告诉对方去找项目管理员开通:
{"error":"forbidden","message":"You are not allowed to publish to platform. Ask one of its admins to allow it."}

升级
git pull
npm install
npm run deploy # 会先跑数据库迁移
如果是用 Deploy to Cloudflare 按钮部署的,把上游仓库 merge 进你的副本再 push ,Workers Builds 会自动重新部署并跑迁移。
目前的限制
- 单次上传最大 2 MB ,解压后最大 8 MB ,最多 200 个文件。这是为了让每个请求在免费版的 CPU 限额里跑完,换付费版可以调大。
- 没有开放注册,也没有 SSO/OIDC ,账号由管理员在网页后台创建。