5.3b Skill 进阶
💡 一句话总结:掌握 Skill 的高级功能,实现复杂的自动化任务。
学完你能做什么
- 掌握 Skill 的高级配置
- 能实现条件逻辑和循环
- 能创建可组合的 Skill
- 能进行 Skill 调试和优化
🎒 开始前的准备
确保你已经完成以下事项:
- [ ] 完成了 5.3a Skill 基础
- [ ] 有创建基础 Skill 的经验
核心思路
高级功能概览
- 条件逻辑
- 循环处理
- 错误处理
- Skill 组合
- 性能优化
高级配置
条件逻辑
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
本课小结
你学会了:
- 条件逻辑配置
- 循环处理配置
- 错误处理机制
- Skill 组合方法
- 完整的综合技能创建
下一课预告
下一课我们将学习快捷命令,掌握如何创建一键触发的任务。
📚 更多完整模板:Prompt 模板库

