第五章 文件格式与协议

本章覆盖第 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 认可;只查发布契约形态,非运行时安全审计。