关于 write-a-skill
指导 Agent 通过需求收集、起草和评审来编写技能,并提供结构、描述规范与拆分准则。适合需要创建可维护技能的人。
主要功能
- 01收集任务与使用需求
- 02起草 SKILL.md 及辅助文件
- 03按条件添加脚本和参考资料
- 04检查描述、结构与内容
适用场景
- 01根据明确需求创建新技能
- 02为长篇技能拆分参考内容
- 03审查技能描述是否含触发条件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mattpocock/ skills --skill write-a-skill安装后在 Claude Code 中输入/write-a-skill确认已加载。
详细介绍
编写技能
流程
-
收集需求 - 向用户询问:
- 该技能涵盖什么任务/领域?
- 它应处理哪些具体用例?
- 它需要可执行脚本,还是只需说明?
- 是否需要包含任何参考资料?
-
起草技能 - 创建:
- 包含简洁说明的 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)]
描述要求
描述是 Agent 在决定加载哪个技能时唯一能看到的内容。它会与其他所有已安装的技能一起显示在系统提示词中。Agent 会读取这些描述,并根据用户的请求选择相关技能。
目标:向 Agent 提供足够的信息,使其了解:
- 该技能提供什么能力
- 何时/为何触发它(具体关键词、上下文、文件类型)
格式:
- 最多 1024 个字符
- 使用第三人称
- 第一句:说明其功能
- 第二句:“在[具体触发条件]时使用”
良好示例:
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.
糟糕的示例未让 Agent 有任何方式将其与其他文档技能区分开来。
何时添加脚本
在以下情况下添加工具脚本:
- 操作是确定性的(验证、格式化)
- 同一段代码会被反复生成
- 错误需要显式处理
与生成代码相比,脚本可以节省词元并提高可靠性。
何时拆分文件
在以下情况下拆分为独立文件:
- SKILL.md 超过 100 行
- 内容包含不同领域(财务与销售架构)
- 高级功能很少使用
审查清单
起草后,验证:
- 描述包含触发条件(“在……时使用……”)
- SKILL.md 少于 100 行
- 不含时效性信息
- 术语使用一致
- 包含具体示例
- 引用仅嵌套一层
评论
支持 Markdown