⚡ Claude Code Skills 实战:斜杠命令、快捷键与自动化

进阶第 2 篇 — 把 Claude Code 用成 IDE 一样顺手

🎯 这篇讲什么

CLAUDE.md 管记忆,这篇讲交互效率。学会斜杠命令、快捷键和 Hooks,你的操作速度能翻倍。


⌨️ 斜杠命令速查

在 Claude Code 交互会话中输入 / 开头触发。

会话管理

命令作用使用场景
/help列出所有命令忘了命令时
/clear清空对话历史话题切换,重新开始
/compact [focus]压缩上下文对话太长,省 token 时
/context可视化上下文占用担心超出窗口时
/cost查看 token 用量关心花费时
/status版本和会话信息排查问题时
/resume切换/恢复会话回到之前的对话

代码开发

命令作用
/review代码审查当前改动
/security-review安全审查
/plan先出计划再动手
/todos列出追踪中的任务

模型与配置

命令作用
/model [name]切换模型(箭头键选)
/effort调整思考深度
/init创建项目 CLAUDE.md
/memory打开 CLAUDE.md 编辑
/permissions查看/修改权限
/mcp管理 MCP 服务器
/release-notes版本更新日志
💡 最常用的三个: /compact 省 token、/cost 看花费、/model 换模型。

⌨️ 键盘快捷键

记住这 10 个就够了:

快捷键作用口诀
Ctrl+D退出完事走人
Ctrl+C取消当前生成别说了
Ctrl+R搜索历史命令刚才说的啥
Ctrl+B后台运行任务你先忙
Ctrl+O看 AI 思考过程怎么想的
Shift+Tab切换权限模式信不信任
Alt+P换模型换人干活
Alt+T开关思考模式多想/少想
\ + Enter多行输入换行写长点
Ctrl+V粘贴图片看图说话

🔣 输入前缀技巧

前缀效果例子
!直接执行 bash!npm test 不等 AI,直接跑
@引用文件/目录@./src/api/ 自动补全
#快速加记忆# 这个项目用 pnpm
/斜杠命令/compact focus on auth
ultrathink最强思考复杂问题时在末尾加这个词

用户: 这段代码有没有并发安全问题?ultrathink
      ↑ Claude 会用最深度的推理来分析

🪝 Hooks:让 Claude Code 自动化

Hooks 是事件触发器。发生某件事时自动执行操作。

8 种 Hook 类型

Hook触发时机典型用途
UserPromptSubmit你发消息前输入验证
PreToolUse工具执行前安全拦截
PostToolUse工具执行后自动格式化
Notification需要你确认时桌面通知
StopClaude 回复完记录日志
SubagentStop子代理完成汇总结果
PreCompact上下文压缩前备份对话
SessionStart会话开始时加载环境

实战配置(.claude/settings.json


{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write(*.py)",
      "hooks": [{
        "type": "command",
        "command": "ruff check --fix $CLAUDE_FILE_PATHS"
      }]
    }],
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -qE 'rm -rf|git push.*--force'; then echo '危险操作已拦截!' && exit 2; fi"
      }]
    }],
    "SessionStart": [{
      "hooks": [{
        "type": "command",
        "command": "git status --short"
      }]
    }]
  }
}

效果:

  • 每次 Claude 写 Python 文件 → 自动 run ruff 格式化
  • 每次执行 bash 前 → 检查是否危险命令,是就拦截
  • 每次会话开始 → 自动显示 git 状态
  • Hook 可用变量

    变量内容
    $CLAUDE_PROJECT_DIR当前项目路径
    $CLAUDE_FILE_PATHS被操作的文件列表
    $CLAUDE_TOOL_INPUT工具参数 JSON

    🏷️ 自定义斜杠命令

    创建 .claude/commands/ 目录,每个 .md 文件就是一个命令:

    
    # .claude/commands/deploy.md
    执行部署流程:
    1. 运行全部测试
    2. 构建 Docker 镜像
    3. 推送到镜像仓库
    4. 更新 $ARGUMENTS 环境(默认 staging)
    

    使用:/deploy production

    $ARGUMENTS 是用户输入的内容。/deploy productionproduction 填入。

    📋 Skills:自动触发的操作指南

    Skills 和 Slash Commands 的区别:

    Slash CommandsSkills
    触发方式手动 /命令自然语言自动匹配
    放在哪.claude/commands/.claude/skills/
    适用场景固定流程(部署、发布)知识指南(迁移规范、代码风格)
    
    # .claude/skills/database-migration.md
    当用户要求创建或修改数据库迁移时:
    1. 使用 Alembic 生成迁移文件
    2. 每次创建 up 函数时必须同时写 down 函数
    3. 迁移前先对本地测试数据库执行一遍
    

    Claude 看到"帮我做个数据库迁移"会自动加载这份技能指南。


    ❓ 常见问题 (FAQ)

    Q1: /compact 什么时候用?

    对话超过 30 轮、/context 显示 >70% 占用时。压缩后 CLAUDE.md 和 skills 保留,临时对话内容被精炼。

    Q2: Hooks 会不会影响性能?

    PostToolUse 的 hook 每次写完文件就跑,如果 linter 很慢会拖慢体验。建议只对关键操作加 hook。

    Q3: 自定义命令和 Skills 可以共享给团队吗?

    可以。放在项目 .claude/commands/.claude/skills/ 里,Git 提交后全队可用。

    Q4: ! 前缀执行的命令会经过 Hook 检查吗?

    会。! 只是跳过 AI 直接执行,但 PreToolUse hook 仍然会触发。

    Q5: 怎么知道当前会话占了多少上下文?

    /context 会显示彩色网格,绿色安全,黄色注意,红色危险。

    Q6: ultrathink/effort max 有什么区别?

    /effort max 设全局思考深度。ultrathink 在单次提问中触发最深推理,适用于特别复杂的问题。


    ⚠️ 实操避坑

    正确做法
    PreToolUse hook 写错了导致所有命令被拦截先不加 hook 测试命令脚本,确认无误再配上
    /compact 后忘记了之前的决策压缩前用 /todos 记录待办事项
    Skills 文件写太泛要写具体步骤和命令,不是"注意安全"这类废话
    $ARGUMENTS 不知道怎么用在命令 md 里写清楚默认值,如「默认 staging」
    Hook 的 command 路径写相对路径用绝对路径或确保 Hook 在项目根目录执行

    标签:#AI #ClaudeCode #进阶 #Commands #Hooks