背景
开一段新的 Claude 会话,贴上几百字的品牌指南,再附上最新的活动资料和 tone of voice,希望它按套路给你写一篇推文。可是写着写着,Claude 还是把“我们 7 点直播”说成了“今晚 8 点”、把“走心口吻”写成 PPT 腔。为了纠错,你只好在下一轮输入里再贴一次那份文档——结果上下文窗口被塞满,回复也越来越慢。再加上一些同事喜欢引用旧版模版,整组人讨论同一个话题时,AI 输出的语气完全对不上,有的像广告语,有的像写会议纪要。
对刚接触 AI 的同事来说,这就是他们对“上下文”的第一印象:要么一次性塞太多,要么来回复读,既费精力又不稳定。 而当你让他们“多写点提示”时,他们又会担心:到底要写到多细、写错了 Claude 会不会更迷糊?于是大家陷入了“越写越多 → 模型越糊涂 → 再多写一点”的无用循环。
传统 system prompt 为什么越写越累
- 复制粘贴负担:
- 每次开新会话都得贴一遍流程/风格/注意事项。
- 稍微更新一下 SOP,又得人肉同步到所有提示模版。
- 新人加入团队时,第一件事不是学习产品,而是学习“这一段提示在 Word 文档第几页”。效率被提示管理吞噬。
- Token 成本高:
- 一份 2000 字的说明文,马上吃掉整段对话的 20%-30% 预算。
- 需要引用别的资料时,系统提示占位反而挤掉了真正要处理的数据。
- 对免费用户或限额账号来说,token 直接等于钱,把流程文档塞进去就像提前烧掉预算。
- 容易跑偏:
- 长提示里塞了太多“必须”“请务必”,模型处理起来反而更容易忽略。
- 多人协作时,大家 copy 的版本可能不同,输出风格就参差不齐。
- 提示越长你越难发现“哪个句子导致了误解”,这也是为什么很多人调 prompt 调到崩溃。
总结一句:我们缺的不是更长的提示,而是“写一次就能反复调用”的机制。这也是 Claude Skill 想解决的问题。
换句话说,Claude Skills 不是教你写更复杂的 prompt,而是帮你把“该写的提示”搬到另一个更可靠的位置:写成技能包,交由 Claude 自己决定何时读取。对初学者来说,这意味着你能把有限的精力放在“告诉 Claude 你想做什么”,而不是“告诉 Claude 你是谁”。
Claude Skill 怎么做到“想用时再加载”
1. 技能包 = 入职手册 + 工具箱
官方文档把 Skills 解释成“文件系统里的资源包”。它由三部分组成:
- Level 1:YAML 前言(元数据)
--- name: pdf-processingdescription: Extract text and tables from PDF files...---
这段描述会在你打开 Claude 时就常驻在系统提示里,每个技能只占几十个 token。Claude 只知道“有这个技能,遇到 PDF 就可以用”。 - Level 2:SKILL.md 主体 一旦你提到“PDF”或“表单”,Claude 就会读取技能内的说明。比如官方 PDF Skill 会告诉它:“先用 pdfplumber 抽文本,再用 fill_form.py 填字段”。这部分只有触发时才加载,所以不会一直占用上下文。你也可以在这里写更细的操作指导,比如“先确认用户是否提供了模板”“处理完记得导出为 CSV”,这些指令会在触发时一起加载,Claude 可以照着流程逐步执行。
- Level 3:资源与脚本 技能包里还能放 FORMS.md 这类进阶说明、甚至 Python/JS 脚本。Claude 会在 VM 里运行这些脚本。脚本本身不用塞进上下文,只需要执行结果,这就让“重复性的操作”变得稳定又省 token。
2. Progressive disclosure 带来的三个好处
- 不怕装太多技能:你可以同时安装十几个技能,它们不会互相挤掉上下文。只有命中才会真正加载内容。
- Claude 自主选择:你不用手动切换,用戶一提“帮我把这个 PDF 里的表填好”,Claude 就会在思考区显示“Reading pdf-processing”。
- 指令 + 代码双保险:对于“必须执行得很准”的操作,可以直接写成脚本交给 Claude 运行,避免模型凭语言拼运算。
很多用户第一次体验到“Claude 自动打开另一个 Markdown 或执行脚本”时会有点惊讶:原来我们一直想让 AI 做的“标准操作”,可以通过文件系统 + 脚本更稳地实现。这也是为什么 Skills 需要 Claude Code 那套具备 bash / Python 执行的环境,模型不再只靠“生成文字”来凑答案。
总结:Skills 的核心并不是“新的提示语法”,而是一种把知识、流程、脚本封装在 Claude 身边的方式,只有需要时才展开。
官方技能与社区实践带来的启发
案例 1:官方 PDF Skill(来源:Claude Docs)
- 任务:抽取 PDF 文本、读取表单字段、自动填表。
- 流程:
- YAML 告诉 Claude “遇到 PDF、表单、文档合并时可以使用”。
- 当你上传 PDF 并提问时,Claude 触发 SKILL.md,读到 “用 pdfplumber 打开,再运行 scripts/fill_form.py”。
- Claude 在 VM 里执行脚本,把结果返回给你。整个过程不用你手动解释“那段脚本放哪儿”。
- 对入门者的意义:哪怕你现在不会写脚本,仍然可以先体验“按需触发”流程,理解 Skill 的工作方式。 此外,观察 Claude 在思考区提示“Reading pdf-processing”也很重要,它会让你知道“模型正在参考哪个技能”。以后调试技能时,你就能更快定位问题:是 YAML 描述不准确,还是某个脚本抛错。
案例 2:一周内诞生的 80+ 子代理(来源:Tyler Folkman Substack)
- 背景:Claude Skills 与 Claude Code Plugins 同期上线,开发者们把现有的 SOP、模板、脚本整理成技能包,在 GitHub 上打包分享。
- 亮点:
- 把“品牌内容 + PPT + ROI 计算”拆成三个技能,让 Claude 自动组合。
- Junior 员工只要会调用技能,就能复用前辈的工作流程。
- Simon Willison 甚至说 Skills “可能比 MCP 更重要”,因为它更像把“团队入职手册”装进 Claude。
- 启发:即使手头只有零碎文档,也可以先写成 SKILL.md,再慢慢补脚本。重点是让每个技能描述清晰、触发准确。
Tyler 还提到一个细节:很多团队都是先写“最痛”的技能,比如“我们品牌的推文怎么写”“客户成功给用户回邮件怎么写”。这些场景高度重复,一旦做成技能包,就能立刻把“需要解释 10 分钟的任务”变成“Claude 自动读手册”。对刚接触 AI 的同事来说,这是最直观的生产力跃迁。
新手现在就能做的 3 件事
- 先试官方技能
- 打开 Claude 网页端,输入 “请用 PDF Skill 帮我抽取这份报告的关键表格”。
- 观察 Claude 思考区出现的 “Reading pdf-processing”,体会它是如何自动加载的。
- 同理再试一个 Excel Skill 或 Word Skill,感受同一份描述如何跨任务复用。
- 把你的 SOP 写成 SKILL.md 草稿
- 模板:
---name: brand-copy-starterdescription: Use when the user提到品牌稿 or 公众号推文。---# 品牌文案流程- 语气:xxxx- 禁止出现的词:xxxx- 输出格式:xxxx - 先写指令,不懂脚本没关系。之后再慢慢补“常见素材”或“参考链接”。
- 模板:
- 练习一个“小脚本”
- 例如写一个
sort_leads.py,用来把 CSV 里的潜客按照活跃度排序。 - 放进技能包的
scripts/目录。Claude 调用它时,你能得到每次都一致的排序结果,避免“模型口算”带来的偏差。 - 先写简单脚本没关系,哪怕只是把 JSON 转成 Markdown 表格,只要能节约你一遍遍复制粘贴的时间,就值得放进技能里。
- 例如写一个
5 分钟完成一个 Claude Skill 示例
如果你想要更具体的「我到底要放哪些文件」示范,可以按照下面这套流程在 Claude Code 工作区里动手:
- 创建技能目录Claude Code 默认会在工作区根目录下寻找
skills/文件夹。我们新建一个名叫brand-copy-starter的技能:mkdir -p skills/brand-copy-starter/scripts - 编写 SKILL.md(内含 YAML 前言)把下面的完整示例保存到
skills/brand-copy-starter/SKILL.md。YAML 前言就是技能的“身份证”,主体则写清流程。--- name: brand-copy-starterdescription: Use when the user提到品牌稿件、公众号推文或品牌语气,输出时需要保持走心口吻。---# 品牌推文流程## 快速检查1. 先确认用户是否提供了 campaign 信息,如果没有,用 `campaign.md` 的模板回问。2. 检查输入里是否包含时间或价格,禁止擅自改写。## 写作步骤- 语气:生活化、对话式,可以使用 emoji 但不超过 2 个。- 结构:1. 引子:用户痛点 + 当下场景2. 正文:产品亮点(控制在 3 点以内)3. 结尾:行动号召 + 截止时间## 输出格式- 保持 150-180 字;- 末尾加 `—— 来自 Brand Team`;- 如引用价格,必须复述用户输入的原始数字。## 常见禁止项- 禁止使用“极致”“前所未有”这类夸张词;- 禁止把直播/活动时间改写成别的时段;- 如果输入里没有提供数据,就不要杜撰。 - (可选)加入脚本或模板想要自动化一些小动作,可以在
scripts/放 Python 或 JS 文件。例如scripts/tone_check.py可以校验输出是否包含禁用词,Claude 会在需要时运行它。 - 目录长什么样?
skills/└── brand-copy-starter/├── SKILL.md├── scripts/│ └── tone_check.py└── resources/└── campaign.md - 在 Claude 中加载技能
- 打开 Claude Code,添加上述
skills/目录; - 重新启动会话,输入「请按照品牌推文流程帮我写一篇关于新品的预热文案」;
- Claude 会在思考区显示 “Reading brand-copy-starter”,并按照 SKILL.md 里的步骤输出。
- 打开 Claude Code,添加上述
这个示例可以直接复制后替换为你自己的 SOP。重点是:YAML 前言写清触发条件,SKILL.md 描述流程与禁止项,scripts/resources 用来补充可复用的代码与模版。
Skill vs MCP/插件,怎么选?
| 需求 | 优先使用 Skill | 考虑 MCP / 插件 |
|---|---|---|
| 高频、固定流程 | ✅ 把 SOP、模板写入 SKILL.md,一次写好反复用 | 可能不需要 |
| 需要实时数据/API | ❌ 技能包主要是本地资源,无法主动调接口 | ✅ 通过 MCP 连接数据库、CRM 等 |
| 在 IDE 里跑流水线 | ❌ | ✅ Claude Code Plugins 可以控制编辑器、终端 |
| 团队共享知识 | ✅ 技能像“团队 onboarding 套件” | ✅ 也可用 MCP 做工具级协作 |
借用 Tyler 的建议:先把“高频且容易出错”的流程封成 Skill,其他需要实时连接的再写 MCP 或插件。这样 Claude 既能按 SOP 行事,也能调用外部工具。
构建技能时最容易踩的坑
- 描述太泛 → 误触发:
- 解决:在 YAML 里写清“什么时候不用”或“仅当用户文件类型=PDF 时触发”。
- 脚本没测试 → Claude 执行失败:
- 解决:本地跑一遍示例输入,用 README 记录运行方式。
- 版本混乱 → 团队不知道谁更新过:
- 解决:在 SKILL.md 底部加
## 更新记录,注明日期、改动内容。
- 解决:在 SKILL.md 底部加
- 分享渠道有限:
- 目前还没官方 Skill Store,只能用 GitHub/压缩包。记得附加 LICENSE、使用说明,避免敏感脚本泄露。
- 也意味着你分享技能之前要做权限审查:里面有没有硬编码的密钥?脚本会不会删除文件?这一步比写技能更重要。
结语:让 Claude 变成真正的队友
如果说传统 System Prompt 是“把说明书塞给 Claude”,那 Skills 则是“把说明书装进 Claude 的脑子,但只在需要时展开”。
对 AI 新手而言,这省掉了无数次复制粘贴,也让团队有机会把真正的流程固化下来:
- 一次写好:YAML + SKILL.md 变成你的“入职手册”。
- 想用就用:Claude 自动匹配技能,输出不再跑偏。
- 持续演进:随着你补充脚本、资料,一个技能就能沉淀一个岗位的经验。
把技能越写越好,也是在为未来的“技能商店”做准备。一旦官方推出更完善的分发渠道,你的 Skill 就能像组件一样被更多团队使用。现在就把 SOP、模板、脚本整理好,等到 Skill Store 开放时,你就是第一批能上线“Claude 专属小程序”的人。
现在就挑一个你最常交给 Claude 的任务,把它写进第一个技能包。下一次有人抱怨“AI 不听话”时,你就能直接把技能丢给他,而不是再打一次长长的 system prompt。


