Skills使用方法
Skills
Skills 是模块化的、自包含的能力包,通过提供专门的知识、工作流和工具来扩展 AI Agent 的能力。它们就像是针对特定领域或任务的“入职指南”,将通用的 AI Agent 转变为具备专业程序性知识的专家。
Skills 能提供什么
- 专业工作流:针对特定领域的自动多步骤程序。
- 工具集成:处理特定文件格式或 API 的指令。
- 领域专业知识:公司特定的知识、架构和业务逻辑。
- 打包资源:用于复杂和重复任务的脚本、参考资料和资产。
Skills 的结构
每个 Skill 由一个必需的 SKILL.md 文件和可选的打包资源组成。Skill 应建立在工作区的/skills/ 目录下。
SKILL.md(必需)
这是 Skill 的核心定义文件。
元数据 (YAML Frontmatter):name 和 description 决定了 AI 何时会使用这个 Skill。描述需具体说明 Skill 的功能和使用场景。
示例:
name:pdf-editor
description:This skill should be used when users ask to modify, rotate, or extract text from PDF
allowed-tools:# 可选,指定允许使用的工具
disable:false # 可选,是否禁用
PDF Editor
To rotate a PDF...
打包资源 (可选)
- Scripts (scripts/)
用于需要确定性可靠性或被重复重写的任务的可执行代码。
用途:当代码被重复重写或需要高可靠性时。
示例:scripts/rotate_pdf.py 用于 PDF 旋转
- References (references/)
旨在根据需要加载到上下文中以辅助 AI 思考的文档和参考资料。
用途:数据库架构、API 文档、领域知识、公司政策等。
优势:保持 SKILL.md 精简,仅在 AI 确定需要时才加载。
- Assets (assets/)
不打算加载到上下文中,而是用于 AI 生成的输出中的文件。
用途:品牌资产、PPT 模板、HTML/React 样板代码等。
渐进式披露设计原则
Skills 使用三级加载系统来高效管理上下文:
- 元数据 (Metadata):始终在上下文中 (~100 词)。
- Skill 主体 (SKILL.md body):当 Skill 被触发时加载 (<5k 词)。
- 打包资源 (Bundled resources):按需由 AI 加载 (无限制)。
创建 Skill 的流程
- 理解需求:明确 Skill 的使用场景和触发条件。
- 规划资源:分析是否需要脚本、参考文档或资产模板。
- 创建目录:在/skills/ 下创建新的 Skill 目录。
- 编写 SKILL.md: 填写 YAML 元数据。 编写 Markdown 指令。使用指令性语言(如 "To accomplish X, do Y")。 引用打包的资源。
最佳实践
具体明确的描述:在 description 中清楚地说明 Skill 何时应该被使用。
指令性语言:在 SKILL.md 中使用动词开头的指令,而不是第二人称。
按需加载:将长篇文档放入 references/,避免 SKILL.md 过于臃肿。
避免重复:信息应存在于 SKILL.md 或引用文件中,不要两处都有。
Skill管理
CodeBuddy 在设置页面中提供了可视化的界面来帮助你管理 Skills。
在设置管理页面中,你可以:
集中管理:查看和管理当前项目(Project Skills)和用户级别(User Skills)的所有 Skills。
导入 Skill:点击右上角的“导入 Skill”按钮,可以导入你从网络上获取的 Skills。

