Claude Code 和 Codex 装好以后,多数人的下一步是给它们加东西,让它按你的习惯写提交信息,或者按公司规范审代码。这些东西在 Claude Code 里叫 Skills、子代理和插件,在 Codex 里叫 skills 和 plugins,名字相近,放的位置和调用方式却不一样。这篇是AI 工具攻略系列的第 5 篇,上一篇讲了 token 怎么算钱,这一篇讲这几样东西各管什么、装在哪、去哪找、装之前怎么审。前提是你已经装好并登录了 Claude Code 或 Codex,还没装的先看 Claude 注册与安装和 Codex 注册与安装两篇。
Skill 是一个装着 SKILL.md 文件的文件夹,文件里写着让 AI 智能体完成某一类任务的说明,可以附带脚本、参考资料和模板。这个格式由 Anthropic 提出,后来以 Agent Skills 的名字作为开放标准发布在 agentskills.io,Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot 都支持。文中提到的技能和智能体仓库都是开源免费的,装在你自己的电脑上,运行时消耗的是你已有的 Claude 或 ChatGPT 订阅额度。
本文核验时的版本。截至 2026 年 9 月 14 日,我把 Claude Code 和 Codex 的官方文档、agentskills.io 的说明页和文中每个仓库的 GitHub 数据各核对了一遍,Claude Code 当时是 v2.1.270,Codex CLI 是 0.154.0。
Skills、子代理、MCP、插件是什么,各解决什么问题
Skills、子代理、MCP 和插件是 Claude Code 给自己加能力的四种方式,Codex 这边有 Skills 和插件,MCP 服务器可以随插件带进来,子代理没有像 Claude Code 那样的独立目录,本文讲子代理时只讲 Claude Code。
先把智能体这个词说清楚。放在这篇的语境里,智能体就是一个能自己决定下一步做什么的 AI 程序,它会自己读文件、跑命令,看到结果再决定下一步,Claude Code 和 Codex 本身就是智能体。仓库名里写着 230 个智能体的那种项目,装进去的是 230 份角色说明,每份告诉主程序扮演某个角色时该怎么干活。
Skill 解决的是每次都要重新教它怎么做的问题。你把一件事的做法写进 SKILL.md,下次说到这件事,它按说明办。Claude Code 官方文档的定义里,一个 Skill 由 YAML 头部和 Markdown 正文组成,头部的 description 决定它什么时候被自动用上,正文只在被用到时才进入对话。
子代理对付的是另一个麻烦,一件事太长,把主对话撑爆。Claude Code 文档把子代理定义为处理特定类型任务的专门助手,它有独立的上下文、自己的系统提示和工具权限,跑完只把一段结果带回主对话。翻几十个文件找一个定义这种活交给子代理,主对话只收到结论,不用陪它把每个文件都读一遍。子代理也是 Markdown 文件加头部,name 和 description 必填,内置的有 Explore、Plan 和 general-purpose 三个。
MCP 管的是 AI 够不着外部系统这件事。MCP 是 Model Context Protocol 的缩写,一个 MCP 服务器把数据库、Jira、浏览器这类东西变成模型能调用的工具,Claude Code 的配置写在项目里的 .mcp.json。它的代价上一篇提过,每个工具的定义都计入每一轮输入,装多了每句话都在为它们付钱。
插件是打包形式,省掉一样一样装的麻烦。Claude Code 的插件是一个带 .claude-plugin/plugin.json 清单的文件夹,里面可以同时放 skills、agents、hooks、MCP 配置和 LSP 配置,装完技能以 /插件名:技能名 调用。Codex 的插件结构类似,清单在 .codex-plugin/plugin.json,官方文档给的定义是“可安装的包,里面可以包含技能和 MCP 服务器”。
还有两个不用装的文件也常被混进来。CLAUDE.md 和 AGENTS.md 是项目说明,每次会话都会完整读入,适合放长期不变的规则;Skill 按需加载,适合放具体的操作流程。下面这张表把六样东西的位置和触发方式放在一起,信息来自两家 2026 年 9 月的官方文档。
| 东西 | 是什么 | Claude Code 放哪 | Codex 放哪 | 怎么触发 |
|---|---|---|---|---|
| Skill | 一个文件夹加 SKILL.md,教它做某类任务 | ~/.claude/skills/<名字>/、.claude/skills/<名字>/ |
~/.agents/skills/<名字>/、.agents/skills/<名字>/ |
按描述自动触发,或手动输入 /名字(Claude Code)、$名字(Codex) |
| 子代理 | 独立上下文的助手,跑完只回一段结果 | .claude/agents/、~/.claude/agents/ |
无独立目录,插件包可含 agents/ |
自然语言、@名字、claude --agent 名字 |
| MCP 服务器 | 把外部系统变成模型能调用的工具 | .mcp.json |
随插件的 .mcp.json 安装 |
模型按需调用 |
| 插件 | 打包 skills、agents、hooks、MCP 一起装 | .claude-plugin/plugin.json |
.codex-plugin/plugin.json |
/plugin install,技能以 /插件名:技能名 调用 |
| CLAUDE.md | 项目规则与说明 | 项目根目录、~/.claude/CLAUDE.md |
不读 | 每次会话自动读入 |
| AGENTS.md | 项目规则与说明 | 不读,可在 CLAUDE.md 里写 @AGENTS.md 导入 |
项目根目录、~/.codex/AGENTS.md |
每次会话自动读入,多层合并上限 32 KiB |
Claude Code 的 Skills 装在哪、怎么装、怎么调用
Claude Code 的个人 Skills 放在 ~/.claude/skills/<技能名>/SKILL.md,项目 Skills 放在仓库里的 .claude/skills/<技能名>/SKILL.md,文件夹名就是调用时的命令名,截至 2026 年 9 月的官方 Skills 文档以这两个位置为主。Windows 上个人目录对应 %USERPROFILE%\.claude\skills\。
官方文档列出的全部位置如下,作用范围一列决定了你该把技能放在哪。
| 位置 | 路径 | 作用范围 |
|---|---|---|
| 个人 | ~/.claude/skills/<技能名>/SKILL.md |
这台电脑上的所有项目 |
| 项目 | .claude/skills/<技能名>/SKILL.md |
这个仓库,随代码一起提交给团队 |
| 嵌套 | <子目录>/.claude/skills/<技能名>/SKILL.md |
单一仓库里的子目录,名字冲突时以 /子目录:技能名 调用 |
| 企业 | 托管设置目录下的 .claude/skills/ |
组织内所有人 |
| 插件 | <插件>/skills/<技能名>/SKILL.md |
以 /插件名:技能名 调用 |
| 附加目录 | --add-dir 指定目录下的 .claude/skills/ |
仅当前会话 |
| claude.ai 同步 | 账号设置里启用;本地只有用 -p 非交互模式运行并设置 CLAUDE_CODE_SYNC_SKILLS=1 时,才会拉取到 ~/.claude/skills/synced/ |
Cowork 与云端会话,拉取后本地也能用 |
手动放一个文件夹
最简单的装法就是建文件夹、写文件。下面这个例子做一个写提交信息的技能,在 macOS 或 Linux 终端里执行。
mkdir -p ~/.claude/skills/commit-msg
然后在这个文件夹里新建 SKILL.md,头部至少要有 name 和 description,正文写具体做法。
---
name: commit-msg
description: 按本仓库的约定写 git 提交信息。用户要求写 commit、提交代码或整理提交说明时使用。
---
先运行 git diff --staged 看改动,再按下面的规则写提交信息。
第一行不超过 50 个字符,用中文动词开头。
空一行后写改了什么、为什么改,不写怎么改。
保存后不用重启,官方文档写明 Claude Code 会监视这两个目录,改动在当前会话里就生效,只有第一次新建整个 skills/ 目录时需要重启。
从仓库或市场装
从 GitHub 仓库装,做法一样,只是文件夹是别人写好的。把仓库克隆下来,挑出想要的技能文件夹复制到 ~/.claude/skills/,以 Anthropic 官方仓库里的 pdf 技能为例。
git clone https://github.com/anthropics/skills.git
cp -r skills/skills/pdf ~/.claude/skills/pdf
GitHub 在大陆能打开,大仓库克隆超时的话,换一条能稳定打开海外网站的线路再试,我这边克隆大仓库走的是星岛梦的香港节点,别的线路可以看机场推荐。
从插件市场装是另一条路。Claude Code 首次启动时会自动登记官方市场 claude-plugins-official,输入 /plugin 打开面板,在 Discover 一栏里挑选安装,也可以直接敲命令。
/plugin install github@claude-plugins-official
/plugin install skill-creator@claude-plugins-official
第二条装的 skill-creator 是官方做技能的工具,能生成骨架,也能跑测试用例比较装与不装的效果。想把 anthropics/skills 整个仓库当市场用,输入 /plugin marketplace add anthropics/skills,市场来源支持 GitHub 的 owner/repo 写法、Git 地址和本地路径。装好的插件技能带命名空间,调用时写 /插件名:技能名。
自己写的插件不用发布也能装,claude --plugin-dir ./my-plugin 在启动时加载本地目录,claude plugin init 生成插件骨架。
怎么调用、怎么关
调用有两种。你在对话里输入 /commit-msg 是手动调用,后面可以带参数,/fix-issue 123 里的 123 会替换掉 SKILL.md 正文里的 $ARGUMENTS,一次最多叠六个技能。另一种是自动调用,Claude 看到任务和某个技能的描述匹配,自己把正文读进来,所以 description 要写清楚什么时候用,官方文档给这一段的上限是 1,536 个字符。
有副作用的技能建议关掉自动调用。在头部加 disable-model-invocation: true,部署、发消息这类只由你亲手触发,官方文档举的例子就是 /deploy。反过来 user-invocable: false 会把技能从 / 菜单里藏起来,只让 Claude 在需要时调用。
几个常用的头部字段值得记住。allowed-tools 列出调用这个技能的那一轮里免询问的工具,写成 Bash(git add *) Bash(git commit *) 这种带通配符的形式,这一轮之外照常走权限确认;context: fork 让技能在独立的子代理里跑,配合 agent: Explore 指定只读的探索型子代理;model 和 effort 为这个技能单独换模型和推理力度。旧版的 .claude/commands/<名字>.md 仍然兼容,文件名就是命令名。
关掉一个技能不用删文件。在 .claude/settings.json 里写 skillOverrides,把某个技能设为 "off" 就不再加载,设为 "user-invocable-only" 是你能用而 Claude 不会自动用,/skills 菜单里也能改。桌面版和 CLI 共用同一套 ~/.claude/skills/,装一次两边都有。
Codex 的 Skills 装在哪、怎么装、怎么启停
Codex 的项目 Skills 放在仓库根目录的 .agents/skills/<技能名>/SKILL.md,个人 Skills 放在 ~/.agents/skills/,在 Codex CLI 里输入 $技能名 调用,这是 2026 年 9 月 Codex 官方技能文档的写法。目录名是 .agents,和 Claude Code 的 .claude 不同,两边可以在同一个仓库里并存。
Codex 按下面的顺序查找技能,前面的作用范围小,后面的大。
- 当前工作目录的
.agents/skills - 上一级目录的
.agents/skills,针对 Git 仓库 - 仓库根目录的
.agents/skills - 用户主目录的
~/.agents/skills - 机器级的
/etc/codex/skills,管理员统一放 - 内置技能,OpenAI 随 Codex 附带,比如 skill-creator 和 plan
官方文档写明技能文件夹可以是符号链接。
一个 Codex 技能的文件夹结构和 Claude Code 的几乎一样,SKILL.md 必须有,name 和 description 必填,可选 scripts/、references/、assets/ 三个子目录,另外可以加一个 Codex 自己认的 agents/openai.yaml。
装的方式有三种。手动新建文件夹;在 Codex CLI 里输入 $skill-creator、在 ChatGPT Work 里输入 @skill-creator,让它按对话生成;或者 $skill-installer 技能名 从 OpenAI 的精选技能里装,官方例子是 $skill-installer linear。第三种要留意,文档说精选技能来自 openai/skills 仓库,而这个仓库的 README 顶部已标注弃用,让人去看 openai/plugins,本文核验时两处口径没有统一,装之前看清安装器实际拉的是哪一处。
调用有三个入口。Codex CLI 和 IDE 扩展里输入 /skills 列出全部技能,或者直接 $技能名;ChatGPT 网页和桌面应用里则输入 @ 选技能。不指名的时候,Codex 也会按描述自动选用。
停用某个技能写在配置文件里。打开 ~/.codex/config.toml,加一段,路径指向那个技能的 SKILL.md,改完重启 Codex 生效。
[[skills.config]]
path = "/Users/你的用户名/.agents/skills/某技能/SKILL.md"
enabled = false
Codex 的插件顺带说一句。官方 openai/plugins 仓库里每个插件放在 plugins/<名字>/,清单是 .codex-plugin/plugin.json,市场文件叫 .agents/plugins/marketplace.json,ChatGPT 桌面应用里也有技能库和插件入口。
同一个 Skill 能不能两边通用,Agent Skills 开放标准怎么说
同一个 Skill 文件夹可以同时给 Claude Code 和 Codex 用,只要它只用到 Agent Skills 标准规定的字段,把文件夹复制到两边各自的目录就行,截至 2026 年 9 月两家的官方文档都写明遵循 agentskills.io 上的规范。
Agent Skills 是一种给 AI 智能体添加专门知识和工作流的轻量开放格式,这是标准官网的原话。它对一个技能的要求很少,一个文件夹,一个 SKILL.md,头部至少有 name 和 description,可选 scripts/、references/、assets/ 三个子目录。官网写明这个格式最初由 Anthropic 开发,随后作为开放标准发布,规范文本和讨论都在 GitHub 的 agentskills/agentskills 仓库,约 2.5 万 star,2026 年 9 月核对。
标准规定的加载方式叫渐进加载,启动时只读每个技能的 name 和 description,任务匹配时才读完整的 SKILL.md,执行时再按需运行脚本,两家的实现都是这个思路。
支持的工具比很多人想的多。截至 2026 年 9 月,agentskills.io 的客户端展示页列出了 Claude Code、ChatGPT 与 Codex、Cursor、Gemini CLI、GitHub Copilot、VS Code、OpenCode、Goose、Kiro、Trae 等几十个产品,连面向 DeepSeek 模型的终端工具 Deep Code 也在列表上。
通用性的障碍在各家自己的扩展字段。Claude Code 文档明确列出与标准兼容的只有六个,name、description、license、compatibility、metadata、allowed-tools;context、agent、paths、shell、disable-model-invocation 这些是 Claude Code 自己加的,上传到 claude.ai 或通过 Skills API 提交时会报校验错误,换到 Codex 也不要指望它们生效。正文里的 $ARGUMENTS 和 !`命令` 动态注入同样是 Claude Code 的功能。要两边通用,头部只留六个标准字段,脚本用相对 SKILL.md 的路径引用,别写 ${CLAUDE_SKILL_DIR} 这种只有一家认的变量。
省事的做法是只维护一份。Codex 文档写明支持符号链接的技能文件夹,我在 Claude Code 的文档里没找到关于符号链接的明确说法,保险起见我是把文件夹复制两份,改的时候两边一起改。
去哪找靠谱的 Skills 和智能体,官方市场与高星仓库清单
找 Skills 和智能体,先看两家官方的仓库和市场,再看几个 star 数在万级以上、最近还有提交的社区仓库,截至 2026 年 9 月 14 日下面这几个是我自己在用或者认真翻过的。
Claude Code 的官方市场 claude-plugins-official 首次启动就登记好了,/plugin 面板里能直接看。截至 2026 年 9 月里面有四类东西,typescript-lsp、pyright-lsp 这类语言服务器插件,GitHub、GitLab、Linear、Notion、Figma、Slack、Sentry 这类外部服务集成,security-guidance 安全指引,以及 commit-commands、pr-review-toolkit、skill-creator 这些开发辅助。官方另有一个社区市场,/plugin marketplace add anthropics/claude-plugins-community 加进来后用 /plugin install <名字>@claude-community 装,仓库约 4,000 star,比官方市场小得多。网页版目录在 claude.com/plugins。
Codex 这边的官方来源是内置的 skill-creator、$skill-installer 和 openai/plugins 仓库,后者约 6,700 star,2026 年 3 月才建。老的 openai/skills 仓库有约 2.7 万 star 但已标注弃用,搜到它别再往下装。
下面是仓库清单。anthropics/skills、obra/superpowers、msitarzewski/agency-agents 三个的 star 数是 2026 年 9 月 14 日当天用 GitHub API 取的,其余来自同一天核对的记录,都取约数。
| 仓库 | 用途 | 适用工具 | star 约数 | 核对日期 |
|---|---|---|---|---|
| anthropics/skills | Anthropic 官方技能仓库,含 docx、pdf、pptx、xlsx 等文档处理技能,另有规范 spec 和模板 template 目录;docx、pdf、pptx、xlsx 四个为 source-available 许可,其余 Apache 2.0 | Claude Code、claude.ai,标准格式可移植到 Codex | 约 17.6 万 | 2026-09-14 |
| anthropics/claude-plugins-official | Claude Code 官方插件市场的源仓库,LSP、外部服务集成、安全指引、开发辅助 | Claude Code | 约 3.6 万 | 2026-09-14 |
| obra/superpowers | 一套技能框架加软件开发方法论,仓库标签写着头脑风暴、SDLC、子代理驱动开发;MIT 许可 | Claude Code 为主 | 约 28.6 万 | 2026-09-14 |
| msitarzewski/agency-agents | 230 多个角色化智能体,从前端工程师到 Reddit 社区运营,从趣味注入到现实检查各有一份角色说明;MIT 许可 | Claude Code、Codex、Cursor、Copilot、OpenCode、Gemini CLI 等 | 约 15.2 万 | 2026-09-14 |
| VoltAgent/awesome-claude-code-subagents | 100 多个子代理定义文件合集,按领域分类 | Claude Code | 约 2.5 万 | 2026-09-14 |
| openai/codex | Codex CLI 的源码仓库,版本发布和问题反馈都在这里,README 是安装与配置的一手资料 | Codex | 约 12.4 万 | 2026-09-14 |
| agentskills/agentskills | Agent Skills 开放标准的规范文本、参考实现和讨论区 | 所有支持该标准的工具 | 约 2.5 万 | 2026-09-14 |
agency-agents 是我自己装着的一套。它把常见岗位各写成一份角色说明,需要哪个叫哪个,我写文案和审页面时会叫不同角色分头看。它还有一个桌面安装器,官网 agencyagents.app,仓库 msitarzewski/agency-agents-app 2026 年 6 月才建、约 530 star,MIT 许可,本地运行,不收集数据,不用注册账号。支持 macOS 13 以上、Linux 和 Windows,Windows 版没有签名,第一次打开会有 SmartScreen 提示;macOS 用 brew tap msitarzewski/agency-agents && brew install --cask agency-agents 装。它能把智能体装进 Claude Code、Codex、Gemini CLI、Copilot、Cursor 等工具,2026 年 7 月 5 日的 v0.3.0 加了 Runbooks,界面也有了简体中文。中文用户还可以看社区做的 jnMetaCode/agency-agents-zh,277 个中文角色,约 2.1 万 star,用之前对一下最近提交的日期。
子代理合集的用法很直接,VoltAgent 那个仓库里每个子代理就是一个 Markdown 文件,挑几个复制进项目的 .claude/agents/ 就能用。想找更多,hesreallyhim/awesome-claude-code 是一个约 5.4 万 star 的索引,清单类仓库,本身不装东西。
star 数高只说明用的人多,既不说明安全,也不说明和你的工作流合拍。看仓库时我更在意最近一次提交的日期和 issue 区有没有人回复,表里用 API 取数的三个仓库,最近提交分别在 2026 年 9 月 10 日和 12 日。
装之前先看什么,来路不明的技能包怎么审
装一个 Skill 等于让 AI 按陌生人写的说明去操作你的电脑,装之前花五分钟把文件夹翻一遍,比装完再查省事得多。
风险出在几个具体的位置。SKILL.md 的正文会原样进入对话,成为模型要遵守的指令,allowed-tools 又能让某些命令免去逐条审批。正文里 !`命令` 形式的动态注入会在技能加载那一刻先在你的机器上执行,然后才把输出交给模型,而 scripts/ 里的脚本是被执行的,模型并不逐行读它们。插件更进一步,hooks/hooks.json 里的钩子会在特定事件上自动跑命令,.mcp.json 会启动一个常驻进程。下面五步就是对着这几处看。
- 看 SKILL.md 的头部和正文里的命令。打开文件,找
allowed-tools、hooks两个字段和所有以!`开头的行。Bash(git add *)这种范围明确的正常,Bash(*)以及带curl、rm、sudo的通配授权要问一句为什么,问不出理由就不装。 - 搜外网请求。在技能文件夹里执行
grep -rn "http" .,把每个地址都看一遍,重点是curl或wget后面把结果接管道交给sh、bash的写法,以及把文件内容发到某个地址的脚本。一个写提交信息的技能没有理由联网。 - 看有没有装依赖。搜
pip install、npm install、brew install,看装的是什么包、有没有锁版本、包名是不是知名项目。插件还要打开.mcp.json看它启动的是什么命令,打开hooks/hooks.json看钩子在什么事件上跑什么。 - 看写文件的范围。脚本会改哪些路径,有没有碰
~/.ssh、~/.claude/settings.json、.env、Git 配置这些敏感位置,有没有rm -rf。只在项目目录内读写的技能风险最低。 - 先在测试仓库里跑。新建一个空仓库,或者克隆一份现有项目的副本,把技能放在项目级的
.claude/skills/或.agents/skills/里,插件用claude --plugin-dir ./插件目录临时加载,权限模式保持默认,让它每一步都问你。跑几次没有异常再复制到个人目录,不想要了直接删文件夹。
前四步用两条命令能扫个大概,剩下的靠眼睛。
cd ~/.claude/skills/某技能
grep -rn "http" .
grep -rn -E "allowed-tools|hooks|install|curl|wget|rm -rf|sudo" .
官方仓库的技能也带脚本,来源可查、有人维护,第 2、3 两步仍然要过。另外技能正文是给模型看的指令,里面如果写着忽略用户的其他要求,或者把结果发到某个地址,这本身就是提示注入,看到直接删。
Skills 会不会更费 token
装很多 Skills 不会直接让每轮对话变贵,Claude Code 和 Codex 启动时只把每个技能的名字和描述放进上下文,正文要等到被调用那一刻才进入,这就是上面说的渐进加载,截至 2026 年 9 月两家文档的口径一致。
启动时那一份列表确实占空间,但有上限。Claude Code 的每条描述最多 1,536 个字符;Codex 的初始技能列表最多占上下文窗口的 2%,窗口大小未知时按 8,000 个字符算,描述写得越长,能列进去的技能越少。装 20 个技能和装 5 个,每轮多出来的只是这份列表,通常几千个字符,按上一篇的换算也就一两千 token。
开销集中在调用之后。Claude Code 的文档写明,技能一旦被调用,整个 SKILL.md 作为一条消息进入对话,此后每一轮都跟着重发,不会在后续轮次重新读取;自动压缩时每个技能只保留前 5,000 个 token,所有技能加起来 25,000 个 token。所以文档建议 SKILL.md 控制在 500 行以内,详细资料放到旁边的文件里按需引用。一个 500 行的技能被调用一次,后面整段对话都带着它。
有两个办法把这笔开销挪走。一是 context: fork,让技能在子代理里跑,正文变成子代理的任务提示,主对话只收到结果;二是把只用一次的长流程直接写成子代理,Claude Code 的成本文档本来就建议把冗长的操作交给子代理。
和 CLAUDE.md 比一下就清楚了。CLAUDE.md 每次会话都完整读入,压缩后还会重新加载,官方建议控制在 200 行,把只有某些任务才用得上的流程从 CLAUDE.md 挪进技能,是官方成本文档列出的省 token 办法之一。MCP 服务器则相反,每个工具的定义都算进每一轮输入,不用的服务器要用 /mcp 关掉,/context 能看到各项占多少。
装好技能和智能体之后用得更多,额度自然消耗得更快,也有不少读者从一开始就打不开海外账号。国产工具能顶上多少,Trae、CodeBuddy、Kimi、DeepSeek 各能替代到什么程度,Claude Code 能不能接国产模型,下一篇 ChatGPT 国内平替接着讲。
常见问题
Claude Code 的 Skills 装在哪个目录,怎么调用?
Skills、子代理和 MCP 有什么区别?
Codex 能用 Claude Code 的 Skills 吗?
Codex 的 Skills 怎么停用?
Skills 装多了会更费 token 吗?
从 GitHub 装的 Skills 安全吗?
去哪找 Claude Code 的 Skills 和智能体?
发现信息过期或错误?欢迎联系纠错,我会尽快复核更新。