SuperAPI AI 工具集

skill-creation

智能体与模型

查看项目

更新于 10-16 08:21

技能介绍

用途

Skill Creation 是一个指导用户创建有效 Claude 技能的技能。当用户想要创建新技能,或更新已有技能以扩展 Claude 的能力时,应使用该技能。它把技能定位为模块化、自包含的包,通过提供专门知识、工作流和工具来扩展 Claude 的能力,相当于面向特定领域或任务的“入职指南”,将通用型智能体转变为具备程序性知识的专用智能体。

技能能提供什么

  • 专门工作流:面向特定领域的多步骤流程。
  • 工具集成:针对特定文件格式或 API 的使用说明。
  • 领域专长:公司特定知识、模式、业务逻辑。
  • 捆绑资源:用于复杂和重复任务的脚本、参考资料和资产。

技能的结构

每个技能由一个必需的 SKILL.md 文件和可选的捆绑资源组成:

skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter metadata (required)
│   │   ├── name: (required)
│   │   └── description: (required)
│   └── Markdown instructions (required)
└── Bundled Resources (optional)
    ├── scripts/          - Executable code (Python/Bash/etc.)
    ├── references/       - Documentation intended to be loaded into context as needed
    └── assets/           - Files used in output (templates, icons, fonts, etc.)

SKILL.md(必需)

YAML frontmatter 中的 name 和 description 决定 Claude 何时使用该技能。应具体说明技能做什么以及何时使用,并使用第三人称(例如“This skill should be used when...”而不是“Use this skill when...”)。

捆绑资源(可选)

Scripts(scripts/)

用于需要确定性可靠性或会被反复重写的任务的可执行代码(Python/Bash 等)。当同一段代码被反复重写或需要确定性可靠性时包含。示例:用于 PDF 旋转任务的 scripts/rotate_pdf.py。优点是节省 token、确定性、可在不加载进上下文的情况下执行。注意:Claude 仍可能需要读取脚本以进行修补或环境特定调整。

References(references/)

旨在按需加载进上下文以指导 Claude 过程和思考的文档与参考资料。当 Claude 在工作中应参考某些文档时包含。示例:references/finance.md 用于财务模式,references/mnda.md 用于公司 NDA 模板,references/policies.md 用于公司政策,references/api_docs.md 用于 API 规范。用例包括数据库模式、API 文档、领域知识、公司政策、详细工作流指南。优点是保持 SKILL.md 精简,仅在 Claude 判断需要时加载。最佳实践:如果文件很大(超过 1 万词),在 SKILL.md 中包含 grep 搜索模式。避免重复:信息应只存在于 SKILL.md 或 references 文件之一,不要两者都有。除非信息对技能真正核心,否则优先放在 references 文件中,这样既保持 SKILL.md 精简,又让信息可被发现而不占用上下文窗口。SKILL.md 中只保留必要的程序性指令和工作流指导,把详细参考资料、模式和示例移到 references 文件。

Assets(assets/)

不打算加载进上下文,而是在 Claude 产生的输出中使用的文件。当技能需要用于最终输出的文件时包含。示例:assets/logo.png 用于品牌资产,assets/slides.pptx 用于 PowerPoint 模板,assets/frontend-template/ 用于 HTML/React 样板,assets/font.ttf 用于排版。用例包括模板、图像、图标、样板代码、字体、会被复制或修改的示例文档。优点是将输出资源与文档分离,使 Claude 无需加载即可使用文件。

隐私与路径引用

关键:面向公开分发的技能不得包含用户特定或公司特定信息:

  • 禁止:指向用户目录的绝对路径(/home/username/、/Users/username/、/mnt/c/Users/username/)。
  • 禁止:个人用户名、公司名称、部门名称、产品名称。
  • 禁止:OneDrive 路径、云存储路径或任何环境特定的绝对路径。
  • 禁止:硬编码的技能安装路径,如 ~/.claude/skills/ 或 /Users/username/Workspace/claude-code-skills/。
  • 允许:技能包内的相对路径(scripts/example.py、references/guide.md)。
  • 允许:标准占位符(~/workspace/project、username、your-company)。
  • 最佳实践:使用简单相对路径引用捆绑脚本,如 scripts/script_name.py,Claude 会解析实际位置。

版本管理

关键:技能不应在 SKILL.md 中包含版本历史或版本号:

  • 禁止:SKILL.md 中的版本章节(## Version、## Changelog、## Release History)。
  • 禁止:SKILL.md 正文内容中的版本号。
  • 理由:SKILL.md 应是聚焦功能的无时效内容。
  • 对于全局技能:如需跟踪版本,可在 git 历史或外部变更日志中记录。

渐进式披露设计原则

技能使用三级加载系统来高效管理上下文:

  1. 元数据(name + description)——始终在上下文中(约 100 词)。
  2. SKILL.md 正文——技能触发时加载(少于 5 千词)。
  3. 捆绑资源——Claude 按需加载(无限制*)。

*无限制是因为脚本可以在不读入上下文窗口的情况下执行。

技能创建最佳实践

Anthropic 已撰写技能编写最佳实践,在创建或更新技能前应检索:https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices.md

⚠️ 关键:在源位置编辑技能

切勿在 ~/.claude/plugins/cache/ 中编辑技能——那是只读缓存目录。那里的所有更改都会:缓存刷新时丢失、不会同步到源代码控制、需要手动重新合并而白费功夫。

始终确认你在编辑源仓库:

# WRONG - cache location (read-only copy)
~/.claude/plugins/cache/daymade-skills/my-skill/1.0.0/my-skill/SKILL.md

# RIGHT - source repository (global skills)
~/DotFiles/home/.claude/skills/my-skill/SKILL.md

# RIGHT - source repository (local project skills)
/path/to/project/.claude/skills/my-skill/SKILL.md

在任何编辑之前,确认文件路径不包含 /cache/ 或 /plugins/cache/。

快速开始

完整的分步流程见 references/detailed_workflow.md。简要概览:

  1. 理解——收集技能将如何被使用的具体示例。
  2. 规划——确定需要哪些脚本、参考资料和资产。
  3. 初始化——创建技能目录结构(全局技能手动创建,市场技能用 init_skill.py)。
  4. 编辑——创建可复用资源,并使用祈使句形式编写 SKILL.md。
  5. 安全审查——运行 security_scan.py 检测机密和个人信息(市场技能)。
  6. 打包——运行 package_skill.py 进行验证和压缩(仅市场技能)。
  7. 迭代——根据实际使用进行测试和优化。

参考文件

  • references/detailed_workflow.md——完整的技能创建分步流程与示例。

相关资源

  • Anthropic Engineering: Equipping Agents
  • Claude Support: Creating Skills
  • Anthropic Docs: Best Practices