Claude Code Skills 完整学习指南

Claude Code Skills 完整学习指南

    • [📚 目录](#📚 目录)
    • [第一章:什么是 Skills](#第一章:什么是 Skills)
      • [1.1 Skills 简介](#1.1 Skills 简介)
      • [1.2 Skills 的类型](#1.2 Skills 的类型)
        • [官方 Skills(Anthropic 提供)](#官方 Skills(Anthropic 提供))
        • [社区 Skills(第三方开发)](#社区 Skills(第三方开发))
        • [自定义 Skills(你自己创建)](#自定义 Skills(你自己创建))
      • [1.3 为什么要使用 Skills](#1.3 为什么要使用 Skills)
      • [1.4 Skills 的工作原理](#1.4 Skills 的工作原理)
    • 第二章:环境准备
      • [2.1 前置要求](#2.1 前置要求)
      • [2.2 了解文件位置](#2.2 了解文件位置)
      • [2.3 检查环境](#2.3 检查环境)
    • [第三章:安装官方 Skills](#第三章:安装官方 Skills)
      • [3.1 添加官方 Skills 市场](#3.1 添加官方 Skills 市场)
      • [3.2 浏览可用的 Skills](#3.2 浏览可用的 Skills)
      • [3.3 安装 Skills](#3.3 安装 Skills)
        • [方式 1:安装示例 skills 包(推荐新手)](#方式 1:安装示例 skills 包(推荐新手))
        • [方式 2:安装文档 skills 包](#方式 2:安装文档 skills 包)
        • [方式 3:安装单个 skill(高级)](#方式 3:安装单个 skill(高级))
      • [3.4 重启 Claude Code](#3.4 重启 Claude Code)
      • [3.5 验证安装](#3.5 验证安装)
        • [方法 1:询问 Claude](#方法 1:询问 Claude)
        • [方法 2:测试一个 skill](#方法 2:测试一个 skill)
        • [方法 3:查看系统信息](#方法 3:查看系统信息)
    • [第四章:使用 Skills](#第四章:使用 Skills)
      • [4.1 Skills 的三种使用方式](#4.1 Skills 的三种使用方式)
        • [方式 1:自然语言(推荐新手)](#方式 1:自然语言(推荐新手))
        • [方式 2:明确指定 skill](#方式 2:明确指定 skill)
        • [方式 3:直接调用命令(高级用户)](#方式 3:直接调用命令(高级用户))
      • [4.2 常用 Skills 使用示例](#4.2 常用 Skills 使用示例)
        • [📄 文档处理 Skills](#📄 文档处理 Skills)
        • [🎨 设计类 Skills](#🎨 设计类 Skills)
        • [🛠️ 开发类 Skills](#🛠️ 开发类 Skills)
      • [4.3 Skills 使用技巧](#4.3 Skills 使用技巧)
        • [技巧 1:提供详细信息](#技巧 1:提供详细信息)
        • [技巧 2:分步骤操作](#技巧 2:分步骤操作)
        • [技巧 3:查看 Skill 能做什么](#技巧 3:查看 Skill 能做什么)
        • [技巧 4:提供示例](#技巧 4:提供示例)
        • [技巧 5:指定输出位置](#技巧 5:指定输出位置)
      • [4.4 常见使用场景](#4.4 常见使用场景)
        • [场景 1:日常办公](#场景 1:日常办公)
        • [场景 2:数据处理](#场景 2:数据处理)
        • [场景 3:网页开发](#场景 3:网页开发)
        • [场景 4:数据库管理](#场景 4:数据库管理)
    • [第六章:实战案例 - MySQL 数据库管理 Skill](#第六章:实战案例 - MySQL 数据库管理 Skill)
      • [6.1 需求分析](#6.1 需求分析)
      • [6.2 创建 Skill 结构](#6.2 创建 Skill 结构)
      • [6.3 创建配置文件](#6.3 创建配置文件)
      • [6.4 创建核心工具脚本](#6.4 创建核心工具脚本)
      • [6.5 创建 SKILL.md](#6.5 创建 SKILL.md)
    • 支持的操作
    • 使用示例
    • 安全注意事项
    • 命令参考
    • [在 Claude Code 中使用](#在 Claude Code 中使用)
    • 故障排除
      • 连接失败
      • [6.8 扩展功能](#6.8 扩展功能)
      • [6.9 实战演练](#6.9 实战演练)
      • [6.10 总结](#6.10 总结)
    • 第七章:常见问题与解决方案
      • [7.1 安装相关问题](#7.1 安装相关问题)
        • [问题 1:无法添加官方市场](#问题 1:无法添加官方市场)
        • [问题 2:Skills 安装后不显示](#问题 2:Skills 安装后不显示)
        • [问题 3:依赖安装失败](#问题 3:依赖安装失败)
      • [7.2 使用相关问题](#7.2 使用相关问题)
        • [问题 4:Skill 执行失败](#问题 4:Skill 执行失败)
        • [问题 5:Claude 选错了 Skill](#问题 5:Claude 选错了 Skill)
        • [问题 6:配置文件找不到](#问题 6:配置文件找不到)
      • [7.3 数据库相关问题](#7.3 数据库相关问题)
        • [问题 7:无法连接数据库](#问题 7:无法连接数据库)
        • [问题 8:备份失败](#问题 8:备份失败)
      • [7.4 性能相关问题](#7.4 性能相关问题)
        • [问题 9:查询很慢](#问题 9:查询很慢)
        • [问题 10:内存占用过高](#问题 10:内存占用过高)
      • [7.5 文档相关问题](#7.5 文档相关问题)
        • [问题 11:Word 文档创建失败](#问题 11:Word 文档创建失败)
        • [问题 12:PDF 处理失败](#问题 12:PDF 处理失败)
      • [7.6 调试技巧](#7.6 调试技巧)
        • [技巧 1:启用详细日志](#技巧 1:启用详细日志)
        • [技巧 2:使用调试模式](#技巧 2:使用调试模式)
        • [技巧 3:测试单个功能](#技巧 3:测试单个功能)
        • [技巧 4:查看 Claude Code 日志](#技巧 4:查看 Claude Code 日志)
      • [7.7 获取帮助](#7.7 获取帮助)
    • 附录:完整命令参考
      • [A. Claude Code 基本命令](#A. Claude Code 基本命令)
      • [B. Plugin 管理命令](#B. Plugin 管理命令)
      • [C. 文件操作命令](#C. 文件操作命令)
      • [D. Node.js 命令](#D. Node.js 命令)
      • [E. Git 命令](#E. Git 命令)
      • [F. MySQL 命令](#F. MySQL 命令)
      • [G. 常用 Skill 命令模板](#G. 常用 Skill 命令模板)
    • [附录 B:配置文件模板](#附录 B:配置文件模板)
      • [1. SKILL.md 模板](#1. SKILL.md 模板)
      • [2. config.json 模板](#2. config.json 模板)
      • [3. package.json 模板](#3. package.json 模板)
      • [4. README.md 模板](#4. README.md 模板)
    • 配置
    • 使用
    • 命令参考

📚 目录

  • [第一章:什么是 Skills](#第一章:什么是 Skills)
  • 第二章:环境准备
  • [第三章:安装官方 Skills](#第三章:安装官方 Skills)
  • [第四章:使用 Skills](#第四章:使用 Skills)
  • [第五章:创建自定义 Skills](#第五章:创建自定义 Skills)
  • [第六章:实战案例 - MySQL 数据库管理 Skill](#第六章:实战案例 - MySQL 数据库管理 Skill)
  • 第七章:常见问题与解决方案
  • 附录:完整命令参考

第一章:什么是 Skills

1.1 Skills 简介

Skills 是 Claude Code 的扩展功能系统,就像给 Claude 安装"技能包"一样。

通俗理解

  • 就像手机 APP:你可以给手机安装不同的 APP 来实现不同功能
  • Skills 就是给 Claude 安装的"功能插件"
  • 每个 Skill 让 Claude 学会一项新技能

举例说明

  • 安装 docx skill → Claude 就会创建和编辑 Word 文档
  • 安装 pdf skill → Claude 就会处理 PDF 文件
  • 安装 mysql-manager skill → Claude 就会操作数据库

1.2 Skills 的类型

官方 Skills(Anthropic 提供)
  • 由 Claude 官方团队开发和维护
  • 质量有保证,功能稳定
  • 免费使用
  • 例如:docx、pdf、pptx、xlsx 等
社区 Skills(第三方开发)
  • 由社区开发者贡献
  • 功能多样化
  • 需要自行评估质量
自定义 Skills(你自己创建)
  • 根据自己的需求定制
  • 完全可控
  • 本教程会教你如何创建

1.3 为什么要使用 Skills

没有 Skills 的情况

复制代码
你:帮我创建一个 Word 文档
Claude:抱歉,我不能直接创建 Word 文档

有 Skills 的情况

复制代码
你:帮我创建一个 Word 文档
Claude:好的!(自动使用 docx skill 创建文档)

Skills 的优势

  1. ✅ 扩展 Claude 的能力
  2. ✅ 自动化重复任务
  3. ✅ 提高工作效率
  4. ✅ 可以定制专属功能

1.4 Skills 的工作原理

复制代码
你的请求 → Claude 分析 → 选择合适的 Skill → 执行操作 → 返回结果

示例流程

  1. 你说:"创建一个 Word 文档"
  2. Claude 识别到需要文档处理
  3. Claude 调用 docx skill
  4. docx skill 执行创建文档的代码
  5. 返回创建好的文档

第二章:环境准备

2.1 前置要求

在开始之前,确保你已经安装了:

必需软件

1. Claude Code CLI

  • 这是 Claude 的命令行工具

  • 如果你能运行 Claude Code,说明已经安装了

  • 检查方法:

    bash 复制代码
    claude --version

2. Node.js(某些 skills 需要)

  • 版本要求:14.0 或更高

  • 检查是否安装:

    bash 复制代码
    node --version
    npm --version
  • 如果没有安装,访问:https://nodejs.org/

  • 下载 LTS(长期支持)版本

3. Git(可选,用于克隆官方仓库)

  • 检查是否安装:

    bash 复制代码
    git --version
  • 如果没有安装,访问:https://git-scm.com/

2.2 了解文件位置

重要目录结构

复制代码
你的用户目录/
├── .claude/                          # Claude 配置目录
│   ├── skills/                       # 自定义 skills 存放位置
│   │   └── mysql-manager/            # 示例:自定义 skill
│   │       ├── SKILL.md              # Skill 定义文件
│   │       ├── config.json           # 配置文件
│   │       ├── mysql-tool.js         # 工具脚本
│   │       └── README.md             # 说明文档
│   ├── plugins/                      # 插件目录
│   │   └── marketplaces/             # Skills 市场
│   │       └── anthropic-agent-skills/
│   │           └── skills/           # 官方 skills
│   │               ├── docx/
│   │               ├── pdf/
│   │               └── ...
│   └── config.json                   # 全局配置文件

不同操作系统的路径

Windows

  • 用户目录:C:\Users\你的用户名\

  • Claude 目录:C:\Users\你的用户名\.claude\

  • 查看方法:

    bash 复制代码
    echo %USERPROFILE%\.claude

Mac

  • 用户目录:/Users/你的用户名/

  • Claude 目录:/Users/你的用户名/.claude/

  • 查看方法:

    bash 复制代码
    echo ~/.claude

Linux

  • 用户目录:/home/你的用户名/

  • Claude 目录:/home/你的用户名/.claude/

  • 查看方法:

    bash 复制代码
    echo ~/.claude

2.3 检查环境

步骤 1:检查 Claude Code

bash 复制代码
claude --version

预期输出:显示版本号

步骤 2:检查 Node.js

bash 复制代码
node --version
npm --version

预期输出:显示版本号(如 v20.9.0)

步骤 3:检查配置目录

bash 复制代码
# Windows
dir %USERPROFILE%\.claude

# Mac/Linux
ls -la ~/.claude

预期输出:显示 .claude 目录内容


第三章:安装官方 Skills

3.1 添加官方 Skills 市场

步骤 1:启动 Claude Code

在终端或命令行中:

bash 复制代码
claude-code

步骤 2:添加官方市场

在 Claude Code 中输入:

复制代码
/plugin marketplace add anthropics/skills

预期结果

复制代码
Successfully added marketplace: anthropic-agent-skills

这一步做了什么

  • 连接到 Anthropic 官方的 skills 仓库(GitHub)
  • 下载 skills 列表到你的电脑
  • 存储位置:~/.claude/plugins/marketplaces/anthropic-agent-skills/
  • 但还没有安装具体的 skills

如果失败怎么办

  • 检查网络连接
  • 确保可以访问 GitHub
  • 尝试使用代理(如果在国内)

3.2 浏览可用的 Skills

方法 1:通过命令浏览

复制代码
/plugin browse

方法 2:查看已下载的 skills

bash 复制代码
# Windows
dir %USERPROFILE%\.claude\plugins\marketplaces\anthropic-agent-skills\skills

# Mac/Linux
ls ~/.claude/plugins/marketplaces/anthropic-agent-skills/skills/

你会看到这些 skills

Skill 名称 功能说明 适用场景
docx Word 文档处理 创建报告、编辑文档
pdf PDF 文件处理 提取文本、合并PDF
pptx PowerPoint 演示 创建幻灯片
xlsx Excel 表格 数据处理、表格创建
frontend-design 前端设计 网页设计、UI组件
algorithmic-art 算法艺术 生成艺术、动画
canvas-design 画布设计 海报、图形设计
mcp-builder MCP 服务器 API 集成
webapp-testing Web 测试 自动化测试
skill-creator Skill 创建 创建自定义 skill
更多... ... ...

3.3 安装 Skills

方式 1:安装示例 skills 包(推荐新手)
复制代码
/plugin install example-skills@anthropic-agent-skills

这个命令会安装

  • 所有示例 skills(16个)
  • 包括文档处理、设计、开发等
  • 适合学习和日常使用

预期结果

复制代码
✓ Installed example-skills. Restart Claude Code to load new plugins.
方式 2:安装文档 skills 包

如果只需要文档处理功能:

复制代码
/plugin install document-skills@anthropic-agent-skills

这个命令会安装

  • docx(Word)
  • pdf(PDF)
  • pptx(PowerPoint)
  • xlsx(Excel)
方式 3:安装单个 skill(高级)
复制代码
/plugin install docx@anthropic-agent-skills

3.4 重启 Claude Code

重要:安装后必须重启 Claude Code 才能生效!

步骤

  1. 退出当前 Claude Code 会话

    • 输入 exit
    • Ctrl+C(Windows/Linux)或 Cmd+C(Mac)
  2. 重新启动:

    bash 复制代码
    claude-code

3.5 验证安装

方法 1:询问 Claude

在 Claude Code 中输入:

复制代码
你有哪些 skills?
列出所有可用的 skills

Claude 会列出所有已安装的 skills。

方法 2:测试一个 skill
复制代码
帮我创建一个测试 Word 文档

如果 Claude 成功创建了文档,说明 skills 安装成功!

方法 3:查看系统信息
bash 复制代码
# 查看已安装的 skills
ls ~/.claude/plugins/cache/

第四章:使用 Skills

4.1 Skills 的三种使用方式

方式 1:自然语言(推荐新手)

直接用日常语言描述你的需求,Claude 会自动选择合适的 skill。

示例

复制代码
创建一个 Word 文档
处理这个 PDF 文件
设计一个登录页面
查询数据库

优点

  • 最简单,不需要记住 skill 名称
  • Claude 会自动判断使用哪个 skill
  • 适合日常使用

缺点

  • 有时 Claude 可能选错 skill
  • 不够精确
方式 2:明确指定 skill

如果你知道要用哪个 skill,可以明确指定。

示例

复制代码
使用 docx skill 创建报告
使用 pdf skill 提取文本
使用 mysql-manager 查询数据

优点

  • 更精确
  • 避免 Claude 选错 skill
  • 适合重复性任务

缺点

  • 需要记住 skill 名称
方式 3:直接调用命令(高级用户)

对于自定义 skills,可以直接调用命令。

示例

bash 复制代码
cd ~/.claude/skills/mysql-manager
node mysql-tool.js list-databases

优点

  • 最快速
  • 完全控制
  • 适合脚本化

缺点

  • 需要了解命令行
  • 需要知道具体命令

4.2 常用 Skills 使用示例

📄 文档处理 Skills

创建 Word 文档(docx)

基础用法:

复制代码
创建一个 Word 文档

详细用法:

复制代码
创建一个项目报告文档,包含:
- 标题:2024年度总结
- 副标题:技术部门
- 三个章节:背景、实施、成果
- 一个数据表格
- 页脚包含日期
保存为 report.docx

处理 PDF(pdf)

提取文本:

复制代码
从 report.pdf 中提取所有文本

合并 PDF:

复制代码
合并 file1.pdf 和 file2.pdf 为 merged.pdf

分割 PDF:

复制代码
将 document.pdf 的第 1-5 页提取为新文件

创建 PowerPoint(pptx)

复制代码
创建一个产品介绍演示文稿,包含:
- 封面页
- 产品特点(3页)
- 价格方案(1页)
- 联系方式(1页)

处理 Excel(xlsx)

复制代码
创建一个销售数据表格,包含:
- 列:日期、产品、数量、金额
- 10行测试数据
- 添加求和公式
🎨 设计类 Skills

前端设计(frontend-design)

登录页面:

复制代码
设计一个现代风格的登录页面,包含:
- 用户名和密码输入框
- 记住我选项
- 登录按钮
- 使用蓝色主题

导航栏:

复制代码
创建一个响应式导航栏,包含:
- Logo
- 首页、产品、关于我们、联系
- 移动端汉堡菜单

算法艺术(algorithmic-art)

复制代码
用粒子系统创建一个动画,包含:
- 1000个粒子
- 随机颜色
- 鼠标交互

Canvas 设计(canvas-design)

复制代码
设计一张活动海报:
- 主题:春季促销
- 尺寸:A4
- 包含标题、日期、二维码
🛠️ 开发类 Skills

Web 测试(webapp-testing)

复制代码
测试 localhost:3000 的登录功能:
1. 打开页面
2. 输入用户名和密码
3. 点击登录按钮
4. 截图保存

MCP 构建(mcp-builder)

复制代码
创建一个连接 GitHub API 的 MCP 服务器,功能:
- 获取仓库列表
- 创建 Issue
- 查看 Pull Request

4.3 Skills 使用技巧

技巧 1:提供详细信息

不好的示例

复制代码
创建一个文档
  • 太模糊
  • Claude 不知道要创建什么内容

好的示例

复制代码
创建一个 Word 文档,文件名为 report.docx,包含:
- 标题:项目报告
- 三个章节:背景、方案、结论
- 每个章节包含 2-3 段文字
- 保存到当前目录
  • 清晰明确
  • Claude 知道具体要做什么
技巧 2:分步骤操作

对于复杂任务,分步骤进行:

复制代码
第一步:先帮我查看数据库有哪些表
(等待结果)

第二步:查询 users 表的结构
(等待结果)

第三步:导出 users 表为 CSV

为什么要分步骤

  • 每一步都能确认结果
  • 出错时容易定位问题
  • 可以根据结果调整下一步
技巧 3:查看 Skill 能做什么
复制代码
docx skill 有哪些功能?
pdf skill 可以做什么?
mysql-manager 支持哪些操作?

Claude 会列出该 skill 的所有功能。

技巧 4:提供示例

如果有参考样式:

复制代码
创建一个类似 example.docx 的文档,但内容改为...
技巧 5:指定输出位置
复制代码
创建文档并保存到桌面
导出数据到 D:/exports/ 目录

4.4 常见使用场景

场景 1:日常办公

需求:每周写工作周报

使用 Skills

复制代码
使用 docx skill 创建本周工作周报:
- 标题:第X周工作周报
- 本周完成的工作(列表)
- 下周计划(列表)
- 遇到的问题
场景 2:数据处理

需求:处理 Excel 数据

使用 Skills

复制代码
使用 xlsx skill:
1. 读取 sales.xlsx
2. 筛选金额大于 1000 的记录
3. 按日期排序
4. 导出为新文件
场景 3:网页开发

需求:快速创建页面原型

使用 Skills

复制代码
使用 frontend-design skill 创建:
- 一个产品展示页面
- 包含图片轮播
- 产品卡片网格
- 响应式布局
场景 4:数据库管理

需求:定期备份数据库

使用 Skills

复制代码
使用 mysql-manager skill:
1. 备份 production 数据库
2. 保存到 /backups/ 目录
3. 文件名包含日期

第六章:实战案例 - MySQL 数据库管理 Skill

本章将通过一个完整的实战案例,教你如何创建一个功能强大的 MySQL 数据库管理 Skill。

6.1 需求分析

目标:创建一个 Skill 来管理 MySQL 数据库

功能需求

  1. 数据库管理(创建、删除、列出)
  2. 表管理(创建、删除、查看结构)
  3. 数据查询(SELECT、统计)
  4. 数据操作(插入、更新、删除)
  5. 导入导出(CSV、JSON、SQL)
  6. 备份与恢复
  7. 用户管理
  8. 性能分析

技术选型

  • Node.js + mysql2 库
  • 配置文件存储连接信息
  • 命令行工具实现各种操作

6.2 创建 Skill 结构

步骤 1:创建目录

bash 复制代码
mkdir -p ~/.claude/skills/mysql-manager
cd ~/.claude/skills/mysql-manager

步骤 2:初始化 npm 项目

bash 复制代码
npm init -y
npm install mysql2

6.3 创建配置文件

config.json

json 复制代码
{
  "host": "localhost",
  "port": 3306,
  "user": "root",
  "password": "root",
  "database": "",
  "charset": "utf8mb4",
  "connectionLimit": 10,
  "connectTimeout": 10000,
  "backupPath": "~/.claude/skills/mysql-manager/backups"
}

配置说明

  • host: 数据库服务器地址
  • port: 端口号(默认 3306)
  • user: 数据库用户名
  • password: 数据库密码
  • database: 默认数据库(可为空)
  • backupPath: 备份文件存储路径

安全提示

bash 复制代码
# 设置配置文件权限(只有所有者可读写)
chmod 600 config.json

6.4 创建核心工具脚本

mysql-tool.js(核心功能实现):

javascript 复制代码
#!/usr/bin/env node

const mysql = require('mysql2/promise');
const fs = require('fs').promises;
const path = require('path');

// 加载配置
async function loadConfig() {
  const configPath = path.join(__dirname, 'config.json');
  const configData = await fs.readFile(configPath, 'utf8');
  return JSON.parse(configData);
}

// 创建数据库连接
async function createConnection(dbName = null) {
  const config = await loadConfig();
  if (dbName) {
    config.database = dbName;
  }
  return await mysql.createConnection(config);
}

// 列出所有数据库
async function listDatabases() {
  const conn = await createConnection();
  const [rows] = await conn.execute('SHOW DATABASES');
  await conn.end();
  return rows.map(row => row.Database);
}

// 列出所有表
async function listTables(dbName) {
  const conn = await createConnection(dbName);
  const [rows] = await conn.execute('SHOW TABLES');
  await conn.end();
  return rows.map(row => Object.values(row)[0]);
}

// 查询数据
async function selectAll(dbName, tableName, limit = 100) {
  const conn = await createConnection(dbName);
  const [rows] = await conn.execute(
    `SELECT * FROM \`${tableName}\` LIMIT ?`,
    [limit]
  );
  await conn.end();
  return rows;
}

// 主函数
async function main() {
  const args = process.argv.slice(2);
  const command = args[0];

  try {
    let result;

    switch (command) {
      case 'list-databases':
        result = await listDatabases();
        break;
      case 'list-tables':
        result = await listTables(args[1]);
        break;
      case 'select-all':
        result = await selectAll(args[1], args[2], parseInt(args[3] || 100));
        break;
      default:
        console.error('未知命令:', command);
        process.exit(1);
    }

    console.log(JSON.stringify(result, null, 2));
  } catch (error) {
    console.error('错误:', error.message);
    process.exit(1);
  }
}

if (require.main === module) {
  main();
}

设置执行权限

bash 复制代码
chmod +x mysql-tool.js

6.5 创建 SKILL.md

markdown 复制代码
---
name: mysql-manager
description: 全面的 MySQL 数据库管理工具。支持连接数据库、执行查询、数据导入导出、备份恢复、表结构管理等操作。使用前需要配置数据库连接信息。
---

# MySQL 数据库管理 Skill

这个 skill 提供全面的 MySQL 数据库操作功能。

## 配置

数据库连接信息存储在 `~/.claude/skills/mysql-manager/config.json` 中。

默认配置:
```json
{
  "host": "localhost",
  "port": 3306,
  "user": "root",
  "password": "root"
}

支持的操作

数据库管理

  • 列出所有数据库
  • 创建数据库
  • 删除数据库
  • 查看数据库大小

表管理

  • 列出所有表
  • 创建表
  • 删除表
  • 查看表结构

数据查询

  • SELECT 查询
  • 条件查询
  • 统计查询

数据操作

  • 插入数据
  • 更新数据
  • 删除数据

导入导出

  • 导出为 CSV
  • 导出为 JSON
  • 导出为 SQL
  • 从 SQL 导入

备份与恢复

  • 备份数据库
  • 恢复数据库

使用示例

复制代码
使用 mysql-manager 列出所有数据库
使用 mysql-manager 查询 users 表的数据
使用 mysql-manager 备份 mydb 数据库

安全注意事项

  1. 配置文件包含敏感信息,确保权限设置正确

  2. 生产环境使用只读用户进行查询

  3. 删除操作前务必确认

  4. 定期备份重要数据

    6.6 创建使用文档

    README.md

    markdown 复制代码
    # MySQL Manager Skill 使用指南
    
    ## 安装
    
    1. 创建目录:
    ```bash
    mkdir -p ~/.claude/skills/mysql-manager
    cd ~/.claude/skills/mysql-manager
  5. 安装依赖:

bash 复制代码
npm install mysql2
  1. 配置数据库连接:
    编辑 config.json 文件

命令参考

数据库管理

bash 复制代码
# 列出所有数据库
node mysql-tool.js list-databases

# 列出所有表
node mysql-tool.js list-tables mydb

# 查询数据
node mysql-tool.js select-all mydb users 10

在 Claude Code 中使用

复制代码
使用 mysql-manager 列出所有数据库
使用 mysql-manager 查询 test 数据库中 users 表的数据
使用 mysql-manager 备份 mydb 数据库

故障排除

连接失败

检查:

  • MySQL 服务是否运行

  • 配置文件中的连接信息是否正确

  • 防火墙是否允许连接

    6.7 测试 Skill

    步骤 1:测试连接

    bash 复制代码
    cd ~/.claude/skills/mysql-manager
    node mysql-tool.js list-databases

预期输出

json 复制代码
[
  "information_schema",
  "mysql",
  "performance_schema",
  "test"
]

步骤 2:在 Claude Code 中测试

重启 Claude Code,然后:

复制代码
使用 mysql-manager 列出所有数据库

步骤 3:测试查询功能

复制代码
使用 mysql-manager 查询 test 数据库中 users 表的数据

6.8 扩展功能

添加更多命令

  1. 创建数据库
javascript 复制代码
async function createDatabase(dbName) {
  const conn = await createConnection();
  await conn.execute(`CREATE DATABASE IF NOT EXISTS \`${dbName}\``);
  await conn.end();
  return `数据库 ${dbName} 创建成功`;
}
  1. 导出为 CSV
javascript 复制代码
async function exportToCSV(dbName, tableName, outputPath) {
  const conn = await createConnection(dbName);
  const [rows] = await conn.execute(`SELECT * FROM \`${tableName}\``);
  await conn.end();

  const headers = Object.keys(rows[0]).join(',');
  const csvRows = rows.map(row =>
    Object.values(row).map(val =>
      typeof val === 'string' ? `"${val}"` : val
    ).join(',')
  );

  const csv = [headers, ...csvRows].join('\n');
  await fs.writeFile(outputPath, csv, 'utf8');

  return `导出成功: ${outputPath}`;
}
  1. 备份数据库
javascript 复制代码
async function backupDatabase(dbName, outputPath) {
  const cmd = `mysqldump -u ${config.user} -p${config.password} ${dbName} > "${outputPath}"`;
  await execPromise(cmd);
  return `备份成功: ${outputPath}`;
}

6.9 实战演练

任务 1:查看数据库列表

复制代码
使用 mysql-manager 列出所有数据库

任务 2:查询表数据

复制代码
使用 mysql-manager 查询 test 数据库中 t_user 表的前 10 条数据

任务 3:插入测试数据

复制代码
使用 mysql-manager 在 test 数据库的 t_user 表中插入 10 条测试数据

任务 4:导出数据

复制代码
使用 mysql-manager 将 t_user 表导出为 CSV 文件

任务 5:备份数据库

复制代码
使用 mysql-manager 备份 test 数据库

6.10 总结

通过这个实战案例,你学会了:

  1. ✅ 如何规划 Skill 的功能
  2. ✅ 如何创建 Skill 的目录结构
  3. ✅ 如何编写配置文件
  4. ✅ 如何实现核心功能
  5. ✅ 如何编写 SKILL.md
  6. ✅ 如何测试 Skill
  7. ✅ 如何扩展功能

关键要点

  • 配置文件分离敏感信息
  • 错误处理要完善
  • 文档要详细
  • 测试要充分

第七章:常见问题与解决方案

7.1 安装相关问题

问题 1:无法添加官方市场

错误信息

复制代码
Failed to add marketplace

可能原因

  • 网络连接问题
  • 无法访问 GitHub
  • 代理设置问题

解决方案

  1. 检查网络连接:
bash 复制代码
ping github.com
  1. 配置 Git 代理(如果在国内):
bash 复制代码
git config --global http.proxy http://proxy.example.com:8080
git config --global https.proxy https://proxy.example.com:8080
  1. 使用 VPN 或代理
问题 2:Skills 安装后不显示

症状

  • 安装成功但 Claude 看不到 skills
  • 询问"你有哪些 skills"时没有列出

解决方案

  1. 重启 Claude Code(最常见原因):
bash 复制代码
# 退出
exit

# 重新启动
claude-code
  1. 检查安装位置
bash 复制代码
ls ~/.claude/plugins/cache/
  1. 重新安装

    /plugin uninstall example-skills
    /plugin install example-skills@anthropic-agent-skills

问题 3:依赖安装失败

错误信息

复制代码
npm ERR! Cannot find module 'mysql2'

解决方案

  1. 进入 skill 目录:
bash 复制代码
cd ~/.claude/skills/mysql-manager
  1. 安装依赖:
bash 复制代码
npm install mysql2
  1. 如果还是失败,清除缓存:
bash 复制代码
npm cache clean --force
npm install

7.2 使用相关问题

问题 4:Skill 执行失败

错误信息

复制代码
Error: Command failed

排查步骤

  1. 检查命令是否正确
bash 复制代码
# 手动测试命令
cd ~/.claude/skills/mysql-manager
node mysql-tool.js list-databases
  1. 查看错误详情

    Claude 通常会显示详细的错误信息

  2. 检查权限

bash 复制代码
# 确保脚本有执行权限
chmod +x mysql-tool.js
  1. 检查配置文件
bash 复制代码
# 验证 JSON 格式
cat config.json | python -m json.tool
问题 5:Claude 选错了 Skill

症状

  • 你想用 A skill,但 Claude 用了 B skill

解决方案

  1. 明确指定 skill

    使用 docx skill 创建文档(而不是"创建文档")

  2. 提供更详细的描述

    使用 mysql-manager skill 查询数据库

  3. 检查 SKILL.md 的 description
    确保描述清晰,不会与其他 skills 混淆

问题 6:配置文件找不到

错误信息

复制代码
Error: ENOENT: no such file or directory

解决方案

  1. 检查文件是否存在
bash 复制代码
ls ~/.claude/skills/mysql-manager/config.json
  1. 检查路径是否正确
    在脚本中使用绝对路径:
javascript 复制代码
const configPath = path.join(__dirname, 'config.json');
  1. 创建配置文件
bash 复制代码
cd ~/.claude/skills/mysql-manager
cat > config.json << EOF
{
  "host": "localhost",
  "port": 3306
}
EOF

7.3 数据库相关问题

问题 7:无法连接数据库

错误信息

复制代码
Error: connect ECONNREFUSED
Error: Access denied for user

解决方案

  1. 检查 MySQL 服务是否运行
bash 复制代码
# Windows
sc query MySQL

# Mac
brew services list | grep mysql

# Linux
systemctl status mysql
  1. 检查连接信息
bash 复制代码
# 测试连接
mysql -h localhost -u root -p
  1. 检查防火墙
bash 复制代码
# Linux
sudo ufw status

# Windows
netsh advfirewall show allprofiles
  1. 检查用户权限
sql 复制代码
-- 在 MySQL 中执行
SHOW GRANTS FOR 'root'@'localhost';
问题 8:备份失败

错误信息

复制代码
mysqldump: command not found

解决方案

  1. 安装 MySQL 客户端工具
bash 复制代码
# Ubuntu/Debian
sudo apt-get install mysql-client

# Mac
brew install mysql-client

# Windows
# 下载 MySQL Installer
  1. 添加到 PATH(Windows):

    将 C:\Program Files\MySQL\MySQL Server 8.0\bin 添加到系统 PATH

  2. 使用完整路径

javascript 复制代码
const mysqldumpPath = 'C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysqldump.exe';

7.4 性能相关问题

问题 9:查询很慢

症状

  • 查询大表时响应很慢
  • Claude 长时间无响应

解决方案

  1. 限制查询数量
javascript 复制代码
// 默认限制 100 条
async function selectAll(dbName, tableName, limit = 100) {
  // ...
}
  1. 添加索引
sql 复制代码
CREATE INDEX idx_name ON users(name);
  1. 使用分页
javascript 复制代码
async function selectPage(dbName, tableName, page, pageSize) {
  const offset = (page - 1) * pageSize;
  const [rows] = await conn.execute(
    `SELECT * FROM \`${tableName}\` LIMIT ? OFFSET ?`,
    [pageSize, offset]
  );
  return rows;
}
问题 10:内存占用过高

症状

  • Node.js 进程占用大量内存
  • 系统变慢

解决方案

  1. 使用流式处理
javascript 复制代码
const stream = conn.query(`SELECT * FROM large_table`).stream();
stream.on('data', (row) => {
  // 处理每一行
});
  1. 及时关闭连接
javascript 复制代码
try {
  // 操作
} finally {
  await conn.end();
}
  1. 限制连接池大小
json 复制代码
{
  "connectionLimit": 5
}

7.5 文档相关问题

问题 11:Word 文档创建失败

错误信息

复制代码
Cannot find module 'docx'

解决方案

  1. 全局安装 docx
bash 复制代码
npm install -g docx
  1. 或在项目中安装
bash 复制代码
cd /path/to/project
npm install docx
问题 12:PDF 处理失败

错误信息

复制代码
pdftoppm: command not found

解决方案

  1. 安装 Poppler
bash 复制代码
# Ubuntu/Debian
sudo apt-get install poppler-utils

# Mac
brew install poppler

# Windows
# 下载 Poppler for Windows

7.6 调试技巧

技巧 1:启用详细日志

在脚本中添加日志:

javascript 复制代码
console.log('开始执行:', command);
console.log('参数:', args);
console.log('配置:', config);
技巧 2:使用调试模式
bash 复制代码
# Node.js 调试
node --inspect mysql-tool.js list-databases
技巧 3:测试单个功能
bash 复制代码
# 单独测试每个函数
node -e "require('./mysql-tool.js').listDatabases().then(console.log)"
技巧 4:查看 Claude Code 日志
bash 复制代码
# 查看日志目录
ls ~/.claude/logs/

# 查看最新日志
tail -f ~/.claude/logs/latest.log

7.7 获取帮助

官方资源
  1. Claude Code 文档

  2. Skills 仓库

  3. 问题反馈

社区资源
  1. Discord 社区
  2. Stack Overflow(标签:claude-code)
  3. GitHub Discussions
寻求帮助的技巧

提问时提供

  1. 完整的错误信息
  2. 你的操作步骤
  3. 系统环境信息
  4. 相关的配置文件(去除敏感信息)

好的提问示例

复制代码
问题:mysql-manager skill 无法连接数据库

环境:
- OS: Windows 10
- Node.js: v20.9.0
- MySQL: 8.0.35

错误信息:
Error: connect ECONNREFUSED 127.0.0.1:3306

已尝试:
1. 确认 MySQL 服务正在运行
2. 可以用 mysql 命令行连接
3. 配置文件中的信息正确

配置文件(已去除密码):
{
  "host": "localhost",
  "port": 3306,
  "user": "root"
}

附录:完整命令参考

A. Claude Code 基本命令

bash 复制代码
# 启动 Claude Code
claude-code

# 查看版本
claude --version

# 查看帮助
claude --help

# 退出
exit

B. Plugin 管理命令

bash 复制代码
# 添加市场
/plugin marketplace add anthropics/skills

# 浏览插件
/plugin browse

# 安装插件
/plugin install example-skills@anthropic-agent-skills
/plugin install document-skills@anthropic-agent-skills

# 卸载插件
/plugin uninstall example-skills

# 列出已安装插件
/plugin list

C. 文件操作命令

Windows
bash 复制代码
# 查看目录
dir %USERPROFILE%\.claude

# 进入目录
cd %USERPROFILE%\.claude\skills

# 创建目录
mkdir my-skill

# 删除目录
rmdir /s my-skill

# 查看文件内容
type config.json

# 编辑文件
notepad config.json
Mac/Linux
bash 复制代码
# 查看目录
ls -la ~/.claude

# 进入目录
cd ~/.claude/skills

# 创建目录
mkdir -p my-skill

# 删除目录
rm -rf my-skill

# 查看文件内容
cat config.json

# 编辑文件
nano config.json
# 或
vim config.json

D. Node.js 命令

bash 复制代码
# 初始化项目
npm init -y

# 安装依赖
npm install mysql2
npm install docx

# 全局安装
npm install -g docx

# 查看已安装包
npm list

# 运行脚本
node script.js

# 调试模式
node --inspect script.js

E. Git 命令

bash 复制代码
# 克隆仓库
git clone https://github.com/anthropics/skills.git

# 查看状态
git status

# 拉取更新
git pull

# 查看日志
git log --oneline -10

F. MySQL 命令

bash 复制代码
# 连接数据库
mysql -h localhost -u root -p

# 导出数据库
mysqldump -u root -p mydb > backup.sql

# 导入数据库
mysql -u root -p mydb < backup.sql

# 查看进程
mysqladmin -u root -p processlist

G. 常用 Skill 命令模板

MySQL Manager
bash 复制代码
# 列出数据库
node mysql-tool.js list-databases

# 列出表
node mysql-tool.js list-tables mydb

# 查询数据
node mysql-tool.js select-all mydb users 10

# 导出 CSV
node mysql-tool.js export-csv mydb users output.csv

# 备份
node mysql-tool.js backup mydb backup.sql
文件统计
bash 复制代码
# 统计当前目录
node file-stats.js .

# 统计指定目录
node file-stats.js /path/to/directory

附录 B:配置文件模板

1. SKILL.md 模板

markdown 复制代码
---
name: skill-name
description: 详细描述这个 skill 的功能和使用场景
---

# Skill Name

简短的介绍。

## 功能

- 功能 1
- 功能 2
- 功能 3

## 使用方法

详细的使用说明...

## 示例

使用 skill-name 做某事

复制代码
## 配置

如果需要配置,在这里说明。

## 依赖

列出所需的依赖。

## 注意事项

重要的注意事项。

2. config.json 模板

json 复制代码
{
  "host": "localhost",
  "port": 3306,
  "user": "username",
  "password": "password",
  "database": "dbname",
  "options": {
    "key": "value"
  }
}

3. package.json 模板

json 复制代码
{
  "name": "skill-name",
  "version": "1.0.0",
  "description": "Skill description",
  "main": "index.js",
  "scripts": {
    "test": "node test.js"
  },
  "dependencies": {
    "mysql2": "^3.0.0"
  },
  "author": "Your Name",
  "license": "MIT"
}

4. README.md 模板

markdown 复制代码
# Skill Name

简短描述。

## 安装

```bash
cd ~/.claude/skills/skill-name
npm install

配置

编辑 config.json:

json 复制代码
{
  "key": "value"
}

使用

命令行

bash 复制代码
node tool.js command

Claude Code

复制代码
使用 skill-name 做某事

命令参考

命令 说明 示例
command1 说明 node tool.js command1
command2 说明 node tool.js command2
相关推荐
nimadan123 小时前
**AI仿真人剧工具工作室应用2025指南,提升内容创作效率
ai
哆啦code梦3 小时前
什么是Skills
大模型·skills·agent skills
Elastic 中国社区官方博客4 小时前
Elasticsearch:使用 Workflow 查询天气,发送消息到 Slack
大数据·运维·人工智能·elasticsearch·搜索引擎·ai
振鹏Dong5 小时前
ReActAgent 源码深度拆解:从调用入口到 ReAct-Loop,读懂智能体 “推理 - 行动” 范式
java·人工智能·spring·ai
阿杰学AI5 小时前
AI核心知识104—大语言模型之 LLM Full Stack Engineer(简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·大模型全栈工程师·新型职业
xixixi777777 小时前
算力-模型-数据三位一体:AI时代的“不可能三角”与“飞轮引擎”
人工智能·ai·大模型·算力·模型·数据·数据驱动
雨天行舟7 小时前
abap调用deepseek接口 v3.0
http·ai·sap·abap·聊天·deepseek
caicongyang7 小时前
OpenClaw Agent Loop 机制源码深度分析(一)
ai·openclaw·大红虾
啊阿狸不会拉杆8 小时前
《机器学习导论》第 16 章-贝叶斯估计
人工智能·python·算法·机器学习·ai·参数估计·贝叶斯估计