用途
write-a-skill 用于创建新的智能体技能(agent skill),帮助用户按照规范结构、渐进式披露(progressive disclosure)和捆绑资源来编写技能。当用户想要创建、编写或构建新技能时使用。
主要能力
该技能提供了一套编写技能的完整流程与规范,包括:
- 收集需求:向用户询问技能覆盖的任务/领域、应处理的具体用例、是否需要可执行脚本或仅需说明、是否需要包含参考资料。
- 起草技能:创建 SKILL.md(简洁说明)、内容超过 500 行时创建额外参考文件、需要确定性操作时创建实用脚本。
- 与用户评审:展示草稿并询问是否覆盖用例、是否有遗漏或不清晰之处、某部分是否需要更详细或更简略。
技能结构
skill-name/
├── SKILL.md # Main instructions (required)
├── REFERENCE.md # Detailed docs (if needed)
├── EXAMPLES.md # Usage examples (if needed)
└── scripts/ # Utility scripts (if needed)
└── helper.js
SKILL.md 模板
---
name: skill-name
description: Brief description of capability. Use when [specific triggers].
---
# Skill Name
## Quick start
[Minimal working example]
## Workflows
[Step-by-step processes with checklists for complex tasks]
## Advanced features
[Link to separate files: See [REFERENCE.md](REFERENCE.md)]
描述撰写要求
描述是智能体在决定加载哪个技能时唯一能看到的内容,它会与其他已安装技能一起出现在系统提示中。智能体阅读这些描述,并根据用户请求选择相关技能。
目标:让智能体获得足够信息以了解:
- 该技能提供什么能力
- 何时/为何触发它(具体关键词、上下文、文件类型)
格式:
- 最多 1024 字符
- 使用第三人称
- 第一句:它做什么
- 第二句:"Use when [specific triggers]"
好的示例:
Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when user mentions PDFs, forms, or document extraction.
差的示例:
Helps with documents.
差的示例无法让智能体将此技能与其他文档技能区分开。
何时添加脚本
在以下情况添加实用脚本:
- 操作是确定性的(验证、格式化)
- 同一段代码会被反复生成
- 错误需要显式处理
脚本相比生成的代码可以节省 token 并提高可靠性。
何时拆分文件
在以下情况拆分为单独文件:
- SKILL.md 超过 100 行
- 内容涉及不同领域(如财务与销售 schema)
- 高级功能很少被需要
评审清单
起草后,验证:
- 描述包含触发条件("Use when...")
- SKILL.md 少于 100 行
- 无时效性信息
- 术语一致
- 包含具体示例
- 引用只有一层深度
后续步骤
创建技能后,通过运行 setup-roblox-skills 将其注册到项目的路由块中,以便 Claude 知道其用途、用例和触发词。