核心内容摘要
蛇和锯子的羁绊
文章目录20 个内置指令这 4 个就够了
会话与上下文管理/clear - 重置上下文/compact [instructions] - 智能压缩/rewind [Esc Esc] - 时光回溯/memory - 持久化记忆
环境与配置/config - 可视化配置界面/permissions - 权限管理工具白名单/model [model] - 模型切换
项目与协作/init - 项目初始化/review - 代码审查/pr_comments - PR 评论查看
元信息与帮助/help - 帮助入口/status - 状态面板/doctor - 健康诊断/cost 和 /usage - 成本与用量/feedback (or /bug) - 问题反馈内置指令速查表自定义指令把重复工作变成一键搞定核心理念作用域级别指令文件命名实战案例从零搭建代码审查流程需求
实现原理解读执行效果
总结刚开始用 Claude Code 时我也是天天问帮我写个函数“这个 bug 怎么改”。
直到有一天我发现团队里每个人问的问题都差不多代码审查的标准也不统一。
于是我开始写自定义指令。
第一个就是代码审查把团队的标准都写进去。
结果代码审查时间从 30 分钟降到 5 分钟而且质量还提升了。
这就是我说的指令设计师——你不再是被动地问问题而是主动地设计 AI 的行为。
Slash Commands 是 Claude Code 的指令中枢是你将 AI 原生开发理念落地的第一块、也是最重要的一块基石。
它让你能够开始编程 AI将你的智慧和经验转化为 AI 可以理解和执行的指令。
20 个内置指令这 4 个就够了Claude Code 内置了大约二十多个 Slash Commands它们就像一把功能丰富的瑞士军刀。
但说实话真正高频用的其实就几个。
我把它们分成四类挑重点说。
会话与上下文管理在多轮对话中上下文就像 AI 的记忆。
但随着对话轮次增加上下文窗口会填满大量对话历史、文件内容和命令输出这不仅消耗更多 Token增加成本还可能因无关信息干扰降低 AI 响应性能和准确性导致它犯糊涂。
这类指令帮助我们精确控制 AI 的记忆。
/clear- 重置上下文作用重置 AI 的上下文窗口并清空屏幕。
这是每个 Claude Code 用户都必须掌握的第一个、也是最重要的指令。
/clear解读就像按下了 AI 记忆的重置按钮让你可以在一个干净的上下文中开始一个全新的、不相关的任务。
什么时候用完成一个 Bug 修复准备开始新功能开发时从代码审查切换到文档撰写时对话跑偏想重新开始时注意清空后历史就没了但/memory里存的东西还在。
/compact [instructions]- 智能压缩作用智能地压缩当前对话历史保留核心信息然后在一个新的、更轻量的对话分支中继续。
/compact /compact 保留 API 接口定义和错误处理方案解读如果说/clear是格式化硬盘那么/compact就是磁盘清理。
它适合在同一个复杂任务的不同阶段之间使用。
什么时候用和 AI 花了很多轮次讨论 API 设计现在准备进入实现阶段需要保留最终结论但减轻上下文负担对话很长但不想丢掉之前的核心结论/rewind [Esc Esc]- 时光回溯作用打开时光机让你精确地回到之前的某个对话节点将代码和/或对话历史一键恢复到修改前的状态。
/rewind或使用快捷键Esc Esc解读这是 Checkpointing 功能的前端入口相当于 Git 的回退操作但针对的是 AI 协作会话。
什么时候用AI 的代码重构不如人意想回到之前的状态发现走错了方向需要回退到某个决策点想尝试另一种实现方案但想保留当前进度/memory- 持久化记忆作用管理那些你希望 AI 在所有会话中都能记住的信息。
/memoryadd项目的测试命令是 npm run test:unit/memory list /memory removeid什么时候用项目用了特定版本的 Node.js比如
x团队有统一的代码规范经常用到的命令别名项目架构决策或技术选型
环境与配置这类指令让你能够查看和修改 Claude Code 的运行环境和行为模式确保 AI 的行为符合预期。
/config- 可视化配置界面作用打开一个可视化的、交互式的设置界面。
这是进行所有持久化配置的总入口。
/config场景想换个主题想修改默认的 AI 模型想配置 Vim 模式想管理 Hooks直接输入/config即可进入交互式界面进行设置。
/permissions- 权限管理工具白名单作用打开一个交互式菜单用于管理 AI 的工具白名单。
/permissions场景Claude Code 的设计哲学是安全优先。
默认情况下任何可能修改你系统的操作如写文件、执行 git commit都需要你手动批准。
对于你完全信任的高频操作/permissions允许你将其加入白名单从而实现**“一次授权永久自动执行”**。
这是在安全和效率之间找到平衡的关键。
/model [model]- 模型切换作用快速查看或切换当前会话使用的 AI 模型。
/model# 查看当前模型/model haiku# 切换到轻量级模型/model default# 切换到默认高级模型场景动态的成本与性能控制器。
任务类型推荐模型说明简单任务代码格式化haiku对应 glm-
5-air速度快、成本低复杂架构设计default对应 glm-
7推理能力强根据任务复杂度灵活切换优化成本与性能平衡。
项目与协作这类指令将 Claude Code 与你的开发工作流Git、GitHub 等深度集成实现 AI 驱动的协作开发。
/init- 项目初始化作用在当前目录自动生成一个 CLAUDE.md 文件的模板。
/init场景当你开始一个新项目或想为一个现有项目引入 AI 协作规范时这是最快的启动方式。
它为你提供了一个结构良好的起点你只需填充团队的具体规范即可。
/review- 代码审查作用这是一个内置的、专门用于请求代码Pull Request, PR审查的指令。
/review工作原理它通常会查找项目的 PR 列表通过github gh命令行工具并触发一个更专注、更细致的审查流程。
场景虽然你也可以用自然语言说请帮我审查代码但使用/review的意图更明确可能会让 AI 调用一个专门的审查 Sub-agent从而得到更专业的反馈。
/pr_comments- PR 评论查看作用获取并显示当前关联的 Pull Request 中的所有评论。
/pr_comments工作原理通过gh pr view --json number,headRepository命令获取 PR 评论。
场景当你在一个 PR 分支上工作但不想切换到浏览器去查看同事的审查意见时可以直接运行/pr_comments。
AI 会将所有评论拉取到你的终端并将其作为上下文。
紧接着你就可以说“根据上面的第二条评论帮我修改 main.go 文件。
”
元信息与帮助这类指令帮助你了解 Claude Code 本身的状态、能力边界和成本消耗。
/help- 帮助入口作用Claude Code 帮助的入口显示所有可用的 Slash Commands 列表包括内置的和所有自定义的。
/help# 查看帮助概览/helpcommand# 查看特定指令的详细说明场景任何时候当你忘记了一个指令的名字或者想探索一下当前项目或你的个人配置中又增加了哪些新能力时输入/help或直接输入/再按Tab总能给你答案。
/status- 状态面板作用快速显示一个包含 Claude Code版本、当前模型、账户信息和网络连接状态的状态面板。
/status场景当你感觉 AI 响应变慢或出现异常时/status可以帮你快速诊断问题。
例如你可以看到当前连接的 API 端点是否正确。
/doctor- 健康诊断作用运行一系列的自检程序检查 Claude Code 的安装是否健康依赖是否完整配置是否正确。
/doctor场景当你遇到一些无法解释的奇怪问题时运行/doctor就像是给 Claude Code 做了一次全身 CT。
它能帮你发现一些潜在的环境问题。
/cost和/usage- 成本与用量作用/cost显示当前会话的 Token 消耗和预估费用/usage显示你整个账户周期内的套餐用量和速率限制状态订阅用户可用/cost /usage场景/cost是你的单次任务成本计适合用来评估不同任务的开销/usage是你的账户总览仪表盘适合用来管理整体预算和 API 调用频率/feedback(or/bug) - 问题反馈作用打包当前会话的上下文已做脱敏处理并引导你到一个可以向官方报告 Bug 的流程。
/feedback /bug场景当你确信遇到了一个 Claude Code本身的 Bug而不是模型行为问题时使用它来帮助官方改进产品。
内置指令速查表参考文章7D-AI系列AI编程工具之Claude Code 命令集自定义指令把重复工作变成一键搞定核心理念把高频工作流封装成可复用的原子能力实现效率提升一次编写多次复用质量保证沉淀团队最佳实践知识传承将经验转化为可执行代码作用域级别级别路径作用范围Project 级.claude/commands/仅当前项目可用适合团队协作User 级~/.claude/commands/用户全局可用适合个人效率工具指令文件命名.claude/commands/ ├── code-review.md → /code-review ├── build-fix.md → /build-fix └── deploy-staging.md → /deploy-staging实战案例从零搭建代码审查流程需求团队要审查 JavaScript 代码需要检查分析代码结构理解代码组织、模块划分和依赖关系检查代码风格对照项目规范检查代码一致性评估架构设计验证分层架构和设计原则遵循情况审查测试覆盖检查测试文件的存在和质量安全审查识别潜在的安全漏洞性能评估分析性能瓶颈和优化机会生成报告按上述格式整理审查结果实现--- name: review-javascript-code description: 对 JavaScript/TypeScript 代码进行全面的代码审查关注代码质量、架构一致性、测试覆盖率和安全性 category: code-review args: path --- # JavaScript 代码审查命令 当用户运行 /review-javascript-code 命令时对指定的 JavaScript/TypeScript 代码进行全面的代码审查。
审查应关注代码质量、架构一致性、测试覆盖率和安全性。
## 审查范围 ###
代码风格与一致性 - 检查是否符合项目 CLAUDE.md 中定义的代码风格 - ES6 语法与现代 JavaScript 特性使用 - 描述性的变量和函数命名英文命名 - 复杂函数的 JSDoc 注释 - 文件命名约定类使用 PascalCase其他使用 camelCase - 函数纯度工具函数是否保持纯函数特性 ###
架构与设计原则 - 单一职责原则每个类/模块是否有明确、专注的职责 - 依赖注入是否通过构造函数注入依赖以提高可测试性 - 接口抽象是否使用接口定义契约参考 /src/interfaces/ - 不可变性模型是否使用不可变模式方法返回新实例 - 错误处理每层是否实现适当的错误处理模式 ###
测试策略 - 单元测试覆盖关键逻辑 - 属性测试对核心业务逻辑使用 fast-check 进行基于属性的测试 - 集成测试跨层交互的测试 - 测试覆盖率目标90% 语句覆盖率85% 分支覆盖率 - 测试文件组织按层组织测试文件 ###
安全性 - 输入验证所有用户输入是否经过适当验证 - XSS 防护DOM 操作是否安全 - 存储安全localStorage 使用是否安全敏感数据加密 - 依赖安全检查依赖包是否有已知漏洞 ###
性能 - 算法复杂度检查循环和递归的性能影响 - DOM 操作效率批量更新 vs 频繁单次更新 - 内存泄漏事件监听器是否正确清理 - 符合项目性能目标FCP
5秒LCP
5秒CLS
1FID 100ms ###
浏览器兼容性 - 检查 ES6 特性使用是否在目标浏览器支持范围内 - 功能检测是否对不支持的浏览器功能有降级方案 - Polyfill 使用是否必要且适当 ## 项目特定检查点 基于本项目 CLAUDE.md 中的指导原则 ### 分层架构一致性 - UI 层TaskListUI.js - 只负责渲染和用户交互 - 控制器层TaskController.js - 协调 UI 和业务逻辑 - 业务逻辑层TaskManager.js - 处理 CRUD 操作 - 数据模型层Task.js - 不可变的任务实体 - 存储层LocalStorageProvider.js - 存储抽象 ### 数据流
用户交互 → TaskListUI
TaskListUI → TaskController
TaskController → TaskManager
TaskManager → LocalStorageProvider
响应通过适当的错误处理沿链返回 ### AI 配置指导原则 - 以客户端为先的方法基于浏览器的解决方案 - 渐进增强理念 - 最小化依赖 - 清晰的架构模式 - 全面的测试策略 ## 审查输出格式使用以下 Markdown 格式输出审查结果# 代码审查报告 ## 摘要 - **审查文件**: [文件路径] - **总体评分**: [分数]/10 - **关键问题**: [数量] 个 - **改进建议**: [数量] 个 ## 详细发现 ### 关键问题必须修复 | 问题描述 | 位置 | 严重程度 | 修复建议 | |----------|------|----------|----------| | [描述] | [文件:行号] | 高/中/低 | [建议] | ### ⚠️ 改进建议推荐修复 | 建议描述 | 位置 | 影响 | 优先级 | |----------|------|------|--------| | [描述] | [文件:行号] | 高/中/低 | 高/中/低 | ### ✅ 良好实践 - [良好实践描述] ## 具体建议 ### 代码风格 - [具体建议] ### 架构设计 - [具体建议] ### 测试覆盖 - [具体建议] ### 安全性 - [具体建议] ### 性能 - [具体建议] ## 后续步骤
[优先修复的关键问题]
[推荐的改进项]
[长期架构优化]原理解读.claude/commands/review-javascript-code.md 审查原理简要
总结 核心原理 这是一个结构化代码审查框架通过标准化的审查流程和项目特定的检查点对JavaScript/TypeScript代码进行全面的质量评估。
核心组成部分
结构化指令格式 - YAML Frontmatter定义命令元数据名称、描述、分类、参数 - Markdown内容提供详细的审查指导和规范
六大审查维度
代码风格与一致性 - 遵循项目规范、现代语法、命名约定
架构与设计原则 - 单一职责、依赖注入、接口抽象、不可变性、错误处理
测试策略 - 单元测试、属性测试、集成测试、覆盖率目标
安全性 - 输入验证、XSS防护、存储安全、依赖安全
性能 - 算法复杂度、DOM操作、内存管理、性能指标
浏览器兼容性 - ES6支持、功能检测、Polyfill使用
项目特定适配 - 基于项目CLAUDE.md指导原则 - 验证分层架构一致性UI→Controller→Manager→Model→Storage - 确保数据流符合预期路径
标准化输出 - 结构化Markdown报告格式 - 问题分类关键问题、⚠️改进建议、✅良好实践 - 具体位置引用文件:行号格式
七步审查流程 分析代码结构 → 检查代码风格 → 评估架构设计 → 审查测试覆盖 → 安全审查 → 性能评估 → 生成报告 工作原理
命令解析Claude Code解析Frontmatter获取命令配置
参数验证验证提供的文件/目录路径参数
范围应用按照六大审查维度逐一检查代码
架构验证对照项目特定检查点验证分层架构
问题分类将发现的问题按严重程度分类
报告生成使用标准模板输出结构化审查报告 设计特点 - 从宏观到微观先分析整体结构再检查具体细节 - 平衡通用与特定结合通用审查标准和项目特定要求 - 风险优先安全性审查在性能优化之前 - 可操作输出每个问题都提供具体修复建议 - 肯定良好实践不仅指出问题也肯定优秀实现 本质 这是一个代码质量保证系统通过系统化的检查清单和标准化的报告格式确保代码符合最佳实践和项目规范最终提升代码的可维护性、安全性、性能 和可靠性。
执行效果一次命令完成所有检查输出统一的审查报告。
❯ /review-javascript-code src/ ⏺ 我将对 src/ 目录进行全面的JavaScript代码审查。
让我先读取所有相关文件。
⏺ Searchedfor2patterns,read7files(ctrlo toexpand)⏺ 现在我已经读取了所有主要的JavaScript文件。
让我进行全面的代码审查。
代码审查报告 摘要 - 审查文件: src/ 目录下的所有JavaScript文件共10个文件 - 总体评分:
5/10 - 关键问题:2个 - 改进建议:7个 详细发现 关键问题必须修复 问题描述: 缺少输入清理存在潜在的XSS风险 位置: src/components/TaskListUI.js:171 严重程度: 高 修复建议: 使用textContent替代innerHTML或对用户输入进行HTML实体编码 ──────────────────────────────────────── 问题描述: 删除按钮使用innerHTML插入表情符号存在安全风险 位置: src/components/TaskListUI.js:189 严重程度: 中 修复建议: 使用Unicode字符或CSS图标替代innerHTML ⚠️ 改进建议推荐修复 ┌──────────────────────────────────────────┬──────────────────────────────────────┬──────┬────────┐ │ 建议描述 │ 位置 │ 影响 │ 优先级 │ ├──────────────────────────────────────────┼──────────────────────────────────────┼──────┼────────┤ │ 缺少TypeScript类型定义影响代码可维护性 │ 所有文件 │ 高 │ 高 │ ├──────────────────────────────────────────┼──────────────────────────────────────┼──────┼────────┤ │ 硬编码的中文界面文本缺少国际化支持 │ src/components/TaskListUI.js:
│ 中 │ 中 │ ├──────────────────────────────────────────┼──────────────────────────────────────┼──────┼────────┤ │ 缺少详细的JSDoc类型定义 │ src/managers/TaskManager.js:13 │ 低 │ 中 │ ├──────────────────────────────────────────┼──────────────────────────────────────┼──────┼────────┤ │ 缺少错误边界处理可能导致UI崩溃 │ src/components/TaskListUI.js:
│ 中 │ 高 │ ├──────────────────────────────────────────┼──────────────────────────────────────┼──────┼────────┤ │ 缺少性能监控和指标收集 │ 所有文件 │ 低 │ 低 │ ├──────────────────────────────────────────┼──────────────────────────────────────┼──────┼────────┤ │ 缺少依赖包安全扫描 │ package.json │ 中 │ 中 │ ├──────────────────────────────────────────┼──────────────────────────────────────┼──────┼────────┤ │ 缺少浏览器兼容性测试 │ 所有文件 │ 中 │ 中 │ └──────────────────────────────────────────┴──────────────────────────────────────┴──────┴────────┘ ✅ 良好实践 - 清晰的分层架构严格遵循UI-Controller-Manager-Model-Storage分层架构 - 完整的接口抽象src/interfaces/目录定义了清晰的契约接口 - 不可变性实现src/models/Task.js正确实现了不可变模式 - 全面的错误处理每层都有适当的错误处理机制 - 依赖注入通过构造函数注入依赖提高可测试性 - 全面的测试覆盖包含单元测试、属性测试和集成测试 - 良好的代码风格使用ES6语法清晰的JSDoc注释一致的命名约定 - 可访问性支持UI组件包含ARIA属性和键盘导航支持 具体建议 代码风格 - 优点所有文件使用ES6语法类使用PascalCase方法使用camelCaseJSDoc注释完整 - 改进考虑添加ESLint配置确保代码风格一致性添加Prettier进行自动格式化 架构设计 - 优点分层架构清晰接口抽象完整依赖注入正确实现 - 改进考虑添加依赖注入容器简化依赖管理添加中间件支持扩展性 测试覆盖 - 优点测试文件组织良好包含单元测试、属性测试和集成测试 - 改进添加端到端测试E2E添加性能测试添加安全测试 安全性 - 优点输入验证完整存储数据验证严格错误处理全面 - 改进修复XSS风险添加CSP内容安全策略添加敏感数据加密 性能 - 优点使用Map进行内存缓存批量DOM更新算法复杂度合理 - 改进添加虚拟滚动支持大量任务添加性能监控添加懒加载 后续步骤
优先修复的关键问题
修复XSS安全漏洞在src/components/TaskListUI.js:171和189处修复innerHTML使用
添加错误边界在UI渲染方法中添加try-catch防止崩溃
推荐的改进项
添加TypeScript支持逐步迁移到TypeScript提高类型安全性
国际化支持提取界面文本到资源文件支持多语言
依赖安全扫描添加npm audit或Snyk进行依赖包安全扫描
浏览器兼容性测试添加BrowserStack或Sauce Labs测试
长期架构优化
状态管理考虑添加状态管理库如Redux或MobX管理复杂状态
服务端渲染添加SSR支持SEO和首屏性能
PWA支持添加Service Worker和Web App Manifest支持离线使用
微前端架构如果应用规模扩大考虑微前端架构 详细分析 架构一致性评估 项目严格遵循了CLAUDE.md中定义的分层架构
UI层(TaskListUI.js)只负责渲染和用户交互 ✅
控制器层(TaskController.js)协调UI和业务逻辑 ✅
业务逻辑层(TaskManager.js)处理CRUD操作 ✅
数据模型层(Task.js)不可变的任务实体 ✅
存储层(LocalStorageProvider.js)存储抽象 ✅ 数据流验证 数据流符合预期设计
用户交互 → TaskListUI.js ✅
TaskListUI.js → TaskController.js ✅
TaskController.js → TaskManager.js ✅
TaskManager.js → LocalStorageProvider.js ✅
响应通过适当的错误处理沿链返回 ✅ AI配置指导原则符合度 - 以客户端为先的方法完全基于浏览器的解决方案 ✅ - 渐进增强理念错误处理和降级方案完善 ✅ - 最小化依赖仅使用必要工具Vite、Jest、fast-check ✅ - 清晰的架构模式分层架构严格执行 ✅ - 全面的测试策略测试覆盖率全面 ✅ 代码质量亮点
不可变性Task.js中的toggle()和update()方法正确返回新实例
错误处理每层都有适当的错误处理包括存储空间不足等边缘情况
接口抽象src/interfaces/目录定义了清晰的契约
测试全面性包含边界条件测试和基于属性的测试
可访问性UI组件包含ARIA属性和键盘导航支持 安全评估
输入验证任务描述验证完整长度、空值检查
存储安全localStorage数据验证严格包含版本控制和格式验证
XSS防护存在改进空间需要修复innerHTML使用
错误处理全面的错误处理防止信息泄露 性能评估
算法复杂度任务排序使用O(n log n)算法合理
DOM操作批量渲染避免频繁单次更新
内存管理使用Map进行内存缓存事件监听器正确清理
性能目标符合FCP
5秒LCP
5秒等目标
总结 这是一个高质量的JavaScript项目展现了优秀的架构设计和代码实践。
项目在以下方面表现突出
架构设计清晰的分层架构严格的接口抽象
代码质量良好的代码风格完整的错误处理
测试策略全面的测试覆盖包括属性测试
可维护性良好的模块划分清晰的依赖关系 主要需要关注的安全问题是XSS防护建议优先修复。
长期来看添加TypeScript支持和国际化将进一步提升项目质量。
总体评价这是一个可以作为JavaScript最佳实践示例的优秀项目展现了现代前端开发的良好实践。
总结Slash Commands 是你将 AI 原生开发理念落地的第一块、也是最重要的一块基石。
它让你能够开始“编程”AI将你的智慧和经验转化为 AI 可以理解和执行的指令。
然而我们今天创建的指令其能力边界仍然受限于 Claude Code 的内置工具集和我们授权的 Shell 命令。
从今天开始别再只会问 AI 了。
试着写一个自定义指令把你重复做的事情自动化。
相信我一旦你尝到甜头就回不去了。