前言
安装
brew install --cask claude-code
brew upgrade claude-code
claude --help
brew uninstall --cask claude-code
使用
cd your-project
claude
| 分类 |
操作 |
快捷键 / 指令 |
说明 |
适用场景 |
| 指令 |
Slash 命令 |
/xxx |
调用内置命令(如 summarize、review 等) |
快速触发预设能力 |
| 上下文 |
文件引用 |
@xxx |
引入文件/代码作为上下文 |
分析指定文件 |
| 编辑 |
换行(Windows/Linux) |
Ctrl + J |
在输入框内换行(不发送) |
编写多行 prompt |
| 编辑 |
换行(Mac) |
Option + Enter |
同上 |
Mac 用户 |
| 输入 |
粘贴图片(Windows/Linux) |
Ctrl + V |
粘贴剪贴板图片 |
贴报错截图 |
| 输入 |
粘贴图片(Mac) |
Cmd + V |
同上 |
Mac 用户 |
| 编辑 |
删除整行输入 |
Ctrl + U |
清空当前输入行 |
快速重写 prompt |
| 控制 |
中断当前输入 |
Ctrl + C |
清空当前输入(一次) |
输入错误时取消 |
| 控制 |
退出程序 |
Ctrl + C(连续两次) |
退出 Claude Code ,相当于 /exit |
结束 CLI |
| 历史 |
搜索历史 prompt |
Ctrl + R |
类似 bash reverse search |
快速复用旧 prompt |
- 认证和模型配置文件路径
~/.claude /settings.json
CC-Switch
安装
brew tap farion1231/ccswitch
brew install --cask cc-switch
brew upgrade --cask cc-switch
brew uninstall --cask cc-switch
使用
- 然后在
Application中找到 CC Switch 双击打开。
- 在顶部选择
Claude
- 添加一个供应商,比如这里选择
MiniMax,根据提示只需要填入 APIKey 保存即可
- 如果添加了多个 供应商 ,需要选择激活哪个
- 然后在终端打开 claude,输入
/model 选择我们刚刚创建的供应商即可。
Claudecode 相关配置
第三方API配置
- 基本上各个大模型的
Code Plan官方文档中都会有相关说明,这里以Minimax为例,在~/.claude/settings.json中添加如下配置:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-api-xxx",
"ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M2.5",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-M2.5",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-M2.5",
"ANTHROPIC_MODEL": "MiniMax-M2.5"
}
}
Minimax官方更推荐使用 CC-Switch 进行配置
- 编辑或新增
~/.claude.json 文件,并在其中添加或修改如下配置:
{
"hasCompletedOnboarding": true
}
表示:
用户已经完成首次使用向导
不再显示欢迎页/教程
不再弹出初始化配置
不再要求选择偏好
CLI 或 IDE 插件不再执行首次初始化流程
去掉system prompt中的随机字符请求头
- 大模型服务提供商缓存
system prompt(系统提示词),本质上是为了:
降低推理成本
提升响应速度
提高吞吐量
减少重复 token 计算
支持长上下文场景
- 目前,大部分模型API服务提供商都会缓存
system prompt,这就要求我们的system prompt不能随意变化,否则就无法使用缓存
- 而我们在使用
claudecode时发现,每次请求大模型时,system prompt被分为三个BLOCK,而最上方的第一个BLOCK会自动添加如下类似内容:
x-anthropic-billing-header: cc_version=2.1.141.390; cc_entrypoint=cli; cch=67a03;
- 其中的
cch每次请求都会发生变化,感觉上像是一个随机符,这就导致了每次计算system prompt的hash时都会不同,无法命中缓存。
缓存匹配原理
✔ 按 token stream 前缀逐段匹配,关键点:必须“连续前缀命中”
Block 1 tokens match?
↓ yes
Block 2 tokens match?
↓ yes
Block 3 tokens match?
↓ no
stop cache scan
如果此时检查 Block 1 时就不能匹配,则缓存匹配会立刻停止,即便后面的内容完全一致也不会使用缓存
- 怀疑
claudecode是有意这样做的,目的就是增加我们使用其它大模型的使用成本并降低推理速度,而Anthropic在处理system prompt时会先去掉这个随机字符请求头,所以Anthropic不会受到影响,毕竟claudecode是Anthropic的产品,更希望我们订阅其自己的大模型。
- 不过
claudecode没有把这条路测底堵死,解决方法就是在~/.claude/settings.json中添加如下配置,就可以去掉system prompt中的随机字符请求头
{
"env": {
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
}
}
- 在
~/.claude/settings.json中添加如下配置:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
input=$(cat);
model=$(echo "$input" | jq -r '.model.display_name');
dir=$(echo "$input" | jq -r '.workspace.current_dir');
used=$(echo "$input" | jq -r '.context_window.used_percentage // empty');
if [ -n "$used" ] && [ "$used" != "null" ];
then
echo "[$model] | $dir | $used% context";
else
echo "[$model] | $dir | 0% context";
fi
- 您可以使用
/permissions 查看和管理 Claude Code 的工具权限。此 UI 列出所有权限规则和它们来自的 settings.json 文件。
Allow 规则让 Claude Code 使用指定的工具而无需手动批准。
Ask 规则在 Claude Code 尝试使用指定工具时提示确认。
Deny 规则防止 Claude Code 使用指定的工具。
- 规则按顺序评估:
deny -> ask -> allow。第一个匹配的规则获胜,因此 deny 规则始终优先。
- 权限模式:Claude Code 支持多种权限模式来控制工具的批准方式。在您的设置文件中设置
defaultMode:
| 模式 |
描述 |
| default |
标准行为:在首次使用每个工具时提示权限 |
| acceptEdits |
自动接受会话的文件编辑权限 |
| plan |
Plan Mode:仅允许分析,不可修改文件或执行命令 |
| dontAsk |
自动拒绝工具调用,除非通过 /permissions 或 permissions.allow 预先授权 |
| bypassPermissions |
跳过所有权限提示(需在安全环境中使用,存在风险) |
- 一个示例:
** 表示任意路径,:*==* 表示任意多个字符
{
"permissions": {
"defaultMode": "acceptEdits",
"allow": [
"Read(**)",
"Edit(**)",
"Write(**)",
"Bash(ls:*)",
"Bash(cat:*)",
"Bash(grep:*)",
"Bash(find:*)",
"Bash(git status:*)",
"Bash(git diff:*)",
"Bash(git log:*)",
"Bash(git branch:*)",
"Bash(npm:*)",
"Bash(pnpm:*)",
"Bash(yarn:*)",
"Bash(mvn:*)",
"Bash(gradle:*)",
"Bash(python:*)",
"Bash(pip:*)",
"Bash(docker ps:*)",
"Bash(docker images:*)"
],
"ask": [
"Bash(git commit:*)",
"Bash(git push:*)",
"Bash(git pull:*)",
"Bash(docker build:*)",
"Bash(docker run:*)",
"Bash(kubectl:*)"
],
"deny": [
"Read(.env)",
"Read(.env.*)",
"Read(**/secrets/**)",
"Read(**/*.pem)",
"Read(**/*.key)",
"Bash(rm -rf:*)",
"Bash(sudo:*)",
"Bash(curl:*)",
"Bash(wget:*)"
]
}
}
- 使用全局和项目级设置以及环境变量配置 Claude Code。
| 功能 |
User 位置 |
Project 位置 |
Local 位置 |
| Settings |
~/.claude/settings.json |
.claude/settings.json |
.claude/settings.local.json |
| Subagents |
~/.claude/agents/ |
.claude/agents/ |
— |
| MCP servers |
~/.claude.json |
.mcp.json |
~/.claude.json(每个项目) |
| Plugins |
~/.claude/settings.json |
.claude/settings.json |
.claude/settings.local.json |
| CLAUDE.md |
~/.claude/CLAUDE.md |
CLAUDE.md 或 .claude/CLAUDE.md |
CLAUDE.local.md |
CLAUDE.md
CLAUDE.md 文件是 markdown 文件,为项目、你的个人工作流或整个组织为 Claude 提供持久指令。你用纯文本编写这些文件;Claude 在每个会话开始时读取它们。
CLAUDE.md 文件在每个会话开始时加载到上下文窗口中,与你的对话一起消耗令牌。上下文窗口可视化显示 CLAUDE.md 相对于其余启动上下文的加载位置。因为它们是上下文而不是强制配置,你编写指令的方式会影响 Claude 遵循它们的可靠性。具体、简洁、结构良好的指令效果最好。
CLAUDE.md 文件可以使用 @path/to/import 语法导入其他文件。导入的文件在启动时展开并加载到上下文中,与引用它们的 CLAUDE.md 一起。允许相对路径和绝对路径。相对路径相对于包含导入的文件解析,而不是工作目录。导入的文件可以递归导入其他文件,最大深度为五跳。
有关项目概述,请参阅 @README,有关此项目的可用 npm 命令,请参阅 @package.json。
- git 工作流 @docs/git-instructions.md
- 每个 CLAUDE.md 文件目标在 200 行以下。较长的文件消耗更多上下文并降低遵守度。
| 范围 |
位置 |
目的 |
用例示例 |
共享对象 |
| 托管策略 |
• macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
• Linux / WSL: /etc/claude-code/CLAUDE.md
• Windows: C:\Program Files\ClaudeCode\CLAUDE.md |
由 IT / DevOps 管理的组织范围指令 |
公司编码标准、安全策略、合规要求 |
组织中的所有用户 |
| 用户指令 |
~/.claude/CLAUDE.md |
所有项目的个人偏好 |
代码样式偏好、个人工具快捷方式 |
仅你(所有项目) |
| 项目指令 |
./CLAUDE.md 或 ./.claude/CLAUDE.md |
项目的团队共享指令 |
项目架构、编码标准、常见工作流 |
通过源代码控制共享的团队成员 |
| 本地指令 |
./CLAUDE.local.md |
个人项目特定偏好(通常加入 .gitignore) |
本地沙箱 URL、测试数据、调试配置 |
仅你(当前项目) |
- 工作目录下的
CLAUDE.md 和 CLAUDE.local.md 文件在启动时完整加载。子目录中的文件在 Claude 读取这些目录中的文件时按需动态加载。
~/workspace/my-project/
├── CLAUDE.md
├── CLAUDE.local.md
├── .gitignore
├── README.md
│
├── backend/
│ ├── CLAUDE.md
│ ├── src/
│ │ └── main/
│ └── pom.xml
│
└── frontend/
├── CLAUDE.md
├── src/
└── package.json
运行 /init 自动生成起始 CLAUDE.md。Claude 分析你的代码库并创建一个包含构建命令、测试指令和它发现的项目约定的文件。如果 CLAUDE.md 已存在,/init 会建议改进而不是覆盖它。从那里进行细化,添加 Claude 不会自己发现的指令。
设置 CLAUDE_CODE_NEW_INIT=1 以启用交互式多阶段流程。/init 询问要设置哪些工件:CLAUDE.md 文件、skills 和 hooks。然后它使用 subagent 探索你的代码库,通过后续问题填补空白,并在写入任何文件之前呈现可审查的提案。
Rules 是什么?
- 对于较大的项目,你可以使用
.claude/rules/ 目录将指令组织到多个文件中。这使指令保持模块化并更容易让团队维护。规则也可以 范围限定到特定文件路径,因此它们仅在 Claude 处理匹配文件时加载到上下文中,减少噪音并节省上下文空间。
- 在你的项目的
.claude/rules/ 目录中放置 markdown 文件。每个文件应涵盖一个主题,具有描述性文件名,如 testing.md 或 api-design.md。所有 .md 文件都被递归发现,因此你可以将规则组织到子目录中,如 frontend/ 或 backend/
your-project/
├── .claude/
│ ├── CLAUDE.md
│ └── rules/
│ ├── code-style.md
│ ├── testing.md
│ └── security.md
- 规则可以使用带有 paths 字段的 YAML frontmatter 范围限定到特定文件。这些条件规则仅在 Claude 处理与指定模式匹配的文件时适用。
---
paths:
- "src/**/*.{ts,tsx}"
- "lib/**/*.ts"
- "tests/**/*.test.ts"
---
- 这意味着这条规则只在模型处理匹配路径的文件时才会被注入。没有
paths frontmatter 的规则在启动时加载,优先级与 .claude/CLAUDE.md 相同。
- 格式化后的 Rules 内容会被 注入到 messages 的最前面。
- Rules 不走 tool_use 协议。它既不是工具,也不需要模型主动调用。它是被动注入到每次 API 调用的上下文中,模型在推理时自然会“看到”并遵循这些规则。
| 快捷键 |
描述 |
注释 |
/(在开始) |
命令或 skill |
请参阅内置命令和 skills |
!(在开始) |
Bash 模式 |
直接运行命令并将执行输出添加到会话 |
@ |
文件路径提及 |
触发文件路径自动完成 |
- 内置命令:在下表中,
<arg> 表示必需的参数,[arg] 表示可选参数。
| 命令 |
目的 |
/add-dir <path> |
将新的工作目录添加到当前会话 |
/agents |
管理 agent 配置 |
/branch |
创建对话分支 |
/btw <question> |
提出快速侧问题(不进入主对话)by the way 的缩写 |
/chrome |
配置 Chrome 中的 Claude 设置 |
/clear |
清除对话历史并释放上下文(别名:/reset、/new) |
/compact [instructions] |
压缩对话,可指定压缩重点 |
/config |
打开设置界面(别名:/settings) |
/context |
可视化当前上下文使用情况 |
/copy |
复制最后一个助手响应(支持代码块选择) |
/cost |
显示令牌使用统计 |
/desktop |
在桌面应用继续会话(别名:/app) |
/diff |
查看 git 差异及每轮变更 |
/doctor |
诊断 Claude Code 安装和配置 |
/exit |
退出 CLI(别名:/quit) |
/export [filename] |
导出当前对话 |
/extra-usage |
配置额外使用额度 |
/fast [on|off] |
切换快速模式 |
/feedback [report] |
提交反馈(别名:/bug) |
/fork [name] |
创建对话分支 ,现在会自动跳到 /branch |
/help |
显示帮助 |
/hooks |
管理工具 hook 配置 |
/ide |
管理 IDE 集成 |
/init |
使用 CLAUDE.md 初始化项目 |
/insights |
分析会话行为和使用情况,会生成一份HTML报告,会给你一些使用建议 |
/install-github-app |
安装 GitHub 集成 |
/install-slack-app |
安装 Slack 集成 |
/keybindings |
配置快捷键 |
/login |
登录账户 |
/logout |
登出账户 |
/loop |
定时重复执行,/loop 5m 获取系统时间 |
/mcp |
管理 MCP server |
/memory |
管理 CLAUDE.md 内存 |
/mobile |
下载移动应用(别名:/ios、/android) |
/model [model] |
切换 AI 模型 |
/model opusplan |
Pro订阅用户适用。plan模式使用 Opus模型,build模式使用 Sonnet模型,节省用量 |
/passes |
分享试用资格 |
/permissions |
管理权限(别名:/allowed-tools) |
/plan |
进入 Plan Mode |
/plugin |
管理 plugins |
/pr-comments [PR] |
查看 PR 评论 |
/privacy-settings |
隐私设置(部分订阅可用) |
/release-notes |
查看更新日志 |
/reload-plugins |
重载插件 |
/remote-control |
必须登录的是Anthropic帐号。启用远程控制(别名:/rc),会生成一个url,在浏览器中打开就可以与claudecode会话 |
/remote-env |
配置远程环境 |
/rename [name] |
重命名会话 |
/resume [session] |
恢复会话(别名:/continue) |
/review |
已弃用(建议使用 plugin) |
/rewind |
回退对话或代码(别名:/checkpoint) |
/sandbox |
切换沙箱模式 |
/security-review |
扫描代码安全问题 |
/simplify |
同时启用3个agent,分别从代码复用、代码指令、运行效率三个维度审查你的代码改动 |
/skills |
列出 skills |
/stats |
使用统计可视化 |
/status |
查看系统状态 |
/statusline |
配置状态栏 |
/stickers |
订购贴纸 |
/tasks |
管理后台任务 |
/terminal-setup |
配置终端快捷键 |
/theme |
修改主题 |
/upgrade |
升级订阅 |
/usage |
查看使用限制 |
/vim |
切换 Vim 模式 |
ClaudeCode 内置 Tools
| Tool |
功能 |
使用时机 |
关键约束 |
| Agent |
启动子代理执行复杂任务 |
多步骤自动化 |
用于 orchestration |
| TaskCreate |
创建任务列表 |
任务拆解 |
支持依赖关系 |
| TaskList |
列出所有任务 |
查看进度/可执行任务 |
用于调度决策 |
| TaskGet |
获取任务详情 |
查询上下文 |
单任务查看 |
| TaskUpdate |
更新任务状态 |
标记完成/废弃 |
⚠️必须及时标记完成 |
| TaskOutput |
获取任务输出 |
获取执行结果 |
支持 block |
| TaskStop |
停止任务 |
中断执行 |
长任务终止 |
| AskUserQuestion |
向用户提问 |
需要用户决策 |
唯一交互中断方式 |
| Tool |
功能 |
使用时机 |
关键约束 |
| EnterPlanMode |
进入规划模式 |
复杂实现前 |
必须先规划 |
| ExitPlanMode |
退出规划模式 |
提交计划后 |
不执行逻辑 |
| Tool |
功能 |
使用时机 |
关键约束 |
| Read |
读取文件 |
所有文件操作前 |
可读不存在文件 |
| Write |
写入文件 |
创建/覆盖文件 |
⚠️必须先 Read |
| Edit |
精确替换 |
小范围修改 |
⚠️严格匹配字符串 |
| Glob |
路径匹配 |
查找文件 |
支持 **/*.ts |
| Grep |
内容搜索 |
搜索代码 |
⚠️禁止用 bash grep |
| Tool |
功能 |
使用时机 |
关键约束 |
| Bash |
执行 shell 命令 |
编译/运行/系统操作 |
❌不要用于搜索 |
| Tool |
功能 |
使用时机 |
关键约束 |
| WebFetch |
获取网页 |
抓取页面内容 |
❌不支持登录态 |
| WebSearch |
搜索信息 |
获取外部知识 |
返回结构化结果 |
| Tool |
功能 |
使用时机 |
关键约束 |
| NotebookEdit |
修改 Jupyter |
数据分析场景 |
直接替换 cell |
| Tool |
功能 |
使用时机 |
关键约束 |
| Skill |
调用技能 |
/command 触发 |
类似插件 |
| Tool |
功能 |
使用时机 |
关键约束 |
| EnterWorktree |
创建并进入 worktree |
用户明确要求 |
⚠️必须用户显式提及 |
| ExitWorktree |
退出 worktree |
结束隔离开发 |
仅作用当前 session |
| Tool |
功能 |
使用时机 |
关键约束 |
| CronCreate |
创建定时任务 |
提醒/自动执行 |
⚠️避免 0/30 分钟 |
| CronList |
查看任务 |
查询当前调度 |
session 内有效 |
| CronDelete |
删除任务 |
取消调度 |
需 jobId |
| 方法 |
Skill 调用名称 |
存放位置 |
适用场景 |
优点 |
限制 |
| 独立(.claude 目录) |
/hello |
项目内 .claude/ |
个人工作流、项目级定制、快速实验 |
轻量、无配置成本、即写即用 |
❌ 不易共享 ❌ 无版本管理 ❌ 跨项目复用差 |
| 插件(.claude-plugin) |
/plugin-name:hello |
.claude-plugin/plugin.json |
团队共享、社区分发、标准化能力 |
✅ 可复用 ✅ 可版本化 ✅ 可发布 |
❌ 需要结构化配置 ❌ 初始成本更高 |
| 目录 / 文件 |
位置 |
作用 / 目的 |
是否必需 |
说明 |
.claude-plugin/ |
插件根目录 |
插件元信息目录,包含 plugin.json |
可选 |
若所有组件使用默认位置,可省略 |
plugin.json |
.claude-plugin/ |
插件清单(名称、版本、入口等) |
推荐 |
插件的核心描述文件 |
commands/ |
插件根 |
定义 Skills(Markdown 文件) |
常用 |
每个 .md 文件对应一个 /command |
agents/ |
插件根 |
自定义 Agent 定义 |
可选 |
扩展 AI 行为(专用 agent) |
skills/ |
插件根 |
高级 Skill(带 SKILL.md) |
可选 |
比 commands 更复杂的能力封装 |
hooks/ |
插件根 |
事件钩子(hooks.json) |
可选 |
用于生命周期/事件触发 |
.mcp.json |
插件根 |
MCP Server 配置 |
可选 |
扩展外部工具能力 |
.lsp.json |
插件根 |
LSP Server 配置 |
可选 |
提供代码补全/分析能力 |
settings.json |
插件根 |
插件默认配置 |
可选 |
启用插件时自动应用 |
插件根目录
├── .claude-plugin/
│ └── plugin.json
├── commands/
├── skills/
├── agents/
├── hooks/
├── .mcp.json
├── .lsp.json
└── settings.json
- 常见错误:不要将
commands/、agents/、skills/ 或 hooks/ 放在.claude-plugin/目录内。只有 plugin.json 应该在 .claude-plugin/ 内。所有其他目录必须在插件根级别。
通过市场发现和安装Plugin
- 1.通过
/plugin 命令调出 plugin 的管理界面进行安装与管理
❯ /plugin
────────────────────────────────────────────────────────────────────────────────────────────
Plugins Discover Installed Marketplaces Errors
Discover plugins (1/82)
╭──────────────────────────────────────────────────────────────────────────────────────╮
│ ⌕ Search… │
╰──────────────────────────────────────────────────────────────────────────────────────╯
❯ ◯ frontend-design · claude-plugins-official · 324K installs
Create distinctive, production-grade frontend interfaces ...
◯ context7 · claude-plugins-official [Community Managed] · 168.8K installs
Upstash Context7 MCP server for up-to-date documentation ...
◯ code-review · claude-plugins-official · 148.8K installs
Automated code review for pull requests using multiple sp...
◯ github · claude-plugins-official · 126.1K installs
Official GitHub MCP server for repository management. Cre...
◯ code-simplifier · claude-plugins-official · 121.2K installs
Agent that simplifies and refines code for clarity, consi...
↓ more below
type to search · Space to toggle · Enter to details · Esc to back
/plugin install superpowers@claude-plugins-official
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
claude plugin install superpowers@claude-plugins-official
claude plugin marketplace add obra/superpowers-marketplace
claude plugin install superpowers@superpowers-marketplace
claude plugin list
claude plugin uninstall superpowers@superpowers-marketplace
claude plugin marketplace list
claude plugin marketplace remove obra/superpowers-marketplace
- 插件安装后的位置:
~/.claude/plugins/cache/ + market-name/plugin-name/version
如何使用 plugin
- plugin 也是 skill,通常大模型可以自由判断是否使用,我们也可以通过
skill-name 来强制使用
- 比如我们上面安装的
superpowers,其拥有如下skills
| 分类 |
技能名称 |
中文名称 |
说明 |
| Testing(测试) |
test-driven-development |
测试驱动开发 |
使用 RED-GREEN-REFACTOR 循环(红-绿-重构),并包含常见测试反模式参考 |
| Debugging(调试) |
systematic-debugging |
系统化调试 |
四阶段问题定位流程(包含根因追踪、防御性设计、基于条件等待等技术) |
|
verification-before-completion |
完成前验证 |
在结束前确认问题已真正修复,而非表面解决 |
| Collaboration(协作) |
brainstorming |
头脑风暴 |
使用苏格拉底式提问进行设计优化与方案推演 |
|
writing-plans |
编写计划 |
制定详细的实施计划(可执行级别) |
|
executing-plans |
执行计划 |
按批次执行任务,并设置检查点 |
|
dispatching-parallel-agents |
并行代理调度 |
使用多个子代理并发执行任务 |
|
requesting-code-review |
请求代码评审 |
提交评审前的检查清单 |
|
receiving-code-review |
接收代码评审 |
如何有效回应评审反馈 |
|
using-git-worktrees |
使用 Git Worktrees |
利用 worktree 实现并行开发分支 |
|
finishing-a-development-branch |
完成开发分支 |
合并 / PR 决策流程 |
|
subagent-driven-development |
子代理驱动开发 |
双阶段评审:先检查规格一致性,再检查代码质量 |
| Meta(元能力) |
writing-skills |
编写技能 |
按最佳实践创建新的技能(包含测试方法论) |
|
using-superpowers |
使用 Superpowers |
技能系统的整体介绍与使用指南 |
superpowers 推荐组合
- 简单场景:
brainstorming(设计) --> writing-plans(计划) --> executing-plans(执行)
- 复杂场景:
brainstorming --> writing-plans --> test-driven-development(先写测试用例) --> executing-plans --> systematic-debugging(出现问题时) --> verification-before-completion(验证是否修复)
- 在 Claude Code 中创建和使用专门的 AI subagents,用于特定任务的工作流和改进的上下文管理。
- 可以通过
/agents 命令进行创建,也可以手工创建
| 位置 |
范围 |
优先级 |
如何创建 |
--agents CLI 标志 |
当前会话 |
1(最高) |
启动 Claude Code 时传递 JSON |
.claude/agents/ |
当前项目 |
2 |
交互式或手动 |
~/.claude/agents/ |
所有项目 |
3 |
交互式或手动 |
插件的 agents/ 目录 |
启用插件范围 |
4(最低) |
随 plugins 安装 |
自定义命令已合并到 skills 中。 .claude/commands/deploy.md 中的文件和 .claude/skills/deploy/SKILL.md 中的 skill 都会创建 /deploy 并以相同的方式工作。你现有的 .claude/commands/ 文件继续工作。Skills 添加了可选功能:支持文件的目录、控制你或 Claude 是否调用它们的 frontmatter,以及 Claude 在相关时自动加载它们的能力。
| 位置 |
路径 |
适用于 |
| 企业 |
请参阅托管设置 |
组织内所有用户 |
| 个人 |
~/.claude/skills/<skill-name>/SKILL.md |
所有项目 |
| 项目 |
.claude/skills/<skill-name>/SKILL.md |
当前项目 |
| 插件 |
<plugin>/skills/<skill-name>/SKILL.md |
启用插件范围 |
- 当 skills 在各个级别共享相同名称时,更高优先级的位置获胜:
企业 > 个人 > 项目。插件 skills 使用 plugin-name:skill-name 命名空间,因此它们不能与其他级别冲突。如果你在 .claude/commands/ 中有文件,它们的工作方式相同,但如果 skill 和命令共享相同名称,skill 优先。
- Frontmatter 参考
| 字段 |
必需 |
描述 |
name |
否 |
Skill 显示名称;默认使用目录名。仅支持小写字母、数字和连字符(≤64 字符) |
description |
推荐 |
描述功能及使用场景;用于决定何时触发。默认取 Markdown 首段 |
argument-hint |
否 |
自动完成提示参数格式(如 [issue-number]、[filename] [format]) |
disable-model-invocation |
否 |
设为 true 禁止自动触发,仅允许 /name 手动调用;默认 false |
user-invocable |
否 |
设为 false 从 / 菜单隐藏;用于内部或背景 skill;默认 true |
allowed-tools |
否 |
激活该 skill 时无需额外授权即可使用的工具列表 |
model |
否 |
指定 skill 激活时使用的模型 |
context |
否 |
设为 fork 表示在子 agent 上下文中运行 |
agent |
否 |
当 context: fork 时指定使用的 subagent 类型 |
hooks |
否 |
该 skill 生命周期内生效的 hooks 配置 |
| 变量 |
描述 |
$ARGUMENTS |
调用 skill 时传递的全部参数;若未在内容中显式使用,则自动追加为 ARGUMENTS: <value> |
$ARGUMENTS[N] |
按 0 基索引访问参数,如 $ARGUMENTS[0] 表示第一个参数 |
$N |
$ARGUMENTS[N] 的简写,如 $0 表示第一个参数、$1 表示第二个参数 |
${CLAUDE_SESSION_ID} |
当前会话 ID;用于日志、生成会话相关文件或关联输出 |
${CLAUDE_SKILL_DIR} |
skill 所在目录(包含 SKILL.md);用于引用绑定脚本/文件(适用于任意工作目录) |
---
name: git-init
description: 将当前目录初始化为git仓库,自动创建.gitignore并提交文件,可选推送到远程仓库
argument-hint: [remote_url]
allowed-tools: Read, Write, Bash(git *), Glob
disable-model-invocation: true
---
请执行以下步骤:
1. 首先使用 `git init` 将当前目录初始化为 git 仓库
2. 检查当前目录是否已存在 `.gitignore` 文件(使用 Glob 工具搜索)
3. 如果不存在 `.gitignore`,根据当前目录的文件来推断项目类型并创建合适的 `.gitignore`:
- 如果有 `package.json` → Node.js 项目
- 如果有 `Cargo.toml` → Rust 项目
- 如果有 `go.mod` → Go 项目
- 如果有 `pom.xml` 或 `build.gradle` → Java 项目
- 如果有 `*.py` 文件 → Python 项目
- 如果有 `*.html` 或 `*.css` 或 `*.js` 文件 → Web 项目
- 如果有 `*.swift` → Swift 项目
- 如果有 `*.kt` → Kotlin 项目
4. 使用 `git add .` 添加所有文件
5. 使用 `git commit -m "Initial commit"` 提交
6. 如果命令中包含了远程仓库 URL(在斜杠命令后以空格分隔给出):
- 使用 `git remote add origin $ARGUMENTS` 添加远程仓库
- 使用 `git push -u origin master` 或 `git push -u origin main` 推送到远程
claude mcp add --transport http <name> <url>
claude mcp add --transport http notion https://mcp.notion.com/mcp
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
claude mcp add [options] <name> -- <command> [args...]
claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \
-- npx -y airtable-mcp-server
claude mcp list
claude mcp get github
claude mcp remove github
/mcp
| 范围 |
存储位置 |
适用范围 |
特点说明 |
| 本地(local) |
项目级用户配置(默认,不共享)~/.claude.json :项目路径字段下 |
当前项目 + 当前用户 |
默认范围,仅自己可用;适合实验配置或敏感凭据 |
| 项目(project) |
项目根目录 .mcp.json |
项目所有成员 |
可提交到版本控制;团队共享统一 MCP 工具 |
| 用户(user) |
用户级配置(全局)~/.claude.json : mcpServers 字段下 |
当前用户的所有项目 |
跨项目复用;适合常用工具或个人基础设施 |
claude mcp add --transport http stripe --scope local https://mcp.stripe.com
${VAR} - 扩展为环境变量 VAR 的值
${VAR:-default} - 如果设置了 VAR,则扩展为 VAR,否则使用 default
command - 服务器可执行文件路径
args - 命令行参数
env - 传递给服务器的环境变量
url - 对于 HTTP 服务器类型
headers - 对于 HTTP 服务器身份验证
{
"mcpServers": {
"api-server": {
"type": "http",
"url": "${API_BASE_URL:-https://api.example.com}/mcp",
"headers": {
"Authorization": "Bearer ${API_KEY}"
}
}
}
}
LSP
Java
brew install jdtls
- jdk版本要求
17+
- claudecode中安装对应的插件:
jdtls-lsp,这个是官方插件,直接在 /plugin 中搜索安装即可。一般情况下插件说明中会有相应的安装要求和使用说明介绍。
- 如何使用:claudecode在读取文件时会根据文件后缀进行匹配,自动决定是否使用 LSP 功能,你也可以在给claude的要求中明确说明要 使用LSP去分析
所有评论(0)