Claude Code 进阶技巧

Claude Code Advanced Tips

Claude code 初级入门到高级掌握
Abstract
本文主要介绍在了解Claude Code基础入门之后,熟悉Claude Code的一些进阶技巧和工具使用

cc loop

claude code loop

你自己也是这个循环的一部分。您可以在任何时刻中断以引导 Claude 朝不同的方向发展、提供额外的上下文或要求它尝试不同的方法。Claude 自主工作但对您的输入保持响应。

Caution

会话是短暂的。 与 claude.ai 不同,Claude Code 在会话之间没有持久的内存。每个新会话都从头开始。Claude 不会”学习”您的偏好或记住您上周做了什么

Claude可以调用的工具

类别 Claude 可以做什么
文件操作 读取文件、编辑代码、创建新文件、重命名和重新组织
搜索 按模式查找文件、使用正则表达式搜索内容、探索代码库
执行 运行 shell 命令、启动服务器、运行测试、使用 git
网络 搜索网络、获取文档、查找错误消息
代码智能 编辑后查看类型错误和警告、跳转到定义、查找引用(需要代码智能插件)

1. 两种模式

Claude Code 是 Anthropic 推出的专为终端开发的 AI 代理工具。它不仅能理解代码,还能直接在你的本地开发环境中执行命令、编辑文件和运行测试。

它主要提供两种工作模式:交互模式 (Interactive Mode) 和 命令行模式 (Command-line Mode)。

Unix 哲学:Claude Code 是可组合和可脚本化的。tail -f app.log | claude -p “Slack me if you see any anomalies appear in this log stream” 有效。您的 CI 可以运行 claude -p “If there are new text strings, translate them into French and raise a PR for @lang-fr-team to review”。

  1. 命令行模式

命令行模式就像是bash一样,在终端输入命令,调用claude执行,此方法主要为了快速的完成任务

工作机制:持久性会话。它针对你提供的特定输入进行处理并输出结果,完成后直接返回到你的 Shell。

命令 描述 示例
claude 启动交互式 REPL claude
claude "query" 使用初始提示启动 REPL claude "explain this project"
claude -p "query" 通过 SDK 查询一次并退出(非交互) claude -p "explain this function"
cat file \| claude -p "query" 处理管道输入内容 cat logs.txt \| claude -p "explain"
claude -c 继续当前目录中最近的对话 claude -c
claude -c -p "query" 通过 SDK 方式继续最近会话 claude -c -p "Check for type errors"
claude -r "<session>" "query" 按会话 ID 或名称恢复会话 claude -r "auth-refactor" "Finish this PR"
claude update 更新 Claude Code 到最新版本 claude update
claude mcp 配置模型上下文协议(MCP)服务器 请参阅 Claude Code MCP 文档

例如常用的继续上个会话,更新claude code,配置MCP,恢复会话等,都是通过命令行模式操作

还有更多命令行参数,可以参考官网

恢复以前的对话

  • claude –continue 继续当前目录中最近的对话
  • claude –resume 打开对话选择器或按名称恢复
  • claude –from-pr 123 恢复链接到特定拉取请求的会话

从活跃会话内部,使用 /resume 切换到不同的对话。 会话按项目目录存储。/resume 选择器显示来自同一 git 存储库的会话,包括 worktrees。

最好的操作就是命名当前的会话,给一个很好记的名字,方便恢复

# 更换名字
/rename "new name"

# 继续对话
claude --resume auth-refactor
  1. 交互模式

REPL

Read–Eval–Print Loop(读入 → 计算评估 → 输出 → 循环)

(读入用户输入) → (评估/执行) → (返回结果) → 等待下一条输入

REPL Claude Code = 把 Claude Code 放进一个交互式 REPL 环境里,像和“会写代码的同事”对话一样开发

在交互模式下,Claude Code 会持续记住你之前的对话和上下文,就像一个有记忆的助手一样。你可以反复询问它问题,修改代码,运行测试,而不需要每次都重新提供上下文。

后续的技巧都是在交互模式下使用Claude Code的,才能发挥Claude Code最大的威力

  • 使用测试:为代码添加测试
  • 创建拉取请求
  • 处理文档
  • 使用图像
  • 引用文件和目录

2. 基础技巧

2.1 基础使用

  1. 模式切换

不用claude --dangerously-skip-permissions 进入claude code的情况下,claude是有两种模式

  • accept edits on 编辑模式
  • plan mode on 计划模式

使用shift + Tab 进行切换

使用claude --dangerously-skip-permissions 进入claude code的情况下, claude有三种模式

  • accept edits on 编辑模式
  • plan mode on 计划模式
  • bypass permissions on 绕过权限模式

这个可以三种模式切换,上面无权限的只能两个模式切换

思考模式为 Claude 预留部分输出令牌预算(最多 31,999 个令牌)以逐步推理复杂问题。扩展思考对于复杂的架构决策、具有挑战性的错误、多步骤实现规划和评估不同方法之间的权衡特别有价值。它为探索多个解决方案、分析边界情况和自我纠正错误提供了更多空间。

范围 如何配置 详细信息
切换快捷键 按 Option+T(macOS)或 Alt+T(Windows/Linux) 为当前会话切换思考开/关。可能需要终端配置来启用 Option 键快捷键
全局默认值 使用 /config 切换 Thinking Mode 在所有项目中设置您的默认值。保存为 ~/.claude/settings.json 中的 alwaysThinkingEnabled
限制令牌预算 设置 MAX_THINKING_TOKENS 环境变量 将思考预算限制为特定数量的令牌。示例:export MAX_THINKING_TOKENS=10000
  1. /init–项目初始化

新项目开始的之后,在Claude Code输入/init,Claude会自动扫描你的文件夹,然后生成CLAUDE.md文件,这个文件起到了项目说明书或AI运行手册,就像和AI之间的一份契约,告诉AI这个项目怎跑,代码改怎么写

核心作用

当项目变得复杂时,AI往往会忘记一些细节,CLAUDE.md作用包括:

  • 环境记忆:告诉AI项目是Python哪个版本,哪个虚拟环境
  • 常用命令汇总:记录如何启动Django,如何测试,如何迁移数据库
  • 代码规范
  • 项目架构导航

CLAUDE.md是可以开发者手动编写或AI根据项目的初步扫描自动生成的

  • Development Commands 构建和测试命令等
  • 项目架构说明
  • 关键目录及其用途
  • 代码的约定和模式
  • 编码风格与规范

就像是给新来的朋友一份项目说明书,让他能够快速的读懂整个项目,有点类似github中的README.md

如果没有CLAUDE.md每次启动Claude code都像是一个新来的,完全失忆的助手说话,陷入时间的循环

特殊的markdown文件,是Claude Code每次启动都会自动读取的“新手操作”

Clauce Code支持三种层级的CLAUDE.md

  • 用户内存(~/.claude/CLAUDE.md):存在于个人便好
  • 项目内存(项目根目录/CLAUDE.md)存放项目专属信息,比如技术栈,构建命令,是团队协作的利器
  • 企业策略(/Library/Application/Support/ClaudeCode/Claude.md)公司的安全,要求由管理员配置

加在顺序是“企业—-> 项目—-> 用户” ,当然在CLAUDE.md中使用@导入语法,管理模块

@CLAUDE.md

@docs/git.md
  1. !前缀–立即运行bash

! 前缀+命令就可以在claude code中直接执行命令,无需模型处理,无延迟,不浪费Tokens

claude code bash

bash claude code
  1. @提及 –快速添加上下文

@ 符号是一个非常核心的上下文引用工具。它的作用类似于社交媒体中的“艾特”,通过它可以精确地告诉 Claude:“请看这个特定的资源。”

当你直接在终端与Claude对话,可以使用@ 跟路径来添加上下文

  • 引用单个文件:@/folder/file
  • 引用整个目录 @/folder
  • 多选引用
  • 启用MCP服务器

在 CLAUDE.md 项目指南文件中,你可以使用 @ 来模块化你的规则。这样可以避免把主指南文件写得太长。

  1. ESC–回退对话

按两次ESC就能跳回到一个干净的检查点,可以回退对话,代码更改

就像git时光机,让你随时回退

  1. 将图像添加到对话中

Claude Code 还支持将图像添加到对话中,这样你就可以向它展示一些图片,并询问关于这些图片的问题。这对于需要视觉解释的任务非常有用。

  • 将图像拖到Claude Code窗口中
  • 复制图像并使用 ctrl+v 将其粘贴到 CLI 中(不要使用 cmd+v)
  • 向 Claude 提供图像路径。例如,“Analyze this image: /path/to/your/image.png”

使用图像获取上下文/从视觉内容获取代码建议/要求 Claude 分析图像

2.2 并行技巧

使用Git worktrees运行并行Claude Code实例

假设需要同时处理多个任务,并在claude code实例之间需要完全隔绝代码,建议使用git工作树

  1. 理解git worktrees

Git worktrees 允许您从同一存储库中将多个分支检出到单独的目录中。每个 worktree 都有自己的工作目录,文件隔离,同时共享相同的 Git 历史记录。

  1. 创新新的worktree
# 使用新分支创建新的 worktree 
git worktree add ../project-feature-a -b feature-a

# 或使用现有分支创建 worktree
git worktree add ../project-bugfix bugfix-123

理解一下,如果在main目录下进行git worktree add命令,那么新创建的目录就会把当前目录中所有的文件都复制一份,不需要你来回切换分支 [4.0K] . ├── [4.0K] main │   └── [ 0] Claude.md └── [4.0K] project-feature-a └── [4.0K] main └── [ 0] Claude.md

3 directories, 2 files

  1. 在每个worktree中运行claude
# 导航到您的 worktree 
cd ../project-feature-a

# 在此隔离环境中运行 Claude Code
claude
  1. 再另外一个worktree中运行Claude
cd ../project-bugfix
claude
  1. 管理自己的worktrees
# 列出所有 worktrees
git worktree list

# 完成后删除 worktree
git worktree remove ../project-feature-a
Note
  • 每个 worktree 都有自己的独立文件状态,非常适合并行 Claude Code 会话
  • 在一个 worktree 中所做的更改不会影响其他 worktree,防止 Claude 实例相互干扰
  • 所有 worktrees 共享相同的 Git 历史记录和远程连接
  • 对于长期运行的任务,您可以在一个 worktree 中让 Claude 工作,同时在另一个 worktree 中继续开发
  • 使用描述性目录名称以轻松识别每个 worktree 的任务
  • 记住根据您的项目设置在每个新 worktree 中初始化您的开发环境。根据您的堆栈,这可能包括:

要分支并尝试不同的方法而不影响原始会话,请使用 --fork-session 标志

claude --continue --fork-session

2.3 上下文窗口

Claude 的上下文窗口包含您的对话历史、文件内容、命令输出、CLAUDE.md、加载的 skills 和系统说明。当您工作时,上下文会填满。Claude 会自动压缩,但对话早期的说明可能会丢失。将持久规则放在 CLAUDE.md 中,并运行 /context 以查看占用空间的内容。

┌──────────────────────────┐ │ Context Window │ ← 固定大小 │ ┌──────────────────────┐ │ │ │ Context Text │ │ ← 动态内容 │ │ - System prompt │ │ │ │ - CLAUDE.md │ │ │ │ - Skills │ │ │ │ - 打开的文件 │ │ │ │ - 聊天历史 │ │ │ └──────────────────────┘ │ └──────────────────────────┘

对比点 上下文窗口 上下文文本
是什么 容量上限 实际内容
谁决定 模型 Claude Code / 当前会话
是否固定 ✅ 固定 ❌ 动态变化
是否可编辑 ❌ 不可 ✅ 可
是否会溢出 ❌(只限制) ✅(会被裁剪)

上下文窗口 = Claude「一次能记住并思考的容量上限」 上下文文本 = 当前被放进这个容量里的具体内容

结果展示

❯ /context
  ⎿  Context Usage
     ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁   claude-sonnet-4-5-20250929 · 20k/200k tokens (10%)
     ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶
     ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶   Estimated usage by category
     ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶   ⛁ System prompt: 2.2k tokens (1.1%)
     ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶   ⛁ System tools: 2.1k tokens (1.1%)
     ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶   ⛁ Skills: 12.5k tokens (6.3%)
     ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶   ⛁ Messages: 4.1k tokens (2.1%)
     ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶   ⛶ Free space: 146k (73.0%)
     ⛶ ⛶ ⛶ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝   ⛝ Autocompact buffer: 33k tokens (16.5%)
     ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝

当上下文填满时

Claude Code 在您接近限制时自动管理上下文。它首先清除较旧的工具输出,然后在需要时总结对话。您的请求和关键代码片段被保留;对话早期的详细说明可能会丢失。将持久规则放在 CLAUDE.md 中,而不是依赖对话历史。

运行 /context 以查看占用空间的内容。MCP servers 将工具定义添加到每个请求,因此几个服务器在您开始工作之前可能会消耗大量上下文。运行 /mcp 以检查每个服务器的成本。

Subagents 获得自己的新鲜上下文,完全独立于您的主要对话。他们的工作不会膨胀您的上下文。完成后,他们返回摘要。这种隔离是 subagents 在长会话中有帮助的原因。

Skills 按需加载。Claude 在会话开始时看到 skill 描述,但完整内容仅在使用 skill 时加载。对于您手动调用的 skills,设置 disable-model-invocation: true 以将描述保留在上下文之外,直到您需要它们。

2.4 使用检查点撤销更改

Claude 有两个安全机制:检查点让您撤销文件更改,权限控制 Claude 可以在不询问的情况下做什么。

使用检查点撤销更改

每个文件编辑都是可逆的。 在 Claude 编辑任何文件之前,它会对当前内容进行快照。如果出现问题,按两次 Esc 以回退到之前的状态,或要求 Claude 撤销。

检查点是会话本地的,独立于 git。它们仅涵盖文件更改。影响远程系统(数据库、API、部署)的操作无法进行检查点,这就是为什么 Claude 在运行具有外部副作用的命令之前会询问。

  • 默认:Claude 在文件编辑和 shell 命令之前询问
  • 自动接受编辑:Claude 编辑文件而不询问,仍然询问命令
  • Plan Mode:Claude 仅使用只读工具,创建您可以在执行前批准的计划
  • Delegate mode:Claude 仅通过代理团队协调工作,没有直接实现。仅在代理团队活跃时可用。

3. Claude Code 拓展

  • CLAUDE.md 添加 Claude 每个会话都能看到的持久上下文
  • Skills 添加可重用的知识和可调用的工作流
  • MCP 将 Claude 连接到外部服务和工具
  • Subagents 在隔离的上下文中运行自己的循环,返回摘要
  • Agent teams 协调多个独立会话,具有共享任务和点对点消息传递
  • Hooks 完全在循环外运行作为确定性脚本
  • Plugins 和 marketplaces 打包和分发这些功能

Skills 是最灵活的扩展。Skill 是一个包含知识、工作流或说明的 markdown 文件。您可以使用斜杠命令(如 /deploy)调用 skills,或者 Claude 可以在相关时自动加载它们。Skills 可以在您当前的对话中运行,也可以通过 subagents 在隔离的上下文中运行。

功能 作用 何时使用 示例
CLAUDE.md 每次对话加载的持久上下文 项目约定、“始终执行 X”规则 “使用 pnpm,而不是 npm。在提交前运行测试。”
Skill Claude 可以使用的说明、知识和工作流 可重用内容、参考文档、可重复任务 /review 运行您的代码审查清单;带有端点模式的 API 文档 skill
Subagent 返回摘要结果的隔离执行上下文 上下文隔离、并行任务、专门工作者 读取许多文件但仅返回关键发现的研究任务
Agent teams 协调多个独立的 Claude Code 会话 并行研究、新功能开发、使用竞争假设进行调试 生成审查者同时检查安全性、性能和测试
MCP 连接到外部服务 外部数据或操作 查询您的数据库、发布到 Slack、控制浏览器
Hook 在事件上运行的确定性脚本 可预测的自动化,不涉及 LLM 每次文件编辑后运行 ESLint

Plugins 是打包层。Plugin 将 skills、hooks、subagents 和 MCP servers 捆绑到单个可安装单元中。

Plugin skills 是命名空间的(如 /my-plugin:review),因此多个 plugins 可以共存。当您想在多个存储库中重用相同的设置或通过 marketplace 分发给他人时,使用 plugins。

Subagent 与 Agent Team 对比

方面 Subagent Agent Team
上下文 自己的上下文窗口;结果以摘要形式返回给调用者 自己的上下文窗口;各成员完全独立
通信 仅向主代理报告最终结果 队友之间可以直接相互发送消息
协调 由主代理统一管理和分配所有工作 通过共享任务列表进行自我协调
最适合 只关心结果、不需要过程暴露的专注型任务 需要讨论、分工和协作的复杂问题
令牌成本 较低:仅将结果摘要并入主上下文 较高:每个队友都是独立的 Claude 实例

过渡点: 如果您运行并行 subagents 但遇到上下文限制,或者您的 subagents 需要相互通信,agent teams 是自然的下一步。

3.1 分层

功能可以在多个级别定义:用户范围、按项目、通过 plugins 或通过托管策略。您还可以在子目录中嵌套 CLAUDE.md 文件或在 monorepo 的特定包中放置 skills。当相同的功能存在于多个级别时,以下是它们的分层方式:

  • CLAUDE.md 文件 是累加的:所有级别同时向 Claude 的上下文贡献内容。来自您的工作目录及以上的文件在启动时加载;子目录在您在其中工作时加载。当说明冲突时,Claude 使用判断来协调它们,更具体的说明通常优先。
  • Skills 和 subagents 按名称覆盖:当相同的名称存在于多个级别时,一个定义根据优先级获胜(对于 skills 为托管 > 用户 > 项目;对于 subagents 为托管 > CLI 标志 > 项目 > 用户 > plugin)。
  • MCP servers 按名称覆盖:本地 > 项目 > 用户。
  • Hooks 合并:所有注册的 hooks 为其匹配的事件触发,无论来源如何。有关详细信息,请参阅 hooks。
Important

每个扩展解决不同的问题:CLAUDE.md 处理始终开启的上下文,skills 处理按需知识和工作流,MCP 处理外部连接,subagents 处理隔离,hooks 处理自动化。真实的设置根据您的工作流组合它们。

模式 工作原理 示例
Skill + MCP MCP 提供外部系统连接;Skill 教导 Claude 如何正确、高效地使用该连接 MCP 连接到你的数据库;Skill 记录数据库架构、常用查询模式与注意事项
Skill + Subagent Skill 负责拆解任务并生成多个 Subagent,让它们在隔离上下文中并行工作 /review skill 启动安全性、性能、代码风格三个 subagents 分别审查代码
CLAUDE.md + Skills CLAUDE.md 保存始终生效的高层规则;Skills 保存按需加载的详细参考材料 CLAUDE.md 规定“遵循我们的 API 约定”;Skill 中包含完整的 API 风格指南
Hook + MCP Hook 在特定事件发生时触发;通过 MCP 调用外部系统执行操作 编辑关键文件后,Hook 通过 MCP 向 Slack 发送通知

3.2 上下文成本

您添加的每个功能都会消耗 Claude 的一些上下文。太多可能会填满您的上下文窗口,但它也可能增加噪音,使 Claude 效率降低;skills 可能无法正确触发,或 Claude 可能会忘记您的约定。了解这些权衡有助于您构建有效的设置。

功能 何时加载 加载内容 上下文成本
CLAUDE.md 会话开始 完整内容 每个请求
Skills 会话开始 + 使用时 启动时加载简要描述;使用时加载完整内容 低(每个请求仅包含描述)*
MCP servers 会话开始 所有工具定义与系统架构信息 每个请求
Subagents 生成时 具有指定 skills 的全新上下文 与主会话隔离
Hooks 触发时 无(在外部环境中运行) 零,除非 hook 返回额外上下文

skill 描述在会话开始时加载,以便 Claude 可以决定何时使用它们。在 skill 的 frontmatter 中设置 disable-model-invocation: true 以将其从 Claude 完全隐藏,直到您手动调用它。这将仅在您自己触发的 skills 的上下文成本降低到零。

content tokens

何时: 取决于 skill 的配置。默认情况下,描述在会话开始时加载,完整内容在使用时加载。对于仅用户 skills(disable-model-invocation: true),在您调用它们之前不会加载任何内容。

4. MCP 安装使用

模型上下文协议(Model Context Protocol) MCP

Model Context Protocol (MCP) 是由 Anthropic 推出的一种开放标准,旨在解决 AI 模型(如 Claude、GPT)与外部数据源及工具之间“集成碎片化”的问题。

MCP的诞生,就是为应用提供了一个统一、开放的协议,像一个管道通向了外部世界的大门,有了MCP,AI大模型就有了手脚。它可以连接github创建PR,查询生成数据,读取jira任务,发送slack消息,进化成了一个真正意义上的智能代理Agent

Note

就像图纸,规定了Host、Client、Server三者之间的通信标准和格式。例如规定了AI客户端和外部数据源之间是如何说话的

MCP核心架构组件

  1. 基础架构
组件 角色描述 常见示例
MCP Host(宿主) 运行 AI 模型的应用程序,是用户与模型交互的入口 Claude Desktop,IDE(Cursor、VS Code)
MCP Client(客户端) 宿主内部的协议实现,负责发现并连接到不同的 MCP Server 嵌入在 Claude App 中的 MCP 协议层
MCP Server(服务器) 为特定数据源或工具提供标准接口的微型程序 Google Drive 连接器、GitHub 接口、本地 SQLite 查询器

MCP Host宿主:指挥中心 - 就像电脑操作系统 - 包含了AI模型 - 提供用户界面

MCP Server(服务器):专业工具箱 - 数据看门人 - 就像各种外设 - 平时静静待着,直到有人(Client)来问它 - 通常是安装的东西,比如mcp-server-githubmcp-server-postgres - 翻译和执行。它一头连着 AI,另一头连着具体的软件(如数据库、本地文件)

MCP Client(客户端):翻译官与连接线 - Host 内部的一个“协议模块”,负责翻译和传输

Host 是“雇主”,Client 是雇主请的“翻译官”(住在雇主家里),Server 是雇主雇佣的“外部专家”。 MCP本质:它让 Host 知道“怎么问”,让 Server 知道“怎么答”。

  1. 核心组件
  • Resources (资源)
  • Tools (工具)
  • Prompts (提示词模板)
Tip
  1. Resources (资源)

资源是只读数据,它允许AI查看信息,但不能修改

  1. Tools (工具)

具是 可执行 的函数。它允许 AI 对现实世界产生影响(写操作、发请求、运行命令)。AI 必须向用户申请权限(除非设为自动允许)

  1. Prompts

提示词模板是预设好的 交互流程或任务指令。它教 AI 如何处理特定的复杂场景。就像给助理一个“标准作业程序 (SOP)”。

  1. 安装MCP Server

在配置MCP之前,必须了解到我们实际需求到底是什么?

选择chrome-devtools-mcp作为例子

进入官网chrome-devtools-mcp,查看自己所需要的平台,找到对应的安装命令即可进行安装

claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest

查看是否安装好

MCP

MCP

在官网中,能看到MCP中有很多模拟的行为

  • Input automation (8 tools)
    • click
    • drag
    • fill
  • Navigation automation (6 tools)
    • close_page
    • list_pages

-Emulation - Emulation

等等,非常的丰富,下面进行测试

进入claude code交互界面,输入需要使用浏览器的行为,然后进行交互

打开beautyhubcode的网页,然后获取claudecode的内容,保存为png图片

MCP use

MCP use

每一个步骤能可以自己确认,自己点击,自己翻页然后保存图片,这才是AI当代必须学会的技能

5. Plugins 安装使用

创建插件,自定义插件以使用skills, agents, hooks和MCP servers扩展Claude code

Plugins让用户能够使用自定义功能扩展Claude Code,这些功能可以在项目和团队中共享。

方法 Skill 名称 最适合
独立(.claude/ 目录) /hello 个人工作流、项目特定的自定义、快速实验
插件(包含 .claude-plugin/plugin.json 的目录) /plugin-name:hello 与团队成员共享、分发到社区、版本化发布、跨项目重用
  • 单个项目自定义Claude Code
  • 配置是个人的,不需要共享
  • 打包skills或hooks之前进行实验
  • 简短的skill名称

5.1 创建插件

你将创建一个清单(定义插件的配置文件)、添加一个 skill,并使用 –plugin-dir 标志在本地测试它。

  1. 创建插件目录

每个插件都位于其自己的目录中,该目录包含清单和你的skills,agent或hooks

mkdir my-first-plugin
  1. 创建插件清单

位于 .claude-plugin/plugin.json 的清单文件定义了你的插件的身份:其名称、描述和版本。Claude Code 使用此元数据在插件管理器中显示你的插件

在插件文件夹内创建.claude-plugin目录

mkdir my-first-plugin/.claude-plugin

然后使用以下内容创建 my-first-plugin/.claude-plugin/plugin.json


{
"name": "my-first-plugin",
"description": "A greeting plugin to learn the basics",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
  1. 添加skill

Skills 位于 skills/ 目录中。每个 skill 是一个包含 SKILL.md 文件的文件夹。文件夹名称成为 skill 名称,以插件的命名空间为前缀(在名为 my-first-plugin 的插件中的 hello/ 创建 /my-first-plugin:hello)。

在你的插件文件夹中创建一个 skill 目录:

mkdir -p my-first-plugin/skills/hello

然后使用以下内容创建 my-first-plugin/skills/hello/SKILL.md:

---
description: Greet the user with a friendly message
disable-model-invocation: true
---

Greet the user warmly and ask how you can help them today.
  1. 测试拆建

使用 --plugin-dir 标志运行 Claude Code 以加载你的插件

claude --plugin-dir ./my-first-plugin

Claude Code 启动后,尝试你的新命令:

/my-first-plugin:hello
  1. 添加skill参数

通过接受用户输入使你的 skill 动态化。$ARGUMENTS 占位符捕获用户在 skill 名称后提供的任何文本

---
description: Greet the user with a personalized message
---

# Hello Command

Greet the user named "$ARGUMENTS" warmly and ask how you can help them today. Make the greeting personal and encouraging.

重新启动Claude Code以获取更改,然后尝试使用你的名字运行命令:

/my-first-plugin:hello Alex
目录 位置 目的
.claude-plugin/ 插件根目录 插件根目录,包含 plugin.json 清单(如果组件使用默认位置,则可选)
commands/ 插件根目录 以 Markdown 文件形式定义的 Skills
agents/ 插件根目录 自定义 Agent 定义
skills/ 插件根目录 包含 SKILL.md 文件的 Agent Skills
hooks/ 插件根目录 hooks.json 中声明的事件处理程序
.mcp.json 插件根目录 MCP Server 配置
.lsp.json 插件根目录 用于代码智能的 LSP Server 配置

6. 常见的工作流程

6.1 理解新代码库

  1. 导航到项目跟目录
cd /path/to/project
  1. 启动 Claude Code
claude code
  1. 请求高级预览
> give me an overview of this codebase
  1. 深入了解特定组件
> explain the main architecture patterns used here

> what are the key data models?

> how is authentication handled?
Note
  • 从广泛的问题开始,然后缩小到特定领域
  • 询问项目中使用的编码约定和模式
  • 请求项目特定术语的词汇表

6.2 高效修复错误

  1. 与Claude分享错误
> I'm seeing an error when I run npm test
  1. 请求修复建议
> suggest a few ways to fix the @ts-ignore in user.ts
  1. 应用修复
> update user.ts to add the null check you suggested

6.3 使用专门的subagents

假设你想使用专门的AI agents来更有效处理特定任务

  1. 查看可以用的subagents

在claude中输入/agents,查看所有的agents

  1. 自动使用subagents

Claude Code 自动将适当的任务委派给专门的 subagents:

> review my recent code changes for security issues

> run all tests and fix any failures
  1. 明确请求特定的subagents
> use the code-reviewer subagent to check the auth module

> have the debugger subagent investigate why users can't log in

6.4 使用扩展思考

扩展思考默认启用,为 Claude 提供空间在响应前逐步推理复杂问题。这种推理在详细模式中可见,您可以使用 Ctrl+O 切换。

Note

“think”、“think hard”、“ultrathink” 和 “think more” 等短语被解释为常规提示指令,不分配思考令牌。

  1. 命令当前会话

在claude中使用> /rename auth-refactor

  1. 稍后按名称恢复

claude --resume auth-refactor