Skills 与其他功能的关系
主代理、插件与 MCP 的协同方式
Claude Code 提供多种功能来增强开发体验,Skills 是其中的重要组成部分。理解 Skills 与其他功能的关系,有助于更好地利用整个生态系统。
Skills 与主代理
关系概述
Skills 是主代理(Main Agent)的可调用组件,主代理负责协调 Skills 的生命周期、上下文传递与结果整合。
交互模式
主动调用:主代理根据任务需求选择 Skills。
## 场景:代码审查
### 主代理决策流程
1. 识别任务:需要审查代码
2. 选择 Skill:调用“代码审查 Skill”
3. 传递上下文:提供代码文件和审查标准
4. 接收结果:获取审查报告
5. 整合输出:将结果呈现给用户被动调用:用户明确指定 Skill。
claude --skill code-review src/main.py嵌套调用:Skills 相互调用形成执行链。
## 场景:部署流程
### 部署 Skill 调用链
└─> 测试 Skill
└─> 代码分析 Skill
└─> 文档检查 Skill协作机制
上下文共享:主代理和 Skills 共享上下文信息。
### 共享的上下文
- 用户请求
- 项目结构
- 文件内容
- 配置信息
- 执行历史结果整合:主代理合并多个 Skills 输出。
### 结果整合示例
任务:生成完整的 API 文档
1. 调用“API 文档生成 Skill”
2. 调用“代码分析 Skill”获取接口定义
3. 调用“文档格式检查 Skill”
4. 整合所有结果生成最终文档错误处理:主代理负责捕获与恢复。
### 错误处理流程
1. 捕获 Skill 执行错误
2. 记录错误信息
3. 尝试备用 Skill 或回退策略
4. 向用户报告错误Skills 与插件
关系概述
Skills 注重灵活性与快速开发,插件强调性能与精确控制。
主要区别
| 特性 | Skills | 插件 |
|---|---|---|
| 定义语言 | 自然语言 | 编程语言 |
| 示例驱动 | 是 | 否 |
| 灵活性 | 高 | 中 |
| 学习曲线 | 低 | 高 |
| 开发速度 | 快 | 慢 |
| 维护成本 | 低 | 高 |
执行方式
## Skills 执行
- 通过主代理调用
- 基于自然语言理解
- 动态解释执行
- 上下文感知
## 插件执行
- 通过插件系统加载
- 编译后的代码
- 直接执行
- 性能优化性能特征
## Skills 性能
- 解释执行
- 需要大语言模型调用
- 适合复杂逻辑与灵活任务
- 响应时间:100-500ms
## 插件性能
- 编译执行
- 直接调用
- 适合性能敏感任务
- 响应时间:10-100ms协作场景
互补使用:Skills 分析,插件执行。
## 场景:代码格式化
### 组合使用
1. Skill:代码分析(理解结构)
2. 插件:格式化工具(快速执行)
3. Skill:结果验证(确保正确)插件提供工具:插件为 Skills 提供高性能能力。
## 插件为 Skills 提供工具
### 插件:数据库工具
- 提供 `query_database` 工具
- 高性能数据访问
### Skill:数据迁移
- 调用 `query_database`
- 执行迁移逻辑
- 处理业务规则Skills 调用插件:组合完成复杂任务。
## Skill: 部署应用
### 执行步骤
1. 调用插件:代码打包
2. 调用插件:镜像构建
3. 调用插件:部署到服务器
4. Skill:验证部署结果选择指南
使用 Skills 的情况:
- 需要灵活性与适应性
- 任务逻辑复杂且多变
- 需要理解自然语言
- 快速原型开发
- 知识封装与传递
- 业务规则频繁变化
使用插件的情况:
- 性能要求高
- 需要精确控制
- 与外部系统集成
- 复杂数据处理
- 长期维护的功能
- 性能敏感操作
Skills 与 MCP 服务器
关系概述
MCP(Model Context Protocol)服务器为 Skills 提供外部数据和工具访问能力。
交互模式
数据访问:
## 场景:代码审查(使用 GitHub MCP)
### Skill: 代码审查
### 执行流程
1. 调用 GitHub MCP 获取代码仓库信息
2. 分析代码提交历史
3. 识别潜在问题
4. 生成审查报告工具调用:
## 场景:错误监控(使用 Sentry MCP)
### Skill: 错误分析
### 执行流程
1. 调用 Sentry MCP 获取错误数据
2. 分析错误模式
3. 识别根本原因
4. 提供修复建议资源利用:
## 场景:数据分析(使用数据库 MCP)
### Skill: 数据分析
### 执行流程
1. 调用数据库 MCP 执行查询
2. 处理查询结果
3. 生成可视化报告
4. 提供业务洞察集成优势
- 扩展能力:访问外部系统与服务
- 标准化接口:统一交互方式
- 安全性:集中处理鉴权
- 性能优化:提升数据传输效率
- 可扩展性:易于接入新系统
Skills 与工具调用
关系概述
Skills 是工具调用的组织与编排者,通过组合多个工具完成复杂任务。
工具调用层次
基础工具:
## 基础工具
- Read:读取文件
- Write:写入文件
- Edit:编辑文件
- SearchCodebase:搜索代码
- RunCommand:执行命令
- ...工具组合:
## Skill: 重构代码
### 工具组合
1. Read:读取原始代码
2. SearchCodebase:查找相关代码
3. Edit:修改代码
4. RunCommand:运行测试
5. Write:保存结果高级抽象:
## 高级抽象
### 用户视角
“重构这个函数”
### Skill 视角
1. 分析函数结构
2. 查找相关依赖
3. 应用重构模式
4. 验证重构结果工具调用模式
顺序调用:
## 场景:创建新功能
### 顺序调用
1. Read:读取现有代码
2. SearchCodebase:查找类似功能
3. Write:创建新文件
4. Edit:添加功能
5. RunCommand:运行测试条件调用:
## 场景:代码检查
### 条件调用
1. RunCommand:运行测试
2. 如果测试失败:
- Read:读取错误信息
- Edit:修复代码
- RunCommand:重新测试
3. 如果测试成功:继续下一步循环调用:
## 场景:批量更新
### 循环调用
1. Read:读取文件列表
2. 对于每个文件:
- Read:读取内容
- Apply:应用转换
- Write:写入结果并行调用:
## 场景:多文件分析
### 并行调用
1. 同时读取多个文件
2. 并行分析文件内容
3. 合并分析结果Skills 与斜杠命令
关系概述
斜杠命令是 Skills 的快捷入口,提供更快的交互方式。
命令映射
/skill code-review
# 等价于
claude --skill code-review参数传递
/skill code-review --file src/main.py --standard PEP8
# 等价于
claude --skill code-review --file src/main.py --standard PEP8命令别名
/code-review src/main.py
# 等价于
/skill code-review src/main.py交互优势
## 斜杠命令的优势
- 快速访问:无需完整命令
- 简化交互:减少输入
- 上下文感知:自动获取当前上下文
- 历史记录:快速重复调用交互式调用
/skill code-review
# 提示输入参数
# 输入:src/main.py
# 输入:PEP8
# 执行审查常用别名
## 常用别名
### 代码审查
/skill cr → /skill code-review
### 文档生成
/skill doc → /skill generate-docs
### 测试生成
/skill test → /skill generate-tests命令补全
## 命令补全功能
### 输入
/skill co<TAB>
### 补全为
/skill code-reviewSkills 与配置系统
关系概述
Skills 可读取配置系统以实现个性化行为。
配置类型
全局配置:
# .claude/config.yaml
skills:
code-review:
strictness: high
include_security: true
max_issues: 100项目配置:
# .claude/project.yaml
skills:
code-review:
custom_rules:
- no_print_statements
- type_hints_required
ignore_patterns:
- "*/tests/*"
- "*/migrations/*"用户配置:
# ~/.claude/user.yaml
skills:
code-review:
preferred_style: pep8
output_format: markdown
auto_fix: false配置优先级
## 配置优先级(从高到低)
1. 命令行参数
2. 项目配置
3. 用户配置
4. 全局配置配置读取流程
## Skill: 代码审查
### 配置读取
1. 读取全局配置
2. 读取用户配置
3. 读取项目配置
4. 应用命令行参数
5. 合并配置Skills 与记忆系统
关系概述
Skills 可以利用记忆系统存储与检索信息,实现跨会话知识积累。
记忆类型
## 项目记忆内容
- 项目结构
- 代码风格
- 常用模式
- 技术栈
- 团队规范## 用户记忆内容
- 偏好设置
- 历史操作
- 常用命令
- 学习进度
- 问题记录## Skill 记忆内容
- 执行历史
- 性能数据
- 错误记录
- 优化建议
- 使用统计记忆使用
## Skill: 代码生成
### 学习模式
1. 记录用户的代码风格
2. 分析常用模式
3. 生成符合用户习惯的代码
4. 持续优化建议## Skill: 继续工作
### 上下文恢复
1. 读取项目记忆
2. 恢复之前的工作状态
3. 继续未完成的任务
4. 保持工作连续性## Skill: 代码建议
### 智能建议
1. 分析历史操作
2. 识别常见问题
3. 提供个性化建议
4. 预测用户需求Skills 与钩子系统
关系概述
Skills 可与钩子系统集成,在特定事件触发时自动执行。
钩子类型
前置钩子:
## 前置钩子示例
### 事件:文件保存
### 钩子:代码格式化
### Skill: 自动格式化
### 执行流程
1. 用户保存文件
2. 触发前置钩子
3. 执行格式化 Skill
4. 保存格式化后的文件后置钩子:
## 后置钩子示例
### 事件:代码提交
### 钩子:文档更新
### Skill: 更新文档
### 执行流程
1. 用户提交代码
2. 触发后置钩子
3. 执行文档更新 Skill
4. 提交更新后的文档错误钩子:
## 错误钩子示例
### 事件:测试失败
### 钩子:错误分析
### Skill: 错误诊断
### 执行流程
1. 测试失败
2. 触发错误钩子
3. 执行错误诊断 Skill
4. 提供修复建议钩子配置
# .claude/hooks.yaml
hooks:
pre-commit:
- skill: code-review
args:
strict: true
- skill: format-code
post-commit:
- skill: update-changelog
- skill: notify-team
test-failure:
- skill: diagnose-error
- skill: suggest-fix总结
Skills 与 Claude Code 的其他功能紧密集成,形成强大的开发生态系统。理解这些关系有助于选择合适的功能组合、无缝集成现有工作流,并通过协同机制提升效率与能力。