بنقرة واحدة
skill-creator
创建高效技能的指南。当用户想要创建一个新技能(或更新现有技能)以通过专业知识、工作流或工具集成来扩展 Agent 的能力时,应使用此技能。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
创建高效技能的指南。当用户想要创建一个新技能(或更新现有技能)以通过专业知识、工作流或工具集成来扩展 Agent 的能力时,应使用此技能。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Second fixture skill in the base category, used by Skills-gallery specs to exercise category counts and search filtering across multiple entries.
A trivial skill used only by the Playwright E2E suite's Skills-gallery spec, to have one real toggleable entry to interact with.
Fixture skill in the web category, used by Skills-gallery specs to verify category switching reveals a different set of entries.
扮演架构师角色,通过深度访谈将模糊需求转化为可执行的 IMPLEMENTATION_PLAN.md。
生成符合规范的 Git 提交信息和分支名称,并执行隐私与格式审计。
开启“问答模式”,通过递归式提问澄清需求,实时维护 IMPLEMENTATION_PLAN.md,并在用户最终确认后执行开发任务。当用户提到“问答模式”、“执行访谈”、“需求澄清”或需要对复杂任务进行前置规划时使用。
| name | skill-creator |
| description | 创建高效技能的指南。当用户想要创建一个新技能(或更新现有技能)以通过专业知识、工作流或工具集成来扩展 Agent 的能力时,应使用此技能。 |
| license | Complete terms in LICENSE.txt |
此技能为创建高效技能提供指导。
技能是模块化、独立的包,通过提供专业知识、工作流和工具来扩展 Agent 的能力。可以将它们视为特定领域或任务的“入职指南”——它们将通用代理转变为具备任何模型都无法完全拥有的程序性知识的专用 Agent。
上下文窗口是一种公共资源。技能与 Agent 需要访问的其他所有内容共享上下文窗口:系统提示词、对话历史、其他技能的元数据以及实际的用户请求。
默认假设:Agent 已经非常聪明。 只添加 Agent 尚未拥有的上下文。评估每一条信息:“Agent 真的需要这个解释吗?”以及“这一段值得它的 token 成本吗?”
与其使用冗长的解释,不如使用简洁的示例。
将具体程度与任务的脆弱性和多变性相匹配:
高自由度(基于文本的说明):当多种方法都有效、决策取决于上下文或由启发式方法指导时使用。
中等自由度(伪代码或带参数的脚本):当存在首选模式、可接受某些变化或配置影响行为时使用。
低自由度(特定脚本,少量参数):当操作脆弱且容易出错、一致性至关重要或必须遵循特定顺序时使用。
把 Agent 想象成在探索一条路径:狭窄的悬崖桥梁需要特定的护栏(低自由度),而开阔的田野允许许多路线(高自由度)。
每个技能都包含一个必需的 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 包含:
name 和 description 字段。这是 Agent 读取以确定何时使用技能的唯一字段,因此清楚全面地描述技能是什么以及何时使用它非常重要。scripts/)用于需要确定性可靠性或重复重写的任务的可执行代码(Python/Bash 等)。
scripts/rotate_pdf.pyreferences/)旨在根据需要加载到上下文中以通知 Agent 的过程和思考的文档和参考材料。
references/finance.md,用于公司 NDA 模板的 references/mnda.md,用于公司政策的 references/policies.md,用于 API 规范(OpenAPI/Swagger 等)的 references/api_docs.mdSKILL.md 精简,仅在 Agent 确定需要时加载SKILL.md 中包含 grep 搜索模式SKILL.md 或参考文件中,而不是两者都存在。除非它是技能真正的核心,否则倾向于将详细信息放在参考文件中——这保持了 SKILL.md 的精简,同时使信息可被发现而不占用上下文窗口。在 SKILL.md 中仅保留必要的程序说明和工作流指导;将详细的参考材料、架构和示例移动到参考文件中。assets/)不打算加载到上下文中,而是在 Agent 生成的输出中使用的文件。
assets/logo.png,用于演示文稿的 assets/slides.pptx,用于代码框架的 assets/frontend-template/,用于排版的 assets/font.ttf技能应仅包含直接支持其功能的必要文件。不要创建无关的文档或辅助文件,包括:
技能应仅包含 Agent 完成手头工作所需的信息。它不应包含关于创建过程、设置和测试程序、面向用户的文档等的辅助上下文。创建额外的文档文件只会增加混乱和困惑。
技能使用三级加载系统来有效地管理上下文:
保持 SKILL.md 正文为必需内容且在 500 行以内,以最小化上下文膨胀。接近此限制时将内容拆分到单独的文件中。当将内容拆分到其他文件时,务必在 SKILL.md 中引用它们并清楚地描述何时读取它们,以确保技能的读者知道它们的存在以及何时使用它们。
关键原则: 当一个技能支持多种变体、框架或选项时,在 SKILL.md 中仅保留核心工作流和选择指导。将特定于变体的细节(模式、示例、配置)移动到单独的参考文件中。
模式 1:带参考的高级指南
# PDF 处理
## 快速开始
使用 pdfplumber 提取文本:
[代码示例]
## 高级功能
- **表单填充**:查看 [FORMS.md](FORMS.md) 获取完整指南
- **API 参考**:查看 [REFERENCE.md](REFERENCE.md) 获取所有方法
- **示例**:查看 [EXAMPLES.md](EXAMPLES.md) 获取常见模式
Agent 仅在需要时加载 FORMS.md、REFERENCE.md 或 EXAMPLES.md。
模式 2:特定领域的组织
对于具有多个领域的技能,按领域组织内容以避免加载不相关的上下文:
bigquery-skill/
├── SKILL.md (概览和导航)
└── reference/
├── finance.md (收入,账单指标)
├── sales.md (机会,管道)
├── product.md (API 使用,功能)
└── marketing.md (活动,归因)
当用户询问销售指标时,Agent 仅读取 sales.md。
同样,对于支持多种框架或变体的技能,按变体组织:
cloud-deploy/
├── SKILL.md (工作流 + 提供商选择)
└── references/
├── aws.md (AWS 部署模式)
├── gcp.md (GCP 部署模式)
└── azure.md (Azure 部署模式)
当用户选择 AWS 时,Agent 仅读取 aws.md。
模式 3:条件性细节
显示基本内容,链接到高级内容:
# DOCX 处理
## 创建文档
使用 docx-js 创建新文档。参见 [DOCX-JS.md](DOCX-JS.md)。
## 编辑文档
对于简单的编辑,直接修改 XML。
**对于修订**:参见 [REDLINING.md](REDLINING.md)
**对于 OOXML 细节**:参见 [OOXML.md](OOXML.md)
Agent 仅在用户需要这些功能时读取 REDLINING.md 或 OOXML.md。
重要指南:
SKILL.md 只有一层深度。所有参考文件应直接从 SKILL.md 链接。技能创建涉及这些步骤:
init_skill.py)SKILL.md)package_skill.py)按顺序遵循这些步骤,仅当有明确理由不适用时才跳过。
仅在技能的使用模式已经非常清楚时才跳过此步骤。即使是在处理现有技能时,它仍然很有价值。
要创建一个有效的技能,必须清楚地理解技能将如何被使用的具体示例。这种理解可以来自直接的用户示例,也可以来自经用户反馈验证的生成示例。
对于一个 Agent 技能,相关问题包括:
为了避免让用户不知所措,避免在一条消息中问太多问题。从最重要的问题开始,并根据需要跟进以获得更好的效果。
当对技能应支持的功能有清晰的认识时,结束此步骤。
为了将具体示例转化为有效的技能,通过以下方式分析每个示例:
示例:在构建 pdf-editor 技能以处理像“帮我旋转这个 PDF”这样的查询时,分析显示:
scripts/rotate_pdf.py 脚本存储在技能中会有帮助示例:在设计 frontend-webapp-builder 技能以处理像“给我做一个待办事项应用”或“给我做一个仪表板来跟踪我的步数”这样的查询时,分析显示:
assets/hello-world/ 模板存储在技能中会有帮助示例:在构建 big-query 技能以处理像“今天有多少用户登录?”这样的查询时,分析显示:
references/schema.md 文件存储在技能中会有帮助为了建立技能的内容,分析每个具体示例以创建一个要包含的可重用资源列表:脚本、参考文档和静态资源。
此时,是时候实际创建技能了。
仅当正在开发的技能已经存在,且需要迭代或打包时才跳过此步骤。在这种情况下,继续下一步。
当从头开始创建一个新技能时,始终运行 init_skill.py 脚本。该脚本方便地生成一个新的模板技能目录,自动包含技能所需的一切,使技能创建过程更加高效和可靠。
用法:
scripts/init_skill.py <skill-name> --path <output-directory>
该脚本:
SKILL.md 模板scripts/、references/ 和 assets/初始化后,根据需要自定义或删除生成的 SKILL.md 和示例文件。
当编辑(新生成的或现有的)技能时,请记住该技能是为另一个 Agent 实例创建的。包含对 Agent 有益且非显而易见的信息。考虑哪些程序性知识、领域特定细节或可重用资产将帮助另一个 Agent 实例更有效地执行这些任务。
根据你的技能需求查阅这些有用的指南:
对于复杂任务,将操作分解为清晰的顺序步骤。通常在 SKILL.md 的开头给 Agent 一个流程概述是很有帮助的:
填充 PDF 表单涉及这些步骤:
1. 分析表单(运行 analyze_form.py)
2. 创建字段映射(编辑 fields.json)
3. 验证映射(运行 validate_fields.py)
4. 填充表单(运行 fill_form.py)
5. 验证输出(运行 verify_output.py)
对于具有分支逻辑的任务,引导 Agent 通过决策点:
1. 确定修改类型:
**创建新内容?** → 遵循下方的“创建工作流”
**编辑现有内容?** → 遵循下方的“编辑工作流”
2. 创建工作流:[步骤]
3. 编辑工作流:[步骤]
为输出格式提供模板。根据你的需求匹配严格程度。
对于严格要求(如 API 响应或数据格式):
## 报告结构
始终使用此确切的模板结构:
# [分析标题]
## 执行摘要
[一段关于关键发现的概述]
## 关键发现
- 发现 1 及支持数据
- 发现 2 及支持数据
- 发现 3 及支持数据
## 建议
1. 具体的行动建议
2. 具体的行动建议
对于灵活指导(当适应性有用时):
## 报告结构
这是一个合理的默认格式,但请运用你的最佳判断:
# [分析标题]
## 执行摘要
[概述]
## 关键发现
[根据你的发现调整部分]
## 建议
[根据具体情况调整]
根据具体分析类型按需调整部分。
对于输出质量取决于看到示例的技能,提供输入/输出对:
## 提交信息格式
按照这些示例生成提交信息:
**示例 1:**
输入:添加了使用 JWT 令牌的用户身份验证
输出:
feat(auth): implement JWT-based authentication
Add login endpoint and token validation middleware
**示例 2:**
输入:修复了报告中日期显示错误的 bug
输出:
fix(reports): correct date formatting in timezone conversion
Use UTC timestamps consistently across report generation
遵循此风格:type(scope): 简短描述,然后是详细解释。
示例帮助 Agent 比仅凭描述更清楚地理解所需的风格和详细程度。
要开始实现,从上面确定的可重用资源开始:scripts/、references/ 和 静态资源 文件。注意,这一步可能需要用户输入。例如,当实现一个 brand-guidelines 技能时,用户可能需要提供品牌资产或模板存储在 assets/ 中,或提供文档存储在 references/ 中。
添加的脚本必须通过实际运行进行测试,以确保没有 bug 且输出符合预期。如果有许多类似的脚本,只需测试代表性样本,以确保对它们都能工作的信心,同时平衡完成时间。
任何技能不需要的示例文件和目录都应被删除。初始化脚本在 scripts/、references/ 和 assets/ 中创建示例文件以演示结构,但大多数技能不需要全部。
编写指南: 始终使用祈使句/不定式形式。
编写带有 name 和 description 的 YAML frontmatter:
name:技能名称description:这是你的技能的主要触发机制,帮助 Agent 理解何时使用该技能。
docx 技能的示例描述:“支持修订、评论、格式保留和文本提取的综合文档创建、编辑和分析。当 Agent 需要处理专业文档(.docx 文件)用于以下情况时使用:(1) 创建新文档,(2) 修改或编辑内容,(3) 处理修订,(4) 添加评论,或任何其他文档任务”不要在 YAML frontmatter 中包含任何其他字段。
编写使用技能及其配套资源的说明。
一旦技能开发完成,必须将其打包成可分发的 .skill 文件与用户共享。打包过程首先自动验证技能,以确保其满足所有要求:
scripts/package_skill.py <path/to/skill-folder>
可选的输出目录规范:
scripts/package_skill.py <path/to/skill-folder> ./dist
打包脚本将:
自动验证技能,检查:
如果验证通过,则打包技能,创建一个以技能命名的 .skill 文件(例如,my-skill.skill),其中包括所有文件并保持正确的分发目录结构。.skill 文件是一个扩展名为 .skill 的 zip 文件。
如果验证失败,脚本将报告错误并在不创建包的情况下退出。修复任何验证错误并再次运行打包命令。
测试技能后,用户可能会要求改进。这通常发生在刚使用完技能后,对技能的表现有新鲜的上下文。
迭代工作流:
SKILL.md 或配套资源