一句话:Skill 就是一个装着 SKILL.md 的文件夹,里面写好"什么时候用、怎么做",智能体遇到匹配的任务就自己读进来照着做。
Skill 遵循开放的 Agent Skills 标准,同一个 Skill 文件夹可以在 Claude Code、Codex、Cursor 等工具里用。平时智能体只看每个 Skill 的名字和描述,真正用到时才加载全文,所以装几个 Skill 不会把上下文塞满。
这篇讲三件事:Skill 装在哪、怎么触发、实际用起来是什么样。想自己写一个 Skill,看《怎么写 SKILL.md:把重复工作流沉淀成自己的 Skill》。
先把客户端接好
Skill 只是给智能体的说明书,干活的还是模型。先把客户端接到 AICodeWith,配置写在全局文件里,所有项目通用。
Claude Code:打开 ~/.claude/settings.json,在 env 里填上:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
"ANTHROPIC_AUTH_TOKEN": "sk-你的Key",
"CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK": "1"
}
}
Codex:打开 ~/.codex/config.toml,写入:
model_provider = "aicodewith"
model = "gpt-5.6-sol"
[model_providers.aicodewith]
name = "aicodewith"
base_url = "https://api.aicodewith.ai/chatgpt/v1"
wire_api = "responses"
experimental_bearer_token = "sk-你的Key"
改完重开终端,能正常对话就说明接通了。Claude Code 的字段说明见《Claude Code 如何接入第三方 API》,Codex 见《Codex config.toml 配置指南》。
Skill 装在哪个目录
装 Skill 就是把 Skill 文件夹放进对应目录。每个 Skill 一个文件夹,文件夹里必须有 SKILL.md:
~/.claude/skills/
└── summarize-changes/
├── SKILL.md
└── scripts/ (可选,放脚本)
各工具读取的位置:
| 工具 | 个人(所有项目可用) | 项目(提交到仓库,团队共享) |
|---|---|---|
| Claude Code | ~/.claude/skills/<名字>/SKILL.md | .claude/skills/<名字>/SKILL.md |
| Codex | ~/.agents/skills/<名字>/SKILL.md | .agents/skills/<名字>/SKILL.md |
| Cursor | ~/.cursor/skills/ 或 ~/.agents/skills/ | .cursor/skills/ 或 .agents/skills/ |
几点要知道:
- 同名 Skill 在 Claude Code 里,个人目录优先于项目目录
- Codex 会从当前目录一路往上找
.agents/skills,直到仓库根目录 - Cursor 兼容读取
~/.claude/skills/和~/.codex/skills/,所以给 Claude Code 装的 Skill,Cursor 里也能直接用 - Claude Code 和 Codex 都会自动发现新装的 Skill;Codex 没刷出来就重启一下
只想一份 Skill 多个工具共用,可以放在一个地方,再用软链接(symlink)挂到其他工具的目录。Claude Code、Codex 官方文档都写明支持软链接的 Skill 文件夹。
两种装法:插件市场和直接解压
方式一:从插件市场装(Claude Code)。Anthropic 官方的文档类 Skill(xlsx、docx、pptx、pdf)就是这么装的,在终端运行:
claude plugin marketplace add anthropics/skills
claude plugin install document-skills@anthropic-agent-skills
方式二:下载解压到 Skill 目录。拿到一个 Skill 压缩包,解压到 ~/.claude/skills/<名字>/,看到里面有 SKILL.md 就算装好。
Codex 里可以用自带的安装器,比如安装 Linear 的 Skill:
$skill-installer linear
怎么触发 Skill
自动触发:直接说需求。智能体会拿你的话去对比每个 Skill 的 description,对得上就自动加载。比如装了 xlsx Skill 后说"帮我把这张 Excel 清洗一下",它就会用上。
手动调用:
- Claude Code:输入
/Skill名字,比如/summarize-changes;后面可以带参数 - Codex:输入
$选 Skill,或者运行/skills查看和选择 - Cursor:在 Agent 对话里输入
/搜索 Skill 名字
不想让智能体自己乱用某个 Skill(比如部署、发消息这类有副作用的),Claude Code 和 Cursor 在SKILL.md头部加disable-model-invocation: true,之后只能手动调用。Codex 用 Skill 目录下的agents/openai.yaml,设置policy.allow_implicit_invocation: false。
查看已经装了哪些:Claude Code 里可以直接问"What skills are available?",或运行 /skills;Cursor 在侧边栏 Customize → Skills 里看。
实战案例一:xlsx Skill 清洗乱表格
装好 document-skills 后,在表格所在目录启动 claude,一句话说清要求:保留原始数据、新建清洗后的 sheet、汇总用真实的 SUMIFS 公式。Claude Code 会自动用上 xlsx Skill,我们实测一张故意弄乱的销售表 61.5 秒完成,汇总全是能自动重算的 Excel 公式。
完整提示词和结果见《AI 处理 Excel:一句话清洗乱表格,自动生成 SUMIFS 汇总公式》。
实战案例二:invoice-organizer 整理发票
这个 Skill 用的是第二种装法:从 SkillHub 下载压缩包,解压到 ~/.claude/skills/invoice-organize/。之后对 Claude Code 说"用 invoice-organizer 整理这个文件夹的发票",它会把 XML 电子发票整理成 Excel 台账,顺带查重和校验金额。我们用 6 张发票实测 63 秒完成,揪出了一对重复发票和一张金额多算 0.50 元的发票。
详细步骤见《Claude Code 发票 Skill 实测:用 invoice-organizer 自动整理发票》。
常见问题
Skill 和 CLAUDE.md 有什么区别?
CLAUDE.md 每次对话都会整份加载,适合放"事实",比如项目用什么框架。Skill 平时只加载名字和描述,用到才读全文,适合放"流程",比如发布步骤、检查清单。
装了 Skill 但它不触发怎么办?
先确认 Skill 能被看到(Claude Code 问"What skills are available?",Codex 运行 /skills)。看得到但不自动触发,多半是 description 没写到你常说的词,可以先手动调用,再去改描述。描述怎么写见《怎么写 SKILL.md》。
同一个 Skill 能同时给 Claude Code 和 Codex 用吗?
能。两边都遵循 Agent Skills 标准,SKILL.md 只写 name 和 description 等标准字段,就能通用。放进各自的目录,或用软链接共用一份。
Codex 里怎么临时关掉一个 Skill?
在 ~/.codex/config.toml 里加一段,然后重启 Codex:
[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = false
Skill 装多了会拖慢速度吗?
每个 Skill 的名字和描述会一直在上下文里。Claude Code 可以运行 /skill-doctor 看每个 Skill 占多少上下文、用得多不多,把不用的关掉。
更多 Codex 专属细节,可以看《Codex Skills 怎么用?从 SKILL.md 到触发验证》。



