用途
skill-authoring 是一份技能编写指南,用于创建符合 agentskills.io 标准的有效 SKILL.md 文件,从而扩展智能体的能力。它适用于新建技能、更新已有技能,或向智能体教学相关知识的场景。
核心原则
-
简洁为王:上下文窗口是公共资源,所有技能共享同一空间。基本假设是智能体本身已经足够聪明,因此只应补充智能体不知道的内容。写每一句话时都自问:这个说明真的必要吗?这段文字是否值得其 token 成本?相比冗长描述,更推荐简洁示例。
-
自由度匹配:根据任务的脆弱程度选择指令形式。高自由度(多种做法均有效、需按上下文判断)使用文本指令;中自由度(存在偏好模式、允许部分变体)使用伪代码或带参数的脚本;低自由度(任务脆弱、要求一致性)使用具体脚本和最少参数。形象地说:悬崖边的窄桥需要具体护栏(低自由度),广阔平原可允许多条路径(高自由度)。
SKILL.md 结构
frontmatter 示例(保留原样):
name: my-skill-name # 必填,小写+连字符,1-64字 description: > # 必填,1-1024字 做什么 + 何时使用 + 相关关键词 license: Apache-2.0 # 可选 metadata: # 可选 author: misskim version: "1.0"
技能标题
[智能体需遵循的指令 - Markdown 自由格式]
必填字段:name 需与目录名一致,只能使用小写字母和连字符;description 承担技能激活触发器的作用,应包含丰富关键词。
目录结构
skill-name/ ├── SKILL.md # 必需 ├── scripts/ # 可执行代码(Python/Bash/JS) ├── references/ # 详细文档(按需加载) └── assets/ # 静态资源(模板、图片、数据)
建议 SKILL.md 保持在 500 行以内,详细内容拆分到 references/ 目录。
环境相关考虑
资料提到的环境要点包括:Clawdbot 智能体可放置在 skills/ 或 ~/.clawdbot/skills/ 目录;可通过 nodes.run 命令把外部任务委托给 MiniPC;技能可被设计为生成子智能体;安全方面,scripts/ 中只应包含可信代码。这些属于原资料描述,具体是否适用于你的环境暂未提供。
好坏对比
差:『处理 PDF』(description 太短)。好:『从 PDF 文件中提取文本/表格、填写表单、合并多个 PDF。当涉及 PDF 文档操作或文档抽取时使用。』
差:解释智能体早已知道的 Python 语法。好:提供智能体不知道的领域专属知识或工作流。
前置条件清单(模板)
撰写新技能前先填写该清单:用一句话定义该技能要解决的具体问题;确认与已有技能是否重复(重复则用路由章节整合);写明所需的运行环境/依赖(节点、二进制、权限、API key);定义输入/输出形式(如文件、URL、代码、报告模板);写明失败时的回退路径(替代工具/手动流程);至少包含一个真实使用示例。
When to Use / When NOT to Use(决策树模板)
在技能顶部加入如下分支逻辑:
When to Use This vs Others
- Use this skill when: {核心条件1}, {核心条件2}
- Use {other-skill} when: {替代技能更合适的条件}
- Do NOT use this skill when: {明确的排除条件}
决策保持在 2~3 行内,容易混淆的技能对之间务必加交叉链接。
双重描述规则(智能体 vs 市场)
同一技能按用途区分描述:SKILL.md frontmatter 中的 description 面向智能体,应包含丰富触发关键词,明确『何时应被调用』,例如领域关键词、请求类型、激活信号;marketplace.json 中的 description 面向人,以功能概括为主,写 1~2 句自然语句,适合营销与浏览,避免罗列内部触发关键词。
限制
资料未提供该技能的价格、平台支持范围、效果数据或具体安装命令,这些信息暂未提供。