学习编辑自己的 Skill:如何书写一个合格的 AI 工作流指令
作者:互联网
2026-04-17
如何书写一个合格的 Skill
一、什么是 Skill
Skill 是一种结构化的行为指令集,用于告诉 AI 助手(如 Claude Code)在特定场景下应该如何思考、如何行动。它不是普通的提示词(Prompt),而是一套完整的工作流程定义。
二、Skill 的文件结构
一个合格的 Skill 文件由两部分组成:
1. Frontmatter(元信息)
---
name: skill-name
description: 一句话说明触发时机和用途(这是 AI 判断是否调用的依据)
---
description 极为关键——AI 依赖它来决定是否调用该 Skill,应明确写出触发场景,而非泛泛描述功能。
2. Body(正文内容)
正文包含:
- 触发说明:明确列出何时触发
- Workflow:分步骤的执行流程
- 规则与约束:刚性要求 vs 弹性建议
- 示例(可选)
三、触发条件设计
触发条件应尽量具体、可判断,避免模糊表述。
| 好的触发描述 | 差的触发描述 |
|---|---|
Use when implementing any feature or bugfix, before writing code | Use when coding |
Triggers when user pastes a Feishu URL and asks to read/summarize | Use with Feishu |
Use when about to claim work is complete, before committing | Use at end of task |
原则:触发描述要回答「什么情况下、在什么动作之前/之后」。
四、Workflow 设计原则
4.1 步骤要明确、可执行
每一步都应是可操作的具体动作,而非模糊的方向指引:
# 好的写法
### Step 1: 读取文件
- 调用 Read 工具读取目标文件
- 若文件不存在,提示用户并终止
# 差的写法
### Step 1: 了解文件内容
- 先看看文件里有什么
4.2 包含决策分支
真实场景有多种情况,Workflow 需要覆盖关键分支:
- 若文档 < 5000 字:直接返回全文
- 若文档 ≥ 5000 字:返回大纲,询问用户要读哪个章节
4.3 明确终止条件
每个流程都应有清晰的完成标准,避免 AI 无限循环或过早退出。
4.4 用户确认节点
涉及写入、修改、删除等不可逆操作前,必须设置用户确认步骤:
### Step 3: 确认内容
- 将结构化内容展示给用户预览
- 等待用户确认后,再执行创建操作
五、刚性 Skill vs 弹性 Skill
| 类型 | 含义 | 适用场景 | 示例 |
|---|---|---|---|
| 刚性(Rigid) | 每步必须严格遵守,不允许跳过或变通 | 有严格质量要求的流程(如 TDD、安全审查) | test-driven-development |
| 弹性(Flexible) | 提供原则和模板,可根据上下文灵活调整 | 创作类、设计类任务 | frontend-design |
在 Skill 正文中应明确声明属于哪种类型,帮助 AI 正确理解执行约束。
六、常见错误与避坑指南
错误 1:description 过于宽泛
# 错误
description: Use when doing any task
# 正确
description: Use when completing implementation tasks, before committing or creating PRs
错误 2:Workflow 缺少异常处理
每个关键步骤都应考虑失败场景:
- 若调用失败,检查凭证是否有效,提示用户重新配置
错误 3:把「what」和「how」混在一起
Skill 应该专注描述「how(如何做)」,而不是重复描述「what(做什么)」——那是用户的职责。
错误 4:步骤之间缺乏数据流说明
明确上一步的输出如何传递给下一步:
- Step 1 返回文档 ID → Step 2 使用该 ID 调用更新接口
七、一个最简合格 Skill 示例
---
name: code-review-checklist
description: Use after finishing a feature implementation, before creating a PR - runs a structured review checklist
---
## Trigger
- After finishing implementation of a feature or bugfix
- Before creating a pull request
## Workflow
### Step 1: 读取变更
- 执行 `git diff main` 获取所有变更
- 列出涉及的文件清单
### Step 2: 逐项检查
按以下清单检查每个变更文件:
- [ ] 是否有未处理的异常?
- [ ] 是否存在硬编码的敏感信息?
- [ ] 新增代码是否有对应测试?
- [ ] 是否影响现有接口的兼容性?
### Step 3: 输出报告
- 对每个问题给出具体文件和行号
- 区分「必须修复」和「建议优化」两类
- 所有「必须修复」项解决后,方可创建 PR
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
Vercel AI SDK 使用指南: 子代理 (Subagents)
深入解析 SmartChat 的 RAG 架构设计 — 如何用 pgvector + 本地嵌入打造企业级智能客服
从零到一搭建 AI Agent 记忆系统:九种策略全景实战(含注释代码)
从一个想法到可发布:我把博客接进 MCP 的完整实践
AI 时代掌握 Markdown,是最基础也最必要的技能 (小红书长文也可以用哦)
anthropic-academy:工具使用(一)
别把 AI 当神:它甚至不知道这行代码为什么能跑
前端将死,Agent 永生
Agno 开发教程(十一):深入理解与实践 Skills(技能)
用 OpenClaw 做视频:播放量从几十涨到 9000,成本一毛钱
AI精选
