Skip to content

5.3b Skill 进阶

💡 一句话总结:掌握 Skill 的高级功能,实现复杂的自动化任务。


学完你能做什么

  • 掌握 Skill 的高级配置
  • 能实现条件逻辑和循环
  • 能创建可组合的 Skill
  • 能进行 Skill 调试和优化

🎒 开始前的准备

确保你已经完成以下事项:


核心思路

高级功能概览

  1. 条件逻辑
  2. 循环处理
  3. 错误处理
  4. Skill 组合
  5. 性能优化

高级配置

条件逻辑

yaml
skills:
  conditional-skill:
    name: "条件处理技能"
    description: "根据条件执行不同操作的技能"
    parameters:
      - name: "input"
        type: "string"
        required: true
        description: "输入数据"
      
      - name: "operation"
        type: "string"
        required: true
        description: "操作类型"
    
    conditions:
      - when: "operation == 'format'"
        then: "format_code"
      
      - when: "operation == 'analyze'"
        then: "analyze_code"
      
      - when: "operation == 'optimize'"
        then: "optimize_code"
      
      - default: "unknown_operation"
    
    workflows:
      format_code: |
        1. 检测代码语言
        2. 选择格式化规则
        3. 应用格式化
        4. 返回结果
      
      analyze_code: |
        1. 分析代码质量
        2. 查找问题
        3. 生成报告
      
      optimize_code: |
        1. 性能分析
        2. 优化建议
        3. 改进代码

循环处理

yaml
skills:
  loop-skill:
    name: "循环处理技能"
    description: "处理列表或重复任务的技能"
    parameters:
      - name: "items"
        type: "array"
        required: true
        description: "项目列表"
      
      - name: "action"
        type: "string"
        required: true
        description: "对每个项目执行的操作"
    
    loop:
      type: "for_each"
      item_name: "item"
      
      continue_on_error: true
      max_iterations: 100
      
      parallel: true
      max_parallel: 5
    
    output:
      type: "array"
      include_errors: false

错误处理

yaml
skills:
  error-handling-skill:
    name: "错误处理技能"
    description: "包含错误处理的技能"
    parameters:
      - name: "input"
        type: "string"
        required: true
        description: "输入数据"
    
    error_handling:
      mode: "catch_and_continue"
      
      catch:
        - type: "validation_error"
          action: "return_validation_error"
        
        - type: "processing_error"
          action: "retry"
          max_retries: 3
          delay: 1000
        
        - type: "timeout"
          action: "return_timeout"
        
        - type: "unknown"
          action: "log_and_continue"
      
      fallback:
        enabled: true
        value: "default_output"

Skill 组合

yaml
skills:
  composite-skill:
    name: "组合技能"
    description: "组合多个技能的技能"
    skills:
      - name: "format-code"
        alias: "formatter"
      
      - name: "analyze-code"
        alias: "analyzer"
      
      - name: "optimize-code"
        alias: "optimizer"
    
    workflow: |
      1. 使用 formatter 格式化代码
      2. 使用 analyzer 分析代码
      3. 使用 optimizer 优化代码
      4. 返回最终结果
    
    data_flow:
      formatter.output -> analyzer.input
      analyzer.output -> optimizer.input

跟我做

实战:创建一个完整的代码处理技能

目标:创建一个包含条件、循环、错误处理的复杂技能

yaml
skills:
  comprehensive-code-processor:
    name: "综合代码处理器"
    description: "完整的代码处理解决方案"
    category: "development"
    version: "2.0.0"
    
    parameters:
      - name: "files"
        type: "array"
        required: true
        description: "文件列表"
      
      - name: "operations"
        type: "array"
        required: true
        description: "要执行的操作列表"
        options:
          - "format"
          - "lint"
          - "test"
          - "document"
          - "optimize"
      
      - name: "continue_on_error"
        type: "boolean"
        required: false
        default: false
        description: "出错时是否继续"
    
    workflow: |
      1. 验证输入参数
      2. 遍历文件列表
      3. 对每个文件执行操作
      4. 收集结果
      5. 生成报告
    
    conditions:
      - when: "operations includes 'test'"
        then: "ensure_test_framework"
      
      - when: "operations includes 'lint'"
        then: "load_lint_rules"
    
    loop:
      type: "for_each"
      item_name: "file"
      parallel: true
      max_parallel: 3
    
    error_handling:
      mode: "catch_and_continue"
      
      catch:
        - type: "file_not_found"
          action: "log_and_skip"
        
        - type: "processing_error"
          action: "retry"
          max_retries: 2
        
        - type: "unknown"
          action: "log_error"
    
    output:
      format: "report"
      include_metrics: true
      include_errors: true

📋 高级配置模板

模板 1:数据流水线

yaml
skills:
  data-pipeline:
    name: "数据流水线"
    description: "处理数据流的 Skill"
    parameters:
      - name: "source"
        type: "string"
        required: true
        description: "数据源"
      
      - name: "transformations"
        type: "array"
        required: true
        description: "转换步骤"
    
    pipeline:
      source: "input.source"
      stages: "input.transformations"
      destination: "output"

模板 2:API 聚合器

yaml
skills:
  api-aggregator:
    name: "API 聚合器"
    description: "聚合多个 API 调用的 Skill"
    parameters:
      - name: "requests"
        type: "array"
        required: true
        description: "API 请求列表"
    
    aggregation:
      strategy: "parallel"
      timeout: 30000
      combine_results: true

检查点 ✅

全部通过才能继续

  • [ ] 掌握条件逻辑配置
  • [ ] 能实现循环处理
  • [ ] 能添加错误处理
  • [ ] 能组合多个 Skill

本课小结

你学会了:

  1. 条件逻辑配置
  2. 循环处理配置
  3. 错误处理机制
  4. Skill 组合方法
  5. 完整的综合技能创建

下一课预告

下一课我们将学习快捷命令,掌握如何创建一键触发的任务。


📚 更多完整模板Prompt 模板库