跳到主要内容

Skill

Skill 本质上是用可重复方式完成特定任务的工具。 它把经验、流程、脚本、资源和判断标准固化下来,让 AI 不只是临时回答,而是能够稳定复用一套工作方法。Skill 通常包括:指令、脚本、资源、判断标准——像写给新员工的入职指南,把岗位经验从个人记忆迁移为可复用的组织资产。

岗位经验是大模型时代最稀缺、最具有复利效用的资产。单次 Prompt 容易随着上下文消失,Skill 则可以像代码一样被开发、复用、测试、发布和演进。优秀员工的日常工作方法应尽量抽象为 Skill,让经验不再随着人员变化而流失,也让更多人能借助 AI 达到更高水平的产出。

从更长的时间尺度看,文明进步的关键不只是创造知识,也包括防止知识失传。创造一直存在,遗忘也一直存在。很多知识、工艺、经验和判断在产生之后没有被稳定保存,而是随着时间、人员变化和组织更替逐渐消失。古希腊的科学与工程知识、亚历山大图书馆的大量文献、中国古代未能完整传承的工艺和技术,都说明知识失传比知识创造更常见。

企业内部同样如此。很多组织的问题并不是没人知道,而是知道的人离开了:专家离职,关键系统无人维护,架构设计背景无人了解,历史事故的真实原因只存在于少数人的记忆里。人员流动一旦发生,组织记忆就会断层,新人只能重新踩坑、重新摸索、重新建立判断。

个人层面也会发生知识失传。阅读之后遗忘,学习之后不用,经验没有记录,洞察没有沉淀,都是认知资产在流失。读书笔记、Issue 体系、年度总结、知识库和 Life OS,本质上都是对抗遗忘的工具。它们让想法不只停留在当时的灵感里,而是进入一个未来还能被检索、复盘和继续使用的结构中。

语言、文字、印刷术、学校、图书馆、Git、Wiki 和 AI Memory 的共同目标,都是让知识活得更久。知识的价值不仅取决于质量,也取决于保存时间。一个洞察如果只存在一天,价值很有限;如果能被保存、传播、复用和持续修正,它就可能在很长时间里不断放大。

AI 时代真正重要的变化,是 Skill、Workflow、Decision Pattern 和 Memory 开始被数字化。过去组织记忆主要存在于人脑,专家离职意味着经验消失;现在经验可以沉淀为 Skill,流程可以沉淀为 Workflow,判断可以沉淀为 Decision Pattern,长期上下文可以沉淀为 Memory。Agent 由此可能成为组织长期记忆的新载体。

Skill 的价值不只是提升单次任务效率,更是在保存经验、传承判断和延长知识寿命。 它把原本依赖个人记忆和口耳相传的工作方法,转化成可以版本管理、测试、复用和迭代的组织资产。文明是一部持续对抗遗忘的历史,AI Skill 则是这种历史在组织和个人工作中的新形态。

Skill 与相邻概念的边界

Skill 不等于 Prompt。 Prompt 是会话级一次性指令,会话结束就消失;Skill 是文件系统级可复用资源,可以跨会话、跨项目、跨人存在。同样的信息,写在单次 Prompt 里只能用一次,固化成 Skill 后可以被反复调用、迭代、版本管理。

Skill 不等于 MCP。 MCP(Model Context Protocol)解决的是工具连接问题——让模型能调用 GitHub、BigQuery、企业内部 API 这些外部能力。Skill 解决的是流程教学问题——把"遇到这类任务应该按什么步骤、参考什么文档、用什么脚本"这件事教给模型。两者互补:MCP 提供工具,Skill 教工作流。

Skill 不等于 Subagent。 Subagent 创建一个独立的、有自己上下文和工具集的子代理;Skill 不创建代理,只是给当前代理一份操作手册。Skill 也可以选择在子 agent 里运行(Claude Code 的 context: fork 前置字段)——把 Skill 内容作为子 agent 的 prompt,隔离主对话历史。

概念解决什么载体跨会话复用
Prompt单次任务指令消息文本
Skill流程教学、工作流、经验沉淀文件系统
MCP工具/数据连接协议
Subagent隔离的独立代理进程

Anthropic Agent Skills 的工程实现

Anthropic Agent Skills 是上述 Skill 概念的具体工程实现。理解它的设计有助于把抽象的"Skill"落到实处。

三阶段渐进式披露

Skill 的核心机制是按需加载,避免一次性占用上下文窗口:

第一阶段:元数据(始终加载)。 每个 Skill 有一个 YAML frontmatter 描述,包含 name 和 description,加起来约 100 token。启动时所有 Skill 的元数据注入系统提示词,让 Claude 知道有哪些 Skill 可用、什么时候该调用。

第二阶段:指令(触发时加载)。 SKILL.md 的正文内容,包含具体工作流、最佳实践、操作步骤。Claude 判断某个 Skill 与当前任务匹配时,通过 bash 读取 SKILL.md,正文才进入上下文窗口。

第三阶段:资源与脚本(按需访问)。 Skill 目录里可以放任意 markdown 参考文件、可执行脚本、数据集、模板。这些文件不被加载进上下文,Claude 通过 bash 访问——脚本只输出进上下文,代码本身不消耗 token。

my-skill/
├── SKILL.md # 主要指令(触发时加载)
├── reference.md # API 参考(按需加载)
├── examples.md # 示例(按需加载)
└── scripts/
└── validate.py # 工具脚本(执行不加载)

这套机制让 Skill 可以"无限"打包内容而不爆炸上下文。 一个 Skill 可以附带几百页的 API 文档、完整的数据库 schema、大量历史案例——只要不被实际读取,就不占 token。代价是 Claude 每次需要时必须重新读文件,所以文件结构要清晰、命名要可读,避免 Claude 用 head -100 预览导致信息不全。

Skill 放在哪里

Skill 的存放位置决定谁能用:

位置路径适用范围
Enterprise通过 managed settings 部署全组织
Personal~/.claude/skills/<name>/SKILL.md当前用户所有项目
Project.claude/skills/<name>/SKILL.md当前项目
Plugin<plugin>/skills/<name>/SKILL.md启用了该插件的场合

企业级 > 个人 > 项目,插件用 plugin-name:skill-name 命名空间避免冲突。项目级 Skill 应当提交到版本控制——它是项目知识的一部分,新成员 clone 仓库就自动获得。

触发方式

自动触发:Claude 根据 description 判断是否匹配当前任务,匹配时自动加载 SKILL.md。手动触发:用户在 Claude Code 输入 /skill-name 直接调用,类似 slash command。

Custom commands 已合并入 Skills。 旧的 .claude/commands/deploy.md 文件和新的 .claude/skills/deploy/SKILL.md 目录都产生 /deploy,功能等价。Skills 是超集,额外提供 supporting files、frontmatter 字段控制、子 agent 执行等能力。旧命令文件继续工作。

frontmatter 关键字段

  • description:必填,说明 Skill 做什么+何时用,必须用第三人称("Processes Excel files..." 而不是 "I can help...")
  • disable-model-invocation: true:禁止 Claude 自动触发,只允许用户手动 /
  • user-invocable: false:禁止用户触发,只让 Claude 后台调用
  • allowed-tools / disallowed-tools:技能激活时限制工具池
  • model / effort:技能激活时切换模型或推理强度

**!command动态上下文注入**:在 SKILL.md 里写 !git diff HEAD ``,Skill 加载前先执行命令,命令输出替换占位符。这让 Skill 可以引用实时数据——当前 diff、最新 benchmark、当前任务状态——而 Skill 文档本身保持不变。

context: fork 子 agent 执行:把 Skill 内容作为子 agent 的 prompt 在隔离上下文里运行。主对话历史不进入子 agent,Skill 完成后只把结果返回。适合"运行一次性的复杂分析任务而不污染主对话上下文"

三种使用形态

形态用途限制
Claude Code个人/项目/企业级 Skill,文件系统管理全功能,本地网络
claude.ai上传 zip 包,个人级网络访问视设置而定
Claude API程序化使用 container.skills 参数无网络访问、无运行时包安装

创建 Skill

Skill 的创建可以通过 Chat 完成

  1. 发起新聊天,说明想创建什么 Skill。
  2. 附上理解、参考资料、案例和期望输出。
  3. 回答 AI 的澄清问题。
  4. 生成 Skill 后测试并完善。
  5. 在真实任务中反复使用,持续迭代。

更结构化的方法是 Claude A 写 + Claude B 用

  • Claude A(专家):和你一起设计 Skill,把领域知识、流程、约束写成 SKILL.md
  • Claude B(用户):在真实任务里使用这个 Skill,观察它在哪里做对、在哪里卡住
  • 迭代循环:把观察结果带回 Claude A,针对性改进

这个循环和前面 AI技能.md 自进化思想一致,但更具体——Claude A 知道怎么写好的 Agent 指令,Claude B 暴露真实使用中的盲点。

创作规范

Concise 是核心。 上下文窗口是公共资源:系统提示、对话历史、其他 Skill 的元数据、用户请求都在抢空间。默认假设 Claude 已经够聪明,每条规则都要问"Claude 真的需要这条吗?"。把"PDF 是什么"留给模型,把"用 pdfplumber 而不是 pypdf"写进 Skill。

自由度假说匹配任务脆弱性

  • 高自由(文本指令):多解、依赖上下文、启发式判断。例如"做代码审查"
  • 中自由(伪代码+参数):有推荐模式,但允许变化。例如"按这个模板生成报告"
  • 低自由(精确脚本+固定参数):操作脆弱、必须按固定顺序。例如"运行 python scripts/migrate.py --verify --backup,不要加任何 flag"

反模式

  • 深层嵌套引用(SKILL.mdadvanced.mddetails.md)——Claude 经常会用 head -100 预览嵌套文件,导致信息缺失。保持引用一层深
  • 超过 100 行的参考文件没目录——Claude 预览时看不到全貌
  • voodoo constants(TIMEOUT = 47 # 为什么是 47?)——每个魔法值都要有说明
  • 时间敏感信息("2025 年 8 月之前用旧 API")——用 <details> 折叠"old patterns"区
  • Windows 路径(scripts\helper.py)——所有平台都用 /

description 是触发关键:100 token 决定 Claude 是否在 100+ 可用 Skill 里选中这个。必须同时说清做什么何时用,且用第三人称(注入系统提示词会破坏人称一致性)。"Processes Excel files and generates reports" 优于 "I can help you process Excel files"。

scripts solve, don't punt:脚本要处理错误而不是抛给 Claude。try/except FileNotFoundError 比直接 open(path).read() 更可靠——Claude 看见错误时不知道该建文件还是该报错。

plan-validate-execute 模式:复杂任务先让 Claude 写出 plan 文件,验证脚本检查 plan,再执行,最后验证。这和 Harness 思想一致——在模型之外强制验证,避免幻觉结论污染后续。

安全考虑

Skill 可以让 Claude 调用任意工具、执行任意脚本、访问任意文件。 这也是最大的安全风险。

  • 恶意 Skill 可调用工具做危险操作(删除文件、外发数据、读取密钥)
  • 依赖外部 URL 的 Skill 可能被投毒(fetched content 可能含恶意指令,参考 AI安全文档对间接 prompt injection 的分析
  • 信任被破坏的 Skill 在升级时可能被植入后门

只从可信源安装 Skill——自己创建、官方提供、或经审计的来源。把 Skill 视为"安装第三方软件"而不是"复制一段文字"。

Claude.ai 上的 Projects 与 Skills:消费者场景的 Skill 落地

上面讨论的 Anthropic Agent Skills 是面向开发者的工程实现,需要懂 Agent 框架和文件结构。Claude.ai 平台上的 Projects 与 Skills 是面向消费者用户的轻量化入口——不需要懂技术,只需要建好项目和写好工作流。

Projects:把上下文一次配好

每次开新对话都重新解释"我的角色、写作风格、品牌规范"是 Claude 使用的最大浪费源。Projects 把上下文封装到一个持久化容器:上传知识文件(品牌指南、过往作品、人物画像等)+ 写一次系统提示(角色定义、上下文、输出标准)。这个 Project 内的所有对话自动继承这套上下文,从"每次从零开始"变成"Claude 已经知道你是谁"

Skills:把工作流一次写好

如果说 Projects 是"Claude 已经知道你是谁",Skills 就是"Claude 已经知道怎么帮你做事"。每个 Skill 是一个保存的工作流,包含输入格式、步骤、输出标准、质检要求,保存后用一句话就能触发。

5+2 个 Skill 配方

下面 5 个是日常高频场景的最小集合,覆盖了大多数专业工作:

  1. Meeting Summary Writer:粘贴原始会议笔记 → 自动提取决策、行动项(带负责人和截止日期)、未解问题、写 3 句执行摘要。500 字以内,行动项用 bullet,负责人加粗
  2. Email Drafter:描述场景和收件人 → 自动写两版(一版直接、一版委婉),200 字以内,带主题行和具体 CTA
  3. Content Repurposer:粘贴长文 → 自动产出 5 条 X 帖子(各带强 hook)、1 条 LinkedIn、3 个邮件主题、1 段 Slack 摘要。每条独立成篇
  4. Proposal Builder:描述客户、项目、预算范围 → 自动生成结构化提案(执行摘要、问题陈述、解决方案、里程碑、报价、下一步)。2 页内可扫读
  5. Weekly Review Generator:粘贴原始周笔记 → 自动分类整理(成就、项目状态、关键洞察、下周重点、风险和阻塞)。一页内

补充 2 个完成关键库:

  1. Research Briefing:给主题 → 自动出研究摘要(关键发现、数据点、来源质量评估、so-what 含义)
  2. Presentation Outliner:给主题、听众、时间限制 → 自动出大纲(每页一个核心信息、建议可视化、演讲备注、强开场结尾)

这 7 个 Skill 每个节省 15-45 分钟/次。 每个 Skill 一周用 2 次,等于每周节省 3-10 小时——而且是"以后每周都省"。

Project 三层级

Basic 和 Living 之间的差距是巨大的。 前者是"通用助手偶尔记得你是谁",后者是"个人化团队成员完全懂你的业务"。

层级配置价值
Basic系统提示 + 2-3 个文件30% 价值,10 分钟搭建
Optimized详细系统提示 + 5-10 个文件(含最佳作品范例)70% 价值,30-45 分钟搭建
Living在 Optimized 基础上每月新增作品、定期优化系统提示、季度更新竞品分析100% 价值,每周 15 分钟维护

从 Basic 到 Living 不是一次性升级,是持续迭代。 Project 应该是"活文档"——业务变了、风格进化了、读者画像更新了,Project 也要同步更新。

System Prompt 五段式结构

大多数系统提示太模糊。让 Claude 输出稳定可靠的五段式结构

  1. 角色与专长:「你是拥有 10 年 SaaS 营销经验的 B2B 内容策略师,专攻 VP 级决策者的长篇 thought leadership 内容。」
  2. 业务上下文:「你在 [公司] 工作,[公司] 是面向中型工程团队的项目管理平台。主要竞品是 [列表]。差异化是 [什么]。读者关心 [具体成果],不关心 [他们不关心的事]。」
  3. 输出标准:「每篇内容必须以具体、非显而易见的洞察开头。用数据支持论点。除非行业标准,否则不用术语。主动语态。对话式但权威。每个段落必须有教学、证明或推进论点的作用。」
  4. 禁止事项:「不要用'在这个快节奏的时代''发挥协同效应''不言而喻'等表达。不要以'然而''此外'开头段落。不要以通用 CTA 结尾。不要假设读者了解我们的产品——始终提供上下文。」
  5. 重复性指令:「每次都提供 3 个标题选项。每次都包含 meta description。每次都标注需要引用的声明。分析竞品时同时记录其优势和弱点。」

这个详细程度决定 Claude 是"通用助手"还是"输出你同事以为是你写的"水平的助手。

Projects + Skills 组合

真正的力量来自 Projects 和 Skills 的组合使用。 Projects 提供上下文(你是谁、什么风格、什么标准),Skills 提供工作流(做什么、怎么做、输出什么)。当你在 Content Creation Project 内调用 Content Repurposer Skill 时,Claude 同时有上下文和工作流——输出不是通用的,而是精确匹配你的标准

这种"上下文 + 工作流"的分离是一种工程原则:

  • 上下文是身份——什么让你是你
  • 工作流是动作——你要做什么
  • 两者独立维护、独立更新、独立复用于不同场景

Skill 自进化

Skill 的真正价值,不只是能被写出来,还在于能不能持续变好。 现有 Skill 自进化最大的缺陷,是只基于单条轨迹更新:个人场景影响有限,企业级场景却会因为大量重复任务和边界 case 变得极其不稳定,甚至出现"越优化越差"的情况。把 bad case 直接喂给 Skill 改写,和只拿坏样本改 Prompt 本质上是同一种过拟合。

要让 Skill 真正进化,核心不是多改,而是建立验证和选择机制。可以把现有实践粗略分成三类:

Trace2Skill

先看够多,再写文档。这个路径更像归纳法:先跑大量轨迹,区分成功和失败集,再让不同的分析者并行提案,最后把多次出现的补丁归纳成通用原则。它的优点是一次成型、效率高、Skill 简洁可读;缺点是没有显式验证机制,合并质量决定上限。

EvoSkill

有验证才有方向,不验证就是盲目进化。这个路径引入执行者、提案者和搭建者三种角色,围绕一个固定容量的前沿集合做自然选择:新 Skill 必须在验证集上跑赢精英池里最弱者,才有资格进入正式版本。失败记录会进入历史库,反过来帮助后续提案更聪明。它的优点是可解释性强,每个 Skill 都能对应到明确的失败模式;缺点是每轮只改一处,收敛较慢。

SkillOpt

把 Skill 看成外部可训练参数,用训练范式来优化文本。它和深度学习的对应关系很强:Skill 文本像权重,文本重构像梯度更新,优化器 Agent 像 Adam 或 SGD,学习率像每步允许编辑的数量,Minibatch 像轨迹分组反思,动量像 Epoch 级慢更新,验证集 Early Stop 则决定新版本是否真的更好。它的优点是可控性最强,每个组件都有明确解释;缺点是组件复杂,强依赖稳定的验证集和打分函数。

这三类方法可以组合使用:Trace2Skill 先快速生成基线,EvoSkill 持续扩充技能库,SkillOpt 对核心瓶颈做精细打磨。它们背后的共同点是同一条结论:可验证性决定了迭代速度的天花板。 没有验证机制,就只能靠人体感;有验证机制,数据飞轮才会转起来,Skill 才能从一次性的文档变成真正能进化的资产。

Skill、做事原则和道

三者不是同一层面的东西:

Skill 是操作层。 完成某类任务的固定方法、流程和工具——可学习、可传授、可标准化。换个人执行,结果应该基本一致。

做事原则是判断层。 在没有既定方法时,用来做取舍和决策的准则,比如"先做最重要的事""不确定时先验证再投入"。它比 Skill 更抽象,但仍然是可以言说的规则。

道是认知层。 对事物本质的理解和直觉,难以直接教给别人,只能通过大量实践自行体悟。"道可道,非常道"——能被完整表达成规则的,已经不是道本身。

Skill 可以被 AI 固化和复用,做事原则可以被 AI 参考,但道无法被 AI 替代。 这正是为什么岗位经验是大模型时代最稀缺资产——Skill 和原则可以被迁移,深层的判断力和对复杂情境的感知却只能靠人积累。