关于 skill-creator
这是一份指导文档,介绍如何依据 agentskills.io 规范和渐进式披露原则编写 Agent 技能。它面向需要系统处理元数据、技能文件、脚本和验证流程的作者。
主要功能
- 01元数据命名与验证
- 02按顺序编写技能流程
- 03渐进式披露指南
- 04脚本与参考文件组织
- 05可选路由与子技能模式
- 06最终一致性检查
适用场景
- 01起草技能目录及其元数据
- 02将较长流程拆分到参考文件
- 03为易出错任务规划小型脚本
- 04检查技能说明中的未定义假设
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mgechev/ skills-best-practices --skill skill-creator安装后在 Claude Code 中输入/skill-creator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/SKILL.template.mdreferences/checklist.mdscripts/validate-metadata.py详细介绍
技能编写流程
按照以下步骤生成符合 agentskills.io 规范和渐进式披露原则的技能。
步骤 1:初始化并验证元数据
- 定义唯一的
name:长度为 1–64 个字符,仅包含小写字母、数字和单个连字符。此名称必须与父目录名称完全一致(例如,名称为angular-testing的技能必须位于angular-testing/SKILL.md)。 - 起草
description:最多 1,024 个字符,使用第三人称撰写。包含正向触发条件(“Use when...”)和负向触发条件(“Don't use for...”)。 - **执行验证脚本:**继续之前,运行验证脚本以确保符合要求:
python3 scripts/validate-metadata.py --name "[name]" --description "[description]" - 如果脚本返回错误,根据
stderr输出自行修正元数据,然后重新运行,直到验证通过。
步骤 2:构建目录结构
- 使用经过验证的
name创建根目录。 - 初始化以下子目录:
scripts/:用于存放小型 CLI 工具和确定性逻辑。references/:用于存放扁平(仅一层深)的上下文文件,例如架构或 API 文档。assets/:用于存放输出模板、JSON 架构或静态文件。
- 确保不创建面向人的文件(例如
README.md、CHANGELOG.md、INSTALLATION.md)。
步骤 3:起草核心逻辑(SKILL.md)
- 使用
assets/SKILL.template.md中的模板作为起点。 - 所有指令均使用第三人称祈使句撰写(例如,“提取文本”“运行构建”)。
- 采用具体的流程化格式:
- **使用逐步编号:**将工作流定义为严格的时间顺序。清晰列出决策分支(例如,“步骤 2:如果需要源映射,则运行
scripts/build.sh。否则,跳至步骤 3。”)。 - **提供具体模板:**如果输出有特定结构,请将模板放在
assets/中,并指示 Agent 复制其结构,而不是用文字描述。 - **使用一致、具体的术语:**在全文中使用相同的领域术语(例如,在 Angular 中始终使用“template”,而不是混用“html”或“view”)。
- **使用逐步编号:**将工作流定义为严格的时间顺序。清晰列出决策分支(例如,“步骤 2:如果需要源映射,则运行
- 落实渐进式披露:
- 将主
SKILL.md控制在 500 行以内。 - 如果某个流程需要大型架构、复杂规则集或大量上下文,则将其移至
references/中的扁平文件。 - 指示 Agent 仅在需要时读取特定文件(JiT 加载):“读取 references/api-spec.md 以确定正确的端点。”
- 将主
步骤 4:识别并打包脚本
- 识别“脆弱”的任务(正则表达式、复杂解析或重复样板代码)。
- 为
scripts/目录规划一个单一用途的脚本,将其设计为带参数的小型 CLI。 - 确保脚本使用标准输出(stdout/stderr)传达成功或失败。编写清晰易懂的错误消息,使 Agent 无需用户介入即可准确地自行修正。
步骤 5:组合技能(可选)
如果技能较复杂,可使用路由器/子技能模式进行组合:
- 创建一个高级路由器技能。
- 定义有条件的触发条件或流程,引用其他特定技能文件夹(例如,“要构建客户端,请参阅 [客户端构建技能的路径]。要构建服务端,请参阅 [服务端构建技能的路径]。”)。
步骤 6:验证最终逻辑
- 检查
SKILL.md是否存在“幻觉缺口”(即 Agent 被迫猜测的地方)。 - 确认所有文件路径均为相对路径,并使用正斜杠(
/)。 - 对照
references/checklist.md检查最终输出。
错误处理
- **元数据验证失败:**如果
scripts/validate-metadata.py验证失败,找出具体错误(例如,“STYLE ERROR”),并重写字段以去除第一人称或第二人称代词。 - **上下文膨胀:**如果草稿超过 500 行,则提取最大的流程块,并将其移至
references/中的文件。
评论
支持 Markdown