claude code的skill是啥?应该如何使用?
核心定义Skill 是以 Markdown 格式(通常为 SKILL.md 文件)编写的指令集。它给 Claude 提供了一套特定任务的“剧本(Playbook)”,包含指令、上下文、工作流、决策框架甚至对其他脚本文件的调用。与普通斜杠命令(Slash Commands)的区别普通命令(如 /clear, /compact, /cost):是硬编码的固定逻辑操作,不涉及 AI 推理。Skill(如
在 Claude Code 中,Skill(技能) 是一项极其强大的功能,它本质上是模块化的提示词模板和专业工作流包,用于扩展 Claude Code 的核心能力,使其从一个通用的 AI 编程助手变成深度适配你项目规范的“领域专家”。
以下是关于 Claude Code Skill 的详细解析及使用指南:
一、 什么是 Claude Code 的 Skill?
-
核心定义:
Skill 是以 Markdown 格式(通常为 SKILL.md 文件)编写的指令集。它给 Claude 提供了一套特定任务的“剧本(Playbook)”,包含指令、上下文、工作流、决策框架甚至对其他脚本文件的调用。 -
与普通斜杠命令(Slash Commands)的区别:
-
普通命令(如 /clear, /compact, /cost):是硬编码的固定逻辑操作,不涉及 AI 推理。
-
Skill(如内置的 /review, /simplify, /batch 或你自定义的 Skill):是基于 Prompt 和 AI 推理的。当调用时,Claude 会将这些指令加载到上下文中,它能自主规划、调用外部工具、生成多步工作流,甚至派生出子代理(Subagents)并行工作。
-
-
触发方式的双面性:
-
手动触发(User-invoked):你可以像敲命令一样直接输入 /技能名(例如 /frontend-design)来明确调用。
-
自动触发(Model-invoked):Claude 也会根据你在对话中的需求,读取各个 Skill 的 description(描述)。如果发现匹配,它会自动且自主地在后台调用对应的 Skill。
-
二、 应该如何使用 Skill?
使用 Skill 分为三种主要场景:使用内置/第三方 Skill、创建自定义 Skill 和 配置 Skill 权限。
1. 使用内置或社区现成的 Skill
-
内置 Skill:Claude Code 出厂自带了一些强大的 Skill。例如:
-
/batch <指令>:在后台启动多个隔离的子代理(Subagent),并行对代码库进行大规模修改。
-
/review:执行代码审查,检查最佳实践和安全问题。
-
/claude-api:加载 Claude API 的官方参考文档作为上下文。
-
-
安装社区 Skill:开源社区(如 GitHub)有成百上千的现成 Skill 库。你可以通过类似 npx skills add <组织名>/<仓库名> 或插件市场命令将其导入你的项目中直接使用。
2. 创建你自己的自定义 Skill(核心进阶用法)
如果你发现自己经常向 Claude 复制粘贴相同的 Prompt(比如“按照我们团队的格式写测试”或“解释这段代码”),你就应该将其固化为 Skill。
存放位置:
-
全局 Skill:存放在 ~/.claude/skills/技能名称/SKILL.md(所有项目可用)。
-
项目级 Skill:存放在项目根目录的 .claude/skills/技能名称/SKILL.md(仅当前项目可用,可通过 Git 与团队共享)。
如何编写一个 SKILL.md 文件?
一个标准的 Skill 文件由 YAML Frontmatter(元数据配置区) 和 Markdown 指令区 组成。
示例:创建一个名为 generate-docs 的文档生成技能
在 .claude/skills/generate-docs/SKILL.md 中写入:
code Markdown
downloadcontent_copy
expand_less
---
name: generate-docs
description: 当用户要求为某个模块、API 或代码目录生成技术文档时自动触发。
disable-model-invocation: false
---
# 生成文档
请为 `$1`(用户传入的路径或模块)生成全面的 Markdown 格式技术文档。
## 执行步骤
1. 搜索并读取 `$1` 目录下的所有核心文件。
2. 提取核心类、函数、参数列表及代码注释。
3. 按照内部团队规范生成文档。
## 输出格式规范
- 必须包含:概述、参数表、返回值和至少一个使用示例。
- 标题请使用 `#` 前缀(如 `## 接口说明`),不要使用下划线样式。
使用该自定义技能:
-
手动:在终端输入 /generate-docs src/auth (这里的 src/auth 会被作为参数替换掉上面的 $1)。
-
自动:如果你直接对 Claude 说:“帮我把 src/auth 目录的文档写一下”,Claude 会读取到 description 符合,自动加载该规则执行。
3. 进阶:配置 Skill 的高级行为 (Frontmatter)
通过修改 SKILL.md 顶部的 YAML 区域,你可以精准控制 Claude 的行为边界:
-
disable-model-invocation: true(禁止模型自动调用)
-
用途:如果你写了一个用于自动化部署 (/deploy) 或提交代码 (/commit) 的 Skill,你肯定不希望 Claude 觉得“代码写完了,我顺手帮你发个版吧”。设置此项后,该技能只能由你手动通过 / 触发。
-
-
user-invocable: false(仅模型后台调用)
-
用途:用于隐式的团队开发规范。比如你写了一个记录“React 状态管理最佳实践”的 Skill,你不需要手动调用它,只需让 Claude 每次写 React 代码时自动在后台读取并遵守。
-
-
context: fork(沙箱隔离运行)
-
用途:让该 Skill 在一个隔离的子代理(Subagent)中运行。适用于繁重的代码检索和研究任务,这样它中间思考和试错的大量日志就不会弄脏你当前对话的上下文窗口。
-
总结
掌握 Claude Code Skill 的秘诀就是**“上下文工程(Context Engineering)”**。不要把 Claude 当作单纯的自动补全工具,而是当你发现一种好的工作模式、一个项目特有的规范,或者一个复杂的多步任务时,立刻将它写成 SKILL.md 沉淀下来。假以时日,你的 .claude/skills/ 目录将成为整个团队的最佳实践库。
Google Search Suggestions
Display of Search Suggestions is required when using Grounding with Google Search. Learn more
更多推荐


所有评论(0)