用途
Skill Creator 是一个指导型技能,用于帮助用户创建新的技能(Skill),或更新已有技能,从而扩展 Codex 的能力。当用户希望为特定领域或任务构建可复用的技能包时,可使用本技能获得系统性的创建指导。
关于技能
技能是模块化、自包含的包,通过提供专门的知识、工作流和工具来扩展 Codex 的能力。可以将其理解为针对特定领域或任务的“入门指南”——它们把 Codex 从通用智能体转变为具备程序性知识的专用智能体。
技能可提供:
- 专门的工作流:针对特定领域的多步骤流程
- 工具集成:处理特定文件格式或 API 的说明
- 领域专业知识:公司特定的知识、模式、业务逻辑
- 捆绑资源:用于复杂和重复性任务的脚本、参考资料和资产
核心原则
简洁是关键:上下文窗口是公共资源,技能需要与系统提示、对话历史、其他技能的元数据以及用户请求共享它。默认假设 Codex 已经非常智能,只添加它尚不具备的上下文。优先使用简洁示例而非冗长解释。
设置适当的自由度:根据任务的脆弱性和可变性匹配具体程度。高自由度(基于文本的指令)适用于多种方法均有效、决策依赖上下文的情况;中等自由度(伪代码或带参数的脚本)适用于存在首选模式、允许一定变化的情况;低自由度(具体脚本、少量参数)适用于操作脆弱易错、一致性至关重要或必须遵循特定顺序的情况。
技能的结构
每个技能由一个必需的 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 字段,这是 Codex 判断技能何时被使用的唯一字段)和 Markdown 正文(仅在技能触发后加载)。
Scripts(scripts/):可执行代码,用于需要确定性可靠性或反复重写的任务。例如 scripts/rotate_pdf.py。优点是节省 token、确定性、可在不加载到上下文的情况下执行。
References(references/):按需加载到上下文中的文档和参考资料,如数据库模式、API 文档、领域知识、公司政策、详细工作流指南。可保持 SKILL.md 精简。若文件较大(超过 1 万词),建议在 SKILL.md 中包含 grep 搜索模式。避免重复:信息应只存在于 SKILL.md 或 references 文件之一。
Assets(assets/):不加载到上下文、而是在 Codex 输出中使用的文件,如品牌资产、PowerPoint 模板、HTML/React 样板、字体等。
不应包含的内容
技能应只包含直接支持其功能的必要文件。不要创建多余文档或辅助文件,包括 README.md、INSTALLATION_GUIDE.md、QUICK_REFERENCE.md、CHANGELOG.md 等。
渐进式披露设计原则
技能使用三级加载系统管理上下文:
- 元数据(name + description)——始终在上下文中(约 100 词)
- SKILL.md 正文——技能触发时加载(少于 5000 词)
- 捆绑资源——按 Codex 需要加载(脚本可不读入上下文直接执行,因此无限制)
渐进式披露模式:
- 模式 1:高层指南加引用。SKILL.md 保留快速开始和高级功能链接,Codex 仅在需要时加载对应文件。
- 模式 2:按领域组织。多领域技能按领域拆分文件(如 finance.md、sales.md),用户询问某领域时只读取对应文件。多框架技能同理按变体组织(如 aws.md、gcp.md、azure.md)。
- 模式 3:条件细节。展示基础内容,链接到高级内容,如 DOCX 处理中简单编辑直接改 XML,跟踪更改和 OOXML 细节分别链接到 REDLINING.md 和 OOXML.md。
重要准则:避免深层嵌套引用,保持引用距 SKILL.md 一层;较长的引用文件(超过 100 行)应在顶部包含目录。
技能创建流程
- 通过具体示例理解技能
- 规划可复用的技能内容(scripts、references、assets)
- 初始化技能(运行 init_skill.py)
- 编辑技能(实现资源并编写 SKILL.md)
- 打包技能(运行 package_skill.py)
- 基于实际使用迭代
按顺序执行,仅在明确不适用时跳过。
技能命名
仅使用小写字母、数字和连字符;将用户提供的标题规范为连字符格式(如 "Plan Mode" -> plan-mode)。名称在 64 个字符以内。优先使用描述动作的简短动词短语。可在提升清晰度或触发时按工具命名空间(如 gh-address-comments、linear-address-issue)。技能文件夹名称与技能名称完全一致。
步骤 1:通过具体示例理解技能
除非使用模式已明确,否则不要跳过。要创建有效技能,需清楚理解技能被使用的具体示例,可来自用户直接示例或经用户反馈验证的生成示例。例如构建图像编辑器技能时,可询问支持哪些功能、使用示例、什么用户表述应触发该技能。避免在单条消息中问太多问题,从最重要的问题开始。
步骤 2:规划可复用的技能内容
分析每个示例:从头执行该示例的方式,以及重复执行时哪些脚本、参考资料和资产会有帮助。例如 PDF 旋转需要反复重写相同代码,可存 scripts/rotate_pdf.py;前端应用构建需要相同样板,可存 assets/hello-world/ 模板;BigQuery 查询需要反复发现表模式,可存 references/schema.md。
步骤 3:初始化技能
从头创建新技能时,始终运行 init_skill.py 脚本。用法:
scripts/init_skill.py <skill-name> --path <output-directory> [--resources scripts,references,assets] [--examples]
示例:
scripts/init_skill.py my-skill --path skills/public
scripts/init_skill.py my-skill --path skills/public --resources scripts,references
scripts/init_skill.py my-skill --path skills/public --resources scripts --examples
该脚本会:在指定路径创建技能目录;生成带正确 frontmatter 和 TODO 占位符的 SKILL.md 模板;根据 --resources 可选创建资源目录;设置 --examples 时可选添加示例文件。初始化后自定义 SKILL.md 并按需添加资源。
步骤 4:编辑技能
技能是为另一个 Codex 实例使用而创建的,应包含对 Codex 有益且非显而易见的信息。
学习成熟设计模式:多步骤流程参见 references/workflows.md;特定输出格式或质量标准参见 references/output-patterns.md。
从可复用内容开始:先实现 scripts/、references/、assets/ 文件。此步骤可能需要用户输入,例如品牌指南技能需要用户提供品牌资产或模板。添加的脚本必须实际运行测试,确保无 bug 且输出符合预期;若有大量相似脚本,只需测试代表性样本。若使用了 --examples,删除不需要的占位文件,只创建实际需要的资源目录。
更新 SKILL.md:编写指南要求始终使用祈使/不定式形式。
Frontmatter 中 name 为技能名称;description 是主要的触发机制,需包含技能做什么以及何时使用的具体触发条件/上下文。所有“何时使用”信息都放在这里,而非正文(正文仅在触发后加载)。例如 docx 技能的 description 可写为:“Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. Use when Codex needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks”。YAML frontmatter 中不要包含其他字段。
适用场景
适用于需要为 Codex 构建或更新专用技能的场景,包括:为特定领域(如 PDF 处理、DOCX 处理、前端应用构建、BigQuery 查询、云部署)创建技能;将重复性工作流、领域知识、公司政策、API 文档等封装为可复用技能;按渐进式披露原则组织技能内容以优化上下文使用。
限制
资料未提供该技能的具体收费、价格、平台支持范围、效果保证等信息。技能创建流程中的打包步骤(package_skill.py)在提供的资料中仅被提及,其详细用法暂未提供。