Skip to main content

Skill 格式

磁碟上

Skill 是一個資料夾。 必要項目:
  • SKILL.md(或 skill.md;也接受舊版的 skills.md
選用項目:
  • 任何支援用的一般檔案(請參閱「Skill 檔案」)
  • .clawhubignore(發布時的忽略模式,舊版為 .clawdhubignore
  • .gitignore(也會套用)

GitHub 匯入

網頁版 GitHub 匯入工具的限制比本機發布/同步更嚴格。它只會探索已登入 GitHub 帳號擁有的公開、非分支儲存庫中的 SKILL.md 或舊版 skills.md 檔案。它不會匯入私人儲存庫、分支、 已封存/停用的儲存庫或第三方公開儲存庫。 本機安裝中繼資料(由命令列介面寫入):
  • <skill>/.clawhub/origin.json(舊版為 .clawdhub
工作目錄安裝狀態(由命令列介面寫入):
  • <workdir>/.clawhub/lock.json(舊版為 .clawdhub

SKILL.md

  • 含選用 YAML frontmatter 的 Markdown。
  • 伺服器會在發布期間從 frontmatter 擷取中繼資料。
  • description 會用作 UI/搜尋中的 Skill 摘要。
若要建立可攜式 Agent Skills,name 應與父目錄相符,並使用 1–64 個小寫字母、數字或連字號。ClawHub 會將可路由的 slug 與 目錄顯示名稱分開保存,因此其他用戶端的既有名稱仍可發布, 且不會遭到靜默改寫。目錄清單在視覺上可能會縮短過長的名稱, 但不會變更儲存的名稱。

Frontmatter 中繼資料

Skill 中繼資料是在 SKILL.md 頂端的 YAML frontmatter 中宣告。這會告知登錄檔(以及安全分析)你的 Skill 執行時需要什麼。

基本 frontmatter

執行階段中繼資料(metadata.openclaw

metadata.openclaw 下宣告 Skill 的執行階段需求(別名:metadata.clawdbotmetadata.clawdis)。
針對 Skill 執行前必須存在的環境變數,請使用 requires.env。需要各變數的中繼資料時,請使用 envVars,包括使用 required: false 的選用變數。

完整欄位參考

安裝規格

若 Skill 需要安裝相依性,請在 install 陣列中宣告:
支援的安裝類型:brewnodegouv

選用環境變數

metadata.openclaw.envVars 下宣告選用環境變數,並設定 required: false。請勿將選用項目新增至 requires.env,因為 requires.env 表示缺少這些變數時 Skill 無法執行。

這為何重要

ClawHub 的安全分析會檢查 Skill 宣告的內容是否與其實際行為相符。如果程式碼參照 TODOIST_API_KEY,但 frontmatter 未在 requires.envprimaryEnvenvVars 下宣告,分析便會標記中繼資料不符。保持宣告準確有助於 Skill 通過審查,也能協助使用者瞭解他們正在安裝什麼。

範例:完整 frontmatter

Skill 檔案

發布接受 Skill 資料夾中的所有一般檔案,不限副檔名。忽略檔案、 隱藏路徑、符號連結、macOS 中繼資料及伺服器端大小限制仍然適用。
  • 大小受限且包含有效 UTF-8 的檔案,可以逸出的純文字形式預覽,並納入 有限文字分析。
  • 其他檔案會保留其確切位元組,並可供下載。
  • 安全掃描器會收到完整的已儲存成品;文字偵測是呈現與 分析方面的考量,而不是上傳允許清單。
限制(伺服器端):
  • 套件組合總大小:50MB。
  • 嵌入文字包含 SKILL.md + 最多約 40 個大小受限的 UTF-8 檔案(盡力而為的上限)。

Slug

  • 預設衍生自資料夾名稱。
  • 套件範圍必須與 ClawHub 發布者代號完全相符。發布者代號可使用小寫字母、數字、連字號、句點和底線;開頭與結尾必須是小寫字母或數字。
  • 套件 slug 必須為小寫且符合 npm 安全格式,例如 @example.tools/demo-plugindemo-plugin

版本管理與標籤

  • 每次發布都會建立新版本(semver)。
  • 標籤是指向版本的字串指標;通常使用 latest

授權條款

  • 所有發布至 ClawHub 的 Skill 均依 MIT-0 授權。
  • 任何人皆可使用、修改及重新散布已發布的 Skill,包括商業用途。
  • 不要求標示出處。
  • 請勿在 SKILL.md 中新增衝突的授權條款;ClawHub 不支援針對個別 Skill 覆寫授權條款。

付費 Skill

  • ClawHub 不支援付費 Skill、個別 Skill 定價、付費牆或收益分潤。
  • 請勿將定價中繼資料新增至 SKILL.md;該資料不屬於 Skill 格式,且不會使已發布的 Skill 成為付費項目。
  • 如果 Skill 整合付費第三方服務,請在 Skill 指示與環境變數宣告中清楚記載外部費用和必要帳號(必要變數使用 requires.env,選用變數則使用 envVars 搭配 required: false)。