如何写出高质量的 Skill
<p>写出一个 Skill 很容易,但写出一个<strong>高质量、稳定、可复用</strong>的 Skill 却需要一些方法论。高质量的 Skill 就像是给 AI 制定的一套 SOP(标准作业程序),它不仅能防错,还能让 AI 的表现超出预期。</p> <hr /> <h2 id="toc_0">第一部分:核心心法(写好 Skill 的五大原则)</h2> <h3 id="toc_1">1. 精准的「触发器」设计 (Description)</h3> <p>AI 拥有成百上千个技能,如何确保它在正确的时机调用正确的技能?关键在于元信息(YAML Header)中的 <code>description</code>。</p> <p><strong>反面教材:</strong> <code>description: 帮我写代码。</code> (太宽泛,随时都可能触发,干扰其他技能)</p> <p><strong>高质量示范:</strong> <code>description: 当用户明确要求使用 React/TypeScript 编写前端组件,且需要包含单元测试时触发。</code></p> <pre><code class="language-mermaid">graph LR A["用户模糊意图"] --> B{"描述匹配引擎"} B -->|"高精准度"| C["精确触发目标 Skill"] B -->|"低精准度"| D["误触发 / 混用多个 Skill"] style C stroke:#4caf50,stroke-width:2px style D stroke:#f44336,stroke-width:2px,stroke-dasharray: 5 5 </code></pre> <h3 id="toc_2">2. 结构化、防呆的操作步骤</h3> <p>大模型像一个非常聪明但容易分心的实习生。你的指南不能是一大段散文,必须是<strong>高度结构化的步骤</strong>。</p> <ul> <li><strong>使用编号列表:</strong> <code>1. 第一步做什么... 2. 第二步做什么...</code></li> <li><strong>明确的前置与后置条件:</strong> 比如“在写代码之前,必须先确认依赖库的版本”。</li> <li><strong>强制纪律(Do’s & Don’ts):</strong> 明确告诉 AI 绝对不能做什么(例如“严禁使用废弃的 API”)。</li> </ul> <blockquote> <p>[!tip] 技巧 可以在 Skill 中设置一个“检查点(Checkpoints)”机制,要求 AI 每完成一个大步骤必须先向用户确认,再进行下一步,避免它一口气跑到黑导致方向偏离。</p> </blockquote> <h3 id="toc_3">3. 提供高质量的「范例」(Few-Shot)</h3> <p>千言万语不如一个好例子。很多时候,用自然语言很难描述清楚一种“语感”或“代码风格”,直接给例子是最有效的。</p> <ul> <li><strong>正向范例(Good Case):</strong> 期望的理想输出是什么样。</li> <li><strong>反向范例(Bad Case):</strong> 常见错误长什么样,警告 AI 避开。</li> </ul> <h3 id="toc_4">4. 拥抱「组件化」思维</h3> <p>高质量的 Skill 不是越长越好,而是要懂得拆分和互相调用。如果你有一个“全自动化应用开发”的庞大任务,不要全塞进一个 Skill 里。</p> <pre><code class="language-mermaid">graph TD Main["主 Skill: 架构师角色"] --> Sub1["子 Skill: 前端开发规范"] Main --> Sub2["子 Skill: 后端 API 设计"] Main --> Sub3["子 Skill: 自动化测试用例"] classDef main fill:#bbdefb,stroke:#1976d2 classDef sub fill:#f5f5f5,stroke:#9e9e9e class Main main class Sub1,Sub2,Sub3 sub </code></pre> <p>让主 Skill 负责统筹流程,然后在适当的时候,指引 AI 去加载相关的子 Skill。这就像是编写可复用的代码函数。</p> <h3 id="toc_5">5. 持续迭代与维护</h3> <p>Skill 不是一次性写完就结束的。在实际使用中,你一定会发现 AI 在某些情况下会“翻车”。 每次翻车,都是升级 Skill 的好机会: 1. 观察 AI 在哪里做错了。 2. 回到 <code>SKILL.md</code>,在对应步骤加入一条<strong>补丁规则</strong>(例如:“注意:在处理这类数据时,务必先进行非空判断”)。 3. 保存,下次执行它就不会再犯同样的错误。</p> <hr /> <h2 id="toc_6">第二部分:进阶实操(让 Skill 带上外部工具)</h2> <p>在实际操作中,高质量的 Skill 往往不是孤立存在的,它需要一个<strong>运行平台</strong>和<strong>外部工具</strong>的配合,才能真正做到“知行合一”。</p> <h3 id="toc_7">1. 我们能在哪里运行带工具的 Skill?</h3> <p>要让带有外部工具的 Skill 跑起来,你通常需要借助以下几类平台: 1. <strong>开箱即用的产品</strong>:如 OpenAI 的 Custom GPTs、Claude 的 Projects。你可以把 <code>SKILL.md</code> 作为 Knowledge(知识库)上传,并在后台开启它自带的 <code>Web Browsing</code> 或 <code>Code Interpreter</code> 工具。 2. <strong>Agent 编排平台</strong>:如字节跳动的 Coze(扣子)、Dify.ai 等。在这里,你可以把 Skill 正文填入“人设与回复逻辑”,并在左侧面板勾选所需的“插件(Plugins)”。 3. <strong>IDE 插件或本地智能体</strong>:比如你当前和我(一个具备文件系统、终端和网络搜索权限的 AI 助手)交互的环境。</p> <h3 id="toc_8">2. 实操案例:「深度行业调研专家」</h3> <p>单纯的聊天 AI 无法获取最新数据,所以我们需要给它配置两个工具(Tools): - <code>search_web</code>:搜索引擎工具。 - <code>read_url</code>:读取网页原文内容的工具。</p> <p>我们将创建一个名为 <code>深度调研专家.md</code> 的 Skill。以下是完整的文件内容:</p> <pre><code class="language-markdown">--- name: 深度行业调研专家 description: 当用户需要了解某个陌生行业、最新概念或某家公司的近期动态时触发。 required_tools: - search_web - read_url --- # 角色定义 你是一个拥有顶级咨询公司(如麦肯锡)背景的深度调研专家。你不仅依靠已有知识,更擅长使用工具去互联网上挖掘最新信息,并交叉验证。 ## 操作指南(工作流) 当用户提出调研需求时,**严格按照以下 4 个步骤执行**: #### 步 1:需求拆解与初步检索 1. 提取用户需求的核心关键词。 2. 使用 `search_web` 工具搜索 3-5 个不同维度的关键词(例如:“技术原理”、“市场规模”、“近期新闻”)。 3. **[检查点]**:不要急于输出结论,先快速浏览搜索结果的标题和摘要。 #### 步 2:深度内容读取 1. 从搜索结果中,挑选至少 3 篇高质量的链接(优先选择官方文档、权威媒体、学术报告)。 2. 使用 `read_url` 工具,把这 3 篇长文的完整内容读取进来。 #### 步 3:交叉验证与分析 1. 对比不同来源的信息。如果发现数据有冲突(如不同机构预测的市场规模不同),必须在报告中指出差异。 2. 提炼核心洞察,剔除无用的营销话术。 #### 步 4:输出最终报告 按照以下结构输出 Markdown 报告: - **核心摘要(Executive Summary)**:用 3 句话总结。 - **关键事实(Key Facts)**:带数据支撑的行业现状。 - **不同视角的观点(Perspectives)**:至少包含两种不同的声音。 - **参考信息源(Sources)**:附上你在步骤2中读取的真实网页链接。 ## 纪律限制 - 绝对禁止编造数据。如果 `search_web` 找不到近期数据,直接告诉用户“未查到相关最新数据”。 - 不要一次性调用超过 5 个 URL,避免上下文超载。 </code></pre> <h3 id="toc_9">3. 这个 Skill 跑起来是什么样的?</h3> <p>一旦这个带有工具的 Skill 被触发,你和 AI 的交互将不再是简单的“一问一答”,而是像在指挥一个员工。</p> <pre><code class="language-mermaid">sequenceDiagram participant User as 用户 participant AI as "AI (挂载调研Skill)" participant Web as 外部互联网 User->>AI: "调研一下近期 AI 视频生成工具的竞争格局" Note over AI: 匹配到《深度调研专家》Skill AI->>Web: Tool: search_web("AI 视频生成 竞争格局 2024") Web-->>AI: 返回10条搜索结果摘要 AI->>Web: Tool: read_url("网址 A") AI->>Web: Tool: read_url("网址 B") Web-->>AI: 返回万字长文内容 Note over AI: 交叉验证、提取核心事实、排版报告 AI->>User: 输出带真实链接和数据的调研报告 </code></pre> <p>通过这个实操案例你可以看出,高质量的 Skill 加持了外部工具后,把 AI 从一个<strong>“根据背诵过的记忆来答题的考生”</strong>,变成了一个<strong>“懂得利用工具去解决复杂问题的打工人”</strong>。</p> <hr /> <h2 id="toc_10">第三部分:效率革命(用魔法打败魔法:借助 Skill Writer)</h2> <p>你可能会觉得:“手写这么多规则、YAML 头、Markdown 格式,是不是太麻烦了?” 非常敏锐!既然 Skill 的本质是一份写给 AI 的说明书,那么<strong>最擅长排版、最懂 AI 提示词结构的,不正是 AI 自己吗?</strong></p> <p>我们完全可以创造一个专门用来写 Skill 的元技能(Meta-Skill),我们称之为 <strong>Skill Writer</strong>。它的工作就是听取你的口语化需求,自动帮你生成符合以上所有高质量标准的 Markdown 文件,而你只需要在此基础上进行<strong>人工审核与微调优化</strong>。</p> <h3 id="toc_11">1. 标准协作流:AI 打草稿,人类注灵魂</h3> <ol> <li><strong>口语化提需求</strong>:和 AI 助手对话,比如:“我需要一个做竞品分析的 Skill,用到搜索工具查价格和功能,产出对比表格。请帮我写出标准的 SKILL.md 格式。”</li> <li><strong>AI 自动生成框架</strong>:AI 会自动输出带有精准 <code>description</code>、清晰 <code>操作指南</code> 和 <code>纪律约束</code> 的框架草稿。</li> <li><strong>人工注入经验(关键)</strong>:把你拷贝下来的草稿,结合你在真实业务中踩过的坑进行微调。比如补充一句:“必须优先从竞品的官网 Pricing 页面获取数据”。</li> </ol> <pre><code class="language-mermaid">graph LR User("你的想法/痛点") -->|"一句话需求"| Writer["Skill Writer 助手"] Writer -->|"秒级输出"| Draft("格式规范的 Skill 初稿") Draft -.->|"人工微调/注入经验"| Final(("高质量生产级 Skill")) style Draft fill:#fff3e0,stroke:#ff9800 style Final fill:#e8f5e9,stroke:#4caf50 </code></pre> <p>这种方式极大地降低了编写高质量 Skill 的门槛。<strong>不要从零手写,让 AI 去做那些繁琐的结构化工作,把你最宝贵的精力留在“梳理业务逻辑”和“沉淀踩坑经验”上。</strong></p> <h3 id="toc_12">2. 真实模拟:一分钟产出「B站长视频提炼专家」</h3> <p>为了让你有更直观的体感,我们来完整模拟一遍这个过程。假设你现在需要一个帮你看长视频并做笔记的 Skill。</p> <h4 id="toc_13">🎬 第一幕:你向 Skill Writer 提需求</h4> <p><strong>你的粗略提示词:</strong> > “帮我写一个 Skill,叫 B站视频提炼专家。当用户发一个B站链接时触发。你需要读取它的字幕,然后总结核心内容,分成几个小节,最后列出金句。请输出标准 SKILL.md 格式。”</p> <h4 id="toc_14">🤖 第二幕:Skill Writer 秒级生成的初稿(V1.0)</h4> <p>AI 瞬间就为你搭建好了高质量的结构框架:</p> <pre><code class="language-markdown">--- name: B站视频提炼专家 description: 当用户提供 B 站 (bilibili) 视频链接,要求总结、提炼或做笔记时触发。 required_tools: - read_url (用于抓取视频字幕文本) --- # 角色定义 你是一个高效的学习委员,擅长从冗长的视频字幕中提取干货,结构化地输出笔记。 ## 操作指南 当接到 B 站视频链接时,按以下步骤执行: 1. **读取字幕**:使用 `read_url` 工具读取提供的链接内容,获取字幕。 2. **核心摘要**:用 50-100 字概括这个视频到底讲了什么。 3. **内容分节**:将视频内容按照逻辑划分为 3-5 个小节,提炼每节的要点。 4. **金句提取**:摘抄视频中最有启发性的 2-3 句话。 ## 输出格式 严格按照上述步骤输出 Markdown,使用清晰的标题结构。 </code></pre> <h4 id="toc_15">👨💻 第三幕:人工注入灵魂,微调优化(V2.0 终稿)</h4> <p>初稿结构已经很完美了,但缺乏你的<strong>个人使用偏好</strong>和<strong>防翻车经验</strong>。于是你把代码复制下来,手动加了三条“灵魂设定”:</p> <ol> <li>在 <code>操作指南</code> 加了一条:<strong>[防翻车经验]</strong> “自动过滤掉 UP 主求点赞、投币、打赏等无关废话。”</li> <li>在 <code>内容分节</code> 中强化:<strong>[格式要求]</strong> “必须附带对应内容在视频中的大概时间戳(如 <code>[04:12]</code>),方便我回看原视频。”</li> <li>在 <code>纪律约束</code> 加上:<strong>[底线限制]</strong> “不要自己发明内容,严格基于字幕事实总结。”</li> </ol> <p><strong>结果</strong>:你只花了几十秒提需求和补充两句话,就得到了一个完美符合你自己习惯的、具备防错机制的生产级 Skill。这就是“用魔法打败魔法”的威力!</p> <hr /> <h2 id="toc_16">第四部分:灵感图鉴(万物皆可 Skill)</h2> <p>到底什么样的任务适合被封装成 Skill? <strong>判断标准非常简单:只要这个任务满足“高频重复”、“有固定 SOP(标准流程)”、“强依赖个人经验”这三点中的任何一点,它就极度适合变成一个 Skill。</strong></p> <p>下面是各个领域中,那些把 AI 真正变成“生产力工具”的 Skill 灵感:</p> <h3 id="toc_17">1. ✍️ 自媒体与内容创作</h3> <ul> <li><strong>爆款拆解与仿写专家</strong>:输入一篇对标的爆款文章,AI 自动拆解其“情绪曲线”、“痛点设置”和“金句结构”,然后根据你提供的新主题,按照这个结构仿写。</li> <li><strong>播客/视频逐字稿清洗器</strong>:自动去除“啊、嗯、就是”等口语化废话,纠正同音错别字,并根据上下文自动切分逻辑段落,加上小标题。</li> <li><strong>全平台分发适配器</strong>:写好一篇文章后,一键生成三个版本:小红书版(多 emoji、重情绪)、知乎版(重逻辑、多引用)、公众号版(排版规整、引人深思)。</li> </ul> <h3 id="toc_18">2. 💻 程序员与技术研发</h3> <ul> <li><strong>Git Commit 规范化门神</strong>:读取 <code>git diff</code> 变化,自动判断改动类型(feat, fix, refactor 等),强制生成符合团队 Angular 规范的提交信息。</li> <li><strong>古董代码重构专家</strong>:给定一段没有注释的陈年老代码(如老旧 PHP),不仅将其翻译成现代语言(如 Go/Rust/TS),还要顺便补齐单元测试和 Docstring 注释。</li> <li><strong>运维故障排查助手</strong>:当日志报警时触发,抓取堆栈报错信息,自动调用搜索工具去 GitHub 找类似 issue,最后输出“故障原因猜想”和“修复建议清单”。</li> </ul> <h3 id="toc_19">3. 💼 企业管理与 HR</h3> <ul> <li><strong>简历双向精准匹配器</strong>:输入一份 JD(职位描述)和候选人简历,自动提取候选人的“亮点”和“雷点”,并生成一份为该候选人定制的“初面提问大纲”。</li> <li><strong>OKR 追踪与诊断顾问</strong>:检查团队提交的 OKR,指出哪些目标不符合 SMART 原则(如没有可量化指标),并直接给出具体的修改建议。</li> </ul> <h3 id="toc_20">4. 🛒 电商与外贸运营</h3> <ul> <li><strong>多语种客服 SOP 机器人</strong>:输入客户的抱怨邮件和物流状态,AI 自动判断客户情绪,并按照“安抚情绪 -> 说明情况 -> 提供补偿方案”的严格 SOP,生成地道的小语种回复。</li> <li><strong>竞品差评分析雷达</strong>:利用读取网页工具,抓取竞品在亚马逊/淘宝上的数十条差评,提炼出前 3 大用户痛点,并反向输出一份“我们新品的研发避坑建议”。</li> </ul> <h3 id="toc_21">5. ⚖️ 法务与合规</h3> <ul> <li><strong>商业合同避坑扫描仪</strong>:阅读一份外发合同,高亮出“违约责任不对等”、“管辖权缺失”、“付款节点模糊”等常见商业陷阱,并给出标准合规条款的替换建议。</li> <li><strong>公关稿合规审查员</strong>:审核即将发布的公关通稿,排查是否有违反《广告法》的绝对化用语,或容易引起特定群体舆情争议的表述。</li> </ul> <h3 id="toc_22">6. 🧠 个人成长与知识管理</h3> <ul> <li><strong>费曼学习法无情导师</strong>:当你学习一个新概念后,试着用自己的大白话讲给 AI 听。这个 Skill 的设定是“不断追问底层的为什么”,指出你哪里没讲清楚,逼迫你扫清知识盲区。</li> <li><strong>碎片化阅读消化器</strong>:把你白天随手剪藏的各种杂乱链接、微信推文,在睡前让 AI 自动归类,提炼核心结论,并打上适合你 Obsidian 双链体系的标签。</li> </ul> <blockquote> <p>[!tip] 行动建议:如何使用这个灵感库? 不要试图一次性把它们都写出来。观察你<strong>明天的工作中</strong>,哪一件事让你觉得“又繁琐,又不得不用脑子(或者要遵循很多细碎规则)”,那往往就是你下一个应该编写的 Skill!</p> </blockquote> <hr /> <h2 id="toc_23">结语</h2> <p>写高质量 Skill 的过程,本质上就是<strong>你把自己的行业经验、工作流、踩过的坑,抽象提炼成标准算法的过程。</strong> 你的思考越深入,你的 AI 专家就越强大。</p> <p>本文链接:<a href="https://deepzz.com/post/how-to-write-high-quality-skills.html">https://deepzz.com/post/how-to-write-high-quality-skills.html</a>,<a href="https://deepzz.com/post/how-to-write-high-quality-skills.html#comments">参与评论 »</a></p>