Phase 3 · 上下文与技能

构建技能 | ChatGPT 学习

OpenAI·2026/7/21·7 阅读

构建技能 | ChatGPT 学习

来源: https://developers.openai.com/codex/skills 抓取时间: 2026-07-21 16:19:36


使用智能体技能为 Codex 扩展特定任务能力。技能将指令、资源和可选脚本打包在一起,使 Codex 能够可靠地遵循工作流。技能建立在 开放智能体技能标准 之上。

技能是可重用工作流的创作格式。插件将可重用的技能和连接器分发到网页版 ChatGPT 的工作模式,以及 ChatGPT 桌面应用的工作模式和 Codex。Codex CLI 也可以安装插件。使用技能设计工作流本身,然后当您希望工作区中的其他人安装它时,将其打包为 插件

技能可在 ChatGPT 桌面应用、Codex CLI 和 IDE 扩展中使用。

在 ChatGPT 桌面应用中,打开侧边栏中的 技能 以查看和探索跨项目创建的技能。 显示 ChatGPT 桌面应用中可用技能的技能选择器 显示 ChatGPT 桌面应用中可用技能的技能选择器 显示 ChatGPT 桌面应用中可用技能的技能选择器 显示 ChatGPT 桌面应用中可用技能的技能选择器

技能使用 渐进式披露 来高效管理上下文:Codex 从每个技能的名称、描述和文件路径开始。只有当 Codex 决定使用某个技能时,它才会加载完整的 SKILL.md 指令。

Codex 在上下文中包含可用技能的初始列表,以便它可以为任务选择正确的技能。为了避免挤占提示的其余部分,此列表最多使用模型上下文窗口的 2%,或者当上下文窗口未知时使用 8,000 个字符。如果安装了许多技能,Codex 会首先缩短技能描述。对于大型技能集,Codex 可能会从初始列表中省略一些技能并显示警告。

此预算仅适用于初始技能列表。当 Codex 选择一个技能时,它仍然会读取该技能的完整 SKILL.md 指令。

技能是一个包含 SKILL.md 文件以及可选脚本和参考的目录。SKILL.md 文件必须包含 namedescription

  • my-skill/
    • SKILL.md 必需:指令 + 元数据
    • scripts/ 可选:可执行代码
    • references/ 可选:文档
    • assets/ 可选:模板、资源
    • agents/
      • openai.yaml 可选:外观和依赖项

Codex 如何使用技能

Codex 可以通过两种方式激活技能:

  1. 显式调用: 直接在您的提示中包含该技能。在 CLI/IDE 中,运行 /skills 或键入 $ 来提及一个技能。
  2. 隐式调用: 当您的任务与技能 description 匹配时,Codex 可以选择该技能。

由于隐式匹配取决于 description,因此请编写简洁的描述,具有明确的范围和边界。将关键用例和触发词放在前面,这样即使描述被缩短,Codex 仍然可以匹配该技能。

创建技能

如果您已经知道工作流,并且展示比描述更容易,请使用 录制和重播。Codex 录制工作流,检查步骤,并从演示中起草一个可重用的技能。

如果您想描述该技能,请使用内置创建器:

$skill-creator

创建器会询问该技能做什么、何时应该触发,以及它应该保持仅指令还是包含脚本。仅指令是默认设置。

您也可以通过创建一个包含 SKILL.md 文件的文件夹来手动创建技能:

---
name: skill-name
description: 准确解释此技能何时应该和不应该触发。
---

Codex 要遵循的技能指令。

Codex 会自动检测技能更改。如果更新没有出现,请重启 Codex。

在哪里保存技能

Codex 从仓库、用户、管理员和系统位置读取技能。对于仓库,Codex 会从当前工作目录向上扫描到仓库根目录中的 .agents/skills。如果两个技能共享相同的 name,Codex 不会合并它们;两者都可以出现在技能选择器中。

技能范围位置建议用途
REPO$CWD/.agents/skills
当前工作目录:您启动 Codex 的位置。如果您在仓库或代码环境中,团队可以检入与工作文件夹相关的技能。例如,仅与微服务或模块相关的技能。
REPO$CWD/../.agents/skills
当您在 Git 仓库内启动 Codex 时,位于 CWD 上方的文件夹。如果您在具有嵌套文件夹的仓库中,组织可以检入与父文件夹中共享区域相关的技能。
REPO$REPO_ROOT/.agents/skills
当您在 Git 仓库内启动 Codex 时,位于最顶层的根文件夹。如果您在具有嵌套文件夹的仓库中,组织可以检入与使用该仓库的每个人相关的技能。这些作为根技能,可供仓库中的任何子文件夹使用。
USER$HOME/.agents/skills
检入用户个人文件夹的任何技能。用于策划与用户相关、适用于用户可能工作的任何仓库的技能。
ADMIN/etc/codex/skills
检入机器或容器中共享系统位置的任何技能。用于 SDK 脚本、自动化,以及检入机器上每个用户可用的默认管理员技能。
SYSTEM由 OpenAI 与 Codex 捆绑在一起。适用于广泛受众的有用技能,如技能创建器和计划技能。每个人在启动 Codex 时都可以使用。

Codex 支持符号链接的技能文件夹,并在扫描这些位置时遵循符号链接目标。

这些位置用于创作和本地发现。当您想要在单个仓库之外分发可重用的技能,或者可选地将它们与连接器捆绑在一起时,请使用 插件

使用插件分发技能

直接技能文件夹最适合本地创作和仓库范围的工作流。如果您想要分发可重用的技能、将两个或更多技能捆绑在一起,或者与连接器一起提供技能,请将它们打包为 插件

插件可以包含一个或多个技能。它们还可以可选地将应用映射、MCP 服务器配置和展示资源捆绑在一个包中。

安装精选技能供本地使用

要为您自己的本地 Codex 设置添加超出内置功能的精选技能,请使用 $skill-installer。例如,要安装 $linear 技能:

$skill-installer linear

您也可以提示安装程序从其他仓库下载技能。Codex 会自动检测新安装的技能;如果没有出现,请重启 Codex。

将此用于本地设置和实验。对于您自己技能的可重用分发,首选插件。

启用或禁用技能

~/.codex/config.toml 中使用 [[skills.config]] 条目来禁用技能而不删除它:

[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = false

更改 ~/.codex/config.toml 后重启 Codex。

可选元数据

添加 agents/openai.yaml 以配置 ChatGPT 桌面应用 中的 UI 元数据,设置调用策略,并声明工具依赖项,以获得使用技能的更无缝体验。

interface:
  display_name: "可选的面向用户的名称"
  short_description: "可选的面向用户的描述"
  icon_small: "./assets/small-logo.svg"
  icon_large: "./assets/large-logo.png"
  brand_color: "#3B82F6"
  default_prompt: "用于该技能的可选周围提示"

policy:
  allow_implicit_invocation: false

dependencies:
  tools:
    - type: "mcp"
      value: "openaiDeveloperDocs"
      description: "OpenAI Docs MCP server"
      transport: "streamable_http"
      url: "https://developers.openai.com/mcp"

allow_implicit_invocation(默认值:true):当为 false 时,Codex 不会根据用户提示隐式调用该技能;显式 $skill 调用仍然有效。

最佳实践

  • 保持每个技能专注于一项任务。
  • 优先使用指令而不是脚本,除非您需要确定性行为或外部工具。
  • 编写带有明确输入和输出的命令性步骤。
  • 针对技能描述测试提示,以确认正确的触发行为。

有关更多示例,请参见 GitHub CI 修复PDFLinearopenai/skills智能体技能规范。对于可安装的分发,首选 插件

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.