| name | claude-code-guide |
| description | Claude Code 高级开发指南 - 全面的中文教程,涵盖工具使用、REPL 环境、开发工作流、MCP 集成、高级模式和最佳实践。适合学习 Claude Code 的高级功能和开发技巧。 |
Claude Code 高级开发指南
全面的 Claude Code 中文学习指南,涵盖从基础到高级的所有核心概念、工具使用、开发工作流和最佳实践。
何时使用此技能
当需要以下帮助时使用此技能:
- 学习 Claude Code 的核心功能和工具
- 掌握 REPL 环境的高级用法
- 理解开发工作流和任务管理
- 使用 MCP 集成外部系统
- 实现高级开发模式
- 应用 Claude Code 最佳实践
- 解决常见问题和错误
- 进行大文件分析和处理
快速参考
Claude Code 核心工具(7个)
REPL - JavaScript 运行时环境
- 完整的 ES6+ 支持
- 预加载库:D3.js, MathJS, Lodash, Papaparse, SheetJS
- 支持 async/await, BigInt, WebAssembly
- 文件读取:
window.fs.readFile()
Artifacts - 可视化输出
- React, Three.js, 图表库
- HTML/SVG 渲染
- 交互式组件
Web Search - 网络搜索
- 仅美国可用
- 域名过滤支持
Web Fetch - 获取网页内容
- HTML 转 Markdown
- 内容提取和分析
Conversation Search - 对话搜索
- 搜索历史对话
- 上下文检索
Recent Chats - 最近对话
- 访问最近会话
- 对话历史
End Conversation - 结束对话
- 清理和总结
- 会话管理
大文件分析工作流
# 阶段 1:定量评估
wc -l filename.md # 行数统计
wc -w filename.md # 词数统计
wc -c filename.md # 字符数统计
# 阶段 2:结构分析
grep "^#{1,6} " filename.md # 提取标题层次
grep "```" filename.md # 识别代码块
grep -c "keyword" filename.md # 关键词频率
# 阶段 3:内容提取
Read filename.md offset=0 limit=50 # 文件开头
Read filename.md offset=N limit=100 # 目标部分
Read filename.md offset=-50 limit=50 # 文件结尾
REPL 高级用法
// 数据处理
const data = [1, 2, 3, 4, 5];
const sum = data.reduce((a, b) => a + b, 0);
// 使用预加载库
// Lodash
_.chunk([1, 2, 3, 4], 2); // [[1,2], [3,4]]
// MathJS
math.sqrt(16); // 4
// D3.js
d3.range(10); // [0,1,2,3,4,5,6,7,8,9]
// 读取文件
const content = await window.fs.readFile('path/to/file');
// 异步操作
const result = await fetch('https://api.example.com/data');
const json = await result.json();
斜杠命令系统
内置命令:
/help- 显示帮助/clear- 清除对话/plugin- 管理插件/settings- 配置设置
自定义命令:
创建 .claude/commands/mycommand.md:
根据需求执行特定任务的指令
使用:/mycommand
开发工作流模式
1. 文件分析工作流
# 探索 → 理解 → 实现
ls -la # 列出文件
Read file.py # 读取内容
grep "function" file.py # 搜索模式
# 然后实现修改
2. 算法验证工作流
# 设计 → 验证 → 实现
# 1. 在 REPL 中测试逻辑
# 2. 验证边界情况
# 3. 实现到代码
3. 数据探索工作流
# 检查 → 分析 → 可视化
# 1. 读取数据文件
# 2. REPL 中分析
# 3. Artifacts 可视化
核心概念
工具权限系统
自动授予权限的工具:
- REPL
- Artifacts
- Web Search/Fetch
- Conversation Search
需要授权的工具:
- Bash (读/写文件系统)
- Edit (修改文件)
- Write (创建文件)
项目上下文
Claude 自动识别:
- Git 仓库状态
- 编程语言(从文件扩展名)
- 项目结构
- 依赖配置
内存系统
对话内存:
- 存储在当前会话
- 200K token 窗口
- 自动上下文管理
持久内存(实验性):
- 跨会话保存
- 用户偏好记忆
- 项目上下文保留
MCP 集成
什么是 MCP?
Model Context Protocol - 连接 Claude 到外部系统的协议。
MCP 服务器配置
配置文件:~/.config/claude/mcp_config.json
{
"mcpServers": {
"my-server": {
"command": "node",
"args": ["path/to/server.js"],
"env": {
"API_KEY": "your-key"
}
}
}
}
使用 MCP 工具
Claude 会自动发现 MCP 工具并在对话中使用:
"使用 my-server 工具获取数据"
钩子系统
钩子类型
在 .claude/settings.json 配置:
{
"hooks": {
"tool-pre-use": "echo 'About to use tool'",
"tool-post-use": "echo 'Tool used'",
"user-prompt-submit": "echo 'Processing prompt'"
}
}
常见钩子用途
- 自动格式化代码
- 运行测试
- Git 提交检查
- 日志记录
- 通知发送
高级模式
多代理协作
使用 Task 工具启动子代理:
"启动一个专门的代理来优化这个算法"
子代理特点:
- 独立上下文
- 专注单一任务
- 返回结果到主代理
智能任务管理
使用 TodoWrite 工具:
"创建任务列表来跟踪这个项目"
任务状态:
pending- 待处理in_progress- 进行中completed- 已完成
代码生成模式
渐进式开发:
- 生成基础结构
- 添加核心功能
- 实现细节
- 测试和优化
验证驱动:
- 写测试用例
- 实现功能
- 运行测试
- 修复问题
质量保证
自动化测试
# 运行测试
npm test
pytest
# 类型检查
mypy script.py
tsc --noEmit
# 代码检查
eslint src/
flake8 .
代码审查模式
使用子代理进行审查:
"启动代码审查代理检查这个文件"
审查重点:
- 代码质量
- 安全问题
- 性能优化
- 最佳实践
错误恢复
常见错误模式
工具使用错误
- 检查权限
- 验证语法
- 确认路径
文件操作错误
- 确认文件存在
- 检查读写权限
- 验证路径正确
API 调用错误
- 检查网络连接
- 验证 API 密钥
- 确认请求格式
渐进式修复策略
- 隔离问题
- 最小化复现
- 逐步修复
- 验证解决方案
最佳实践
开发原则
- 清晰优先 - 明确需求和目标
- 渐进实现 - 分步骤开发
- 持续验证 - 频繁测试
- 适当抽象 - 合理模块化
工具使用原则
- 正确的工具 - 选择合适的工具
- 工具组合 - 多工具协同
- 权限最小化 - 只请求必要权限
- 错误处理 - 优雅处理失败
性能优化
- 批量操作 - 合并多个操作
- 增量处理 - 处理大文件
- 缓存结果 - 避免重复计算
- 异步优先 - 使用 async/await
安全考虑
沙箱模型
每个工具在隔离环境中运行:
- REPL:无文件系统访问
- Bash:需要明确授权
- Web:仅特定域名
最佳安全实践
- 最小权限 - 仅授予必要权限
- 代码审查 - 检查生成的代码
- 敏感数据 - 不要共享密钥
- 定期审计 - 检查钩子和配置
故障排除
工具无法使用
症状: 工具调用失败
解决方案:
- 检查权限设置
- 验证语法正确
- 确认文件路径
- 查看错误消息
REPL 性能问题
症状: REPL 执行缓慢
解决方案:
- 减少数据量
- 使用流式处理
- 优化算法
- 分批处理
MCP 连接失败
症状: MCP 服务器无响应
解决方案:
- 检查配置文件
- 验证服务器运行
- 确认环境变量
- 查看服务器日志
实用示例
示例 1:数据分析
// 在 REPL 中
const data = await window.fs.readFile('data.csv');
const parsed = Papa.parse(data, { header: true });
const values = parsed.data.map(row => parseFloat(row.value));
const avg = _.mean(values);
const std = math.std(values);
console.log(`平均值: ${avg}, 标准差: ${std}`);
示例 2:文件搜索
# 在 Bash 中
grep -r "TODO" src/
find . -name "*.py" -type f
示例 3:网络数据获取
"使用 web_fetch 获取 https://api.example.com/data 的内容,
然后在 REPL 中分析 JSON 数据"
参考文件
此技能包含详细文档:
- README.md (9,594 行) - 完整的 Claude Code 高级指南
包含以下主题:
- 核心工具深度解析
- REPL 高级协同模式
- 开发工作流详解
- MCP 集成完整指南
- 钩子系统配置
- 高级模式和最佳实践
- 故障排除和安全考虑
使用 view 命令查看参考文件获取详细信息。
资源
- GitHub 仓库: https://github.com/karminski/claude-code-guide-study
- 原始版本: https://github.com/Cranot/claude-code-guide
- Anthropic 官方文档: https://docs.claude.com
注意事项
本指南结合了:
- 官方功能和公告
- 实际使用观察到的模式
- 概念性方法和最佳实践
- 第三方工具集成
请在使用时参考最新的官方文档。
使用这个技能深入掌握 Claude Code 的强大功能!