Claude Code Skills 与 OpenSkills:从入门到上手技术指南
- AI技术
- -475分钟前
- 4热度
- 0评论
本文面向已经在用或准备使用 AI 编码助手(如 Claude Code、Cursor、Windsurf 等)的工程师与团队,系统介绍:
- Claude Code Skills 是什么、能解决什么问题、如何编写自己的 SKILL.md
- OpenSkills 是什么、如何把 Claude 的技能体系推广到“所有” AI 编码代理
- 从 0 到 1 的实践路径:从安装、配置到团队级最佳实践
一、为什么要关心 “Skills”?
传统使用 AI 编码助手的方式是“临时对话 + 即兴提示词”:
每次让模型做代码审查、写测试、做安全检查,都要重新解释背景、标准和流程,效率不稳定、可复用性差。
Claude Code 的 Skills 提供了一种结构化方式:
把“某件事怎么做”写成一个 可版本控制的 Markdown 文件(SKILL.md),让 AI 自动在合适的时候调用它,而不是每次都重新手写 prompt。[2]
而 OpenSkills 则解决了另外一个关键问题:
让这种 Skill 格式成为“通用标准”,任何支持命令行 / Bash 的 AI 代理(Claude Code、Cursor、Windsurf、Aider、Codex CLI 等)都能加载并共享同一套技能库。[1][4][5]
二、Claude Code Skills 入门:把“提示词”升级为“技能”
2.1 Skills 是什么?
官方定义:Skill 是一个教 Claude 做某件具体事情的 Markdown 文件,例如:
- 按团队规范做 PR 代码审查
- 按统一模板生成 Git 提交信息
- 按既定流程处理 PDF / Web 抓取 / 安全扫描
核心特点:[2][10]
- 文件化:一个技能就是一个目录,至少包含一个
SKILL.md - 结构化元数据:通过 YAML front matter 描述 name、description、权限、模型等
- 渐进式披露:主文件只给高层指引,需要时再加载详细文档或脚本
- 自动发现与调用:Claude 会根据 description 自动决定是否使用技能
2.2 SKILL.md 标准格式
一个最小可用的 SKILL.md:
---
name: git-commit-message
description: 基于 git diff 自动生成符合团队规范的提交信息
---
# Git 提交信息生成器
## 使用说明
1. 在项目根目录执行:`git diff --staged`
2. 把输出粘贴给我,我会生成:
- 不超过 50 字符的标题
- 必要时的多行详细描述
- 涉及模块 / 组件列表
Front matter 关键字段解释(节选)[2]:
| 字段 | 是否必需 | 作用 |
|---|---|---|
name |
是 | 技能名,只能用小写字母、数字、连字符,需与目录名一致 |
description |
是 | 这一技能做什么、什么时候用,Claude 靠它来“选技能” |
allowed-tools |
否 | 限制技能执行时可以动用哪些工具(如 Read、Bash、Grep 等) |
model |
否 | 该技能激活时用哪个模型,不写则用当前会话模型 |
context |
否 | 设为 fork 时:在独立子代理上下文中执行,不污染主对话 |
agent |
否 | 当 context: fork 时选择子代理类型(如 Explore、Plan 等) |
hooks |
否 | 技能生命周期钩子:PreToolUse、PostToolUse、Stop 等 |
user-invocable |
否 | 是否出现在斜杠命令菜单,默认 true |
2.3 多文件技能与“渐进式披露”
对复杂场景(如 PDF 处理、数据分析),推荐用多文件结构组织知识:[2]
pdf-processing/
├── SKILL.md # 概览、使用说明、快速开始
├── REFERENCE.md # 详细 API 文档
├── FORMS.md # 表单字段映射与填充说明
└── scripts/
├── extract_text.py
└── fill_form.py
在 SKILL.md 中只给出关键指引与入口:
## 附加资源
- API 细节见 [REFERENCE.md](REFERENCE.md)
- 表单示例与字段映射见 [FORMS.md](FORMS.md)
## 运行脚本
提取文本示例:
python scripts/extract_text.py input.pdf output.txt
这样 Claude 只有在确有需要时才会打开 REFERENCE.md 等长文档,避免一次性把所有文档塞进上下文。
2.4 动态变量与会话感知
Skills 支持两个常用替换变量:[2]
$ARGUMENTS:技能被调用时传入的参数整体${CLAUDE_SESSION_ID}:当前会话 ID,可用于日志文件名等
示例:会话日志技能
---
name: session-logger
description: 记录当前会话的关键操作日志
---
请把以下内容追加写入 logs/${CLAUDE_SESSION_ID}.log:
$ARGUMENTS
三、从“命令”到“技能”:与 Slash Commands 的关系
Claude Code 还有一类“斜杠命令”(Slash Commands),本质是显式触发的快捷 Prompt,Skills 则是被动、自动触发的知识模块:[1][3][6][7]
简要区别:
| 能力 | Slash Commands | Skills |
|---|---|---|
| 触发方式 | 用户键入 /xxx |
Claude 自动根据 description 选择 |
| 适合场景 | 个人快捷操作 | 团队标准、流程、体系化知识 |
| 文件位置 | .claude/commands/ |
.claude/skills/ |
| 是否可编排 | 一般由用户显式调用 | 可被其他技能或代理自动使用 |
实践建议:
- 个人效率:先从少量 Slash Commands 入手(如
/format-doc、/gen-test) - 团队协作:把稳定、共识化的做事方法沉淀成 Skills
- 在 Claude Code 文档和实践文章里,通常会建议:“命令是快捷键,Skills 是团队的 SOP(标准操作流程)”[1][9]
四、OpenSkills:让 Claude Skills 跑在“所有” AI 代理里
4.1 OpenSkills 是什么?
OpenSkills 是一个面向开发者的 通用技能加载器 CLI 工具:[1][4][5]
- 完全兼容 Claude Code 的 SKILL.md 规范(同样目录结构、元数据格式)
- 支持将技能安装到:
- Claude Code
- Cursor
- Windsurf
- Aider
- 各种基于 CLI 的本地 / 远程代理
- 支持从任何 Git 仓库(包括私有)加载技能
- 支持本地开发目录通过符号链接接入技能系统
一句话:“写一次 SKILL.md,所有 AI 编码工具通用。”
4.2 安装与快速上手
环境要求:Node.js 20.6+、Git。[1]
快速安装官方技能库(以 Anthropics/skills 为例)[1]:
# 项目本地安装(默认)
npx openskills install anthropics/skills
# 同步生成 AGENTS.md
npx openskills sync
安装位置默认是项目目录下,例如:
.claude/skills/(默认 Claude 目录)- 或
.agent/skills/(universal 模式,适配多代理环境)
常用命令一览:[1]
| 命令 | 作用 |
|---|---|
openskills install / npx openskills install |
安装技能(支持 Git 仓库 / 本地路径) |
openskills sync |
扫描技能并生成 AGENTS.md |
openskills list |
查看已安装技能 |
openskills read |
读取某个技能内容 |
openskills update |
更新技能到最新版本 |
openskills remove |
卸载技能 |
4.3 通用模式(universal mode)与优先级
为了避免和 Claude 内置插件市场路径冲突,OpenSkills 提供“通用模式”:在 .agent/skills/ 下安装。[1][4][5]
# 安装到通用目录
npx openskills install anthropics/skills --universal
技能检索优先级大致为:[1]
- 当前项目
.agent/skills/ - 用户目录
~/.agent/skills/ - 当前项目
.claude/skills/ - 用户目录
~/.claude/skills/
这意味着:
- 团队可以在仓库里放一套“项目技能”(项目优先)
- 个人可以在主目录里放“个人技能”(当项目没覆盖时才用)
4.4 自建技能库与协作开发
OpenSkills 是“加载器”,你可以:
- 建一个团队技能仓库(如
company/skills) - 结构如下:
company-skills/
├── git-commit-message/
│ └── SKILL.md
├── pr-review/
│ ├── SKILL.md
│ └── checklists.md
└── security-scan/
├── SKILL.md
└── scripts/
└── run_scan.sh
- 团队成员统一通过:
npx openskills install company/skills --universal
npx openskills sync
这样无论是 Claude Code、Cursor 还是其他代理,只要支持执行 Bash/CLI,都能共享这套 Skill 体系。[4][5]
五、从 0 到 1:实战路径示例
下面给出一个从入门到团队落地的分阶段建议,你可以按需裁剪。
阶段 1:个人入门(30–60 分钟)
目标:自己在 Claude Code 里跑通第一个 Skill。
- 在任意代码仓库根目录创建:
mkdir -p .claude/skills/git-commit-message
- 写入最小版本 SKILL.md(见 2.2 示例)
- 打开 Claude Code,在该仓库会话中问:
“请帮我为当前 staged 的变更生成一条规范的提交信息。”
Claude 会自动发现并使用 git-commit-message 这个技能(因为 description 匹配场景)。[2]
阶段 2:个人增强 + OpenSkills 引入(1–2 小时)
目标:把官方 / 社区技能库接入自己的工具链。
- 全局安装 OpenSkills:[1]
npm install -g openskills
- 安装官方技能集合或社区集合,例如:
# 官方技能
openskills install anthropics/skills --global
# 或者某个精选技能集(示例)
openskills install travisvn/awesome-claude-skills
- 在你的日常开发工具(Claude Code、Cursor 等)中用自然语言尝试触发这些技能,例如:
“请用 Trail of Bits 的技能帮我做一次静态安全分析。”[10]
阶段 3:团队化技能库(1 天~若干周)
目标:把“团队做事方法”沉淀成技能,并让所有 AI 代理统一使用。
建议分三步:
- 盘点可标准化的场景
- PR 审查 checklist
- 安全扫描流程
- 前端组件规范 / 设计系统使用规范
- 日志与监控埋点标准
- 为每类场景设计一个 Skill
- 一个场景 = 一个目录 + 一个 SKILL.md
- 把“何时用”“怎么做”“注意事项”写清楚
- 可以在 SKILL.md 中引用团队文档链接或本仓库的
docs/*.md
- 建立技能仓库 + OpenSkills 接入
- 把所有技能放在
company/skills仓库 - 通过
openskills install company/skills --universal安装给全员 - 把
openskills sync加入 CI 或 pre-commit/pipeline 中,保证版本一致
- 把所有技能放在
六、典型高级用法与最佳实践
6.1 利用 context: fork 做“深度分析不污染主对话”
示例:代码质量深度分析技能:[2]
---
name: code-analysis
description: 对当前仓库代码进行全面质量分析并生成报告
context: fork
agent: Explore
---
在这个独立上下文中,请:
1. 扫描代码结构,列出模块和依赖关系
2. 分析复杂度和潜在技术债
3. 给出重构优先级建议
优势:
- 分析对话“跑偏”不会影响你在主窗口的当前任务
- 适合长流程任务:归档、评审、架构分析等
6.2 allowed-tools 做权限收敛与安全边界
比如只允许读文件、不允许改写:
---
name: reading-files-safely
description: 在只读模式下查看项目文件
allowed-tools:
- Read
- Grep
- Glob
---
对敏感操作(如部署生产)则显式限制脚本与工具,并结合 hooks 做安全检查:
---
name: production-deploy
description: 部署到生产环境前需要严格校验
allowed-tools: Bash(ssh)
hooks:
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/security-check.sh $TOOL_INPUT"
once: true
user-invocable: false # 禁止在聊天中直接“点一下就部署”
---
6.3 与 CI/CD 结合:自动同步技能版本
将 OpenSkills 融入流水线:每当技能仓库有新 Tag,就同步到各项目的 AGENTS.md。[1]
# .github/workflows/skills-sync.yml
name: Sync Skills
on:
push:
tags: ['v*.*.*']
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm install -g openskills
- run: openskills sync -y -o AGENTS.md
- run: |
git config user.name "CI Bot"
git config user.email "[email protected]"
git commit -am "chore: update AGENTS.md"
git push
这样你的代理(Claude Code、Cursor 等)在拉代码时,自动获得最新技能组装信息。
七、实践建议总结
如果你刚准备落地 Claude Code Skills + OpenSkills,可以参考下面的路线:
- 先用现成技能短平快见效
- 从官方技能库 / awesome-claude-skills / superpowers 等社区集合中挑几个高价值技能安装。
- 熟悉 SKILL.md 的结构与写法。[10]
- 很快开始写第一个“团队自定义技能”
- 选一个“你们已经有文档或隐性规范”的场景(如 PR 代码审查)。
- 把它翻译成 SKILL.md,加入必要示例和反例。
- 引入 OpenSkills 统一安装和版本管理
- 团队建一个
company/skills仓库,所有技能都在这里维护。 - 使用
openskills install+openskills sync,并纳入 CI 流程。
- 团队建一个
- 逐步体系化:把“团队知识”转成“团队技能库”
- 安全、性能、架构决策、风格规范等都可以成为技能。
- 通过
context: fork、allowed-tools、hooks 等进阶特性,建立规范、安全的自动化工作流。
长期来看,技能系统会变成你团队的“AI 操作系统”:
项目规范、最佳实践、领域知识,都通过 SKILL.md 与 OpenSkills 连接到各种 AI 编码工具上,真正做到“知识一次建模、处处使用”。
References
[1] numman-ali/openskills: Universal skills loader for AI coding agents. https://github.com/numman-ali/openskills
[2] Agent Skills - Claude Code Docs. https://code.claude.com/docs/en/skills
[3] How to Use Claude Code: A Guide to Slash Commands, Agents, Skills, and Plug-Ins. https://www.producttalk.org/how-to-use-claude-code-features/
[4] OpenSkills: Enabling AI Agents to Share Skill Libraries. https://ai-engineering-trend.medium.com/openskills-enabling-ai-agents-to-share-skill-libraries-b5c8734ac5d5
[5] OpenSkills brings the Claude skills system to all AI dev tools. https://github.com/numman-ali/openskills(及相关介绍链接)
[6] Slash commands - Claude Code Docs. https://code.claude.com/docs/en/slash-commands
[7] Understanding Claude Code: Skills vs Commands. https://www.youngleaders.tech/p/claude-skills-commands-subagents-plugins
[8] Claude Skills and CLAUDE.md: a practical 2026 guide. https://www.gend.co/blog/claude-skills-claude-md-guide
[9] CLAUDE.md, skills, subagents explained. https://alexop.dev/posts/claude-code-customization-guide-claudemd-skills-subagents/
[10] travisvn/awesome-claude-skills. https://github.com/travisvn/awesome-claude-skills