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-review

Skills 与配置系统

关系概述

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 的其他功能紧密集成,形成强大的开发生态系统。理解这些关系有助于选择合适的功能组合、无缝集成现有工作流,并通过协同机制提升效率与能力。

On this page