技能创建者 (Skill Creator - Chinese Version)
此技能为创建高效技能提供指导.
关于技能 (About Skills)
技能是模块化、自包含的包,通过提供专业知识、工作流和工具来扩展代理的能力.可以将其视为针对特定领域或任务的 "入职指南" ——它们将通用代理转变为具备流程性知识的专业代理.
技能提供的功能
- •专业工作流 - 针对特定领域的多个步骤流程.
- •工具集成 - 指导如何使用特定文件格式或 API.
- •领域专业知识 - 公司特定的知识、模式、业务逻辑.
- •捆绑资源 - 用于复杂和重复任务的脚本、参考资料和资源.
核心原则 (Core Principles)
简洁是关键 (Concise is Key)
上下文窗口 (Context Window) 是公共资源.技能需要与系统提示词、对话历史、其他技能元数据以及实际用户请求共享上下文.
默认假设:代理已经非常聪明. 只添加代理尚未掌握的上下文.挑战每条信息: "代理真的需要这个解释吗?" 以及 "这段文字对得起它的 Token 成本吗?"
优先使用简洁的示例,而不是冗长的解释.
设置适当的自由度 (Set Appropriate Degrees of Freedom)
根据任务的脆弱性和变异性匹配特异性级别:
高自由度 (文本指令): 当多个方法都有效、决策依赖于上下文或启发式方法指导过程时使用.
中等自由度 (伪代码或带参数的脚本): 当存在首选模式、允许某种程度的变化或配置会影响行为时使用.
低自由度 (特定脚本,极少参数): 当操作脆弱且易出错、一致性至关重要或必须遵循特定顺序时使用.
技能的结构 (Anatomy of a Skill)
每个技能都包含一个必需的 SKILL.md 文件和可选的捆绑资源:
code
skill-name/
├── SKILL.md (必填)
│ ├── YAML 元数据 (必填)
│ │ ├── name: (必填)
│ │ ├── description: (必填)
│ │ └── compatibility: (可选)
│ └── Markdown 指令 (必填)
└── 捆绑资源 (可选)
├── scripts/ - 可执行代码 (Python/Bash 等)
├── references/ - 旨在根据需要加载到上下文中的文档
└── assets/ - 输出中使用的文件 (模板、图标、字体等)
渐进式披露设计原则 (Progressive Disclosure)
技能使用三层加载系统来高效管理上下文:
- •元数据 (名称 + 描述) - 始终在上下文中 (~100 词).
- •SKILL.md 正文 - 技能触发时加载 (<5k 词).
- •捆绑资源 - 根据需要加载 (脚本无需读入上下文窗口即可执行,因此几乎无限制).
关键原则: 当技能支持多种变体、框架或选项时,仅在 SKILL.md 中保留核心工作流和选择指南.将变体特定的细节(模式、示例、配置)移动到单独的参考文件中.
技能创建流程 (Skill Creation Process)
- •了解技能背景: 通过具体示例了解技能用途.
- •规划资源: 规划脚本、参考资料和资产.
- •初始化技能: 运行
scripts/init_skill.py <skill-name>. - •编辑技能: 编写
SKILL.md并实现资源. - •打包技能: 运行
scripts/package_skill.py <path/to/skill-folder>. - •迭代优化: 根据实际使用情况进行改进.
步骤 4: 编辑技能 (Edit the Skill)
编写 SKILL.md 时,请记住这是为另一个代理实例使用的.包含有益且非显而易见的信息.
编写指南
- •使用祈使句/不定式形式.
- •YAML Frontmatter:
description是主要触发机制,应涵盖技能的作用及触发上下文. - •正文: 编写关于如何使用该技能及其捆绑资源的指令.
步骤 5: 打包技能 (Packaging a Skill)
开发完成后,必须将其打包为可分发的 .skill 文件.打包过程会自动验证技能是否符合要求:
bash
python3 scripts/package_skill.py <path/to/skill-folder>
验证内容包括:
- •YAML 格式及必填字段.
- •命名规范与目录结构.
- •描述的完整性与质量.
- •资源引用的正确性.
注: 此技能本身即为使用提示词工程和结构化文档的最佳实践示例.