command vs skills
claude code几乎是软件工程师的开发必备了,但是使用过程中,有时会有一些困惑,比如command和skills好像是类似的,如何进行区分呢,进行简要介绍一下。命令(Commands)和技能(Skills)最初在 Claude Code 中是两个不同的机制,但在版本 2.1.3 中已被统一,现在主要区别是组织结构,而不是行为或能力。命令(Commands)和技能(Skills)的原始差异:C
rag系列文章目录
前言
claude code几乎是软件工程师的开发必备了,但是使用过程中,有时会有一些困惑,比如command和skills好像是类似的,如何进行区分呢,进行简要介绍一下。
一、简介
命令(Commands)和技能(Skills)最初在 Claude Code 中是两个不同的机制,但在版本 2.1.3 中已被统一,现在主要区别是组织结构,而不是行为或能力。
命令(Commands)和技能(Skills)的原始差异:
Commands
- 通常是单个 Markdown 文件(位于 .claude/commands/)。
- 显式调用,用户触发,如 /deploy、/commit。
- 用于 可控、即时执行的具体操作(有副作用或需要确定时机)。
- 命令本质上是可重复、确定性的快捷方式。
Skills
- 原来是目录结构(.claude/skills//SKILL.md + 支撑文件)。
- Claude 可基于上下文 自动识别加载 与执行。
- 用于封装领域知识、模板、脚本、检查表等。
- 强调 智能增强 而不是显式命令。
Commands:你说 “做什么”,立即执行
Skills:Claude 知道 “做什么和何时做”,基于上下文主动加载
统一与变更(v2.1.3)
- v2.1.3 之后,两者在执行层面已合并:
- .claude/commands/.md 和 .claude/skills//SKILL.md 都会注册同样的 /名称。
- 都支持手动调用和自动发现。
- 真正的区别只剩下组织层次:
- 命令 = 单文件、简单工作流
- 技能 = 目录 + 支撑资源、复杂/完整工作流
无论哪种模式,最终都是创建 slash 命令(CLI 触发点)。
二、使用场景
选择哪种方式主要看工作流复杂度:
| 场景 | 选用 | 理由 |
|---|---|---|
| 单一步骤或简单逻辑 | command(单文件) | 表达清晰、无辅助资源 |
| 多文件、模板、脚本、检查表 | 技能skill(目录) | 可组织支撑资源 |
| 一致性要求高的流程 | 技能/命令任选 | 两者行为相同 |
实际示例
command:
# .claude/commands/quick-review.md
---
description: Quick code review focusing on obvious issues
---
Review the current file for:
- Syntax errors or typos
- Missing error handling
- Hardcoded values that should be config
- Console logs left in production code
skills:
.claude/skills/code-review/
├── SKILL.md
├── checklist.md
└── severity-guide.md
三、skills两种方式
上面说了skills和command的区别,现在再说下,skills的两种使用方式,能够更好地帮助理解。
1、技能作为“完整工作流包”
- 技能目录内包含整个流程所需的所有文件和资源。
- 手动调用时,一次性执行整个流程,无需额外上下文。
- 适合多步骤、复杂逻辑的任务,尤其是需要复用模板、检查表、辅助文件时。
- 组织方式通常是:
.claude/skills/<skill-name>/
├── SKILL.md # 主文件,描述逻辑
├── support-file1.md # 模板或参考
├── support-file2.md
└── config.json # 可选配置
任务:代码审查工作流(多步骤)
.claude/skills/code-review/
├── SKILL.md
├── checklist.md
├── severity-guide.md
SKILL.md
---
description: Comprehensive code review workflow
---
Steps:
1. Load checklist.md for standard checks
2. Check severity levels from severity-guide.md
3. Summarize findings and suggest improvements
2、技能作为“支持知识库”
- 这些技能不直接作为命令触发,而是被 Claude 根据上下文自动加载。
- 提供知识或规则支持其他命令的执行,例如风格指南、模板、标准操作步骤。
- 适合频繁辅助不同命令的场景,而无需每次手动触发。
任务:在多个命令中提供统一的代码风格检查
.claude/skills/code-style/
├── SKILL.md
└── style-guide.md
skill.md文件
---
description: Provide coding style guidance to other commands
---
Use style-guide.md to:
- Check naming conventions
- Ensure consistent indentation
- Validate comment standards
使用场景:
- /quick-review 命令执行代码快速检查时,Claude 会自动引用 code-style 技能,检查命名和缩进是否符合规范。
- /deploy 命令可能也会引用相同技能,确保提交代码符合风格要求。
| 模式 | 触发方式 | 内容组织 | 使用场景 | 优点 |
|---|---|---|---|---|
| 完整工作流包 | 手动调用 | 技能目录 + 多文件 | 多步骤任务或自动化流程 | 一次性执行完整逻辑,易维护 |
| 支持知识库 | 自动加载 | 规则、模板、参考文件 | 命令辅助、知识增强 | 提供一致性、无需显式触发 |
总结
简而言之,就是简单的频繁的有固定操作流程的任务,你使用command,相对复杂的需要多个文件的,建议使用skills。虽然它们现在是统一的,建议还是根据场景,将其分开使用,不可都使用一个。
更多推荐





所有评论(0)