发布一个技能

提一个 Pull Request,剩下的交给审计流水线。

Skill Tree Hub 会自动从公开 GitHub 仓库(以及可选的第三方市场)抓取技能。想把你的技能上架,只要把仓库里加上一份 SKILL.md,下次构建 CI 就会把它收进索引。

  1. 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
  2. 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 字以内。

  3. 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"
    
  4. 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
  5. 05

    提 Pull Request

    CI 会依次跑 gitleaks、审计评分器、构建烟雾测试。绝大多数符合规范的 PR 在 24 小时内合入。如果触发风险判定,CI 评论会原样列出审计要点,让你能精准修。

打开贡献仓库 → 查看 Agent Skill 开放标准 →

信任分是怎么算出来的

基础分 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)

提交前自查清单

常见问题

一定要先发布到 npm 才能上架吗?
不需要。我们直接镜像公开仓库里的 SKILL.md。在每个 Agent 推出官方注册表之前,安装命令保持占位形式,但卡片已经可点可复制。
怎么拿到「已审计」徽章?
满足审计清单的全部门槛(许可证、版本、不通过管道安装、不含高熵字符串),并拿到 90 分以上。徽章会在下次构建里自动贴上,没有人工评审队列。
索引多久刷新一次?
每次推到 main 分支会刷新一次,定时任务最多每六小时再跑一次。上游仓库的更新通常在一个构建周期内出现在站上。