发布一个技能
提一个 Pull Request,剩下的交给审计流水线。
Skill Tree Hub 会自动从公开 GitHub 仓库(以及可选的第三方市场)抓取技能。想把你的技能上架,只要把仓库里加上一份 SKILL.md,下次构建 CI 就会把它收进索引。
- 01
建一个 Skill 目录
名字与 SKILL.md 里的 name 字段必须一致,全小写带连字符。下面这棵树就是社区认可的最小可发布形态。
my-skill/ ├── SKILL.md # 必须 · frontmatter + 指令正文 ├── scripts/ # 可选 · 可执行脚本(bash / python / node) │ └── main.ts ├── references/ # 可选 · 长篇资料、PDF、JSON schema │ └── api-spec.json ├── assets/ # 可选 · 图片、模板、配置示例 │ └── prompt-template.md ├── agents/ # 可选 · 各 Agent 专属配置 │ └── openai.yaml # Codex 的 UI / policy / 依赖声明 └── LICENSE - 02
写 SKILL.md
frontmatter 顶部的 name 与 description 是规范硬约束,其余字段属于本站审计加分项。description 写法决定 Agent 是否会激活你的技能——要写「触发条件」,不要写「功能介绍」。
--- name: my-skill description: 一句话说明:当用户出现 X 场景时调用本技能;当 Y 场景时不要调用。控制在 140 字以内。 category: engineering license: MIT version: 0.1.0 agents: [claude-code, codex, cursor] allowed-tools: [Read, Edit, Bash] tags: [refactor, typescript] --- ## 用途 这个 Skill 在解决什么问题?什么时候 Agent 应该主动调用它? ## 输入与输出 - 输入:你期望从用户或上游拿到什么 - 输出:你会留下什么文件、命令或结果 ## 工作流 1. 先做的事 2. 再做的事 3. 最后的检查 ## 限制 调用前用户应当知道的注意事项,比如「会改写当前分支的所有 .ts 文件」。 ## 示例 ```bash # 调用方式或常用命令 ```把模板复制到你的 SKILL.md,按注释填充即可。description 控制在 140 字以内。
- 03
(可选)配 Codex 专属字段
想让 Codex 卡片显示自定义图标和品牌色,可以在 agents/openai.yaml 里写 interface 块。policy.allow_implicit_invocation 控制是否允许 Codex 自动触发——风险高的技能建议设为 false,强制用户显式 $skill 调用。
interface: display_name: "我的技能" short_description: "一句简介,会显示在 Codex 卡片上" icon_small: "./assets/icon-16.svg" icon_large: "./assets/icon-128.png" brand_color: "#7C3AED" policy: # 默认 true。设为 false 后 Codex 不会自动触发,用户需 $skill 显式调用 allow_implicit_invocation: true dependencies: tools: - type: "mcp" value: "myDocsServer" description: "MyCo Docs MCP server" transport: "streamable_http" url: "https://docs.myco.com/mcp" - 04
本地预审一次
在 PR 之前,自己跑一遍 gitleaks 与本站的 audit 评分器,确保拿到至少 75 分。流水线不会重复给意见——直接告诉你这次过没过。
# 1. 跑 gitleaks(本站 entropy 阈值 3.8) gitleaks detect --no-git --redact -v --max-target-megabytes 8 # 2. 本地预演审计评分(脚本随贡献仓库下发) node scripts/audit.mjs ./my-skill - 05
提 Pull Request
CI 会依次跑 gitleaks、审计评分器、构建烟雾测试。绝大多数符合规范的 PR 在 24 小时内合入。如果触发风险判定,CI 评论会原样列出审计要点,让你能精准修。
信任分是怎么算出来的
基础分 70。许可证 +6、版本 +4、工具范围明确 +6、不使用 curl-pipe-bash +5、不使用 rm -rf / +5、无高熵字符串 +4。≥90 判已审计 · ≥75 判社区 · ≥50 判未审计 · 其它判风险。
信任分 = 70(基础分)
+ 6 # 声明了 license
+ 4 # 声明了 version
+ 6 # allowed-tools 范围明确
+ 5 # 安装命令不使用 curl … | bash
+ 5 # 不使用 rm -rf /
+ 4 # 全树 gitleaks 熵阈值 < 3.8
判定阈值
≥ 90 → 已审计 (verified)
≥ 75 → 社区 (community)
≥ 50 → 未审计 (unverified)
else → 风险 (flagged) 提交前自查清单
- description ≤ 140 字,明确写出「该 / 不该触发」
- 声明了 license(推荐 MIT / Apache-2.0)
- 声明了 version 并随发布递增
- allowed-tools 限定在你真正使用的工具
- 安装命令不使用 curl … | bash 模式
- 没有 rm -rf / 或同级递归删除
- README / SKILL.md 中没有真实密钥(gitleaks 0 命中)
常见问题
- 一定要先发布到 npm 才能上架吗?
- 不需要。我们直接镜像公开仓库里的 SKILL.md。在每个 Agent 推出官方注册表之前,安装命令保持占位形式,但卡片已经可点可复制。
- 怎么拿到「已审计」徽章?
- 满足审计清单的全部门槛(许可证、版本、不通过管道安装、不含高熵字符串),并拿到 90 分以上。徽章会在下次构建里自动贴上,没有人工评审队列。
- 索引多久刷新一次?
- 每次推到 main 分支会刷新一次,定时任务最多每六小时再跑一次。上游仓库的更新通常在一个构建周期内出现在站上。