Claude Code Skills 系列(2/3):开发进阶篇 - 创建与管理自定义 Skills

Claude Code Skills 系列(2/3):开发进阶篇 - 创建与管理自定义 Skills

  • [第一部分:创建自定义 Skills](#第一部分:创建自定义 Skills)
    • [1. Skill 文件结构](#1. Skill 文件结构)
    • [2. SKILL.md 文件格式](#2. SKILL.md 文件格式)
      • [2.1 完整模板](#2.1 完整模板)
      • [2.2 Frontmatter 部分](#2.2 Frontmatter 部分)
      • [2.3 Markdown 内容部分](#2.3 Markdown 内容部分)
    • [3. Frontmatter 配置详解](#3. Frontmatter 配置详解)
      • [3.1 字段速查表](#3.1 字段速查表)
      • [3.2 调用控制配置](#3.2 调用控制配置)
        • [场景 1:仅手动调用(如部署操作)](#场景 1:仅手动调用(如部署操作))
        • [场景 2:仅 AI 调用(如背景知识)](#场景 2:仅 AI 调用(如背景知识))
        • [场景 3:双向调用(默认)](#场景 3:双向调用(默认))
      • [3.3 工具访问限制](#3.3 工具访问限制)
    • [4. 参数传递与上下文注入](#4. 参数传递与上下文注入)
    • [5. 最佳实践与实战案例](#5. 最佳实践与实战案例)
      • [5.1 编写 Skills 的黄金法则](#5.1 编写 Skills 的黄金法则)
        • [法则 1:描述是触发器,不是文档](#法则 1:描述是触发器,不是文档)
        • [法则 2:专注单一功能](#法则 2:专注单一功能)
        • [法则 3:避免过度预判](#法则 3:避免过度预判)
      • [5.2 实战案例:API 文档生成器](#5.2 实战案例:API 文档生成器)
        • [步骤 1:创建目录](#步骤 1:创建目录)
        • [步骤 2:创建 SKILL.md](#步骤 2:创建 SKILL.md)
        • [步骤 3:编写 SKILL.md 内容](#步骤 3:编写 SKILL.md 内容)
        • [步骤 4:测试 Skill](#步骤 4:测试 Skill)
  • [第二部分:管理多个 Skills](#第二部分:管理多个 Skills)
  • 第三部分:问题排查
    • [8. 常见问题与解决方案](#8. 常见问题与解决方案)
      • [8.1 问题 1:Skill 没有被触发](#8.1 问题 1:Skill 没有被触发)
      • [8.2 问题 2:Skill 触发过于频繁](#8.2 问题 2:Skill 触发过于频繁)
      • [8.3 问题 3:Claude 看不到所有 Skills](#8.3 问题 3:Claude 看不到所有 Skills)
      • [8.4 问题 4:权限控制](#8.4 问题 4:权限控制)
      • [8.5 常见问题速查](#8.5 常见问题速查)
    • [9. 性能优化与安全](#9. 性能优化与安全)
      • [9.1 性能优化建议](#9.1 性能优化建议)
        • [1. 合理使用支持文件](#1. 合理使用支持文件)
        • [2. 优化 description](#2. 优化 description)
        • [3. 按需加载](#3. 按需加载)
      • [9.2 安全注意事项](#9.2 安全注意事项)
        • [1. 敏感信息处理](#1. 敏感信息处理)
        • [2. 命令执行安全](#2. 命令执行安全)
        • [3. 工具权限限制](#3. 工具权限限制)
      • [9.3 团队协作最佳实践](#9.3 团队协作最佳实践)
        • [1. 版本控制](#1. 版本控制)
        • [2. 文档化](#2. 文档化)
        • [3. 代码审查](#3. 代码审查)
        • [4. 命名规范](#4. 命名规范)

系列导航

  • [第 1 篇:入门实战篇 - 快速上手 Claude Code Skills](#第 1 篇:入门实战篇 - 快速上手 Claude Code Skills)
  • 第 2 篇:开发进阶篇 - 创建与管理自定义 Skills(当前)
  • [第 3 篇:精通参考篇 - 进阶技巧与完整手册](#第 3 篇:精通参考篇 - 进阶技巧与完整手册)
    本篇概要

本文是 Claude Code Skills 系列的第 2 篇,将深入讲解如何从零创建自定义 Skills,掌握 SKILL.md 文件格式和配置技巧,学会管理多个 Git 项目的 Skills,并解决常见问题。阅读完本篇后,你将能够独立开发和管理自己的 Skills。
适用系统 :Windows 10/11
命令行工具 :优先使用 CMD,复杂操作使用 PowerShell
预计阅读时间 :30-40 分钟
前置要求:已阅读第 1 篇,了解 Skills 基本概念


第一部分:创建自定义 Skills

1. Skill 文件结构

1.1 标准目录结构

一个完整的 Skill 可以包含以下文件和目录:

复制代码
.claude\skills\my-skill\                # Skill 根目录(目录名即为 Skill 名称)
├── SKILL.md                            # 核心配置文件(必需,必须大写)
├── scripts\                            # 可执行脚本目录(可选)
│   ├── process.py                      # Python 处理脚本
│   ├── analyze.js                      # JavaScript 分析脚本
│   └── deploy.ps1                      # PowerShell 部署脚本
├── templates\                          # 输出模板目录(可选)
│   ├── report-template.md              # Markdown 报告模板
│   └── code-template.js                # 代码生成模板
└── references\                         # 参考文档目录(可选)
    ├── api-spec.md                     # API 规范文档
    ├── database-schema.sql             # 数据库结构文件
    └── style-guide.md                  # 代码风格指南

1.2 文件说明

SKILL.md(必需)
  • 这是 Skill 的入口文件
  • 必须使用大写的 SKILL.md 作为文件名
  • 包含 YAML frontmatter 配置和 Markdown 内容
  • Claude 会读取这个文件来理解 Skill 的功能
scripts\(可选)
  • 存放 Skill 需要执行的脚本
  • 支持任何编程语言(Python、JavaScript、PowerShell 等)
  • SKILL.md 中通过 !command" 语法调用
  • 示例:!python scripts\process.py"
templates\(可选)
  • 存放输出模板文件
  • Claude 可以使用这些模板生成内容
  • SKILL.md 中引用:参考 templates\report-template.md
references\(可选)
  • 存放详细的参考文档
  • 按需加载,不会每次都读取
  • SKILL.md 中说明:详见 references\api-spec.md
  • 适合存放大型文档、规范等

1.3 最小化示例

只需要一个文件即可

复制代码
.claude\skills\simple-skill\
└── SKILL.md                            # 只需要这一个文件即可

1.4 创建第一个 Skill

让我们创建一个简单的 Skill:

cmd 复制代码
# 1. 创建目录(CMD)
mkdir %USERPROFILE%\.claude\skills\hello-skill
cd %USERPROFILE%\.claude\skills\hello-skill

# 2. 创建 SKILL.md
notepad SKILL.md

SKILL.md 中输入:

markdown 复制代码
---
name: hello-skill
description: 简单的问候 Skill
---

# Hello Skill

## Purpose
这是一个简单的示例 Skill,用于学习 Skills 的基本结构。

## Instructions
1. 向用户问好
2. 询问用户需要什么帮助
3. 提供友好的回应

## Examples
用户输入:`/hello-skill`
AI 响应:你好!我是 Hello Skill,很高兴为你服务!

保存文件,重启 Claude Code,然后测试:

复制代码
/hello-skill

2. SKILL.md 文件格式

2.1 完整模板

一个完整的 SKILL.md 文件包含两部分:

  1. Frontmatter(YAML 配置)
  2. Markdown 内容(指令和说明)
markdown 复制代码
---
name: my-skill
description: 简短描述这个 Skill 的功能和使用场景
argument-hint: [参数1] [参数2]
disable-model-invocation: false
user-invocable: true
allowed-tools: []
model: claude-3-5-sonnet-20241022
context: inline
agent: general-purpose
---

# Skill: my-skill

## Purpose(目的)
详细说明这个 Skill 的用途和价值。

## Trigger Conditions(触发条件)
列出会触发此 Skill 的关键词或场景:
- 关键词1
- 关键词2
- 使用场景描述

## Instructions(执行指令)
1. 第一步操作
2. 第二步操作
3. 第三步操作

## Examples(示例)
**示例 1**:
- 用户输入:`/my-skill example-arg`
- AI 响应:执行相应操作...

**示例 2**:
- 用户输入:描述性请求
- AI 响应:自动识别并执行...

## Supporting Files(支持文件)
如果需要引用其他文件:
- `scripts/process.py`: 数据处理脚本
- `references/api-spec.md`: API 规范文档

2.2 Frontmatter 部分

Frontmatter 是文件开头用 --- 包围的 YAML 配置部分,用于定义 Skill 的元数据和行为。

必需字段

  • 实际上没有严格必需的字段,但强烈推荐设置 description

推荐字段

  • name:Skill 名称
  • description:功能描述(非常重要!)

2.3 Markdown 内容部分

推荐的章节结构

  1. Purpose(目的):说明 Skill 的用途
  2. Trigger Conditions(触发条件):列出触发关键词
  3. Instructions(执行指令):详细的执行步骤
  4. Examples(示例):使用示例
  5. Supporting Files(支持文件):引用的其他文件

3. Frontmatter 配置详解

3.1 字段速查表

字段 类型 必需 说明 默认值
name string Skill 名称(小写字母、数字、连字符,最多 64 字符) 目录名
description string 推荐 功能描述,Claude 用此判断何时使用 第一段内容
argument-hint string 参数提示,如 [issue-number]
disable-model-invocation boolean 禁止 AI 自动调用 false
user-invocable boolean 是否在 / 菜单中显示 true
allowed-tools array 允许使用的工具列表 无限制
model string 指定使用的模型 默认模型
context string 设为 fork 在子代理中运行 inline
agent string 子代理类型(需配合 context: fork general-purpose

3.2 调用控制配置

场景 1:仅手动调用(如部署操作)
yaml 复制代码
---
name: deploy-prod
description: 部署到生产环境
disable-model-invocation: true  # AI 不能自动调用
user-invocable: true            # 用户可以手动调用
---

使用场景

  • 部署到生产环境
  • 删除数据库
  • 发送邮件通知
  • 其他敏感操作
场景 2:仅 AI 调用(如背景知识)
yaml 复制代码
---
name: coding-standards
description: 公司编码规范
disable-model-invocation: false  # AI 可以自动加载
user-invocable: false           # 不在菜单中显示
---

使用场景

  • 编码规范
  • 项目约定
  • 背景知识
  • 参考文档
场景 3:双向调用(默认)
yaml 复制代码
---
name: code-review
description: 代码审查
# 默认配置,两者都可以调用
---

使用场景

  • 代码审查
  • 文档生成
  • 测试编写
  • 大多数常规操作

3.3 工具访问限制

创建只读模式

yaml 复制代码
---
name: code-explorer
description: 探索代码库(只读)
allowed-tools:
  - readFile
  - readMultipleFiles
  - listDirectory
  - grepSearch
  - fileSearch
---

使用场景

  • 代码分析
  • 文档查看
  • 项目探索
  • 不需要修改文件的操作

4. 参数传递与上下文注入

4.1 参数传递

使用 $ARGUMENTS 占位符
markdown 复制代码
---
name: fix-issue
description: 修复 GitHub Issue
argument-hint: [issue-number]
---

# Fix GitHub Issue

修复 Issue #$ARGUMENTS,遵循以下步骤:
1. 查看 Issue 详情
2. 分析问题根源
3. 实现修复方案
4. 编写测试用例
5. 提交 PR

使用方法

复制代码
/fix-issue 123

Claude 会将 $ARGUMENTS 替换为 123

使用索引访问参数
markdown 复制代码
---
name: migrate-component
argument-hint: [component-name] [from-framework] [to-framework]
---

# Migrate Component

将组件 $ARGUMENTS[0] 从 $ARGUMENTS[1] 迁移到 $ARGUMENTS[2]。

# 或使用简写
将组件 $0 从 $1 迁移到 $2。

使用方法

复制代码
/migrate-component Button React Vue
  • $0$ARGUMENTS[0]Button
  • $1$ARGUMENTS[1]React
  • $2$ARGUMENTS[2]Vue

4.2 动态上下文注入

使用 !command" 语法
markdown 复制代码
---
name: pr-summary
description: 总结 Pull Request
---

# PR Summary

## PR 信息
!gh pr view --json title,body,author"

## 代码变更
!gh pr diff"

## 评论讨论
!gh pr view --comments"

请基于以上信息生成 PR 摘要。
工作流程
  1. Skill 被触发
  2. 所有 !command" 立即执行
  3. 命令输出替换占位符
  4. Claude 接收完整渲染的内容

⚠️ 注意:这是预处理,不是 Claude 执行的命令。

实际应用示例
markdown 复制代码
---
name: git-status-summary
description: Git 状态摘要
---

# Git Status Summary

## 当前分支
!git branch --show-current"

## 未提交的更改
!git status --short"

## 最近的提交
!git log --oneline -5"

请分析当前 Git 状态并提供建议。

5. 最佳实践与实战案例

5.1 编写 Skills 的黄金法则

法则 1:描述是触发器,不是文档

错误示例

yaml 复制代码
description: 这是一个复杂的工具,用于处理各种文档格式,包括 PDF、Word、Excel 等,支持转换、合并、拆分等多种操作...

正确示例

yaml 复制代码
description: 处理文档转换和合并

原因:Claude 使用 description 判断何时触发,简洁的关键词更有效。

法则 2:专注单一功能

错误示例:万能内容创作者

markdown 复制代码
---
name: content-creator
description: 创建所有类型的内容
---

支持:
- 博客文章
- 社交媒体帖子
- 技术文档
- 营销文案
- 视频脚本
- 邮件模板

正确示例:专注的 Skills

markdown 复制代码
# Skill 1: blog-writer
专注于博客文章创作

# Skill 2: api-doc-generator
专注于 API 文档生成

# Skill 3: email-template
专注于邮件模板

原因:专注的 Skill 更可靠、更易维护、触发更精准。

法则 3:避免过度预判

错误示例

markdown 复制代码
如果用户想要 A,则执行 X
如果用户想要 B,则执行 Y
如果用户想要 C,则执行 Z
如果用户没说清楚,则询问...

正确示例

markdown 复制代码
执行以下步骤:
1. 分析需求
2. 实施方案
3. 验证结果

原因:让 Claude 根据实际情况灵活处理,而不是预设所有分支。

5.2 实战案例:API 文档生成器

这是一个完整的、可直接使用的 Skill 示例。

步骤 1:创建目录
cmd 复制代码
# CMD
mkdir %USERPROFILE%\.claude\skills\api-doc
cd %USERPROFILE%\.claude\skills\api-doc
步骤 2:创建 SKILL.md
cmd 复制代码
notepad SKILL.md
步骤 3:编写 SKILL.md 内容
markdown 复制代码
---
name: api-doc
description: 生成 API 文档
argument-hint: [endpoint-path]
---

# API Documentation Generator

## Purpose
为 RESTful API 端点生成完整的文档,包括请求参数、响应格式和示例代码。

## Instructions

### 1. 收集信息
询问用户以下信息(如果未提供):
- HTTP 方法(GET/POST/PUT/DELETE)
- API 路径
- 功能描述
- 认证要求

### 2. 参数文档
记录以下参数类型:
- 路径参数(Path Parameters)
- 查询参数(Query Parameters)
- 请求头(Headers)
- 请求体(Request Body)

### 3. 响应文档
记录:
- 成功响应(2xx)
- 错误响应(4xx, 5xx)
- 响应体结构
- 字段说明

### 4. 生成示例代码
提供以下语言的示例:
- cURL
- JavaScript (fetch)
- Python (requests)

### 5. 输出格式
使用 Markdown 格式,包含:
- API 概述
- 请求参数表格
- 响应示例
- 多语言代码示例

## Examples

**用户输入**:

/api-doc POST /users

复制代码
**AI 响应**:
询问必要信息后生成完整的 API 文档。
步骤 4:测试 Skill
  1. 保存文件
  2. 重启 Claude Code
  3. 测试:/api-doc POST /users

第二部分:管理多个 Skills

6. 管理多个 Git 项目的 Skills

6.1 问题场景

当你从多个 Git 仓库下载 Skills 时,可能会遇到以下情况:

cmd 复制代码
# 你下载了多个 Skills 仓库
git clone https://github.com/anthropics/skills.git
git clone https://github.com/obra/superpowers.git
git clone https://github.com/Jeffallan/claude-skills.git

# 现在你有三个文件夹,每个都包含很多 Skills
# 问题:如何有效管理和使用这些 Skills?

6.2 解决方案一:选择性复制(推荐)

适用场景:只需要部分 Skills,不想全部安装

完整操作流程
cmd 复制代码
# ========================================
# 步骤 1:克隆仓库到 Downloads
# ========================================
cd %USERPROFILE%\Downloads
git clone https://github.com/anthropics/skills.git anthropics-skills
git clone https://github.com/obra/superpowers.git superpowers
git clone https://github.com/Jeffallan/claude-skills.git jeffallan-skills

# ========================================
# 步骤 2:查看有哪些 Skills
# ========================================
# ⚠️ 注意:这三个仓库的 skills 在 skills\ 子目录里

echo === Anthropics Skills ===
dir /B anthropics-skills\skills

echo === Superpowers Skills ===
dir /B superpowers\skills

echo === Jeffallan Skills ===
dir /B jeffallan-skills\skills

# ========================================
# 步骤 3:复制你需要的 Skills
# ========================================
# ⚠️ 注意:这三个仓库的 skills 在 skills\ 子目录里

# 从 anthropics 复制 document-skills
xcopy /E /I /Y %USERPROFILE%\Downloads\anthropics-skills\skills\document-skills %USERPROFILE%\.claude\skills\document-skills\

# 从 superpowers 复制 planning
xcopy /E /I /Y %USERPROFILE%\Downloads\superpowers\skills\planning %USERPROFILE%\.claude\skills\planning\

# 从 jeffallan 复制 react-helper
xcopy /E /I /Y %USERPROFILE%\Downloads\jeffallan-skills\skills\react-helper %USERPROFILE%\.claude\skills\react-helper\

# ========================================
# 步骤 4:清理临时文件(可选)
# ========================================
# 删除下载的仓库(如果不再需要)
rmdir /S /Q %USERPROFILE%\Downloads\anthropics-skills
rmdir /S /Q %USERPROFILE%\Downloads\superpowers
rmdir /S /Q %USERPROFILE%\Downloads\jeffallan-skills

# ========================================
# 步骤 5:验证安装
# ========================================
echo 已安装的 Skills:
dir /B %USERPROFILE%\.claude\skills

echo.
echo 完成!请重启 Claude Code
pause
⚠️ 如果仓库有 skills 子目录

这三个仓库都有 skills\ 子目录,所以需要调整路径。

先查看结构确认:

cmd 复制代码
dir %USERPROFILE%\Downloads\anthropics-skills

如果看到有 skills 文件夹,使用这个命令:

cmd 复制代码
# 注意路径中多了 \skills\
xcopy /E /I /Y %USERPROFILE%\Downloads\anthropics-skills\skills\document-skills %USERPROFILE%\.claude\skills\document-skills\
xcopy /E /I /Y %USERPROFILE%\Downloads\superpowers\skills\planning %USERPROFILE%\.claude\skills\planning\
xcopy /E /I /Y %USERPROFILE%\Downloads\jeffallan-skills\skills\react-helper %USERPROFILE%\.claude\skills\react-helper\

如果 skills 直接在根目录(没有 skills 子目录),去掉 \skills\

cmd 复制代码
xcopy /E /I /Y %USERPROFILE%\Downloads\某仓库\document-skills %USERPROFILE%\.claude\skills\document-skills\
最终目录结构
复制代码
C:\Users\你的用户名\.claude\skills\
├── document-skills\        # 来自 anthropics
├── code-review\            # 来自 superpowers
└── api-generator\          # 来自 jeffallan
优点
  • ✅ 只安装需要的 Skills
  • ✅ 避免命名冲突
  • ✅ 节省空间
  • ✅ 易于管理

6.3 解决方案二:重命名避免冲突(推荐)

适用场景:想清楚知道每个 Skill 来自哪个仓库,且避免命名冲突

⚠️ 重要提示 :Claude Code 不会递归扫描子目录 ,所以不能使用 @anthropics\skill-name\ 这样的嵌套结构。所有 Skills 必须在 .claude\skills\第一层

正确的目录结构
复制代码
C:\Users\你的用户名\.claude\skills\
├── anthropics-document-skills\         # 来自 Anthropic(添加前缀)
│   └── SKILL.md
├── anthropics-code-review\             # 来自 Anthropic
│   └── SKILL.md
├── superpowers-planning\               # 来自 Superpowers(添加前缀)
│   └── SKILL.md
├── superpowers-code-review\            # 来自 Superpowers(与上面不冲突)
│   └── SKILL.md
├── jeffallan-react-helper\             # 来自 Jeffallan(添加前缀)
│   └── SKILL.md
└── custom-my-workflow\                 # 自己创建的(添加前缀)
    └── SKILL.md
完整操作流程(一行命令版)
cmd 复制代码
# ========================================
# 步骤 1:克隆仓库到 Downloads
# ========================================
cd %USERPROFILE%\Downloads
git clone https://github.com/anthropics/skills.git anthropics-skills
git clone https://github.com/obra/superpowers.git superpowers
git clone https://github.com/Jeffallan/claude-skills.git jeffallan-skills

# ========================================
# 步骤 2:查看目录结构(确认 skills 位置)
# ========================================
echo === 查看 anthropics-skills 结构 ===
dir %USERPROFILE%\Downloads\anthropics-skills

echo === 查看 superpowers 结构 ===
dir %USERPROFILE%\Downloads\superpowers

echo === 查看 jeffallan-skills 结构 ===
dir %USERPROFILE%\Downloads\jeffallan-skills

# ========================================
# 步骤 3:复制所有 Skills(自动添加前缀)
# ========================================
# ⚠️ 注意:这些仓库的 skills 在 skills\ 子目录里

# 复制 anthropics-skills 的所有 Skills(添加 anthropics- 前缀)
for /d %i in (%USERPROFILE%\Downloads\anthropics-skills\skills\*) do @xcopy /E /I /Y "%i" "%USERPROFILE%\.claude\skills\anthropics-%~nxi\" >nul && echo 已复制: anthropics-%~nxi

# 复制 superpowers 的所有 Skills(添加 superpowers- 前缀)
for /d %i in (%USERPROFILE%\Downloads\superpowers\skills\*) do @xcopy /E /I /Y "%i" "%USERPROFILE%\.claude\skills\superpowers-%~nxi\" >nul && echo 已复制: superpowers-%~nxi

# 复制 jeffallan-skills 的所有 Skills(添加 jeffallan- 前缀)
for /d %i in (%USERPROFILE%\Downloads\jeffallan-skills\skills\*) do @xcopy /E /I /Y "%i" "%USERPROFILE%\.claude\skills\jeffallan-%~nxi\" >nul && echo 已复制: jeffallan-%~nxi

# ========================================
# 步骤 4:清理临时文件(可选)
# ========================================
# 删除下载的仓库(如果不再需要)
rmdir /S /Q %USERPROFILE%\Downloads\anthropics-skills
rmdir /S /Q %USERPROFILE%\Downloads\superpowers
rmdir /S /Q %USERPROFILE%\Downloads\jeffallan-skills

# ========================================
# 步骤 5:验证安装
# ========================================
echo.
echo 已安装的 Skills(带前缀):
dir /B %USERPROFILE%\.claude\skills

echo.
echo 完成!请重启 Claude Code
pause
⚠️ 如果仓库有 skills 子目录

这三个仓库都有 skills\ 子目录,所以上面的命令已经是正确的。

如果你遇到其他仓库,skills 直接在根目录(没有 skills 子目录),调整命令:

cmd 复制代码
# 如果 skills 直接在根目录(去掉路径中的 \skills\)
for /d %i in (%USERPROFILE%\Downloads\某仓库\*) do @xcopy /E /I /Y "%i" "%USERPROFILE%\.claude\skills\前缀-%~nxi\" >nul && echo 已复制: 前缀-%~nxi
手动复制版(如果需要精确控制)

如果你想手动指定复制哪些 Skills:

cmd 复制代码
# ========================================
# 步骤 1-2:克隆和查看(同上)
# ========================================
cd %USERPROFILE%\Downloads
git clone https://github.com/anthropics/skills.git anthropics-skills
git clone https://github.com/obra/superpowers.git superpowers
git clone https://github.com/Jeffallan/claude-skills.git jeffallan-skills

# 查看有哪些 Skills
dir /B %USERPROFILE%\Downloads\anthropics-skills

# ========================================
# 步骤 3:手动复制并添加前缀
# ========================================
# ⚠️ 注意:这三个仓库的 skills 在 skills\ 子目录里

xcopy /E /I /Y %USERPROFILE%\Downloads\anthropics-skills\skills\document-skills %USERPROFILE%\.claude\skills\anthropics-document-skills\
xcopy /E /I /Y %USERPROFILE%\Downloads\anthropics-skills\skills\code-review %USERPROFILE%\.claude\skills\anthropics-code-review\

xcopy /E /I /Y %USERPROFILE%\Downloads\superpowers\skills\planning %USERPROFILE%\.claude\skills\superpowers-planning\
xcopy /E /I /Y %USERPROFILE%\Downloads\superpowers\skills\code-review %USERPROFILE%\.claude\skills\superpowers-code-review\

xcopy /E /I /Y %USERPROFILE%\Downloads\jeffallan-skills\skills\react-helper %USERPROFILE%\.claude\skills\jeffallan-react-helper\

# ========================================
# 步骤 4-5:清理和验证(同上)
# ========================================
rmdir /S /Q %USERPROFILE%\Downloads\anthropics-skills
rmdir /S /Q %USERPROFILE%\Downloads\superpowers
rmdir /S /Q %USERPROFILE%\Downloads\jeffallan-skills

echo 已安装的 Skills:
dir /B %USERPROFILE%\.claude\skills
pause
优点
  • ✅ 清晰的来源标识(通过前缀)
  • ✅ 符合 Claude Code 的扫描规则
  • ✅ 避免命名冲突
  • ✅ 易于管理和更新

6.4 解决方案三:使用 Git Submodules(团队推荐)

适用场景:团队项目,需要版本控制和统一管理

操作步骤
cmd 复制代码
# 1. 在项目中添加 Skills 作为 submodule(CMD)
cd your-project

# 2. 添加 Skills 仓库为 submodule
git submodule add https://github.com/anthropics/skills.git .claude\skills-repos\anthropics
git submodule add https://github.com/obra/superpowers.git .claude\skills-repos\superpowers
创建安装脚本

创建 .claude\install-skills.cmd

cmd 复制代码
@echo off
echo 开始安装 Skills...

REM 复制 Anthropic Skills
xcopy /E /I /Y .claude\skills-repos\anthropics\skills\document-skills .claude\skills\document-skills\
xcopy /E /I /Y .claude\skills-repos\anthropics\skills\code-review .claude\skills\code-review\

REM 复制 Superpowers Skills
xcopy /E /I /Y .claude\skills-repos\superpowers\skills\planning .claude\skills\planning\
xcopy /E /I /Y .claude\skills-repos\superpowers\skills\testing .claude\skills\testing\

echo Skills 安装完成!
pause
团队成员使用
cmd 复制代码
# 克隆项目
git clone <your-project-url>
cd your-project

# 初始化 submodules
git submodule update --init --recursive

# 运行安装脚本
.claude\install-skills.cmd
更新 Skills
cmd 复制代码
# 更新 submodules
git submodule update --remote

# 重新运行安装脚本
.claude\install-skills.cmd
优点
  • ✅ 版本控制
  • ✅ 团队统一
  • ✅ 易于更新
  • ✅ 可追溯历史

6.5 处理命名冲突

问题:不同仓库可能有同名的 Skills

解决方案

方案 1:重命名(推荐)

cmd 复制代码
# 复制时添加前缀(CMD)
xcopy /E /I anthropics\skills\code-review %USERPROFILE%\.claude\skills\anthropics-code-review\
xcopy /E /I superpowers\skills\code-review %USERPROFILE%\.claude\skills\superpowers-code-review\

方案 2:修改 Skill 名称

编辑 SKILL.md 的 frontmatter:

yaml 复制代码
---
name: anthropics-code-review  # 修改这里
description: Anthropic 官方代码审查
---

方案 3:使用目录分类

参考 6.3 节的按来源分类管理方案。


7. 批量管理脚本

7.1 创建管理脚本(CMD 版本)

创建 manage-skills.cmd

cmd 复制代码
@echo off
setlocal

set SKILLS_DIR=%USERPROFILE%\.claude\skills
set REPOS_DIR=%USERPROFILE%\claude-skills-repos

if "%1"=="" goto usage
if "%1"=="update" goto update
if "%1"=="list" goto list
if "%1"=="install" goto install
if "%1"=="remove" goto remove
goto usage

:update
echo 更新 Skills 仓库...
cd %REPOS_DIR%\anthropics && git pull
cd %REPOS_DIR%\superpowers && git pull
cd %REPOS_DIR%\jeffallan && git pull
echo 更新完成!
goto end

:list
echo 已安装的 Skills:
dir /B %SKILLS_DIR%
goto end

:install
if "%2"=="" goto usage
if "%3"=="" goto usage
echo 安装 %2/%3...
xcopy /E /I /Y %REPOS_DIR%\%2\skills\%3 %SKILLS_DIR%\%3\
echo 安装完成!
goto end

:remove
if "%2"=="" goto usage
echo 删除 %2...
rmdir /S /Q %SKILLS_DIR%\%2
echo 删除完成!
goto end

:usage
echo 用法:
echo   manage-skills.cmd update              - 更新所有仓库
echo   manage-skills.cmd list                - 列出已安装的 Skills
echo   manage-skills.cmd install repo skill  - 安装 Skill
echo   manage-skills.cmd remove skill        - 删除 Skill
echo.
echo 示例:
echo   manage-skills.cmd install anthropics document-skills
echo   manage-skills.cmd remove document-skills
goto end

:end
endlocal

7.2 使用方法

cmd 复制代码
# 更新所有仓库
manage-skills.cmd update

# 列出已安装的 Skills
manage-skills.cmd list

# 安装特定 Skill
manage-skills.cmd install anthropics document-skills

# 删除 Skill
manage-skills.cmd remove document-skills

7.3 最佳实践建议

推荐的工作流程

1. 初始设置

cmd 复制代码
# 创建仓库存放目录(CMD)
mkdir %USERPROFILE%\claude-skills-repos
cd %USERPROFILE%\claude-skills-repos

# 克隆所有感兴趣的仓库
git clone https://github.com/anthropics/skills.git anthropics
git clone https://github.com/obra/superpowers.git superpowers
git clone https://github.com/Jeffallan/claude-skills.git jeffallan

2. 浏览和测试

cmd 复制代码
# 查看有哪些 Skills(CMD)
dir anthropics\skills\

# 查看 README 了解功能
type anthropics\skills\document-skills\SKILL.md

3. 选择性安装

cmd 复制代码
# 只复制需要的 Skills(CMD)
xcopy /E /I anthropics\skills\document-skills %USERPROFILE%\.claude\skills\document-skills\

# 测试是否工作
# 重启 Claude Code,然后输入:
# What skills are available?

4. 定期更新

cmd 复制代码
# 每月更新一次仓库(CMD)
cd %USERPROFILE%\claude-skills-repos\anthropics
git pull

cd %USERPROFILE%\claude-skills-repos\superpowers
git pull

# 如果有更新,重新复制
xcopy /E /I /Y anthropics\skills\document-skills %USERPROFILE%\.claude\skills\document-skills\

5. 记录管理

创建 %USERPROFILE%\.claude\skills\INSTALLED.txt

复制代码
已安装的 Skills

来自 anthropics/skills
- document-skills (v1.0, 2025-01-15)
- code-review (v1.2, 2025-01-15)

来自 obra/superpowers
- planning (v2.0, 2025-01-10)
- testing (v2.0, 2025-01-10)

自定义 Skills
- my-workflow (v1.0, 2025-01-20)

第三部分:问题排查

8. 常见问题与解决方案

8.1 问题 1:Skill 没有被触发

可能原因
  1. Description 不够明确
  2. Skill 未正确安装
  3. 需要重启 Claude Code
解决方案
复制代码
# 1. 检查 Skill 是否可用
What skills are available?

# 2. 查看 Skill 描述
/skills

# 3. 手动触发测试
/skill-name test

优化 description

yaml 复制代码
# 之前(不好)
description: 这是一个用于处理各种文档的工具

# 之后(好)
description: 处理文档转换

8.2 问题 2:Skill 触发过于频繁

解决方案

方案 1:更精确的描述

yaml 复制代码
# 之前
description: 处理文件

# 之后
description: 转换 PDF 文件为 Markdown

方案 2:禁用自动调用

yaml 复制代码
---
name: my-skill
description: 我的 Skill
disable-model-invocation: true  # 禁止 AI 自动调用
---

8.3 问题 3:Claude 看不到所有 Skills

原因

Skills 描述超出字符预算

检查方法
复制代码
/context

查看是否有关于 Skills 被排除的警告。

解决方案

方案 1:增加预算

cmd 复制代码
# CMD - 临时设置
set SLASH_COMMAND_TOOL_CHAR_BUDGET=32000

# 永久设置(需要管理员权限)
setx SLASH_COMMAND_TOOL_CHAR_BUDGET 32000

方案 2:优化 Skills

  • 简化 description
  • 合并相似的 Skills
  • 移除不常用的 Skills

8.4 问题 4:权限控制

场景

限制 Claude 使用特定 Skills

解决方案

方案 1:全局禁用 Skill 工具

复制代码
/permissions

然后拒绝 Skill 工具。

方案 2:使用权限规则

复制代码
# 允许特定 Skill
/permissions allow Skill(code-review)

# 拒绝特定 Skill
/permissions deny Skill(deploy-prod)

# 使用通配符
/permissions allow Skill(test-*)

方案 3:Skill 级别控制

yaml 复制代码
---
name: deploy-prod
disable-model-invocation: true  # 在 SKILL.md 中设置
---

8.5 常见问题速查

问题 原因 解决方案
Skill 不触发 description 不明确 使用简洁关键词
触发过于频繁 description 太宽泛 更精确的描述
看不到所有 Skills 超出字符预算 增加预算或优化 Skills
权限问题 未设置权限 使用 /permissions 配置
命名冲突 同名 Skill 重命名或分类管理

9. 性能优化与安全

9.1 性能优化建议

1. 合理使用支持文件

不推荐:将所有内容放在 SKILL.md

markdown 复制代码
---
name: api-guide
---

# API Guide

[10000 行 API 文档...]

推荐:使用引用

markdown 复制代码
---
name: api-guide
---

# API Guide

核心指令...

## 详细文档
需要时查看:
- `references/rest-api.md`: REST API 规范
- `references/graphql-api.md`: GraphQL API 规范
2. 优化 description

不推荐

yaml 复制代码
description: 这是一个用于生成、审查、优化、测试和部署代码的综合工具,支持多种编程语言和框架...

推荐

yaml 复制代码
description: 代码生成和审查
3. 按需加载

使用 disable-model-invocation: true 标记不常用的 Skills,需要时手动调用。

9.2 安全注意事项

1. 敏感信息处理

不要在 Skill 中硬编码敏感信息

markdown 复制代码
---
name: deploy
---

使用以下凭证部署:
API_KEY=sk-1234567890abcdef
DATABASE_URL=postgresql://user:password@host/db

使用环境变量

markdown 复制代码
---
name: deploy
---

部署步骤:
1. 确保环境变量已设置:
   - %API_KEY%
   - %DATABASE_URL%
2. 运行部署脚本
2. 命令执行安全

使用 !command" 时要小心:

markdown 复制代码
# 危险:可能执行任意命令
!%ARGUMENTS%"

# 安全:验证和限制
!gh pr view %ARGUMENTS% --json title"
3. 工具权限限制

为敏感操作创建受限的 Skills:

yaml 复制代码
---
name: read-only-review
allowed-tools:
  - readFile
  - grepSearch
  # 不包括 fsWrite, strReplace 等修改工具
---

9.3 团队协作最佳实践

1. 版本控制

推荐的 .gitignore 配置

gitignore 复制代码
# 不提交个人级 Skills
# (个人级 Skills 在用户主目录,不在项目中)

# 提交项目级 Skills
!.claude/skills/
2. 文档化

为每个 Skill 添加 README.md

markdown 复制代码
# Skill: deploy-prod

## 用途
部署到生产环境

## 前置条件
- AWS CLI 已配置
- 拥有部署权限

## 使用方法
/deploy-prod [version]

## 示例
/deploy-prod v1.2.3
3. 代码审查

将 Skills 纳入代码审查流程:

  • 检查 description 是否清晰
  • 验证 instructions 是否完整
  • 测试 Skill 是否正常工作
4. 命名规范

推荐的命名约定

复制代码
动词-名词 格式:
✅ generate-api-docs
✅ review-code
✅ deploy-staging
✅ test-integration

避免:
❌ api-docs(不明确是生成还是查看)
❌ code(太宽泛)
❌ deploy(缺少环境信息)

相关链接

相关推荐
西欧伯爵5 小时前
AI增强新时代-Skills
ai·skills
laplace01233 天前
IcePop技术
人工智能·大模型·agent·claude·rag·skills·icepop
香芋Yu3 天前
【从零构建AI Code终端系统】06 -- 技能系统:把经验装进书架
agent·code·claude code·skills
feasibility.3 天前
用OpenClaw做飞书ai办公机器人(含本地ollama模型接入+自动安装skills+数据可视化)
人工智能·科技·机器人·飞书·agi·skills·openclaw
Hehuyi_In5 天前
opencode + skills 漏洞复盘分析试用
ai·skills·opencode
疯狂敲代码的老刘6 天前
如何在 TRAE 中安装 UI/UX Pro Max Skill?完整图文教程
ui·ux·trae·skills
小小工匠8 天前
Vibe Coding - AI 编程五件套:Rules、Commands、Subagent、MCP、Skills 实战指南
command·rules·mcp·subagent·skills
£漫步 云端彡9 天前
Claude Code Skills 完整学习指南
ai·skills
哆啦code梦9 天前
什么是Skills
大模型·skills·agent skills