| name | skill-creator |
| description | 创建高效技能的指南。当用户希望打造新的技能(或改进现有技能),以专项知识、工作流或工具集成来扩展 Claude 能力时,请使用本技能。 |
| license | 完整条款见 LICENSE.txt |
技能创建器
本技能提供打造高效技能的完整指南。
关于技能
技能是模块化、可复用的封装,能为 Claude 提供专业知识、流程与工具。可将其视作特定领域或任务的“入职手册”——它们让 Claude 从通用型智能体转变为具备特定程序化知识的专家型智能体,这些知识无法完全依赖模型记忆。
技能可以提供什么
- 专业工作流——针对具体领域的多步骤流程
- 工具集成——关于特定文件格式或 API 的操作指引
- 领域知识——公司特定知识、数据结构、业务逻辑
- 随附资源——脚本、参考资料、素材等,用于复杂或重复任务
技能结构
每个技能都由必需的 SKILL.md 文件与可选的捆绑资源组成:
skill-name/
├── SKILL.md (必需)
│ ├── YAML 前言区元数据(必需)
│ │ ├── name:(必需)
│ │ └── description:(必需)
│ └── Markdown 指令内容(必需)
└── Bundled Resources(可选)
├── scripts/ - 可执行代码(Python/Bash 等)
├── references/ - 需按需加载到上下文的文档
└── assets/ - 输出过程中使用的文件(模板、图标、字体等)
SKILL.md(必需)
元数据质量: name 与 description 决定 Claude 何时触发该技能。务必精准描述技能功能及适用场景。使用第三人称描述(例如 “This skill should be used when…”),不要使用第二人称。
捆绑资源(可选)
scripts(scripts/)
用于需要确定性或频繁复用的可执行代码(如 Python、Bash 等)。
- 适用场景:同一段代码反复编写,或对确定性要求较高
- 示例:
scripts/rotate_pdf.py(旋转 PDF) - 优势:节省 token,执行稳定,可无需加载到上下文
- 注意:仍可能需要 Claude 阅读脚本以适应环境或进行修改
references(references/)
用于按需加载的文档或参考资料,指导 Claude 的思考与流程。
- 适用场景:需要 Claude 在执行时参考的文档
- 示例:
references/finance.md(金融数据结构)、references/mnda.md(公司保密协议模板)、references/policies.md(公司政策)、references/api_docs.md(API 规格) - 用途:数据库结构、API 文档、领域知识、公司政策、详细流程指南
- 优势:保持 SKILL.md 精简,Claude 仅在需要时加载
- 最佳实践:若文件较大(>10k 字),在 SKILL.md 中提供 grep 搜索提示
- 避免重复:信息应在 SKILL.md 或 references 中二选一。除非真正核心,详细资料应放在 references,SKILL.md 只保留关键流程指引。
assets(assets/)
用于输出中直接引用的文件,不必加载到上下文。
- 适用场景:技能产出需要使用的文件
- 示例:
assets/logo.png(品牌素材)、assets/slides.pptx(PPT 模板)、assets/frontend-template/(HTML/React 脚手架)、assets/font.ttf(字体) - 用途:模板、图片、图标、样板代码、示例文档
- 优势:将输出素材与文档分离,Claude 可直接使用这些文件
渐进式披露原则
技能通过三层加载策略高效利用上下文:
- 元数据(name + description) —— 永远加载(约 100 字)
- SKILL.md 正文 —— 技能触发时加载(<5k 字)
- 捆绑资源 —— Claude 视需求加载(理论无限*)
*脚本可直接执行,无需进入上下文窗口,因此视作无限。
技能创建流程
创建技能时,请按照以下流程执行,除非有明确理由,否则不应跳过步骤。
第 1 步:通过具体示例理解技能
仅当对技能的使用模式已十分清晰时才可跳过此步。即使是已有技能,重新梳理仍然有价值。
要创建高效技能,需明确技能的具体使用情境。这些情境可以来自真实的用户示例,也可以由你提出并获得用户确认。
例如,在构建设想中的图像编辑技能时,可以提问:
- “图像编辑技能需要支持哪些功能?是否只包括编辑与旋转?”
- “能否提供几个使用该技能的例子?”
- “我想到的需求包括‘去除红眼’或‘旋转图片’,你还希望覆盖哪些场景?”
- “用户说些什么时应该触发这个技能?”
为避免信息过载,不要一次提出过多问题。先问最关键的,再根据需要追问。
当你对技能需要支持的功能已有清晰认知,就可以进入下一步。
第 2 步:规划可复用的技能内容
为了把具体示例转化为高效技能,需要逐个分析这些示例:
- 思考如何从零执行该示例
- 判断哪些脚本、参考资料或素材能在重复执行时派上用场
示例:要构建处理“帮我旋转这份 PDF”请求的 pdf-editor 技能:
- 旋转 PDF 的代码每次都要重写
- 因此在技能中包含
scripts/rotate_pdf.py会非常有用
示例:打造 frontend-webapp-builder 技能,需支持“构建待办应用”“构建步数仪表盘”等请求:
- 构建前端应用需要重复的 HTML/React 脚手架
- 因此可以在
assets/hello-world/中提供完整的模板项目
示例:设计 big-query 技能,需回答“今天有多少用户登录?”这类问题:
- 查询 BigQuery 需要频繁查阅数据表结构与关系
- 因此可以在
references/schema.md中记录表结构说明
为了确定技能内容,请对每个示例进行分析,列出需要包含的可复用资产:脚本、参考资料、素材。
第 3 步:初始化技能
此时可以着手实际创建技能。
若技能尚不存在,也不是要在既有技能上迭代或重新打包,则不要跳过此步。
从零开始创建技能时,务必运行 init_skill.py 脚本。该脚本会生成一个带完整目录结构的技能模板,大幅提升效率与可靠性。
用法:
scripts/init_skill.py <skill-name> --path <output-directory>
脚本将:
- 在指定路径创建技能目录
- 生成带有正确前言区与 TODO 提示的 SKILL.md
- 创建示例资源目录:
scripts/、references/、assets/ - 在每个目录中放入可定制或删除的示例文件
初始化后,请根据需求调整或删除这些示例文件。
第 4 步:编辑技能
无论是新技能还是已有技能,都应牢记:技能是供另一实例的 Claude 使用的。重点在于提供对 Claude 有价值且不显而易见的信息。思考有哪些流程知识、领域细节或可复用资产能让 Claude 更高效。
从可复用内容着手
实现时先处理第二步中确定的 scripts/、references/、assets/。此过程可能需要用户提供素材。例如实现 brand-guidelines 技能时,用户可能需要提供品牌资产或模板存入 assets/,以及需放入 references/ 的品牌文档。
此外,请删除不需要的示例文件与目录。初始化脚本仅为演示结构提供示例,大多数技能并不需要全部示例文件。
更新 SKILL.md
写作风格: 全文使用祈使句 / 动词原形指令(动词开头),不要使用第二人称。采用客观、指导式的语气,例如 “To accomplish X, do Y”,避免 “You should do X” 或 “If you need to do X”。这样的写法更契合 AI 消化。
补写 SKILL.md 时,请回答以下问题:
- 该技能的目标是什么?(数句概述)
- 何时应使用该技能?
- 实际操作中,Claude 应如何使用该技能?请引用所有可复用资源,确保 Claude 知道如何调用它们。
第 5 步:打包技能
当技能准备就绪,需要将其打包为可分发的 zip 文件,供用户下载。打包流程会自动先验证技能是否符合要求:
scripts/package_skill.py <path/to/skill-folder>
可选地指定输出目录:
scripts/package_skill.py <path/to/skill-folder> ./dist
打包脚本会:
自动验证 技能内容,检查:
- YAML 前言区格式与必填字段
- 技能命名规范与目录结构
- 描述是否完整且符合要求
- 文件组织与资源引用是否正确
通过验证后打包:生成以技能命名的 zip 文件(如
my-skill.zip),包含全部文件并保持正确目录结构,便于分发。
如验证失败,脚本会输出错误并直接退出,不会生成包。请修复问题后再次运行打包命令。
第 6 步:迭代
在技能投入使用后,用户可能会提出改进需求——通常发生在刚使用完技能、上下文记忆尤为鲜明的时候。
迭代流程:
- 在真实任务中使用技能
- 观察瓶颈或低效之处
- 确定需要更新 SKILL.md 或捆绑资源的位置
- 实施修改并再次测试