| name | write-a-skill |
| description | 创建具有适当结构, 渐进披露和捆绑资源的新 agent 技能. 当用户想要创建, 编写或构建新技能, 提到 "编写技能" 或 "创建 skill" 时使用. |
编写技能
流程
1.** 收集需求** - 询问用户:
- 技能涵盖什么任务/领域?
- 它应该处理什么特定用例?
- 它需要可执行脚本还是只需要说明?
- 要包含的任何参考材料?
2.** 起草技能** - 创建:
- 包含简明说明的 SKILL.md
- 如果内容超过 500 行, 则添加额外的参考文件
- 如果需要确定性操作, 则添加实用脚本
3.** 与用户审查** - 呈现草稿并询问:
- 这是否涵盖了你的用例?
- 有什么遗漏或不清楚的地方吗?
- 哪个部分应该更/更少详细?
技能结构
skill-name/
├── SKILL.md # 主要说明(必需)
├── REFERENCE.md # 详细文档(如果需要)
├── EXAMPLES.md # 使用示例(如果需要)
└── scripts/ # 实用脚本(如果需要)
└── helper.js
SKILL.md 模板
---
name: skill-name
description: 能力的简要描述. 当 [特定触发器] 时使用.
---
# 技能名称
## 快速开始
[最小工作示例]
## 工作流程
[包含复杂任务检查清单的分步流程]
## 高级功能
[链接到单独的文件: 参见 [REFERENCE.md](REFERENCE.md)]
描述要求
描述是你的 agent 在决定加载哪个技能时看到的唯一内容. 它与所有其他已安装的技能一起出现在系统提示中. 你的 agent 阅读这些描述并根据用户的请求选择相关技能.
目标: 给你的 agent 足够的信息以了解:
- 此技能提供什么能力
- 何时/为何触发它(特定关键字, 上下文, 文件类型)
格式:
- 最多 1024 个字符
- 使用第三人称
- 第一句: 它做什么
- 第二句: "当 [特定触发器] 时使用"
好示例:
从 PDF 文件中提取文本和表格, 填写表单, 合并文档. 当处理 PDF 文件或当用户提到 PDF, 表单或文档提取时使用.
坏示例:
帮助处理文档.
坏示例没有给你的 agent 任何方式将其与其他文档技能区分开来.
何时添加脚本
在以下情况下添加实用脚本:
- 操作是确定性的(验证, 格式化)
- 相同的代码会被重复生成
- 错误需要显式处理
脚本节省 token 并提高可靠性, 相对于生成的代码.
何时拆分文件
在以下情况下拆分为单独的文件:
- SKILL.md 超过 100 行
- 内容有不同的域(财务 vs 销售 schema)
- 高级功能很少需要
审查检查清单
起草后, 验证: