Claude Code Skills 完整学习指南

📚 目录


第一章:什么是 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,说明已经安装了
  • 检查方法:
    claude --version
    

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

  • 版本要求:14.0 或更高
  • 检查是否安装:
    node --version
    npm --version
    
  • 如果没有安装,访问:https://nodejs.org/
  • 下载 LTS(长期支持)版本

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

  • 检查是否安装:
    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\
  • 查看方法:
    echo %USERPROFILE%\.claude
    

Mac

  • 用户目录:/Users/你的用户名/
  • Claude 目录:/Users/你的用户名/.claude/
  • 查看方法:
    echo ~/.claude
    

Linux

  • 用户目录:/home/你的用户名/
  • Claude 目录:/home/你的用户名/.claude/
  • 查看方法:
    echo ~/.claude
    

2.3 检查环境

步骤 1:检查 Claude Code

claude --version

预期输出:显示版本号

步骤 2:检查 Node.js

node --version
npm --version

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

步骤 3:检查配置目录

# Windows
dir %USERPROFILE%\.claude

# Mac/Linux
ls -la ~/.claude

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


第三章:安装官方 Skills

3.1 添加官方 Skills 市场

步骤 1:启动 Claude Code

在终端或命令行中:

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

# 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. 重新启动:

    claude-code
    

3.5 验证安装

方法 1:询问 Claude

在 Claude Code 中输入:

你有哪些 skills?
列出所有可用的 skills

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

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

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

方法 3:查看系统信息
# 查看已安装的 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,可以直接调用命令。

示例

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:创建目录

mkdir -p ~/.claude/skills/mysql-manager
cd ~/.claude/skills/mysql-manager

步骤 2:初始化 npm 项目

npm init -y
npm install mysql2

6.3 创建配置文件

config.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: 备份文件存储路径

安全提示

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

6.4 创建核心工具脚本

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

#!/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();
}

设置执行权限

chmod +x mysql-tool.js

6.5 创建 SKILL.md

---
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
  1. 安装依赖:
npm install mysql2
  1. 配置数据库连接:
    编辑 config.json 文件

命令参考

数据库管理

# 列出所有数据库
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

预期输出

[
  "information_schema",
  "mysql",
  "performance_schema",
  "test"
]

步骤 2:在 Claude Code 中测试

重启 Claude Code,然后:

使用 mysql-manager 列出所有数据库

步骤 3:测试查询功能

使用 mysql-manager 查询 test 数据库中 users 表的数据

6.8 扩展功能

添加更多命令

  1. 创建数据库
async function createDatabase(dbName) {
  const conn = await createConnection();
  await conn.execute(`CREATE DATABASE IF NOT EXISTS \`${dbName}\``);
  await conn.end();
  return `数据库 ${dbName} 创建成功`;
}
  1. 导出为 CSV
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. 备份数据库
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. 检查网络连接:
ping github.com
  1. 配置 Git 代理(如果在国内):
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(最常见原因):
# 退出
exit

# 重新启动
claude-code
  1. 检查安装位置
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 目录:
cd ~/.claude/skills/mysql-manager
  1. 安装依赖:
npm install mysql2
  1. 如果还是失败,清除缓存:
npm cache clean --force
npm install

7.2 使用相关问题

问题 4:Skill 执行失败

错误信息

Error: Command failed

排查步骤

  1. 检查命令是否正确
# 手动测试命令
cd ~/.claude/skills/mysql-manager
node mysql-tool.js list-databases
  1. 查看错误详情
    Claude 通常会显示详细的错误信息

  2. 检查权限

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

症状

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

解决方案

  1. 明确指定 skill
使用 docx skill 创建文档(而不是"创建文档")
  1. 提供更详细的描述
使用 mysql-manager skill 查询数据库
  1. 检查 SKILL.md 的 description
    确保描述清晰,不会与其他 skills 混淆
问题 6:配置文件找不到

错误信息

Error: ENOENT: no such file or directory

解决方案

  1. 检查文件是否存在
ls ~/.claude/skills/mysql-manager/config.json
  1. 检查路径是否正确
    在脚本中使用绝对路径:
const configPath = path.join(__dirname, 'config.json');
  1. 创建配置文件
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 服务是否运行
# Windows
sc query MySQL

# Mac
brew services list | grep mysql

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

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

错误信息

mysqldump: command not found

解决方案

  1. 安装 MySQL 客户端工具
# 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
  1. 使用完整路径
const mysqldumpPath = 'C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysqldump.exe';

7.4 性能相关问题

问题 9:查询很慢

症状

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

解决方案

  1. 限制查询数量
// 默认限制 100 条
async function selectAll(dbName, tableName, limit = 100) {
  // ...
}
  1. 添加索引
CREATE INDEX idx_name ON users(name);
  1. 使用分页
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. 使用流式处理
const stream = conn.query(`SELECT * FROM large_table`).stream();
stream.on('data', (row) => {
  // 处理每一行
});
  1. 及时关闭连接
try {
  // 操作
} finally {
  await conn.end();
}
  1. 限制连接池大小
{
  "connectionLimit": 5
}

7.5 文档相关问题

问题 11:Word 文档创建失败

错误信息

Cannot find module 'docx'

解决方案

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

错误信息

pdftoppm: command not found

解决方案

  1. 安装 Poppler
# Ubuntu/Debian
sudo apt-get install poppler-utils

# Mac
brew install poppler

# Windows
# 下载 Poppler for Windows

7.6 调试技巧

技巧 1:启用详细日志

在脚本中添加日志:

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

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

7.7 获取帮助

官方资源
  1. Claude Code 文档

    • https://docs.claude.com/
  2. Skills 仓库

    • https://github.com/anthropics/skills
  3. 问题反馈

    • https://github.com/anthropics/claude-code/issues
社区资源
  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 基本命令

# 启动 Claude Code
claude-code

# 查看版本
claude --version

# 查看帮助
claude --help

# 退出
exit

B. Plugin 管理命令

# 添加市场
/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
# 查看目录
dir %USERPROFILE%\.claude

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

# 创建目录
mkdir my-skill

# 删除目录
rmdir /s my-skill

# 查看文件内容
type config.json

# 编辑文件
notepad config.json
Mac/Linux
# 查看目录
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 命令

# 初始化项目
npm init -y

# 安装依赖
npm install mysql2
npm install docx

# 全局安装
npm install -g docx

# 查看已安装包
npm list

# 运行脚本
node script.js

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

E. Git 命令

# 克隆仓库
git clone https://github.com/anthropics/skills.git

# 查看状态
git status

# 拉取更新
git pull

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

F. MySQL 命令

# 连接数据库
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
# 列出数据库
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
文件统计
# 统计当前目录
node file-stats.js .

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

附录 B:配置文件模板

1. SKILL.md 模板

---
name: skill-name
description: 详细描述这个 skill 的功能和使用场景
---

# Skill Name

简短的介绍。

## 功能

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

## 使用方法

详细的使用说明...

## 示例

使用 skill-name 做某事


## 配置

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

## 依赖

列出所需的依赖。

## 注意事项

重要的注意事项。

2. config.json 模板

{
  "host": "localhost",
  "port": 3306,
  "user": "username",
  "password": "password",
  "database": "dbname",
  "options": {
    "key": "value"
  }
}

3. package.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 模板

# Skill Name

简短描述。

## 安装

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

配置

编辑 config.json:

{
  "key": "value"
}

使用

命令行

node tool.js command

Claude Code

使用 skill-name 做某事

命令参考

命令 说明 示例
command1 说明 node tool.js command1
command2 说明 node tool.js command2
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐