Skip to content

14.3 Skills 與其他功能的關係

Claude Code 功能生態系統

Claude Code 提供了多種功能來增強開發體驗,Skills 是其中的重要組成部分。理解 Skills 與其他功能的關係,有助於更好地利用整個生態系統。

Skills 与主代理

关系概述

Skills 是主代理(Main Agent)的可呼叫元件,主代理負責協調和呼叫 Skills 來完成特定任務。主代理作為核心協調者,管理 Skills 的生命週期、上下文傳遞和結果整合。

交互模式

1. 主动调用

主代理根據任務需求主動選擇和呼叫 Skills:

    markdown


    ## 场景:代码审查

    ### 主代理决策流程
    1. 识别任务:需要审查代码
    2. 选择 Skill:调用"代码审查 Skill"
    3. 传递上下文:提供代码文件和审查标准
    4. 接收结果:获取审查报告
    5. 整合输出:将结果呈现给用户

#### 2\. 被动调用

使用者明確指定使用某個 Skill:

    bash


    claude --skill code-review src/main.py

#### 3\. 嵌套调用

Skills 可以呼叫其他 Skills,形成複雜的任務執行鏈:

    markdown


    ## 场景:部署流程
    ### 部署 Skill 调用链

    └─> 测试 Skill
        └─> 代码分析 Skill
            └─> 文档检查 Skill

### 协作机制

#### 上下文共享

主代理和 Skills 共享上下文資訊,確保任務執行的連貫性:

    markdown


    ### 共享的上下文
    - 用户请求
    - 项目结构
    - 文件内容
    - 配置信息
    - 执行历史

#### 结果整合

主代理整合多個 Skills 的結果,形成統一的輸出:

    markdown


    ### 结果整合示例
    任务:生成完整的 API 文档

    1. 调用"API 文档生成 Skill"
    2. 调用"代码分析 Skill"获取接口定义
    3. 调用"文档格式检查 Skill"
    4. 整合所有结果生成最终文档

#### 错误处理

主代理處理 Skills 的錯誤,確保任務的魯棒性:

    markdown


    ### 错误处理流程
    1. 捕获 Skill 执行错误
    2. 记录错误信息
    3. 尝试备用 Skill 或回退策略
    4. 向用户报告错误

## Skills 与插件

### 关系概述

Skills 和外掛都是擴充套件 Claude Code 功能的方式,但它們有不同的設計理念和應用場景。Skills 注重靈活性和快速開發,而外掛注重效能和精確控制。

主要区别

1. 定义方式

特性Skills外掛

定義語言| 自然語言| 程式語言 示例驅動| 是| 否 靈活性| 高| 中 學習曲線| 低| 高 開發速度| 快| 慢 維護成本| 低| 高

#### 2\. 执行方式

    markdown


    ## Skills 执行
    - 通过主代理调用
    - 基于自然语言理解
    - 动态解释和执行
    - 上下文感知

    ## 插件执行
    - 通过插件系统加载
    - 编译后的代码
    - 直接执行
    - 性能优化

#### 3\. 性能特征

    markdown


    ## Skills 性能
    - 解释执行
    - 需要大语言模型调用
    - 适合复杂逻辑和灵活任务
    - 响应时间:100-500ms

    ## 插件性能
    - 编译执行
    - 直接调用
    - 适合性能敏感任务
    - 响应时间:10-100ms

### 协作场景

#### 1\. 互补使用

Skills 和外掛可以協同工作,發揮各自優勢:

    markdown


    ## 场景:代码格式化
    ### 组合使用

    1. Skill:代码分析(理解代码结构)
    2. 插件:格式化工具(快速执行)
    3. Skill:结果验证(确保格式正确)

#### 2\. 插件提供工具

外掛可以為 Skills 提供額外的工具:

    markdown


    ## 插件为 Skills 提供工具

    ### 插件:数据库工具
    - 提供 `query_database` 工具
    - 高性能数据访问

    ### Skill:数据迁移
    - 调用插件的 `query_database` 工具
    - 执行数据迁移逻辑
    - 处理复杂业务规则

#### 3\. Skills 调用插件

Skills 可以呼叫外掛的功能,實現複雜任務:

    markdown


    ## Skill: 部署应用
    ### 执行步骤
    1. 调用插件:代码打包
    2. 调用插件:镜像构建
    3. 调用插件:部署到服务器
    4. Skill:验证部署结果

### 选择指南

#### 使用 Skills 的情况


  * 需要靈活性和適應性
  * 任務邏輯複雜且多變
  * 需要理解自然語言
  * 快速原型開發
  * 知識封裝和傳遞
  * 業務規則經常變化

#### 使用外掛的情況


  * 效能要求高
  * 需要精確控制
  * 與外部系統整合
  * 複雜的資料處理
  * 長期維護的功能
  * 效能敏感的操作

## Skills 与 MCP 服务器

### 关系概述

MCP(Model Context Protocol)伺服器為 Skills 提供外部資料和工具訪問能力,使 Skills 能夠與各種外部系統整合。

交互模式

1. 数据访问

Skills 透過 MCP 伺服器訪問外部資料:

    markdown


    ## 场景:代码审查(使用 GitHub MCP)

    ### Skill: 代码审查

    ### 执行流程
    1. 调用 GitHub MCP 获取代码仓库信息
    2. 分析代码提交历史
    3. 识别潜在问题
    4. 生成审查报告

#### 2\. 工具调用

Skills 透過 MCP 伺服器呼叫外部工具:

    markdown


    ## 场景:错误监控(使用 Sentry MCP)
    ### Skill: 错误分析
    ### 执行流程
    1. 调用 Sentry MCP 获取错误数据
    2. 分析错误模式
    3. 识别根本原因
    4. 提供修复建议

#### 3\. 资源利用

Skills 利用 MCP 伺服器的資源:

    markdown


    ## 场景:数据分析(使用数据库 MCP)

    ### Skill: 数据分析

    ### 执行流程
    1. 调用数据库 MCP 执行查询
    2. 处理查询结果
    3. 生成可视化报告
    4. 提供业务洞察

### 集成优势

#### 1\. 扩展能力

MCP 伺服器擴充套件了 Skills 的能力範圍,使其能夠訪問各種外部系統和服務。

2. 標準化介面

MCP 提供標準化的介面,使 Skills 能夠以統一的方式與不同的外部系統互動。

3. 安全性

MCP 伺服器處理身份驗證和授權,確保 Skills 安全地訪問外部資源。

4. 效能最佳化

MCP 伺服器最佳化了資料傳輸和處理,提高了 Skills 的執行效率。

5. 可擴充套件性

透過 MCP 伺服器,Skills 可以輕鬆整合新的外部系統和服務。

Skills 与工具调用

关系概述

Skills 是工具呼叫的組織和編排者,透過組合和協調多個工具呼叫來完成複雜任務。Skills 將低階工具呼叫封裝為高階業務邏輯。

工具调用层次

1. 基础工具

Claude Code 提供的基礎工具:

    markdown


    ## 基础工具
    - Read:读取文件
    - Write:写入文件
    - Edit:编辑文件
    - SearchCodebase:搜索代码
    - RunCommand:执行命令
    - ...

#### 2\. 工具组合

Skills 組合多個基礎工具完成複雜任務:

    markdown


    ## Skill: 重构代码
    ### 工具组合

    1. Read:读取原始代码
    2. SearchCodebase:查找相关代码
    3. Edit:修改代码
    4. RunCommand:运行测试
    5. Write:保存结果

#### 3\. 高级抽象

Skills 提供高階抽象,隱藏底層工具呼叫細節:

    markdown


    ## 高级抽象

    ### 用户视角
    "重构这个函数"

    ### Skill 视角
    1. 分析函数结构
    2. 查找相关依赖
    3. 应用重构模式
    4. 验证重构结果

### 工具调用模式

#### 1\. 顺序调用

按順序執行多個工具呼叫:

    markdown


    ## 场景:创建新功能
    ### 顺序调用

    1. Read:读取现有代码
    2. SearchCodebase:查找类似功能
    3. Write:创建新文件
    4. Edit:添加功能
    5. RunCommand:运行测试

#### 2\. 条件调用

根據條件決定是否執行工具呼叫:

    markdown


    ## 场景:代码检查

    ### 条件调用
    1. RunCommand:运行测试
    2. 如果测试失败:
       - Read:读取错误信息
       - Edit:修复代码
       - RunCommand:重新测试
    3. 如果测试成功:
       - 继续下一步

#### 3\. 循环调用

重複執行工具呼叫直到滿足條件:

    markdown


    ## 场景:批量更新
    ### 循环调用

    1. Read:读取文件列表
    2. 对于每个文件:
       - Read:读取内容
       - Apply:应用转换
       - Write:写入结果

#### 4\. 并行调用

同時執行多個工具呼叫提高效率:

    markdown


    ## 场景:多文件分析

    ### 并行调用

    1. 同时读取多个文件
    2. 并行分析文件内容
    3. 合并分析结果

## Skills 与斜杠命令

### 关系概述

斜槓命令提供快速訪問 Skills 的方式,簡化使用者互動。斜槓命令是 Skills 的快捷方式。

命令映射

1. 直接映射

斜槓命令直接對映到 Skill:

    bash


    # 斜杠命令调用 Skill
    /skill code-review

    # 等价于
    claude --skill code-review

#### 2\. 参数传递

斜槓命令可以傳遞引數給 Skill:

    bash


    # 带参数的斜杠命令
    /skill code-review --file src/main.py --standard PEP8

    # 等价于
    claude --skill code-review --file src/main.py --standard PEP8

#### 3\. 命令别名

斜槓命令支援別名,簡化呼叫:

    bash


    # 使用别名调用 Skill
    /code-review src/main.py

    # 等价于
    /skill code-review src/main.py

### 交互优势

    markdown


    ## 斜杠命令的优势
    - 快速访问:无需完整命令
    - 简化交互:减少输入
    - 上下文感知:自动获取当前上下文
    - 历史记录:快速重复调用

#### 3\. 交互式调用

斜槓命令支援互動式呼叫:

    bash


    # 交互式调用
    /skill code-review
    # 提示输入参数
    # 输入:src/main.py
    # 输入:PEP8
    # 执行审查

### 命令别名

斜槓命令支援別名,簡化呼叫:

    markdown


    ## 常用别名

    ### 代码审查
    /skill cr → /skill code-review

    ### 文档生成
    /skill doc → /skill generate-docs

    ### 测试生成
    /skill test → /skill generate-tests

### 命令补全

斜槓命令支援自動補全:

    markdown


    ## 命令补全功能
    ### 输入
    /skill co<TAB>
    ### 补全为
    /skill code-review

## Skills 与配置系统

### 关系概述

Skills 可以讀取和利用配置系統中的設定,實現個性化的行為。配置系統允許使用者自定義 Skills 的行為。

配置类型

1. 全局配置

全域性配置適用於所有專案:

yaml
    yaml


    # .claude/config.yaml
    skills:
      code-review:
        strictness: high
        include_security: true
        max_issues: 100

#### 2\. 项目配置

專案配置僅適用於當前專案:

yaml
    yaml


    # .claude/project.yaml
    skills:
      code-review:
        custom_rules:
          - no_print_statements
          - type_hints_required
        ignore_patterns:
          - "*/tests/*"
          - "*/migrations/*"

#### 3\. 用户配置

使用者配置適用於特定使用者:

yaml
    yaml


    # ~/.claude/user.yaml
    skills:
      code-review:
        preferred_style: pep8
        output_format: markdown
        auto_fix: false

### 配置优先级

配置優先順序從高到低:

    markdown


    ## 配置优先级(从高到低)
    1. 命令行参数
    2. 项目配置
    3. 用户配置
    4. 全局配置

### 配置使用

Skills 可以讀取和應用配置:

    markdown


    ## Skill: 代码审查

    ### 配置读取
    1. 读取全局配置
    2. 读取用户配置
    3. 读取项目配置
    4. 应用命令行参数
    5. 合并配置

## Skills 与记忆系统

### 关系概述

Skills 可以利用記憶系統儲存和檢索資訊,實現跨會話的知識積累。記憶系統使 Skills 能夠學習和適應使用者的工作方式。

记忆类型

1. 项目记忆

儲存與專案相關的資訊:

    markdown


    ## 项目记忆内容
    - 项目结构
    - 代码风格
    - 常用模式
    - 技术栈
    - 团队规范

#### 2\. 用户记忆

儲存與使用者相關的資訊:

    markdown


    ## 用户记忆内容
    - 偏好设置
    - 历史操作
    - 常用命令
    - 学习进度
    - 问题记录

#### 3\. Skill 记忆

儲存與 Skill 執行相關的資訊:

    markdown


    ## Skill 记忆内容
    - 执行历史
    - 性能数据
    - 错误记录
    - 优化建议
    - 使用统计

### 记忆使用

#### 1\. 学习模式

Skills 可以透過記憶系統學習使用者的工作方式:

    markdown


    ## Skill: 代码生成

    ### 学习模式
    1. 记录用户的代码风格
    2. 分析常用模式
    3. 生成符合用户习惯的代码
    4. 持续优化建议

#### 2\. 上下文恢复

Skills 可以恢復之前的工作上下文:

    markdown


    ## Skill: 继续工作
    ### 上下文恢复
    1. 读取项目记忆
    2. 恢复之前的工作状态
    3. 继续未完成的任务
    4. 保持工作连续性

#### 3\. 智能建议

Skills 可以基於記憶提供智慧建議:

    markdown


    ## Skill: 代码建议

    ### 智能建议
    1. 分析历史操作
    2. 识别常见问题
    3. 提供个性化建议
    4. 预测用户需求

## Skills 与钩子系统

### 关系概述

Skills 可以與鉤子系統整合,在特定事件觸發時自動執行。鉤子系統使 Skills 能夠實現自動化工作流。

钩子类型

1. 前置钩子

在事件發生前執行:

    markdown


    ## 前置钩子示例
    ### 事件:文件保存
    ### 钩子:代码格式化
    ### Skill: 自动格式化
    ### 执行流程
    1. 用户保存文件
    2. 触发前置钩子
    3. 执行格式化 Skill
    4. 保存格式化后的文件

#### 2\. 后置钩子

在事件發生後執行:

    markdown


    ## 后置钩子示例

    ### 事件:代码提交
    ### 钩子:文档更新
    ### Skill: 更新文档

    ### 执行流程
    1. 用户提交代码
    2. 触发后置钩子
    3. 执行文档更新 Skill
    4. 提交更新后的文档

#### 3\. 错误钩子

在發生錯誤時執行:

    markdown


    ## 错误钩子示例
    ### 事件:测试失败
    ### 钩子:错误分析
    ### Skill: 错误诊断
    ### 执行流程
    1. 测试失败
    2. 触发错误钩子
    3. 执行错误诊断 Skill
    4. 提供修复建议

### 钩子配置

鉤子系統可以透過配置檔案進行自定義:

yaml
    yaml


    # .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 的其他功能緊密整合,形成了一個強大的開發生態系統。理解這些關係有助於:

  1. 功能選擇 :根據任務需求選擇合適的功能組合
  2. 系統整合 :將 Skills 無縫整合到現有工作流
  3. 效率提升 :透過功能協同提高開發效率
  4. 能力擴充套件 :利用整合關係擴充套件 Skills 的能力

在下一節中,我們將探討 Skills 的實際應用場景,展示如何在不同開發場景中使用 Skills 來提高效率。

基于 MIT 许可发布 | 永久导航