在代理模式下,使用专用功能为特定于领域的任务创建技能,以扩展Genie Code。 本页介绍如何创建和优化技能。
什么是技能?
创建技能以扩展具有专用功能的 Genie Code。 技能遵循 代理技能的开放标准。 当相关时,技能包打包了特定领域的知识和工作流,Genie Code 可以加载以执行特定任务。 技能可以包括指南、最佳做法、可重用代码和可执行脚本。
应针对特定于域的任务定制技能。 通过技能,比起仅仅依靠使用说明,您可以为任务提供更广泛的上下文(例如脚本、示例和其他资源)。 与全局应用的 自定义说明不同,技能会自动加载,并且仅在相关上下文中加载。 在代理模式下,Genie Code 会根据你的请求和技能描述自动加载技能。 还可以通过 @ 提及技能来手动调用技能。 这将保持高效的上下文窗口,并减少跨多个聊天提供相同上下文的需求。
注释
技能仅在 Genie Code 代理模式下受支持。
创建技能
技能位于 /Users/{username}/.assistant/skills/ 目录中。 每个技能必须有自己的文件夹,并在该文件夹中包含一个SKILL.md文件。
创建新技能:
在用户工作区文件夹中,创建新的技能文件夹。 文件夹路径应为:
/Users/{username}/.assistant/skills/。创建后,可以在 Genie Code 面板中快速访问此文件夹。 单击
设置,然后单击
打开 skills 文件夹。
为技能文件夹中的技能创建专用文件夹。 每个技能必须有自己的文件夹。 例如,如果要为个人工作流创建技能,则文件夹结构可能是:
/Users/{username}/.assistant/skills/ └── personal-workflows/ └── SKILL.md在技能文件夹中创建一个
SKILL.md文件。 此文件是必需的,并定义技能。 技能遵循 代理技能的规范。为您的技能添加所需的前置内容:
--- name: skill-name description: A description of what this skill does and when to use it. ---在 frontmatter 后面添加 Markdown 格式的技能说明。 建议包含以下部分:
- 分步说明:明确的过程指导
- 示例:示例输入和预期输出
- 边缘情况:常见变体和异常
(可选)对于更复杂的技能,可以提供和引用其他资源:
- 包含代理可以运行的可执行代码的脚本。
- 包含要引用的其他文档的文件,例如最佳做法和模板。
引用其他文件时,请使用根技能中的相对路径。
例如,你可能具有一个个人工作流技能,该技能引用用于管道安装和部署的 ETL 最佳做法、仪表板模板和脚本。 技能的文件夹可能包括以下文件:
/Users/{username}/.assistant/skills/ ├── personal-workflows/ ├── SKILL.md # Workflow overview and best practices ├── etl-patterns.md # Personal ETL best practices ├── dashboard-templates.md # Reusable dashboard patterns └── scripts/ ├── pipeline-setup.sh # Environment setup scripts └── model-deploy.py # Model deployment automation
Genie Code 会在下次以代理模式使用时自动识别你的技能。 还可以@提及技能,以确保Genie Code能使用这些技能。
最佳做法
遵循以下准则撰写有效的技能:
- 保持技能专注。 技能在专注于单个任务或工作流时效果最佳。 使用狭窄的范围,Genie Code 更容易识别技能的适用时机。
- 使用明确的名称和说明。 简洁的描述性名称和摘要帮助 Genie Code 将正确的技能与正确的请求相匹配。
- 明确表达,注重示例 分步描述工作流,并包括 Genie Code 可重复使用的具体示例或模式。
- 避免不必要的上下文。 仅包含任务所需的信息。 额外的细节可以使技能更难可靠地应用。
- 反复进行。 将技能视为生活工作流。 基于实际使用情况的小型更新可以显著改善结果。
- 将指南与自动化分开。 使用 Markdown 解释意图、最佳实践和脚本,以实现可重复的操作。 保持这些关注点不同,使技能更易于维护和重复使用。
另请参阅
- 改进 Genie Code 响应的提示:了解如何在聊天提示中手动引用技能。