Codex Skill 入门与实战:安装、调用和自建

整理时间 :2026-10-12

核心标签:#Codex #AgentSkills #AI编程 #效率工具

资料来源

  • S1 视频 :《Codex Skill 到底是什么?10分钟入门使用、安装、自建》,Bilibili。当前环境无法直接读取视频字幕或逐帧内容,因此本文中视频演示的具体操作依据用户提供的截图整理,不虚构视频时间戳。
  • S2 官方文档 :Build skills(OpenAI),用于补充 Skill 目录结构、发现机制及安装/分发方式。官方文档可能随产品更新而变化,命令和路径以实际版本为准。

本篇速览

  • Skill 是把一类任务的规则、流程与可选资源封装起来的可复用能力,不是单纯的一段提示词,也不等同于模型本身。S2
  • 使用 Skill 的基本闭环是:发现或编写 → 安装到合适范围 → 由描述匹配或显式调用 → 根据真实任务迭代。
  • 实战示例覆盖 Codex 技能列表、查看/启用技能、skills.sh 搜索和安装、调用 find-skills、通过 skill-creator 自建技能。

一、Skill 是什么,适合解决什么问题

可以把 Skill 理解为"面向某类工作的操作手册"。它把原本每次都要重复写给模型的背景、步骤、约束和检查方式,整理成可复用目录;当任务匹配时,Codex 可读取这些说明并按流程工作。

官方格式中,Skill 至少包含带 name 和 description 的 SKILL.md,也可以附带脚本、参考资料和模板等资源。S2 因此它的价值不在于"提示词更长",而在于把可靠的任务流程做成可以复用、维护和分发的单元。

Skill、MCP 与插件的区别

组件 主要职责 直观理解
Skill 描述何时做、按什么步骤做、如何处理结果 工作方法和流程
MCP / 工具 提供模型可调用的外部数据或操作能力 工具和数据接口
插件 可打包并分发 Skills、连接器等 可安装的能力包

一个 Skill 可以指导 Codex 如何组合工具,但它本身不自动等于一个新工具或权限。权限和工具可用性仍受当前产品、配置和授权范围控制。


二、Skill 如何被发现和使用

Codex 可通过两种方式启用 Skill:

  1. 显式调用 :在支持的界面里使用 $ 选择 Skill,或在技能选择器中挑选后说明任务。之后的截图会演示先输入 $、选择 find-skills,再描述需求的方式。

  2. 隐式匹配 :系统依据 Skill 的 description 判断当前请求是否符合其适用范围。因此描述应清楚写明任务边界和触发场景,避免过宽或含糊。

Skill 使用渐进式披露:启动时先呈现名称和描述;任务需要时再读取完整 SKILL.md,并按需使用目录中的其他资源。这有助于避免每轮都把全部说明塞进上下文。
#mermaid-svg-zhyxbG8E2JMwpeA4{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-zhyxbG8E2JMwpeA4 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-zhyxbG8E2JMwpeA4 .error-icon{fill:#552222;}#mermaid-svg-zhyxbG8E2JMwpeA4 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-zhyxbG8E2JMwpeA4 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-zhyxbG8E2JMwpeA4 .marker.cross{stroke:#333333;}#mermaid-svg-zhyxbG8E2JMwpeA4 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-zhyxbG8E2JMwpeA4 p{margin:0;}#mermaid-svg-zhyxbG8E2JMwpeA4 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-zhyxbG8E2JMwpeA4 .cluster-label text{fill:#333;}#mermaid-svg-zhyxbG8E2JMwpeA4 .cluster-label span{color:#333;}#mermaid-svg-zhyxbG8E2JMwpeA4 .cluster-label span p{background-color:transparent;}#mermaid-svg-zhyxbG8E2JMwpeA4 .label text,#mermaid-svg-zhyxbG8E2JMwpeA4 span{fill:#333;color:#333;}#mermaid-svg-zhyxbG8E2JMwpeA4 .node rect,#mermaid-svg-zhyxbG8E2JMwpeA4 .node circle,#mermaid-svg-zhyxbG8E2JMwpeA4 .node ellipse,#mermaid-svg-zhyxbG8E2JMwpeA4 .node polygon,#mermaid-svg-zhyxbG8E2JMwpeA4 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-zhyxbG8E2JMwpeA4 .rough-node .label text,#mermaid-svg-zhyxbG8E2JMwpeA4 .node .label text,#mermaid-svg-zhyxbG8E2JMwpeA4 .image-shape .label,#mermaid-svg-zhyxbG8E2JMwpeA4 .icon-shape .label{text-anchor:middle;}#mermaid-svg-zhyxbG8E2JMwpeA4 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-zhyxbG8E2JMwpeA4 .rough-node .label,#mermaid-svg-zhyxbG8E2JMwpeA4 .node .label,#mermaid-svg-zhyxbG8E2JMwpeA4 .image-shape .label,#mermaid-svg-zhyxbG8E2JMwpeA4 .icon-shape .label{text-align:center;}#mermaid-svg-zhyxbG8E2JMwpeA4 .node.clickable{cursor:pointer;}#mermaid-svg-zhyxbG8E2JMwpeA4 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-zhyxbG8E2JMwpeA4 .arrowheadPath{fill:#333333;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-zhyxbG8E2JMwpeA4 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zhyxbG8E2JMwpeA4 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-zhyxbG8E2JMwpeA4 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zhyxbG8E2JMwpeA4 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-zhyxbG8E2JMwpeA4 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-zhyxbG8E2JMwpeA4 .cluster text{fill:#333;}#mermaid-svg-zhyxbG8E2JMwpeA4 .cluster span{color:#333;}#mermaid-svg-zhyxbG8E2JMwpeA4 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-zhyxbG8E2JMwpeA4 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-zhyxbG8E2JMwpeA4 rect.text{fill:none;stroke-width:0;}#mermaid-svg-zhyxbG8E2JMwpeA4 .icon-shape,#mermaid-svg-zhyxbG8E2JMwpeA4 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zhyxbG8E2JMwpeA4 .icon-shape p,#mermaid-svg-zhyxbG8E2JMwpeA4 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-zhyxbG8E2JMwpeA4 .icon-shape .label rect,#mermaid-svg-zhyxbG8E2JMwpeA4 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zhyxbG8E2JMwpeA4 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-zhyxbG8E2JMwpeA4 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-zhyxbG8E2JMwpeA4 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 是
否
匹配
不匹配
用户提出任务
是否显式选择 Skill?
加载所选 Skill
根据 name 和 description 判断是否匹配
按普通对话处理
按 SKILL.md 流程执行
按需读取脚本、参考资料或模板
检查结果并反馈


三、查找、安装和启用现有 Skill

1. 在 Codex 界面检查已安装技能并进行试用

  • 操作路径:进入侧边栏的"自定义"区域 --- 选择"技能"--- 查看已安装列表 --- 打开单个 Skill
  • 可检查完整说明,也可以在界面中启用/停用或卸载。
  • 不同版本的 Codex UI 可能略有差异。

2. 从社区目录发现候选技能

skills.sh 的搜索/排行榜:排行榜和安装量只能作为发现线索,并不代表安全或适合当前项目。安装前应审查来源仓库、SKILL.md、脚本内容和所需权限。

示例的安装命令如下:

bash 复制代码
npx skills add https://github.com/vercel-labs/skills --skill find-skills

命令形式可能随 skills CLI 更新而变化;执行前请以技能页面当前给出的安装命令为准。不要把来源不明的脚本直接安装到常用环境。

3. 使用 Skill Installer 安装

通过 Codex 自带的 $skill-installer,把 skills.sh 页面地址交给安装器;安装器检查来源后,将 find-skills 安装到本机用户技能目录。官方文档也说明可以用内置 $skill-installer 安装精选 Skill 或其他仓库中的 Skill;新安装技能通常可自动发现,如未出现可重启 Codex。

安装范围要看目标位置:用户级技能适用于个人多个项目;仓库级技能可与项目一起维护和共享。避免误把只适用于个人的工作流提交进仓库,或把含项目机密的内容放入可分享技能中。

4. 调用已安装的 Skill

安装后,在对话输入 $ 并选择目标技能,再清晰描述任务、输入材料和期望输出。例如截图中使用 find-skills 搜索前端设计相关技能,并让它用中文汇总候选项。

显式调用时仍要给出具体目标;Skill 提供流程,不会替代用户对本次任务的需求描述。


四、从零创建自己的 Skill

1. 先定义边界和验收标准

在创建前,先回答四个问题:

  • 它解决哪一类重复任务?
  • 何时应该触发,何时不应该触发?
  • 需要哪些输入,必须产出什么?
  • 哪些步骤或结论不能猜测,如何验证结果?

例如本文使用的 study-notes-distiller,任务边界是把学习截图、视频/文章来源和随记整理为结构化中文 Markdown;它还明确要求保留图片、来源和不确定项。

2. 用 skill-creator 起草

截图演示在 Codex 中显式调用 $skill-creator,给出新技能名称及完整要求,然后检查生成计划和文件(图 09)。创建器的价值是规范化结构和检查流程;生成后仍需要人工核对内容是否完整、准确、边界是否明确。

3. 最小目录结构

text 复制代码
my-skill/
├── SKILL.md              # 必需:名称、描述和工作指令
├── scripts/              # 可选:需要确定性执行时放脚本
├── references/           # 可选:较长的背景资料
└── assets/               # 可选:模板、示例及其他资源

一个最小的 SKILL.md 示例:

markdown 复制代码
---
name: study-notes
description: 将技术学习材料整理成中文 Markdown 笔记;适用于用户提供截图、教程链接或随记并要求归纳时。
---

# 学习笔记整理

1. 按文件名顺序检查输入截图,不遗漏重点标注。
2. 只总结可读取到的资料;无法访问的来源明确说明。
3. 按核心概念、实操步骤、注意事项组织内容。
4. 对不确定的文字和结论标记"待确认",不猜测补全。
5. 输出可发布的中文 Markdown,并核对链接和附件路径。

官方文档强调 name 与 description 是必要元数据;描述应具体、简洁、边界清楚。技能应聚焦一个工作,指令使用明确的动作和输入输出要求。

4. 选择合适的安装/分发范围

目标 建议位置/方式 适用场景
个人本机复用 用户级 Skills 目录或安装器 多个项目共用的个人工作流
项目团队共用 仓库中的 .agents/skills/ 与代码项目一起版本管理
面向更多人分发 打包为插件 需要统一分发一个或多个 Skill,或配套连接器

Codex 的本地发现路径包括仓库级 .agents/skills、用户级 $HOME/.agents/skills、管理员级和内置系统级位置;官方还指出可通过插件分发可复用技能。 路径和功能会因运行环境而异,Windows 用户应以当前 Codex 版本和官方文档列出的路径为准。

5. 验证与迭代

创建成功不代表技能质量已经达标。至少检查:

  • SKILL.md 是否存在,frontmatter 是否含 name 和 description;
  • 技能是否会在预期任务触发,而不会被无关请求误触发;
  • 操作步骤是否可执行,输出格式是否能复现;
  • 路径、命令、脚本及示例是否真实有效;
  • 失败、权限和不确定情形是否有明确处理方式。

五、使用与维护中的注意事项

  1. 先看内容,再安装:Skill 文件属于可执行工作指令;若含脚本,更要审查具体行为、网络访问、文件操作和凭据处理。
  2. 不要只看热度:安装量、Stars 或排行榜无法证明代码安全、内容准确,也无法保证适配你的环境。
  3. 描述决定可发现性:写清楚目标任务、触发条件和边界,避免"处理所有事情"这类宽泛描述。
  4. 用户级与仓库级不要混淆:按复用范围选择位置,确认是否要将技能随项目提交和共享。
  5. 禁用与卸载是不同操作:禁用通常是保留文件但暂不使用;卸载会移除技能。截图显示了两类管理入口(图 01、图 02),具体行为以当前 UI 提示为准。
  6. 版本差异要复核:UI、CLI 命令和发现路径可能演进;社区技能的安装说明尤其应以来源页面当前版本为准。

六、总结

Codex Skill 的核心是把可重复的任务流程变成结构化、可发现、可维护的能力。入门时先安装并实际调用一个成熟 Skill,理解它如何通过 SKILL.md 约束工作;随后选择一个边界清晰的重复任务,用 skill-creator 起草,通过真实任务测试,再根据失败案例迭代。

一句话记忆:Skill 负责告诉模型"这类事应该怎么做",工具负责提供"能做什么",插件则可以把能力组织起来分发。


八、知识思维导图

#mermaid-svg-BjDEVQnulTpWgbOi{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-BjDEVQnulTpWgbOi .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-BjDEVQnulTpWgbOi .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-BjDEVQnulTpWgbOi .error-icon{fill:#552222;}#mermaid-svg-BjDEVQnulTpWgbOi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-BjDEVQnulTpWgbOi .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-BjDEVQnulTpWgbOi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-BjDEVQnulTpWgbOi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-BjDEVQnulTpWgbOi .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-BjDEVQnulTpWgbOi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-BjDEVQnulTpWgbOi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-BjDEVQnulTpWgbOi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-BjDEVQnulTpWgbOi .marker.cross{stroke:#333333;}#mermaid-svg-BjDEVQnulTpWgbOi svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-BjDEVQnulTpWgbOi p{margin:0;}#mermaid-svg-BjDEVQnulTpWgbOi .edge{stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .section--1 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section--1 path,#mermaid-svg-BjDEVQnulTpWgbOi .section--1 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section--1 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section--1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section--1 text{fill:#ffffff;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon--1{font-size:40px;color:#ffffff;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge--1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth--1{stroke-width:17;}#mermaid-svg-BjDEVQnulTpWgbOi .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-0 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-0 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-0 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-0 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-0 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-0{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-0{stroke-width:14;}#mermaid-svg-BjDEVQnulTpWgbOi .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-1 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-1 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-1 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-1 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-1 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-1{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-1{stroke-width:11;}#mermaid-svg-BjDEVQnulTpWgbOi .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-2 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-2 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-2 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-2 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-2 text{fill:#ffffff;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-2{stroke-width:8;}#mermaid-svg-BjDEVQnulTpWgbOi .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-3 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-3 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-3 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-3 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-3 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-3{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-3{stroke-width:5;}#mermaid-svg-BjDEVQnulTpWgbOi .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-4 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-4 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-4 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-4 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-4 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-4{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-4{stroke-width:2;}#mermaid-svg-BjDEVQnulTpWgbOi .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-5 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-5 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-5 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-5 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-5 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-5{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-5{stroke-width:-1;}#mermaid-svg-BjDEVQnulTpWgbOi .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-6 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-6 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-6 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-6 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-6 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-6{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-6{stroke-width:-4;}#mermaid-svg-BjDEVQnulTpWgbOi .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-7 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-7 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-7 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-7 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-7 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-7{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-7{stroke-width:-7;}#mermaid-svg-BjDEVQnulTpWgbOi .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-8 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-8 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-8 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-8 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-8 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-8{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-8{stroke-width:-10;}#mermaid-svg-BjDEVQnulTpWgbOi .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-9 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-9 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-9 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-9 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-9 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-9{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-9{stroke-width:-13;}#mermaid-svg-BjDEVQnulTpWgbOi .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-10 rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-10 path,#mermaid-svg-BjDEVQnulTpWgbOi .section-10 circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-10 polygon,#mermaid-svg-BjDEVQnulTpWgbOi .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-10 text{fill:black;}#mermaid-svg-BjDEVQnulTpWgbOi .node-icon-10{font-size:40px;color:black;}#mermaid-svg-BjDEVQnulTpWgbOi .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .edge-depth-10{stroke-width:-16;}#mermaid-svg-BjDEVQnulTpWgbOi .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled,#mermaid-svg-BjDEVQnulTpWgbOi .disabled circle,#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:lightgray;}#mermaid-svg-BjDEVQnulTpWgbOi .disabled text{fill:#efefef;}#mermaid-svg-BjDEVQnulTpWgbOi .section-root rect,#mermaid-svg-BjDEVQnulTpWgbOi .section-root path,#mermaid-svg-BjDEVQnulTpWgbOi .section-root circle,#mermaid-svg-BjDEVQnulTpWgbOi .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-BjDEVQnulTpWgbOi .section-root text{fill:#ffffff;}#mermaid-svg-BjDEVQnulTpWgbOi .section-root span{color:#ffffff;}#mermaid-svg-BjDEVQnulTpWgbOi .section-2 span{color:#ffffff;}#mermaid-svg-BjDEVQnulTpWgbOi .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-BjDEVQnulTpWgbOi .edge{fill:none;}#mermaid-svg-BjDEVQnulTpWgbOi .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-BjDEVQnulTpWgbOi :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Codex Skill
核心定位
可复用任务流程
SKILL.md
Skill与工具和插件的区别
发现与调用
名称和描述
显式调用
隐式匹配
渐进式披露
安装与管理
Codex技能列表
skills.sh发现
Skill Installer
用户级与仓库级
自建技能
明确任务边界
skill-creator起草
编写工作指令
测试与迭代
注意事项
安装前审查来源
不迷信热度
核对路径与版本
区分禁用和卸载