楔子今天分享的这篇文章在阿里巴巴和蚂蚁集团内部的技术分享平台ATA上热度远超想象。可见大家在工作中想把自己的复杂工作流程/SOP标准操作程序写成Skill时会所遇到不知道怎么写以及写完之后Skill运行不符合预期的情况。在这篇文章中青斧大佬分析了7个最顶尖的技能案例并根据分析结果总结了5种工作流技能的设计模式。经过作者青斧的授权在这里把文章分享给大家希望大家在构建自己的工作流程技能时也能够收获一些启发~还有什么大家其实可以让你的通用Agent如Claude Code根据本文文章的内容快速Vibe出一个SOP智能分析工具根据SOP文档选择最适合的技能模式生成对应技能。同时进行沙盘成绩一步到位~欢迎大家关注OceanBase社区公众号“老纪的技术唠嗑局”在这里我们将持续为大家更新与 [#AI](javascript: 和 [#Data](javascript: 相关的技术内容~话不多说正文开始。本文基于对 7 个来自 OpenAI、Google Labs、obra、Trail of Bits、Dean Peters 等团队生产级技能的逐行分析提炼出的可复用的五种技能设计模式、写作技巧和反面教训。一、技能是什么大家对技能基本都有所了解这里只言简意赅地提两句。Skill 是一个文件夹核心是SKILL.md文件使用YAML frontmatter Markdown 正文的格式。当 LLM 判断需要某个 Skill 时会调用skill工具加载它SKILL.md 的全部内容会作为工具结果注入到对话上下文中LLM 读到后自主决定怎么执行。my-skill/ ├── SKILL.md# 主文件必须├── scripts/# 可执行脚本可选├── references/# 详细参考文档可选按需加载├── resources/# 模板、清单等资源可选└── examples/# 示例可选关键机制技能本质是“知识注入”——它不会动态生成新工具而是把指令文本注入到LLM的上下文中LLM使用已有的工具bash、read、edit等来执行这些指令。技能文件结构二、Frontmatter决定技能是否被加载的“门面”2.1 必填字段|字段|作用|效果|| — | — | — ||name|唯一标识符小写连字符|test-driven-development||description|最关键——LLM通过决定是否加载|见下方对比|2.2 写法决定加载率说明# 好的 description — 包含触发短语和关键词description: Deploy applications and websites to Vercel. Use when the user requests deployment actions likedeploy my app,push this live, orcreate a preview deployment.# 好的 description — 定义时序位置description: Use when implementing any feature or bugfix, before writing implementation code# 差的 description — 太模糊description: Helps with deployment stuff核心原则引用触发脚本把用户可能说的话写进去“部署我的应用程序”、“推送此活动”定义尺寸说明“在什么之前/之后”使用“编写实现代码之前”包含产品关键词如果覆盖大平台把所有产品名上市来2.3 可选扩展字段从7个技能中观察到的扩展字段|字段|来源|作用|| — | — | — ||references|OpenCode Cloudflare|声明最重要的参考文档||allowed-tools|Google Labs缝合环|需要声明的工具权限||type|迪恩·彼得斯发现过程|声明 技能类型工作流程/组件||best_for|迪恩·彼得斯发现过程|最适合的场景列表||scenarios|迪恩·彼得斯发现过程|具体的触发 场景 示例||estimated_time|迪恩·彼得斯发现过程|股票支付时间|三、5种核心设计模式5种核心设计模式模式1线性流程适用场景部署、安装、迁移等具有明确的步骤操作。代表openai/skills — vercel-deploy [1]77行结构# 标题## Prerequisites前置条件## Quick Start主流程Step 1 → 2 → 3## Fallback降级方案## Troubleshooting故障排除关键技巧|技巧|效果|为什么有效|| — | — | — ||安全默认值|“始终部署为预览版而非生产环境”|防止法学硕士进行危险操作||具体命令|每步给出可直接执行的 bash 命令|LLM 不需要猜测||超时提示|“使用 10 分钟600000 毫秒超时”|防止LLM因超时中断||降级方案|CLI 失败有后备脚本|提供B计划||负面指令|不要使用 curl 命令验证已部署的 URL。|明确禁止不该做的事|适用判断如果你的技能可以用“先做A再做B最后做C”描述就用线性模型。线性流程模式模式2决策树阶梯加载适用包括大型平台选型、产品导航、问题诊断。代表openai/skills — cloudflare-deploy [2]224行结构# 标题## Authentication认证前置## Quick Decision Trees决策树### I need to run code按用户意图分类### I need to store data### I need AI/ML## Product Index产品索引表关键技巧|技巧|效果|为什么有效|| — | — | — ||用户意图分类|“我需要运行代码” 而不是 “计算产品”|使用语言用户技术术语||树形导航|├─ 边缘无服务器函数 → workers/|LLM 快速定位正确产品||渐进式披露|主文件 7KB参考文献/ 展开到几十万字|不浪费上下文窗口||产品指数表|产品 → 参考的映射表|构造的快速查找|适用判断如果你的技能覆盖的知识域有10个分支且每个分支都有大量详细文档就用决策树模式。决策树模式进阶同一个知识域可以拆成两个技能——导航型cloudflare只做选型不涉及操作操作型cloudflare-deploy包含认证、命令、故障排除模式3循环迭代适用场景TDD、代码审查、设计评审等需要反复执行的流程。代表obra/superpowers — 测试驱动开发[3]371行结构# 标题## The Iron Law铁律——不可违反的核心原则## Red-Green-Refactor循环体### RED — 写失败的测试### Verify RED — 验证确实失败### GREEN — 写最少的代码### Verify GREEN — 验证确实通过### REFACTOR — 清理### Repeat回到 RED## Common Rationalizations借口反驳表## Verification Checklist退出条件关键技巧|技巧|效果|为什么有效|| — | — | — ||强硬语气|删除它重新开始。|LLM倾向“灵活变通”强硬语气提高服从率||好/坏对比|使用Good和Bad标签概括代码示例|对比教学效果最好||借口反驳表|预判LLM可能的12种偷懒借口并逐一反驳|堵死所有逃生路径||验证清单|8 项清单作为循环退出条件|确保质量达标才能结束||人体兜底|“问问你的人类伙伴”|空闲时兼职人|适用判断如果你的技能需要LLM反复执行“做→验证→改进”的循环就用迭代模式。循环迭代模式模式4接力棒循环跨会话持久化适用场景多次迭代的长期项目需要跨多个会话持续工作。代表google-labs-code/stitch-skills —stitch-loop [4]203行结构# 标题## Overview接力棒模式概述## The Baton System接力棒文件规范## Execution Protocol6 步执行协议### Step 1: Read the Baton读接力棒### Step 2: Consult Context Files查阅上下文### Step 3: Generate执行任务### Step 4: Integrate集成结果### Step 5: Update Documentation更新文档### Step 6: Prepare the Next Baton ⚠️写下一个接力棒——关键## File Structure Reference文件协议## Orchestration Options编排方式关键技巧|技巧|效果|为什么有效|| — | — | — ||文件即状态|next-prompt.md作为接力棒|LLM不必记得“模仿哪了”||续命机制|步骤 6 标记为 Critical MUST|忘记写接力棒循环就断了||文件协议|每份文件都有明确的职责|LLM按协议读写文件||编排关联|CI/CD、人在回路、Agent链驱动驱动|相同的技能配备多种自动化环境|适用判断如果你的技能需要跨多个会话持续工作或者需要多个代理协作就用接力棒模式。接力棒循环模式与模式3的区别|维度|循环迭代TDD|接力棒循环Stitch Loop|| — | — | — ||状态存储|LLM对话上下文|外部文件系统||跨会话|❌|✅||循环退出|清单全部打勾|路线图清空||适用时长|单次会话分钟~小时|长期项目天~周|模式5多阶段检查点技能编排适用场景复杂的多周流程需要在关键节点做Go/No-Go决策。代表deanpeters/Product-Manager-Skills — discovery-process [5]502行结构# 标题## Key Concepts核心概念 反模式## Phase 1: Frame the Problem阶段 1### Activities调用哪些子 Skill### Outputs阶段产出### Decision Point 1检查点YES/NO 时间影响## Phase 2-6...重复相同结构## Complete Workflow端到端时间线## Common Pitfalls常见陷阱## References引用的子 Skill 列表关键技巧|技巧|效果|为什么有效|| — | — | — ||统一阶段模板|每个阶段都有活动 → 输出 → 决策点|LLM 理解快速结构||决策检查点|“达到灌溉了吗YES → 下一阶段NO → 1 周”|防止盲目推进||技能编排|调度10个子技能完成各个阶段|编排器模式大技能调度小技能||时间影响|每个NO路径标注“2-3天”、“1周”|让我们了解用户延迟成本||相互协议分离|引用workshop-facilitation定义 交互方式|关注点分离|适用判断如果你的技能跨越多天/多周有明确的阶段划分和Go/No-Go决策点就用多阶段模式。多级检查点模式特殊模式思维框架控制LLM“怎么想”适用安全审计、代码审查、架构分析等需要深度思考的场景。代表Trailofbits/skills —audit-context-building [6]302行结构# 标题## Purpose定位控制思维方式不是控制行为## When to Use / When NOT to Use## Rationalizations借口反驳表## Phase 1: Initial Orientation定向扫描## Phase 2: Ultra-Granular Function Analysis逐行分析——核心### Per-Function Checklist函数微分析清单### Cross-Function Flow Analysis跨函数追踪### Output Requirements输出格式 量化阈值### Completeness Checklist完整性检查## Phase 3: Global System Understanding全局理解## Stability Rules反幻觉规则## Non-Goals明确禁止做的事关键技巧|技巧|效果|为什么有效|| — | — | — ||思维工具|第一性原理、5个为什么、5个如何|给 LLM 分析框架具体命令||确定阈值|“每个函数最少 3 个不变量、5 个假设”|强制LLM达到足够的分析深度||非目标约束|“不要识别漏洞、不要提出修复”|克制LLM最尝试的事先理解再判断||反幻觉规则|“永远不要为了迎合先前的假设而篡改证据”|防止LLM自我欺骗||子代理指导|当以及如何使用函数分析器代理|分而治之|适用判断如果你的技能需要LLM进行深度分析而不是快速执行需要控制的是“思维质量”而不是“操作步骤”就用思维框架模式。四、通用写作技巧4.1 防止LLM偷懒的4种武器防止LLM偷懒的4种武器|武器|原理|示例来源|| — | — | — ||强硬语气|LLM对命令式语气的服从率更高|TDD“删除它重新开始。”||借口反驳表|预判LLM的自我合理化路径并堵死|TDD12种借口反驳审核6种借口||确定阈值|硬性给出的最低标准|审计“最少3个不变量、5个假设”||负面指令|明确表示“不要做X”|vercel-deploy“不要使用 curl 命令访问 URL”|4.2 教学的三种有效方式|方式|原理|示例来源|| — | — | — ||好/坏对比|对比学习效果最好|TDDGoodvsBad代码示例||具体命令|LLM擅长执行具体指令|vercel-deploy每步都有 bash 命令||完整示例|展示期望的输出格式|审计引用FUNCTION_MICRO_ANALYSIS_EXAMPLE.md|4.3 安全与边界的3条原则|原则|做法|示例来源|| — | — | — ||安全默认值|默认选择最安全的选项|vercel-deploy“始终以预览方式部署”||权限最小化|仅在必要时提升权限|vercel-deploy“不要升级安装检查”||人体兜底|空闲时兼职人|TDD“询问你的人类伙伴”|4.4 知识组织的3层架构知识组织 3 层架构第1层Frontmatter~100 tokens→ LLM 扫描所有技能的描述决定是否加载第2层SKILL.md正文5K tokens→核心指令、决策树、流程步骤第 3 层references/ 和 resources/每秒加载→ 详细文档、示例、清单LLM 使用读取工具读取代币预算参考|体系|代币预算|内容|| — | — | — ||前言|约100个代币|name description||主文件|2K-5K tokens|核心指令||参考文档单个|1K-3K tokens|按需加载||总上下文占用|10K tokens|主文件 1-2 个参考文档|五、模式选择决策树模式选择决策树你的 Skill 需要做什么 │ ├─ 执行一个有明确步骤的操作 │ └─ → 模式1线性流程 │ ├─ 在大量选项中帮用户选择正确的方向 │ └─ → 模式2决策树 按需加载 │ ├─ 在单次会话中反复执行做→验证→改进│ └─ → 模式3循环迭代 │ ├─ 跨多个 session 持续推进一个长期项目 │ └─ → 模式4接力棒循环 │ ├─ 跨越多天/多周有阶段划分和 Go/No-Go 决策 │ └─ → 模式5多阶段 检查点 │ └─ 需要 LLM 进行深度分析而非快速执行 └─ → 特殊模式思维框架六、快速上手模板最小可用 Skill线性模式--- name: my-skill description:[一句话描述做什么 什么时候触发]---# Skill 名称[一句话核心原则 安全默认值]## Prerequisites-[前置条件1]-[前置条件2]## Steps### Step 1: [动作]bash[具体命令]Step 2: [动作][具体指令]Step 3: [动作][具体指令]Troubleshooting|Issue|Solution|| — | — ||[问题 1]|[解决方案]|### 循环迭代 Skill 模板yaml --- name: my-loop-skill description:[描述 触发时机]---# Skill 名称## Core Principle[不可违反的铁律]## The Loop### Phase A — [动作][具体指令]### Verify A[验证命令]### Phase B — [动作][具体指令]### Verify B[验证命令]### Repeat回到 Phase A。## Rationalizations|Excuse|Reality||--------|---------||[借口 1]|[反驳]|## Completion Checklist-[][条件1]-[][条件2]七、参考资源官方规范Agent Skills 开放标准[7]anthropics/skills — 官方模板[8]anthropics/skills — 规范文档[9]精选仓库openai/skills[10] — OpenAI Codex 官方 Skill 目录obra/superpowers[11] — 14 个工作流型 Skillgoogle-labs-code/stitch-skills[12] — 设计到代码的 Skilldeanpeters/Product-Manager-Skills[13] — 40 产品管理 Skilltrailofbits/skills[14] — 安全审计 Skillopenclaw/clawhub[15] — Skill 注册中心精选列表VoltAgent/awesome-agent-skills[16] — 500 Skill 索引travisvn/awesome-claude-skills[17] — 精选列表 Skill vs MCP 对比八、本文分析的 7 个 Skill 速查表||Skill|来源|模式|行数|一句话精髓|| — | — | — | — | — | — ||1|vercel-deploy|OpenAI|线性|77|最小但完整的 Skill 模板||2|cloudflare-deploy|OpenAI|线性 决策树|224|大平台的渐进式披露||3|cloudflare|OpenCode|纯决策树|211|导航型 vs 操作型的区别||4|test-driven-development|obra|循环迭代|371|堵死 LLM 偷懒的所有退路||5|stitch-loop|Google Labs|接力棒循环|203|文件即状态跨 session 持久化||6|discovery-process|Dean Peters|多阶段 检查点|502|编排器模式调度 10 子 Skill||7|audit-context-building|Trail of Bits|思维框架|302|控制 LLM “怎么想而非做什么”|参考资料[1]openai/skills — vercel-deploy:https://github.com/openai/skills/tree/main/skills/.curated/vercel-deploy[2]openai/skills — cloudflare-deploy:https://github.com/openai/skills/tree/main/skills/.curated/cloudflare-deploy[3]obra/superpowers — test-driven-development:https://github.com/obra/superpowers/tree/main/skills/test-driven-development[4]google-labs-code/stitch-skills — stitch-loop:https://github.com/google-labs-code/stitch-skills/tree/main/skills/stitch-loop[5]deanpeters/Product-Manager-Skills — discovery-process:https://github.com/deanpeters/Product-Manager-Skills/tree/main/skills/discovery-process[6]trailofbits/skills — audit-context-building:https://github.com/trailofbits/skills/tree/main/plugins/audit-context-building/skills/audit-context-building[7]Agent Skills 开放标准:https://agentskills.io/[8]anthropics/skills — 官方模板:https://github.com/anthropics/skills/tree/main/template[9]anthropics/skills — 规范文档:https://github.com/anthropics/skills/tree/main/spec[10]openai/skills:https://github.com/openai/skills[11]obra/superpowers:https://github.com/obra/superpowers[12]google-labs-code/stitch-skills:https://github.com/google-labs-code/stitch-skills[13]deanpeters/Product-Manager-Skills:https://github.com/deanpeters/Product-Manager-Skills[14]trailofbits/skills:https://github.com/trailofbits/skills[15]openclaw/clawhubhttps://github.com/openclaw/clawhub[16]VoltAgent/awesome-agent-skillshttps://github.com/VoltAgent/awesome-agent-skills[17]travisvn/awesome-claude-skillshttps://github.com/travisvn/awesome-claude-skills期往内容推荐