跳到內容
Crystal CodeDocs
繁繁體中文

技能

技能是 OpenCode 相容的指令目錄。它們不是提示覆蓋。模型看到可用技能清單,並用 skill 工具載入一個。啟用 Skills 時,對 Skills 搜尋目錄(skill / skills 樹,包括不是 SKILL.md 的腳本和其他檔案)內任何路徑的 read/list/tree/glob/grep/search 會自動放行;它不會詢問你。在 config.json 中設定 "skills": false 可停用該工具、引導和該自動放行。工作區外的其他檔案仍然需要核准(由你核准,或在 Review 或 Audit 中由 Review 模型核准)。

每個技能是一個帶 SKILL.md 的目錄,檔案以 YAML frontmatter 開頭(name 和 description 必填)。目錄名匹配 ^[a-z0-9]+(-[a-z0-9]+)*$(1–64 個字元)時,技能 id 就是目錄名。Frontmatter name 可以是該 id 或顯示標題,不必與目錄匹配。目錄名不是有效 id 時,改用有效的 frontmatter name。摺疊(>)和字面(|)YAML 描述都被接受。

發現跟隨 OpenCode 的全域和專案遍歷。後出現的來源用同名覆蓋先出現的來源。Crystal 原生路徑優先於 OpenCode 相容路徑。

全域:

  1. ~/.claude/skills/<name>/SKILL.md
  2. ~/.agents/skills/<name>/SKILL.md
  3. ~/.config/opencode/{skill,skills}/<name>/SKILL.md(遵循 XDG_CONFIG_HOME)
  4. ~/.opencode/{skill,skills}/<name>/SKILL.md
  5. ~/.crystal/{skill,skills}/<name>/SKILL.md

專案,從工作區向上走到 git 根:

  1. .claude/skills/<name>/SKILL.md
  2. .agents/skills/<name>/SKILL.md
  3. .opencode/{skill,skills}/<name>/SKILL.md
  4. .crystal/{skill,skills}/<name>/SKILL.md

/cd 和 /space 從新工作區重新載入技能和外部工具集。兩者,以及進入另一個目錄的恢復,都會從該工作區重新載入提示。恢復會根據目前提示檔案、目前 <env> 區塊和目前技能引導重新整理第一條系統訊息。