Claude Code Skills 完整学习指南
Claude Code Skills 完整学习指南
Claude Code Skills 完整学习指南
📚 目录
- 第一章:什么是 Skills
- 第二章:环境准备
- 第三章:安装官方 Skills
- 第四章:使用 Skills
- 第五章:创建自定义 Skills
- 第六章:实战案例 - MySQL 数据库管理 Skill
- 第七章:常见问题与解决方案
- 附录:完整命令参考
第一章:什么是 Skills
1.1 Skills 简介
Skills 是 Claude Code 的扩展功能系统,就像给 Claude 安装"技能包"一样。
通俗理解:
- 就像手机 APP:你可以给手机安装不同的 APP 来实现不同功能
- Skills 就是给 Claude 安装的"功能插件"
- 每个 Skill 让 Claude 学会一项新技能
举例说明:
- 安装
docxskill → Claude 就会创建和编辑 Word 文档 - 安装
pdfskill → Claude 就会处理 PDF 文件 - 安装
mysql-managerskill → 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 的优势:
- ✅ 扩展 Claude 的能力
- ✅ 自动化重复任务
- ✅ 提高工作效率
- ✅ 可以定制专属功能
1.4 Skills 的工作原理
你的请求 → Claude 分析 → 选择合适的 Skill → 执行操作 → 返回结果
示例流程:
- 你说:“创建一个 Word 文档”
- Claude 识别到需要文档处理
- Claude 调用
docxskill - docx skill 执行创建文档的代码
- 返回创建好的文档
第二章:环境准备
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 | |
| 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 才能生效!
步骤:
-
退出当前 Claude Code 会话
- 输入
exit或 - 按
Ctrl+C(Windows/Linux)或Cmd+C(Mac)
- 输入
-
重新启动:
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 数据库
功能需求:
- 数据库管理(创建、删除、列出)
- 表管理(创建、删除、查看结构)
- 数据查询(SELECT、统计)
- 数据操作(插入、更新、删除)
- 导入导出(CSV、JSON、SQL)
- 备份与恢复
- 用户管理
- 性能分析
技术选型:
- 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 数据库
安全注意事项
- 配置文件包含敏感信息,确保权限设置正确
- 生产环境使用只读用户进行查询
- 删除操作前务必确认
- 定期备份重要数据
### 6.6 创建使用文档
**README.md**:
```markdown
# MySQL Manager Skill 使用指南
## 安装
1. 创建目录:
```bash
mkdir -p ~/.claude/skills/mysql-manager
cd ~/.claude/skills/mysql-manager
- 安装依赖:
npm install mysql2
- 配置数据库连接:
编辑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 扩展功能
添加更多命令:
- 创建数据库:
async function createDatabase(dbName) {
const conn = await createConnection();
await conn.execute(`CREATE DATABASE IF NOT EXISTS \`${dbName}\``);
await conn.end();
return `数据库 ${dbName} 创建成功`;
}
- 导出为 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}`;
}
- 备份数据库:
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 总结
通过这个实战案例,你学会了:
- ✅ 如何规划 Skill 的功能
- ✅ 如何创建 Skill 的目录结构
- ✅ 如何编写配置文件
- ✅ 如何实现核心功能
- ✅ 如何编写 SKILL.md
- ✅ 如何测试 Skill
- ✅ 如何扩展功能
关键要点:
- 配置文件分离敏感信息
- 错误处理要完善
- 文档要详细
- 测试要充分
第七章:常见问题与解决方案
7.1 安装相关问题
问题 1:无法添加官方市场
错误信息:
Failed to add marketplace
可能原因:
- 网络连接问题
- 无法访问 GitHub
- 代理设置问题
解决方案:
- 检查网络连接:
ping github.com
- 配置 Git 代理(如果在国内):
git config --global http.proxy http://proxy.example.com:8080
git config --global https.proxy https://proxy.example.com:8080
- 使用 VPN 或代理
问题 2:Skills 安装后不显示
症状:
- 安装成功但 Claude 看不到 skills
- 询问"你有哪些 skills"时没有列出
解决方案:
- 重启 Claude Code(最常见原因):
# 退出
exit
# 重新启动
claude-code
- 检查安装位置:
ls ~/.claude/plugins/cache/
- 重新安装:
/plugin uninstall example-skills
/plugin install example-skills@anthropic-agent-skills
问题 3:依赖安装失败
错误信息:
npm ERR! Cannot find module 'mysql2'
解决方案:
- 进入 skill 目录:
cd ~/.claude/skills/mysql-manager
- 安装依赖:
npm install mysql2
- 如果还是失败,清除缓存:
npm cache clean --force
npm install
7.2 使用相关问题
问题 4:Skill 执行失败
错误信息:
Error: Command failed
排查步骤:
- 检查命令是否正确:
# 手动测试命令
cd ~/.claude/skills/mysql-manager
node mysql-tool.js list-databases
-
查看错误详情:
Claude 通常会显示详细的错误信息 -
检查权限:
# 确保脚本有执行权限
chmod +x mysql-tool.js
- 检查配置文件:
# 验证 JSON 格式
cat config.json | python -m json.tool
问题 5:Claude 选错了 Skill
症状:
- 你想用 A skill,但 Claude 用了 B skill
解决方案:
- 明确指定 skill:
使用 docx skill 创建文档(而不是"创建文档")
- 提供更详细的描述:
使用 mysql-manager skill 查询数据库
- 检查 SKILL.md 的 description:
确保描述清晰,不会与其他 skills 混淆
问题 6:配置文件找不到
错误信息:
Error: ENOENT: no such file or directory
解决方案:
- 检查文件是否存在:
ls ~/.claude/skills/mysql-manager/config.json
- 检查路径是否正确:
在脚本中使用绝对路径:
const configPath = path.join(__dirname, 'config.json');
- 创建配置文件:
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
解决方案:
- 检查 MySQL 服务是否运行:
# Windows
sc query MySQL
# Mac
brew services list | grep mysql
# Linux
systemctl status mysql
- 检查连接信息:
# 测试连接
mysql -h localhost -u root -p
- 检查防火墙:
# Linux
sudo ufw status
# Windows
netsh advfirewall show allprofiles
- 检查用户权限:
-- 在 MySQL 中执行
SHOW GRANTS FOR 'root'@'localhost';
问题 8:备份失败
错误信息:
mysqldump: command not found
解决方案:
- 安装 MySQL 客户端工具:
# Ubuntu/Debian
sudo apt-get install mysql-client
# Mac
brew install mysql-client
# Windows
# 下载 MySQL Installer
- 添加到 PATH(Windows):
将 C:\Program Files\MySQL\MySQL Server 8.0\bin 添加到系统 PATH
- 使用完整路径:
const mysqldumpPath = 'C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysqldump.exe';
7.4 性能相关问题
问题 9:查询很慢
症状:
- 查询大表时响应很慢
- Claude 长时间无响应
解决方案:
- 限制查询数量:
// 默认限制 100 条
async function selectAll(dbName, tableName, limit = 100) {
// ...
}
- 添加索引:
CREATE INDEX idx_name ON users(name);
- 使用分页:
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 进程占用大量内存
- 系统变慢
解决方案:
- 使用流式处理:
const stream = conn.query(`SELECT * FROM large_table`).stream();
stream.on('data', (row) => {
// 处理每一行
});
- 及时关闭连接:
try {
// 操作
} finally {
await conn.end();
}
- 限制连接池大小:
{
"connectionLimit": 5
}
7.5 文档相关问题
问题 11:Word 文档创建失败
错误信息:
Cannot find module 'docx'
解决方案:
- 全局安装 docx:
npm install -g docx
- 或在项目中安装:
cd /path/to/project
npm install docx
问题 12:PDF 处理失败
错误信息:
pdftoppm: command not found
解决方案:
- 安装 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 获取帮助
官方资源
-
Claude Code 文档:
- https://docs.claude.com/
-
Skills 仓库:
- https://github.com/anthropics/skills
-
问题反馈:
- https://github.com/anthropics/claude-code/issues
社区资源
- Discord 社区
- Stack Overflow(标签:claude-code)
- GitHub Discussions
寻求帮助的技巧
提问时提供:
- 完整的错误信息
- 你的操作步骤
- 系统环境信息
- 相关的配置文件(去除敏感信息)
好的提问示例:
问题: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 |
更多推荐

所有评论(0)