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 许可发布 | 永久导航