先说结论

Skill 解决的是“可复用、有触发条件、需要配套资源(脚本 / 模板 / 参考文档)的工作流”。一句话能说清的、一次性的、依赖实时变化数据的,都不该写成 Skill——直接写进提示词或系统提示就够了。把 Skill 当成你的长期记忆和工具箱,别当成提示词收藏夹。很多人装上几十个 Skill,结果它们从来没被触发过,问题就出在第一步没想清楚该不该写。

本文引用的仓库与规范信息为 2026-09-26 从 GitHub API 及官方规范站拉取;规范本身会变,看到与本文不一致时以官方为准。

官方怎么定义“什么时候用 Skill”

翻 anthropics/skills 里 academy-guide 的 SKILL.md,开头这段就是官方对“技能何时登场”的示范:

“在回答任何关于如何使用 Claude 或其产品的问题之前,先停下检查这个技能……触发词包括 ‘how do I’、’how can I’、’getting started with’、’what can Claude do’ 等。”——译自 anthropics/skills 中 academy-guide 的 SKILL.md

注意关键词是“触发条件”:当某类问题出现时,Skill 应该被自动加载,而不是你每次手动喊它出来。这才是它和提示词的本质区别——提示词是你主动写的指令,Skill 是“符合条件就自己生效”的旁路。顺带一提,官方规范现已迁到 agentskills.io/specification,仓库里的 spec 文件只留了重定向,所以别再到处找那份旧文档了。这个重定向本身也提醒你:规范是活的,别把任何一篇教程当成永远正确的圣经。

三个判定维度

遇到“这个要不要写成 Skill”的犹豫,按下面流程走一遍,每一条都给出反例:

  1. 它会被用超过一次吗?只做一次的事(比如“帮我把这份合同翻成英文”)→ 别写,写提示词。反复出现(每周写汇报)→ 值得。
  2. 加载它需要带额外资源吗(脚本 / 模板 / 样例 / 内部 API 文档)?需要 → 适合 Skill。纯文字指令就能讲完 → 留在提示词。
  3. 它能用一两句话说清、完全不需要配套文件吗?能 → 提示词就够了,别为了“显得专业”硬封装。
  4. 它依赖实时或会变的外部数据吗(股价 / 天气 / 最新文档)?是 → 别写成静态 Skill,做成 MCP 或工具,否则模型读完也是旧数据。
  5. 触发条件清晰吗(什么场景该自动启用)?不清 → 写了也没人触发,是废纸。

Skill vs 提示词 vs MCP

维度提示词SkillMCP / 工具
复用次数单次或偶发反复出现反复出现
是否需要配套文件否是(SKILL.md + 资源)是(服务端逻辑)
是否依赖实时数据可手写不适合擅长
触发方式你主动写条件命中自动加载被 Skill 或模型调用

两个具体例子

落到地上是这样的:①“每次提交前按团队规范格式化 commit message”——反复出现、有模板、触发条件清晰,该写成 Skill。②“今天帮我想五个发布会标语”——一次性、说完就忘,写提示词即可。区别在于“会不会第三次出现”,而不是“听起来酷不酷”。另一个常见误区是把实时查询塞进 Skill:查今天股价、查最新文档版本,这些该走 MCP 工具,写死在 SKILL.md 里只会拿到过期答案。

判定清单

动手写之前,对着这份清单逐项打勾,五项里至少命中“强触发 + 有资源”才值得写:

# 写 Skill 前的判定清单
[ ] 同样的流程我本周已经手搓过 3 次以上
[ ] 它依赖一份会反复用到的模板 / 脚本 / 文档
[ ] 我能用一句话说清“什么场景该启用它”
[ ] 它不是某次临时任务的副产品
[ ] 它不要求模型记住昨天才变的实时数据

一个合格的 SKILL.md 头部,长这样(参考 academy-guide 的真实结构):

---
name: cn-report
description: >
  当用户要写中文项目汇报、周报或公文时使用,
  自动套用团队模板与标点规范。触发词:汇报、周报、
  公文、总结、立项。
---
# 下面是具体指令与参考文件链接

写坏了的 Skill 长什么样(反模式)

  • 把 SKILL.md 写成一篇小作文提示词——没有触发条件,等于没人会主动加载。
  • 一个 Skill 塞进八个不相关的任务,触发词写“任何情况”,结果永远在干扰主线。
  • 里面硬编码了会过期的内部链接、版本号、价格,两个月后全错。
  • 把“查今天股价”这类实时需求写死在静态 SKILL.md 里,模型读完也是旧数据。
  • 目录里只有 SKILL.md,没有任何参考文件,所谓“技能”只是换了个地方的提示词。

下面这个就是典型的“坏技能”——把提示词直接塞进 SKILL.md,却没写触发条件,等于白写:

# 反例:没有 frontmatter、没有触发条件,只是段提示词
你是一个写作助手,帮用户写中文周报,注意用正式语气。
(没有 name / description,agent 永远不知道何时启用它)

而一个站得住脚的技能,至少要有 SKILL.md 加配套资源,目录像这样:

skills/
  cn-report/
    SKILL.md          # 触发条件 + 指令
    template.md       # 汇报模板
    scripts/
      export.py       # 导出脚本等配套资源

下一步怎么做

想学怎么正经写一个,去翻 anthropics/skills 里的 skill-creator(它本身就是教人造技能的 Skill);实操上,从“你本周手搓过三次以上的一个小工作流”下手,先做出一个带触发条件和一份模板的最小可用技能,跑顺了再谈扩展。衡量标准不是写得漂不漂亮,而是它上线后有没有真正被触发过。其余的,留在提示词里就好。

声明:1.本站所有文章,如无特殊说明或标注,均为本站原创发布。本网站中【文本生成/文生图】使用了DeeSseek人工智能生成内容技术, 算法来源说明:本网站未自行开发、训练或部署深度合成算法,所使用的人工智能算法来自:DeepSeek、Chatgpt、Google Gemini。 2.为了网站加载速度优化,本站预览图片进行压缩处理,所以有些不是太清晰,并不影响AI提示词生图、AI设计等内容。3.任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。--GUUNN.COM