Claude Code CLI 使用技巧(干货总结)
Claude Code CLI 使用技巧(干货总结)
Claude Code 账号注册订阅以及安装参考:https://www.cnblogs.com/keepriding/p/19826372
-
涉及 CLAUDE.md、Memory 记忆、Skills 技能等总结。
-
这些都是通用的 AI 智能体使用上的思路,Hermes Agent、龙虾、辅助编程智能体等都会使用到。
-
现在流行的 AI 个人助理有 Hermes Agent、龙虾。这种大而全的智能体在探索阶段,并不是很成熟,但是时间够,它肯定会越来越好,谁不想拥有一个《钢铁侠》中贾维斯这种 AI 助理呢?如果把视线聚焦到小范围,某一个具体的工作中,那么就可以设计出成熟并且可以用于生产的 AI 智能体,比如 AI 辅助编程的智能体(程序员写的大语言模型和智能体,当然要先革自己的命),并以此为中心,向声波一样向外扩散......
存储指令和记忆
- 官方说明文档:https://code.claude.com/docs/zh-CN/memory
- 指令具体、简洁、结构良好的指令效果最好。使用 markdown 标题和项目符号来分组相关指令。
CLAUDE.md
项目级别 CLAUDE.md
-
可以在项目根目录存放 CLAUDE.md,启动 CLAUDE 时,会作为上下文全部加载。
-
运行 /init 自动生成起始 CLAUDE.md。如果启动所在目录是有代码的项目目录,CLAUDE 会分析代码创建一个包含构建命令、测试指令和它发现的项目约定的文件。
-
CLAUDE.md 文件可以使用 @path/to/import 语法导入其他文件。导入的文件在启动时展开并加载到上下文中,与引用它们的 CLAUDE.md 一起。例如:有关项目概述,请参阅 @README,有关此项目的可用 npm 命令,请参阅 @package.json。
-
每个 CLAUDE.md 文件目标在 200 行以下,如果超过 200 行,可以使用导入其他文件或者拆分放到 .claude/rules/ 目录下。
-
-
自动向上遍历(当前项目体系)
在某个目录启动 claude 时,他会加载当前目录下的 CLAUDE.md,同时也会向上遍历加载 CLAUDE.md,直至扫描到项目根目录为止。 -
对于较大的项目,可以使用 .claude/rules/ 将规则拆分,拆分的 *.md 文件可以放在 .claude/rules/ 目录下,例如:.claude/rules/security.md ,并且支持递归。
-
默认情况下,.claude/rules/ 下的 *.md 文件以及递归目录的 *.md 文件都会在启动会话时加载。使用 paths 功能可以按需加载,感觉有些复杂,小项目用不到。
-
使用描述性的语言命名,这样可以让 Claude 更容易聚焦,更准确执行写的要求与规范。
-
团队级别 CLAUDE.md
- 组织可以部署一个集中管理的 CLAUDE.md,适用于机器上的所有用户。此文件不能被个人设置排除。把 CLAUDE.md 分发给需要的用户即可。
- macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
- Linux 和 WSL: /etc/claude-code/CLAUDE.md
- Windows: C:\Program Files\ClaudeCode\CLAUDE.md
个人级别 CLAUDE.md
- 个人级别的规则适用于个人笔记本上的所有项目。
- 路径:
~/.claude/CLAUDE.md - 个人高于项目级别的优先级
- 路径:
自动记忆
自动记忆让 Claude 跨会话积累知识,无需你编写任何内容。Claude 在工作时为自己保存笔记:构建命令、调试见解、架构笔记、代码样式偏好和工作流习惯。Claude 不会每个会话都保存内容。它根据信息在未来对话中是否有用来决定什么值得记住。同时也可以主动记忆和主动遗忘,例如:
- 主动要求记忆: 你可以直接对它说:“记住,以后所有测试都要在 Docker 容器里跑。” Claude 会将其写入记忆。
- 遗忘信息: 对它说:“忘记关于旧 API 服务器的事情,我们已经弃用它了。”
设置方法
自动记忆默认开启。可以通过修改配置文件或者配置环境变量关闭。
所有记忆都存储在你本地机器的 ~/.claude/projects/project-name/memory/
登录 Claude Code CLI 使用 /memory 命令可以打开记忆相关的文件和目录。并且可以查看/编辑记忆。

配置文件关闭
vim ~/.claude/settings.json
{
"autoMemoryEnabled": false
}
环境变量关闭
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1
存储机制
核心索引文件是 MEMORY.md。当 Claude 觉得内容太详细时,它会创建专门的主题文件(如 API_Ref.md),并在 MEMORY.md 中引用它们
~/.claude/projects/<project>/memory/
├── MEMORY.md # 简洁索引,加载到每个会话
├── debugging.md # 关于调试模式的详细笔记
├── api-conventions.md # API 设计决策
└── ... # Claude 创建的任何其他主题文件
- 自动记忆是机器本地的。同一 git 存储库中的所有 worktrees 和子目录共享一个自动记忆目录。文件不在机器或云环境之间共享。
- 每次会话开始时,Claude 会自动加载 MEMORY.md 的前 200 行或 25KB。多余的内容会按需调取。
Skills
官方文档:https://code.claude.com/docs/zh-CN/skills
-
CLAUDE.md 规则在每个会话或打开匹配文件时加载到上下文中。对于不需要始终在上下文中的特定任务指令,改用 skills,它仅在你调用它们或 Claude 确定它们与你的提示相关时加载。
-
个人理解:Skill(技能)就是将一些可以固定的流程化事情、或者某些工具和 API 使用方法等等写成一个操作说明,然后 AI 智能体根据用户的上下文内容判断有选择地读取有关联的 Skill(技能,即操作文档),实现按需加载,减少 Token 消耗,拓展 AI 智能体的“外部”操作能力,更方便地管理我们的工作流程。
基本信息
-
Skill 是使用 Markdown 语法写的说明文档,说明文档记录的就是写好的提示词,记录的文件名为 SKILL.md 。可以给不同的智能体使用,通用。
-
Skill 触发条件
-
手动触发:/skill-name 手动触发
-
自动触发:提问与 Skill 的描述(description)匹配,Claude 就会在相关时自动加载并使用它。
-
Skill 原理
-
Skill 以目录的形式存在,核心入口是 SKILL.md 文件,也就是一个索引文件,就像一个导引说明,比如三体这部科幻小说:
-
第一本 三体 ---> 讲述了人类与三体文明初次接触的故事
-
第二本 死神永生 ---> 讲述了人类启动面壁计划破坏三体文明的入侵计划的故事
-
第三本 黑暗森林 ---> 讲述了宇宙文明之间在怀疑与信任所发生的故事
-
-
接下来就是把每本书的具体内容写在单独的一个文件中,AI 根据提问相关性去选择读取哪本书内容。实现按需加载。
Skill 目录
目录结构
一个 Skill 就是一个目录,可以手动创建,存放位置为 .claude/skills/<skill-name>/
一个标准的 Skill 目录结构如下:
.claude/skills/code-review/
├── SKILL.md # 核心指令(必须)
├── style-guide.md # 公司的代码规范(按需加载)
├── template.md # PR 评论的输出模板(按需加载)
└── scripts/
└── lint-check.sh # 本地执行的脚本
SKILL.md 内容:
YAML Frontmatter (头部配置):在 --- 之间,定义规则。
Markdown 正文:发给 Claude 的具体指令和 Prompt(提示词)。
---
name: pr-summary
description: 总结拉取请求的变更
# disable-model-invocation: true
---
## Pull request 原始数据
- PR diff 内容: !`gh pr diff`
- PR 评论区: !`gh pr view --comments`
## 你的任务
仔细阅读上述终端输出的数据,为这个 PR 生成一份技术摘要。
-
每个 Skill 必须有一个 SKILL.md。与 AI 智能体开启会话时,它会扫描所有的
.claude/skills/ 文件夹。但此时,它只读取每个 SKILL.md 文件顶部的 YAML 配置区(尤其是 name 和 description)。之后,只有满足触发条件时,才会通篇读取。 -
name 字段作用:可以使用 /skill-name 调用
-
description 字段作用:技能的功能描述
-
disable-model-invocation: true :禁止模型调用。不影响 /skill-name 调用。
目录路径
优先级:企业 > 个人 > 项目
-
个人级别:
~/.claude/skills/<skill-name>/SKILL.md -
项目级别:
.claude/skills/<skill-name>/SKILL.md -
插件级别:
<plugin>/skills/<skill-name>/SKILL.md-
claude mcp 管理 。底层主要是基于 MCP (Model Context Protocol) 标准构建的工具服务
-
为了防止你安装的插件自带的技能和你自己写的技能名字冲突(比如大家都叫 deploy),Claude Code 强制为插件 Skill 引入了命名空间机制。调用格式通常是:
/插件名:技能名
-
嵌套发现:
Claude Code 会自动从嵌套的 .claude/skills/ 目录中发现 skills。例如
- 如果你正在编辑 packages/frontend/ 中的文件,Claude Code 也会在 packages/frontend/.claude/skills/ 中查找 skills。
- 如果你切换去编辑 packages/backend/main.py,它就会加载后端的专属 skills,而不会加载前端的。
- 总结:会从“正在被编辑或操作的文件所在的目录”向上递归发现 skills。靠近的 skills 优先级最高。
添加其他文件
Skills 可以在其目录中包含多个文件。这使 SKILL.md 专注于要点,同时让 Claude 仅在需要时访问详细的参考资料。大型参考文档、API 规范或示例集合不需要在每次 skill 运行时加载到上下文中。
my-skill/
├── SKILL.md (required - overview and navigation)
├── reference.md (detailed API docs - loaded when needed)
├── examples.md (usage examples - loaded when needed)
└── scripts/
└── helper.py (utility script - executed, not loaded)
从 SKILL.md 中引用支持文件,以便 Claude 知道每个文件包含什么以及何时加载它:
## Additional resources
- For complete API details, see reference.md
- For usage examples, see examples.md
- 将 SKILL.md 保持在 500 行以下。将详细的参考资料移到单独的文件中。
- 文档可以是本地文档或者链接。
传递参数
Skill 支持将外部数据和用户输入动态注入到 Prompt 中。主动调用 skill 或者提示词触发都可以传递参数。
参数可通过 $ARGUMENTS 占位符获得,
例如:此 skill 按编号修复 GitHub 问题。$ARGUMENTS 占位符被替换为 skill 名称后面的任何内容:
---
name: fix-issue
description: Fix a GitHub issue
disable-model-invocation: true
---
Fix GitHub issue $ARGUMENTS following our coding standards.
1. Read the issue description
2. Understand the requirements
3. Implement the fix
4. Write tests
5. Create a commit
-
当你运行 /fix-issue 123 时,Claude 收到”Fix GitHub issue 123 following our coding standards…”
-
如果你使用参数调用 skill 但 skill 不包含 $ARGUMENTS,Claude Code 会将 ARGUMENTS:
追加到 skill 内容的末尾,以便 Claude 仍然看到你输入的内容。
动态上下文注入
这是将 AI 与终端命令行深度结合。
在 Skill 发送给大模型之前,Claude Code 会预先在本地终端执行 !命令 skill 中的代码,并把终端的 stdout (标准输出) 文本直接替换到提示词里。
文档示例场景:生成 PR 摘要
---
name: pr-summary
description: 总结拉取请求的变更
---
## Pull request 原始数据
- PR diff 内容: !`gh pr diff`
- PR 评论区: !`gh pr view --comments`
## 你的任务
仔细阅读上述终端输出的数据,为这个 PR 生成一份技术摘要。
在这个流程里,Claude 不必自己去学怎么用 GitHub CLI。预处理阶段就已经把 gh pr diff 真实的输出结果“喂”到了提示词里,Claude 拿到的直接是现成的差异代码,它只需要专注做总结。
Plan Mode
在做具体实施前,使用 Plan Mode 讨论方案、确认细节。确认没问题后再让 Claude Code 按照方案执行。
切换方式:Shift + tab
-
默认模式:
Claude Code 编辑文件时会询问。

-
编辑同意模式
Claude Code 编辑文件不再询问(执行本机 shell 命令会询问。启动时加--dangerously-skip-permissions参数可以跳过所有询问,这样做很危险)

-
Plan 模式
规划,不做具体操作。用于讨论方案、确认细节等等。


浙公网安备 33010602011771号