Skill Wiki v0.1.0

文档 / spec / registry

本页目录

Registry 契约

一个 Prime 以 tarball + manifest 的形式发布。只要实现下面这一套最小 HTTP 契约的服务,都能当 registry。prime publishprime install 是这套契约的客户端,参考实现是 @skill-wiki/registry

最小 HTTP 契约

方法路径用途
POST/publish上传 Prime 的 tarball 和 manifest。
GET/pack/:scope按 scope 列出某个 Prime 的所有版本。
GET/pack/:scope/:version取某个具体版本的 manifest。
GET/pack/:scope/:version/tarball下载这个 Prime 的 tarball。

Prime manifest

每个发布出去的 Prime,tarball 根目录都要带一份 pack.yaml

name: "@frontend-design"
version: "0.1.0"
description: "Design knowledge for AI agents — 898 atoms across 9 sub-domains."
license: Apache-2.0

atoms: 898
namespaces:
  - "@community"
  - "@impeccable"
  - "@anthropic-impeccable"
  - "@nielsen"
  - "@w3c"

prime-version: "1.0"   # 这个 Prime 对接的协议版本
sha256: "..."          # 整个 tarball 的校验和;安装时校验

Tarball 布局

pack.tar.gz
├── pack.yaml
├── domain.yaml          # 如果这个 Prime 自带 domain
├── primes/
│   └── sources/
│       └── @scope/
│           └── kind-name.prime
└── compiled/            # 可选,预编译产物
    └── ...

认证

参考 registry 用 bearer token 鉴权 POST /publish,读操作公开。Token 怎么发是 registry 自己的事,协议不管——按你的分发模型挑就行(按组织、按用户、按 CI 都可以)。

版本

  • Prime 版本走 semver:patch 是原子内容修改;minor 是新增原子或新增边目标;major 是删原子或删 verb。
  • Prime 内部的原子也通过自己的 version 字段走 semver。
  • prime install @scope 会解析到匹配消费方 SKILL.md 声明范围的最新 semver。

跑一个自己的 registry

参考 registry 就一个文件:

# 在 4000 端口跑起来,Prime 存在 SQLite 里。
bun run packages/registry/src/index.ts --port 4000

# 在任意 Prime 根目录发布到它。
prime publish --remote http://localhost:4000

# 在任意消费方安装。
prime install @your-prime --remote http://localhost:4000