第五章 文件格式與協議

本章覆蓋第 21–24 章:SKILL.md 格式、資料與備份、文件命名慣例與設置匯出格式。


第二十一節 技能(SKILL.md)格式

[!ref] 詳解見使用者手冊「技能(Skill)系統」節。

21.1 文件結構

<skill-root>/
├── SKILL.md              # 必需。前置元資料 + 模板本文
├── README.md             # 可選。給人看的說明
├── examples/             # 可選。範例輸入輸出
└── …                     # 可選附加資源

21.2 前置元資料欄位

SKILL.md 頂部使用 --- 分隔的 YAML 前置元資料,所有可識別欄位:

欄位 類型 必填 說明
name string 用作 slash 名(建議小寫連字元)
description string 一句話說明,列在 /help
argument-hint string <arg1> <arg2> 提示
allowed-tools array 限制本技能可用的工具白名單
denied-tools array 黑名單(與白名單二選一)
work-modes array 適用工作模式 [plan, execute, …]
model string 強制使用的模型;缺省繼承當前
temperature number 強制溫度;缺省繼承當前
version string 語義化版本號
license string SPDX 識別
author string 作者 / 團隊
tags array 用於市場過濾
signature string 國密簽章塊(由簽章工具自動寫入)

21.3 本文模板

本文為標準 Markdown,支持下列擴充:

語法 含義
$1 $2 $N 第 N 個位置參數
$ARGUMENTS 全部參數原樣拼接
!`<shell>` Shell 預處理;輸出取代該位置
{{include:path}} 內聯另一個 Markdown 文件(相對 skill-root)

21.4 三層載入優先級

層級 路徑 優先級
全域 應用資料目錄的全域技能區 最低
工作區 <workspace>/.config/skills/<name>/
外掛 外掛包內提供

21.5 呼叫方式

方式 觸發點 行為
使用者 slash /<name> <args> 渲染後注入下一回合 system prompt
助手主動 skill.invoke 工具 渲染後作為工具回應回到對話流

21.6 內置技能

  • 內置技能(如 skill-creator)啟動時自動物化、內容漂移自動覆蓋
  • 構建期簽章 + 內置簽章錨點(trust ExtraSignerRoots),嚴格簽章政策下也放行。
  • 設置 → 技能 面板以「內置」徽標區分內置 / 自建 / 第三方。
  • 相容 Agent Skills(agentskills.io):跨用戶端發現 / 解析容錯 + 工具名翻譯映射。

21.7 market.check(發佈契約校驗)

內置只讀、確定性、離線工具,按 zMarket 發佈契約校驗本機技能 / 外掛目錄:

參數 類型 預設 說明
path string 必填,待校驗目錄相對路徑(如 .avlcode/skills/my-skill
kind string 自動探測 skill / plugin / mcp / provider
version string 目錄推斷 覆蓋 / 補充嚴格 semver
source string ./<name> 覆蓋 source 形態
manifest string 從目錄派生 直接給 manifest JSON

報告過 / 不過 + 原因 + 缺什麼(name slug、嚴格 semver、source 形態、能力聲明、歸檔安全等)。不連網、不提交。注:.skill-sign 簽章 ≠ zMarket 認可;只查發佈契約形態,非執行階段安全稽核。