news 2026/11/3 19:10:24

Claude Code Skills 使用指南:安装、创建与管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude Code Skills 使用指南:安装、创建与管理

1. 什么是 Claude Code Skills

Claude Code Skills 是 Anthropic 为 Claude Code 引入的一项可扩展能力,它允许你把重复性的指令、脚本、参考文档和资源打包成一个可复用的技能单元。当你在对话中触发某个 Skill 时,Claude 会自动加载该技能的定义文件(SKILL.md),并严格遵循其中的规则、工作流和工具调用方式来完成任务。

简单理解,Skills 就是「给 Claude 安装的职业技能包」。比如你可以创建一个「代码审查」Skill,里面写好审查清单、报告模板和静态分析脚本,之后每次说一句「用我的代码审查技能检查这个模块」,Claude 就会按照你定义的流程执行,而不是每次都重新描述一遍要求。

Skills 的核心价值在于:

  • 可复用:一次定义,处处使用,告别反复粘贴同一个提示词。
  • 可组合:一个 Skill 可以同时包含指令、脚本、模板和参考资料。
  • 可共享:Skill 以文件夹形式存在,可以提交到仓库、打包成插件分发给团队。
  • 渐进式加载:Claude 只在需要时读取对应 Skill,不会把所有内容都塞进上下文。

2. 环境准备与安装

在开始之前,需要先安装 Claude Code。截至本文写作时,推荐使用 Node.js 环境,要求 Node.js 18 及以上版本。

2.1 检查 Node.js 版本

node--version# 建议输出 v18.x、v20.x 或 v22.x

如果未安装 Node.js,可以从 nodejs.org 下载 LTS 版本,或使用 nvm 安装:

# 安装 nvm(macOS / Linux)curl-o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh|bashsource~/.bashrc# 安装并使用 Node.js 20nvminstall20nvm use20

2.2 安装 Claude Code

通过 npm 全局安装:

npminstall-g@anthropic-ai/claude-code

安装完成后验证:

claude--version

也可以使用 macOS 的原生安装器:

curl-fsSLhttps://claude.ai/install.sh|bash

2.3 首次启动与登录

# 进入你的项目目录cdyour-project# 启动 Claude Codeclaude

首次启动会要求完成账号认证。认证完成后,Claude Code 会在你的用户目录和项目目录中初始化配置。

3. Skill 的核心结构:SKILL.md

每个 Skill 本质上是一个目录,目录名即 Skill 的唯一标识。目录内至少包含一个SKILL.md文件,它是这个技能的「说明书 + 指令集」。一个典型的 Skill 目录结构如下:

.claude/skills/ └── code-reviewer/ # Skill 目录,名称用于标识 ├── SKILL.md # 必填:技能定义文件 ├── scripts/ # 可选:辅助脚本 │ ├── lint.sh │ └── format_report.py ├── references/ # 可选:参考资料,按需加载 │ ├── checklist.md │ └── team-conventions.md └── assets/ # 可选:模板等静态资源 └── report-template.md

3.1 SKILL.md 的 YAML Frontmatter

SKILL.md文件必须以上下文(frontmatter)开头,用三横线包裹,字段定义如下:

--- name: code-reviewer description: 用于审查代码质量、安全性和团队规范符合度的技能。在用户要求审查代码、检查 PR、评估代码质量时使用。 ---
  • name:Skill 名称,需与目录名保持一致,只能包含小写字母、数字和连字符。
  • description:触发描述。这一行直接决定 Claude 何时自动调用你的 Skill,要写清楚「什么场景下使用」,而不是单纯描述功能本身。

3.2 SKILL.md 正文指令

frontmatter 之后就是正文,可以自由编写 Markdown,告诉 Claude 在执行该 Skill 时需要遵守的规则、步骤和约束:

--- name: code-reviewer description: 用于审查代码质量、安全性和团队规范符合度的技能。在用户要求审查代码、检查 PR、评估代码质量时使用。 --- # 代码审查技能 ## 审查步骤 1. 阅读待审查文件的完整内容。 2. 运行 `scripts/lint.sh` 获取静态分析结果。 3. 对照 `references/checklist.md` 逐项检查。 4. 按下方模板输出审查报告。 ## 审查维度 - 正确性:逻辑错误、边界条件、空值处理。 - 安全性:注入漏洞、敏感信息泄露、权限校验。 - 规范性:命名、注释、代码风格是否符合团队约定。 ## 输出格式 必须使用 `assets/report-template.md` 中的模板生成报告。

4. 创建你的第一个 Skill

下面通过一个完整例子,手把手创建第一个 Skill:git-commit,它的作用是「根据当前暂存区的变更自动生成符合 Conventional Commits 规范的提交信息」。

4.1 确定 Skill 存放位置

Claude Code 支持两个级别的 Skill 目录:

级别存放路径作用范围
用户级~/.claude/skills/所有项目均可使用
项目级.claude/skills/仅当前项目可用,适合随仓库共享

本例使用项目级,方便团队共享:

cdyour-projectmkdir-p.claude/skills/git-commitcd.claude/skills/git-commit

4.2 编写 SKILL.md

创建SKILL.md:

touchSKILL.md

编辑内容:

--- name: git-commit description: 根据 git 暂存区的代码变更,生成符合 Conventional Commits 规范的提交信息。在用户要求写 commit message、提交代码时使用。 --- # Git Commit 消息生成技能 ## 任务 分析 `git diff --cached` 的输出,生成一条简洁、符合 Conventional Commits 规范的提交信息。 ## 执行步骤 1. 运行 `git diff --cached --stat` 查看变更文件概览。 2. 运行 `git diff --cached` 查看具体变更内容。 3. 总结变更的核心意图,确定提交类型: - `feat`:新增功能 - `fix`:修复缺陷 - `docs`:文档变更 - `style`:代码格式(不影响逻辑) - `refactor`:重构 - `test`:测试相关 - `chore`:构建或辅助工具变更 4. 生成提交信息,格式如下: ```text <type>(<scope>): <subject> <body>

约束

  • subject 不超过 50 个字符,使用祈使句,首字母小写。
  • body 解释「为什么」和「做了什么」,不写显而易见的内容。
  • 只输出提交信息本身,不要输出额外解释。
### 4.3 验证 Skill 是否生效 回到项目根目录,启动 Claude Code: ```bash claude

先暂存一些改动,然后对 Claude 说:

帮我根据暂存区的改动生成一条 commit message

Claude 会读取git-commit这个 Skill,执行git diff --cached,并按照你定义的格式输出提交信息。

如果 Claude 没有自动调用,可以直接点名 Skill,比如「使用 git-commit 技能生成提交信息」。

5. 深入实战:带脚本的 Skill

纯指令型 Skill 适合流程性任务,但当 Skill 需要执行确定性逻辑(解析、统计、校验)时,就应该引入脚本。脚本让 Claude 从「手动推理」变为「调用你的可信代码」,结果更稳定。

以「接口文档生成」为例,我们创建一个api-doc-genSkill。

5.1 创建目录与脚本

mkdir-p.claude/skills/api-doc-gen/scriptscd.claude/skills/api-doc-gen

创建脚本scripts/extract_routes.py,用于从一个 Node.js Express 项目中提取路由定义:

#!/usr/bin/env python3""" 从 Express / Fastify 等项目源码中提取路由端点信息。 用法: python extract_routes.py <项目根目录> """importreimportsysfrompathlibimportPathdefextract_express_routes(content:str,file_path:Path)->list[dict]:"""提取 Express 风格路由: app.get('/path', handler)"""routes=[]pattern=re.compile(r"(?:app|router)\.(get|post|put|patch|delete)\("r" ['\"]([^'\"]+)['\"]")formatchinpattern.finditer(content):method=match.group(1).upper()path=match.group(2)routes.append({"method":method,"path":path,"file":str(file_path)})returnroutesdefmain():iflen(sys.argv)<2:print("用法: python extract_routes.py <项目根目录>")sys.exit(1)root=Path(sys.argv[1])all_routes=[]forfile_pathinroot.rglob("*.js"):if"node_modules"infile_path.parts:continuecontent=file_path.read_text(encoding="utf-8",errors="ignore")all_routes.extend(extract_express_routes(content,file_path))print(f"共发现{len(all_routes)}个路由端点:\n")forrouteinall_routes:print(f"-{route['method']:6s}{route['path']:30s}({route['file']})")if__name__=="__main__":main()

5.2 编写 SKILL.md

--- name: api-doc-gen description: 从项目源码中提取 API 端点,并生成结构化的接口文档。在用户要求生成 API 文档、整理接口列表、梳理后端路由时使用。 --- # API 文档生成技能 ## 前置条件 - 项目的 API 采用 Express 或 Fastify 风格定义路由。 - 已安装 Python 3.9 及以上版本。 ## 执行步骤 1. 运行路由提取脚本: ```bash python3 scripts/extract_routes.py <项目根目录>
  1. 根据脚本输出的路由列表,逐一阅读对应源码文件,补充以下信息:

    • 功能说明
    • 请求参数(query / body / path)
    • 响应示例与状态码
  2. 按以下 Markdown 结构输出文档:

## 接口列表 | 方法 | 路径 | 说明 | |------|------|------| | GET | /users | 获取用户列表 | ### GET /users - **功能**:... - **请求参数**:... - **响应示例**:...

约束

  • 只输出接口文档,不要改动任何源码。
  • 如果脚本无法识别某些路由,请在文档末尾单独列出并提示人工确认。
### 5.3 使用带脚本的 Skill 在 Claude Code 中说: ```text 使用 api-doc-gen 技能,为当前项目生成 API 文档

Claude 会执行scripts/extract_routes.py,拿到确定性路由列表,再结合源码阅读补充细节,最终输出完整文档。

脚本的价值在于:路由提取这类「模式匹配」工作由脚本精准完成,Claude 专注于需要语义理解的文档撰写,两者各司其职。

6. 实战案例:代码审查助手

下面构建一个更完整的code-reviewerSkill,它结合了检查清单、静态分析脚本和报告模板,展示 Skills 的渐进式加载能力。

6.1 目录结构

.claude/skills/code-reviewer/ ├── SKILL.md ├── scripts/ │ └── analyze.sh ├── references/ │ └── checklist.md └── assets/ └── report-template.md

6.2 静态分析脚本 scripts/analyze.sh

#!/usr/bin/env bash# 对传入的目录执行基础的静态检查。# 用法: ./analyze.sh <目标目录>set-euopipefailTARGET="${1:-.}"echo"=== 待审查文件列表 ==="find"$TARGET"-typef\(-name"*.js"-o-name"*.ts"-o-name"*.py"\)\-not-path"*/node_modules/*"-not-path"*/venv/*"|sortecho""echo"=== TODO / FIXME 标记 ==="grep-rn--include="*.js"--include="*.ts"--include="*.py"\-E"TODO|FIXME|HACK""$TARGET"||echo"未发现 TODO/FIXME 标记"echo""echo"=== 可疑的硬编码密钥 ==="grep-rniE--include="*.js"--include="*.ts"--include="*.py"\-E"(password|secret|api_key|token)[[:space:]]*=""$TARGET"||echo"未发现可疑硬编码密钥"

将该脚本设为可执行:

chmod+x scripts/analyze.sh

6.3 检查清单 references/checklist.md

# 代码审查检查清单 ## 正确性 - [ ] 是否存在数组越界、空指针、除零等边界问题 - [ ] 异步逻辑是否正确处理了 race condition - [ ] 错误处理是否覆盖了异常分支 ## 安全性 - [ ] 用户输入是否做了校验和转义 - [ ] SQL 是否使用参数化查询 - [ ] 日志中是否包含敏感信息 ## 可维护性 - [ ] 函数是否遵循单一职责 - [ ] 是否存在重复代码 - [ ] 命名是否清晰表达意图

6.4 报告模板 assets/report-template.md

# 代码审查报告 ## 基本信息 - **审查文件**: - **审查时间**: - **总体结论**:(通过 / 需修改 / 存在阻塞问题) ## 问题列表 ### 1. [严重程度] 问题标题 - **所在位置**: - **问题描述**: - **修复建议**: ## 优点 ## 改进建议

6.5 组装 SKILL.md

--- name: code-reviewer description: 对指定代码进行质量、安全性和规范性审查。在用户要求审查代码、检查 PR、评估代码质量时使用。 --- # 代码审查技能 ## 执行步骤 1. 运行静态分析脚本: ```bash ./scripts/analyze.sh <目标目录>
  1. 阅读references/checklist.md,逐项核对目标代码。
  2. 结合脚本输出与人工分析,按照assets/report-template.md的模板生成审查报告。

审查原则

  • 优先报告「会产生实际危害」的问题,其次是可维护性问题。
  • 每条问题必须给出所在文件和修复建议,禁止笼统表述。
  • 对存疑项使用「待确认」标记,不要主观臆断。
使用时,在 Claude Code 中指定文件夹或文件: ```text 用 code-reviewer 技能审查 src/services 下的代码

Claude 的执行链路为:运行analyze.sh→ 读取checklist.md→ 读取审核模板 → 生成最终报告。references/中的内容只有在执行该 Skill 时才会被加载,不会平白占用日常对话的上下文窗口。

7. 实战案例:SQL 审核技能(渐进式加载参考)

再看一个需要海量领域知识的场景。假设团队有严格的数据库规范,这些规范很长,不可能每次对话都塞给 Claude。解决方案就是把规范放进references/,让 Claude 在需要时按主题加载。

7.1 目录结构

.claude/skills/sql-reviewer/ ├── SKILL.md └── references/ ├── index.md # 参考资料的索引,帮助 Claude 决定读哪份 ├── index-rules.md # 索引设计规范 ├── sql-rules.md # SQL 书写规范 └── migration-rules.md # 数据库迁移规范

7.2 references/index.md 的作用

# SQL 审核参考索引 根据审查内容选择对应文档: - 涉及建表、字段类型、主外键 → 阅读 `index-rules.md` - 涉及 SELECT/INSERT/UPDATE/DELETE 语句 → 阅读 `sql-rules.md` - 涉及表结构变更、数据迁移 → 阅读 `migration-rules.md`

7.3 SKILL.md 示例

--- name: sql-reviewer description: 审查 SQL 语句、表结构设计和数据迁移脚本是否符合团队数据库规范。在用户要求审查 SQL、检查建表语句、评估索引设计时使用。 --- # SQL 审核技能 ## 执行步骤 1. 先阅读 `references/index.md`,确定需要加载哪份规范文档。 2. 只加载与待审查内容相关的规范,不要一次加载全部。 3. 逐条对照规范,标记违规项并给出修改后的 SQL。 ## 输出格式 每条问题按以下格式输出: - **违规项**:引用具体规范条款 - **原始语句**:待审查的 SQL 片段 - **修改建议**:给出可执行的替代语句

这个案例展示了渐进式加载的关键做法:先用轻量的index.md帮助模型决定读哪份详细文档,而不是把全部规范一次性塞进上下文,从而在「信息完整」和「上下文节约」之间取得平衡。

8. Skill 的管理与组织

随着

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/31 21:54:31

AI辅助专利撰写实战:从技术方案拆解到权利要求生成

1. 从“AI 专利”这个标题说起&#xff1a;它到底在聊什么“AI 专利”这四个字&#xff0c;乍一看像是一个法律或者知识产权话题&#xff0c;但真正在一线做技术、做产品的人看到它&#xff0c;脑子里蹦出来的往往是另一层意思&#xff1a;用 AI 去处理专利相关的活儿&#xff…

作者头像 李华
网站建设 2026/11/1 3:40:31

Hive高效读取S3的实战指南:分区裁剪、S3Guard与Parquet优化

1. 项目概述&#xff1a;为什么S3Hive的组合在实际生产中越来越常见最近帮某电商公司的数据平台做架构优化&#xff0c;他们把近3年全部用户行为日志从HDFS迁到了S3&#xff0c;但下游Hive数仓查询直接卡死——不是语法报错&#xff0c;而是执行计划里全表扫描耗时翻了4倍。后来…

作者头像 李华
网站建设 2026/10/31 13:29:55

SECS4Net-base:面向半导体设备通信协议的日志语义理解模型

简介&#xff1a;SECS4Net-base是一个面向半导体设备制造商、封装测试厂及工业自动化研发人员的开源.NET通信框架&#xff0c;专为实现SECS/GEM标准下的设备与主机高效互联而设计&#xff0c;解决半导体产线中设备协议适配难、系统集成成本高的核心问题。资源包共122个文件&…

作者头像 李华
网站建设 2026/11/2 1:47:24

数据工作流全解析:从采集到可视化的工具链指南

1. 数据工作流全景解析数据从原始状态到可视化洞察的全过程&#xff0c;可以拆解为采集、清洗、存储、分析、可视化五个核心环节。每个环节都有对应的工具矩阵&#xff0c;就像木匠的工具箱里需要锯子、刨子、锉刀等不同工具配合使用。现代数据工具链已经形成了完整的生态系统&…

作者头像 李华
网站建设 2026/11/1 22:05:55

PAT乙级1090:用哈希表与邻接表解决危险品互斥装箱问题

PAT乙级1090这道题&#xff0c;在乙级题库里属于那种“看着简单&#xff0c;但第一次动手很容易翻车”的典型题目。它表面上是模拟一个装箱检查流程&#xff0c;实际上考的是多对多关系应该怎么存、怎么查&#xff0c;以及你处理输入细节够不够仔细。很多人在刷题时一看题目觉得…

作者头像 李华
网站建设 2026/11/1 16:37:53

AI Agent办公自动化实战:会议跟进与数据日报场景解析

1. 从两个真实办公场景切入&#xff0c;理解AI Agent的落地逻辑1.1 为什么“能聊天的AI”和“能干活的AI”是两回事过去一年多&#xff0c;大家接触最多的AI形态基本是对话式的&#xff1a;你问它答&#xff0c;你让它写一段文案它给你生成&#xff0c;你让它总结会议纪要它也能…

作者头像 李华