Skills(技能)是 Claude Code 的扩展机制:创建一个 SKILL.md 文件,Claude 就多了一项新能力。你可以直接用 /skill-name 调用,或让 Claude 在合适时机自动使用。
Skills vs CLAUDE.md vs 命令
- CLAUDE.md:每次会话都加载进上下文,消耗 token
- Skills:只在被调用或匹配时加载,节省上下文
- 自定义命令(
.claude/commands/):已合并进 Skills,完全兼容
三个内置 Skills
Claude Code 自带三个强力技能:
/simplify — 代码清理
并行启动三个审查 Agent(代码复用、质量、效率),汇总发现并应用修复。
bash
/simplify # 审查最近修改的文件
/simplify focus on memory efficiency # 聚焦特定方向/batch — 大规模并行变更
将大型代码库变更分解为 5-30 个独立单元,每个单元启动独立的 Git Worktree + 后台 Agent,并行执行并各自开 PR。
bash
/batch migrate src/ from Solid to React
/batch add TypeScript types to all API handlers/debug — 会话调试
bash
/debug # 读取当前会话的 debug 日志
/debug Claude keeps failing to read files # 描述问题聚焦分析创建你的第一个 Skill
第一步:创建目录
bash
# 个人技能(所有项目可用)
mkdir -p ~/.claude/skills/explain-code
# 项目级技能(只在当前项目可用)
mkdir -p .claude/skills/deploy第二步:写 SKILL.md
markdown
---
name: explain-code
description: 用可视化图表和类比解释代码。当用户问「这怎么工作的」时自动触发。
---
解释代码时,始终包含:
1. **先做类比**:将代码与日常事物对比
2. **画图**:用 ASCII 展示流程、结构或关系
3. **逐步讲解**:说明代码执行步骤
4. **标出陷阱**:常见错误或误解
保持对话式,复杂概念使用多个类比。第三步:使用技能
bash
/explain-code # 直接调用
"这段代码怎么工作的?" # 自动触发(description 匹配时)Skill 文件位置与作用范围
| 位置 | 作用范围 |
|---|---|
~/.claude/skills/ | 个人,所有项目可用 |
.claude/skills/(项目根目录) | 团队,通过 git 共享 |
~/.claude/commands/(遗留) | 个人命令(仍可用) |
.claude/commands/(遗留) | 项目命令(仍可用) |
子目录递归扫描,可以组织成 frontend/、backend/ 等结构。
Frontmatter 字段参考
yaml
---
name: skill-name # /命令名称(必填)
description: 描述 # 帮助 Claude 判断何时自动使用(推荐)
invocation: user # user(只有你调用)| auto(Claude 自动调用)| both(默认)
tools: # 限制该技能只能使用的工具
allow: [Read, Write]
deny: [Bash]
---invocation 字段
user:只能用/skill-name手动调用,Claude 不会自动触发auto:Claude 自动调用,不显示为命令(不建议用于复杂操作)both(默认):两种方式都支持
向 Skill 传参
bash
/translate 翻译这段代码为 Python在 SKILL.md 中用 $ARGUMENTS 占位符接收:
markdown
将以下内容翻译:$ARGUMENTS注入动态上下文
markdown
---
name: git-summary
description: 总结 git 变更
---
最近的 git 变更:
$SHELL(git log --oneline -10)$SHELL(命令) 在 Skill 加载时执行命令并注入结果,适合注入动态信息(当前分支、环境变量等)。
在子代理中运行 Skill
markdown
---
name: research
description: 深度研究一个话题
agent: explore
---
研究以下话题并给出全面报告:$ARGUMENTS设置 agent: explore 后,该 Skill 在独立的子代理中执行,不影响主会话上下文。适合耗时或高消耗的任务。
分享和发现 Skills
- 版本控制分享:项目级 Skills 放在
.claude/skills/并提交到 git,团队成员自动获得 - 个人跨项目:放在
~/.claude/skills/可在所有项目使用 - AgentSkills 开放标准:Claude Code Skills 遵循 agentskills.io 标准,理论上可以跨 AI 工具使用
- 社区发现:ClaWHub 等社区正在收集和分享高质量 Skills
常见问题
Skill 没有触发?
- 检查
description是否清晰描述了触发场景 - 用
/skill-name直接调用测试 invocation: user的 Skill 不会自动触发
Skill 触发太频繁?
- 使
description更精确 - 改为
invocation: user,只允许手动调用
Claude 看不到我的 Skill?
- 确认文件名是
SKILL.md(大小写正确) - 确认目录在支持的路径下
- 用
/debug检查 Skill 加载状态
原文:Extend Claude with skills | 来源:Anthropic 官方文档