经过大量实践总结出来的 Skill 设计模式,能帮助你在面对新需求时快速做出合理决策。
本篇汇总了最常用的 7 种设计模式及其适用场景。
模式一:单一职责 Skill
每个 Skill 只做一件事,做好一件事。
功能越聚焦,description 越精准,触发准确率越高,维护也越容易。
如果你发现一个 Skill 的 description 需要写很长才能说清楚它"不做什么",通常意味着它承担了太多职责,应该拆分。
模式二:防御性输入检查
在 Skill 脚本入口处集中完成所有输入验证,通过后再进入业务逻辑。
实例
模式三:渐进式输出
对于耗时超过 5 秒的 Skill,应当分阶段输出进度,而不是让用户面对沉默的等待。
## 执行流程(渐进式输出示例) ### 步骤一:读取文件 运行读取脚本后,立即告知用户: > 已读取文件:runoob_data.csv(1,024 行,8 列)正在进行数据清洗... ### 步骤二:数据清洗 清洗完成后,告知用户: > 数据清洗完成:删除重复行 3 条,空值填充 12 处。正在生成报告... ### 步骤三:生成报告 报告生成后,展示下载链接并说明内容: > 报告已生成,包含统计摘要和数据质量评估。
模式四:幂等操作
Skill 的执行结果应该是幂等的:同样的输入,无论执行多少次,输出都应当一致。
非幂等操作(如每次执行都追加内容)会导致用户重试时产生混乱。
模式五:明确的结束信号
Skill 执行完毕后,应当给出明确的"完成信号",让用户知道任务已结束,不需要继续等待。
## 任务完成后的输出规范 无论成功还是失败,最后一步必须输出一个明确的状态行: 成功时: > 任务完成:报告已生成,共处理 1,024 行数据,耗时约 3 秒。 失败时: > 任务中断:在"数据清洗"步骤遇到错误(原因:文件编码不是 UTF-8)。 > 建议:将文件另存为 UTF-8 格式后重新上传。
模式六:版本兼容性声明
在 SKILL.md 的 frontmatter 中声明兼容的模型版本,防止在不支持的环境中产生不可预期的行为。
--- name: data-analyzer version: 1.2.0 description: 分析 CSV/Excel 数据,生成统计报告。 compatibility: claude_models: - claude-sonnet-4-20250514 # 经过验证的模型版本 - claude-opus-4 # 同样支持 python: ">=3.8" platforms: - linux # Claude 计算机使用环境 ---
模式七:Fail Fast(快速失败)
一旦发现无法继续的错误,立即停止并清晰报告,而不是带着错误继续执行产生无意义的输出。
模式速查表