深入理解claude-code-best-practice:Commands、Skills与Agents核心概念解析
claude-code-best-practice是一个专注于提升Claude Code使用效率的开源项目,通过Commands(命令)、Skills(技能)和Agents(代理)三大核心组件,帮助用户构建高效的工作流程。本文将深入解析这三个核心概念,让你快速掌握它们的区别与应用场景。## 核心概念概览:Commands、Skills与AgentsClaude Code的三大核心组件构成了
深入理解claude-code-best-practice:Commands、Skills与Agents核心概念解析
claude-code-best-practice是一个专注于提升Claude Code使用效率的开源项目,通过Commands(命令)、Skills(技能)和Agents(代理)三大核心组件,帮助用户构建高效的工作流程。本文将深入解析这三个核心概念,让你快速掌握它们的区别与应用场景。
核心概念概览:Commands、Skills与Agents
Claude Code的三大核心组件构成了其强大的扩展机制,它们各自具有独特的定位和用途:
三者的核心区别
| 特性 | Agent(代理) | Command(命令) | Skill(技能) |
|---|---|---|---|
| 存储位置 | .claude/agents/<name>.md |
.claude/commands/<name>.md |
.claude/skills/<name>/SKILL.md |
| 上下文 | 独立的子代理进程 | 内联(主对话中) | 内联(主对话中) |
| 用户调用 | 不可通过/菜单调用 |
可通过/command-name调用 |
可通过/skill-name调用(除非设置user-invocable: false) |
| 自动调用 | 是(通过description字段) |
否 | 是(通过description字段,除非设置disable-model-invocation: true) |
| 上下文隔离 | 是(独立上下文) | 否(共享主上下文) | 可选(设置context: fork实现隔离) |
何时使用Commands(命令)
Commands是用户显式触发的工作流程入口点,存储在.claude/commands/目录下,采用Markdown格式。它们是用户主动发起操作的主要方式。
命令的典型应用场景
- 需要用户显式触发的工作流程
- 编排其他代理或技能的复杂操作
- 希望保持上下文精简(命令内容在触发前不会注入会话)
命令的核心配置(Frontmatter)
---
description: 执行有用的操作
argument-hint: [issue-number]
allowed-tools: Read, Edit, Bash(gh *)
model: sonnet
---
常用官方命令
Claude Code提供了60多个内置命令,覆盖认证、配置、上下文管理等多个方面:
/login- 通过OAuth认证Claude Code/config- 打开交互式设置界面/context- 可视化当前上下文使用情况/help- 显示命令帮助/skills- 列出可用技能
何时使用Skills(技能)
Skills是可重用的程序,存储在.claude/skills/目录下,设计用于被Claude自动或手动调用。它们是Claude Code生态系统中的基础构建块。
技能的典型应用场景
- 希望Claude能基于用户意图自动调用
- 需要在多个地方(命令、代理或直接调用)重用的功能
- 需要预加载到代理中的领域知识
技能的核心配置(Frontmatter)
---
name: my-skill
description: 当用户请求...时执行特定操作
argument-hint: [file-path]
disable-model-invocation: false
user-invocable: true
allowed-tools: Read, Grep, Glob
model: sonnet
context: fork
agent: general-purpose
---
官方内置技能
Claude Code提供了5个官方技能:
simplify- 代码简化与重构batch- 批量处理多个文件debug- 调试命令或代码问题loop- 定期执行命令claude-api- 构建Claude API应用
何时使用Agents(代理)
Agents是自主运行的子进程,存储在.claude/agents/目录下,具有独立的上下文和内存,适合执行复杂的多步骤任务。
代理的典型应用场景
- 需要自主执行的多步骤任务
- 需要上下文隔离的工作
- 需要跨会话持久化内存的场景
- 需要预加载领域知识的任务
- 需要在后台运行的操作
代理的核心配置(Frontmatter)
---
name: my-agent
description: 当需要...时主动使用此代理
tools: Read, Write, Edit, Bash
model: sonnet
maxTurns: 10
permissionMode: acceptEdits
memory: user
skills:
- my-skill
---
实际应用架构:Command → Agent → Skill
在实际应用中,这三个组件通常协同工作,形成一个层次化的工作流:
用户触发 /command
↓
命令编排工作流程
↓
命令调用Agent(独立上下文,自主运行)
↓
Agent使用预加载的Skill(领域知识)
↓
命令调用Skill(内联,用于生成输出)
天气查询系统示例
/weather-orchestrator(命令 — 入口点,询问温度单位偏好)
↓
weather-agent(代理 — 自主获取温度数据)
├── weather-fetcher(代理技能 — 预加载的API指令)
↓
weather-svg-creator(技能 — 内联创建SVG天气卡片)
自动调用优先级
当多个组件都能匹配用户意图时,Claude会优先选择最轻量级的选项:
- Skill(技能) - 内联运行,无上下文开销(优先选择)
- Agent(代理) - 独立上下文,自主运行(技能不可用时)
- Command(命令) - 需显式调用(仅用户输入
/command时)
总结
通过合理运用Commands、Skills和Agents,你可以构建强大而灵活的工作流程。记住:
- Commands 是用户触发的入口点
- Skills 是可重用的功能块,支持自动调用
- Agents 是自主运行的子进程,适合复杂任务
要开始使用claude-code-best-practice,只需克隆仓库:
git clone https://gitcode.com/gh_mirrors/cl/claude-code-best-practice
更多推荐




所有评论(0)