Image

上周我用一个 AI 插件在 11 分钟内完成了原本需要 4 小时的内容工作。

并不是因为我变快了。是因为三周前我花了一个晚上写了一个插件,现在它代替我干活,而我可以去做别的事。

那四个小时的构建时间,是我今年投入产出比最高的时间。

大多数人使用 Claude Cowork 的方式跟用 ChatGPT 一样:打开它,输入提示词,复制输出。能用,确实是最便宜的打开方式——大约相当于用服务器集群来当计算器。

我要讲的版本完全不同。那里面的你不再是操作员,而是架构师:构建一次 AI 员工,之后它每天自动上班。

以下内容是完整的课程。说实话,构建插件不是"30 分钟搞定"的事,大约需要几个小时,但绝对值得。

第一部分:大多数人忽略的思维转变

大多数人把 Claude Cowork 当成稍微聪明一点的文件管理器。整理这些文件、转换这个电子表格、重命名这个文件夹。这是初级用法,很快就会遇到天花板。

高级用法是另一种东西:插件。而插件不是"一个带文件的文件夹"。这个错误认知误导了所有尝试的人。

插件是被编码的专业能力。它就像你跟承包商解释任务每次都要说一遍,还是写一份足够精确的岗位说明书,新人读一遍就能产出你的标准。

提示词是一段对话。插件是一个岗位角色。

这就是全部的思维转变。一旦理解了这一点,你就不会再想"怎么把提示词写得更好",而是开始思考"这个岗位的角色描述、标准操作流程、模板和质量标准应该是什么样的"。插件架构就是从这个问题的答案自然生长出来的。

第二部分:什么时候该建插件(什么时候你在浪费下午)

在开始任何架构设计之前,先过一个诚实的过滤器:

当且仅当以下三个条件同时满足时,才值得构建插件。 这个任务至少每月重复两次,最好是每周重复。流程是稳定的,你能把它写下来。输出有明确的形态,是一个交付物,而不是一场模糊的对话。

以下情况不要构建插件: 任务是探索性的、一次性的,或者质量标准不稳定(你需要看到三个失败版本才能判断什么是好的)。对于这些情况,一次聊天会话永远比插件更有效。插件是对流程的编码。如果流程本身还在探索中,你编码的只是混乱。

我最常看到的错误:有人花两小时构建一个精致的插件来节省自己每年才出现两次的任务。两小时的插件工作换二十分钟的年度节省,数学题算不过来。

选你每周一都做的那个任务。或者每次新客户入驻时做的那个。或者每次新文章发布时要做的。那个才是插件的候选对象。

第三部分:插件的解剖结构(这个插件为谁而建)

在打开文件夹之前,先说清楚这个插件到底为谁服务。

内容复用器(Content Repurposer) 是为博主、时事通讯作者、播客主持人、课程创作者以及任何需要把长内容分发到不同平台的人设计的。如果你曾经写过一篇博客文章,然后花了整整两个小时手动改成一串推特、一条 LinkedIn 帖子和一个 Instagram 轮播图,那这个插件就能把那两小时变成一条命令。

它在第一个星期内就能收回成本的几个具体场景:

  • 你在 Substack、Ghost 或自己的网站上发了一篇 2000 字的博客文章。 把文件丢进文件夹,执行 /content:repurpose,得到一整套协调好的内容包:10 条推特串、一条长文 LinkedIn 帖子、一条 LinkedIn 帖子、一份时事通讯预告、一套 Instagram 轮播图文案。一个输入,一周的社交内容。
  • 你录了一期播客或 YouTube 视频。 文字稿是有的,但要重读一小时的语音来提取社交内容,太痛苦了。插件帮你读文字稿,提取 5 到 7 个最核心的观点,然后生成一套平台适配内容。周一节目上线,你的社交分发可以跑完整一周。
  • 你有一堆积灰的旧文章。 在每篇旧文章上跑一遍插件。50 篇旧文章 = 一整年的新鲜社交内容,来自你已经完成的工作。这是大多数博主完全错过的最高 ROI 用法。
  • 你要发布一个产品、课程或新的时事通讯。 写一篇产品发布文章,跑一遍插件,在同一个下午跨所有平台发布协调好的公告内容,保持信息一致,不遗漏任何一个平台。
  • 你每周发一份时事通讯。 插件可以生成预告内容(推特帖子 + LinkedIn 摘要 + IG 轮播图),目的是把读者拉回完整版。时事通讯增长,半自动运行。

Image

现在说说架构。插件是一个有特定结构的文件夹。下面是我们这个示例的完整地图:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
content-repurposer/
├── .claude-plugin/
│   └── plugin.json              ← 身份证。告诉 Cowork 这是一个插件。
├── skills/
│   └── repurpose-content/
│       └── SKILL.md             ← 大脑。实际的工作流。
├── commands/
│   └── repurpose.md             ← 斜杠触发器。/content:repurpose 运行全部流程。
├── references/
│   ├── format-specs.md          ← 平台规则(字符限制等)
│   └── hook-patterns.md         ← 钩子模板库。
├── global-instructions.md       ← 常驻命令。人设和默认设置。
└── folder-instructions.md       ← 项目特定上下文。

有些 Cowork 插件在根目录还会放一个 .mcp.json 文件,用来连接外部工具(Slack、Gmail、CRM 等)。我们的基础插件不需要它,因为这个技能只操作本地文件。如果你想把插件接入外部服务,可以之后再加。

一个值得铭记的原则:一个技能只做一件事。 抵制住"趁着手都在同一个 SKILL.md 里"的冲动把多个工作流塞进去。每个技能应该把一件事做好。如果你的插件需要做三件事,那应该是三个子文件夹下的三个 SKILL.md 文件,而不是一个臃肿的文件。

第四部分:角色调研(每个人都急着跳过的部分)

在你写任何文件之前,你需要知道这个 AI 员工到底做什么。这不是一个"找灵感"的步骤,而是一个"挖掘隐性知识"的步骤。

分两轮进行。

第一轮:外部调研。 在 Claude 里使用这个提示词:

“Research the complete professional workflow for a [ROLE] in [INDUSTRY]. Include: the step-by-step process they follow, the tools and data sources they use, key metrics and decision criteria, common output formats, and expert-level edge cases and pitfalls. Treat this as input for an automated workflow, be comprehensive.”

读一遍输出。标出哪些符合你的实际情况,哪些不符合。

第二轮:自我访谈。 这是插件成败的关键。外部调研给你的是教科书版本,你的插件需要的是"你"的版本。坐下来,书面回答以下问题:

  • 我有什么捷径是新手不知道的?
  • 我在交付前总是会做哪些质量检查?
  • 我反复犯过哪些错误,现在会自动检查?
  • 对我来说,“够好了"和"真的好"有什么区别?
  • 我每次都会提前问什么信息,如果缺失会导致工作失败?
  • 哪些边界情况会破坏标准流程?

最好的 AI 员工不是从通用最佳实践里构建的。它们是由你的特定专业能力构建的,包括那些在你没有外部压力时很难清晰表达出来的部分。

第五部分:SKILL.md(插件质量的 90%)

SKILL.md 才是核心。它做好了,其余部分几乎无关紧要。做砸了,就算插件文件夹再漂亮,产出也是垃圾。

有效的结构是这样的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
---
name: [技能名称]
description: [触发短语 —— 参见第六部分,这很关键]
---

# 概述
[一段话:这个技能做什么,产出什么]

## 流程
[编号步骤。具体、可测试、无歧义。]

## 输出格式
[交付物的精确形态]

## 规则
[不可协商的质量标准]

## 边界情况
[事情不顺利时怎么办]

## 质量检查清单
[交付前运行]

以内容复用器为例,流程部分不能只说"分析内容”。它要拆成四个明确的步骤:(1)阅读并切分源材料,(2)提取原子单元,(3)使用 references/format-specs.md 中的规则构建各平台版本,(4)运行质量检查清单。每一步都有自己的子指令。没有解释空间。

规则部分是你的隐性标准变成显性标准的地方:

“具体数字在转换过程中必须保留。如果原文说’增长 47% ‘,社交版本也要说'47%’,绝不能改成’大幅增长’。”

“禁用短语,永远不能出现:‘在当今世界’、‘颠覆性’、‘让我来解释一下’、‘系好安全带’……”

这些规则看起来吹毛求疵。它们不是。区别就在于产出是你可以直接发布的还是你还需要重写的。

边界情况部分处理现实。默认流程假设输入是干净的。真实输入从来都不干净。如果源材料不到 500 字怎么办?如果是满是"嗯"和"那种"的语音转写稿怎么办?如果是一篇 90% 都是数据表的研究报告怎么办?每种情况都有一条明确的指令。

质量检查清单在最后作为过滤器运行。我们示例中有九项,每一项都是二元的(通过或不通过)。如果任何一项不通过,技能会在交付前修复它。

第六部分:描述字段(第一号失败原因)

这是大多数课程都会跳过的部分。它也是决定你的插件在需要时是否真的会被触发的部分。

技能 YAML 前置信息中的描述字段,是告诉 Cowork 何时使用这个技能的依据。如果太模糊,技能永远不会触发,你会疑惑为什么插件"不工作"。如果太宽泛,技能会劫持不相关的对话。两种失败在用户看来完全一样:插件没有按预期工作。

解决方法是在两个方向上追求精确:触发短语和明确的非触发项。

糟糕的描述(太模糊):

“用于内容任务的技能。”

糟糕的描述(太宽泛):

“当用户提到写作、发布或分享任何内容时使用此技能。”

好的描述(内容复用器):

“当用户提供长内容(文章、博客文章、文章、语音转写稿、时事通讯、播客笔记、视频脚本)并要求’复用’、‘适配社交’、‘转成帖子’、‘做成串’、‘提炼’、‘提取内容’、‘为平台重新混编’或’创建内容包’时使用此技能。当用户粘贴长文章并要求’社交帖子’或’各平台的简短版本’时也使用。不应使用此技能的情况:从头开始撰写原创内容、为个人笔记做摘要、翻译、生成 SEO 元描述,或仅为调整语气而改写,这些是独立的任务。”

注意三点。第一,5 到 7 个用户可能实际会说的具体触发短语,不是抽象概念,而是原话。第二,一个明确的"不应用于"列表来划清边界。第三,边缘短语示例,仍然应该触发(“用户粘贴一篇文章并要求’社交帖子’")。

这个改写过程很烦人。但它也是你能对插件做的最高杠杆率的编辑。我在实际使用中见过的每一个插件失败,首先都失败在这里。

第七部分:支撑文件

其他文件的作用是保持 SKILL.md 的整洁并定义插件的环境。

plugin.json 是身份证。

名称、描述、版本。三行,完成。

commands/ 目录存放斜杠命令触发器。

命令文件不包含逻辑,它是一个轻量级的包装器,说"在当前文件夹的内容上执行这个技能,输出保存为 X,打印摘要。“当你想要一键触发而不是等描述匹配时很有用。

references/ 目录存放技能引用的素材。

模板。基准数据。钩子库。行业标准。原则是:凡是参考素材都放这里,不要放在 SKILL.md 里。保持 SKILL.md 聚焦于流程,把参考数据推到单独的文件里。内容复用器有两个参考文件:format-specs.md(每个平台的字符限制)和 hook-patterns.md(经过验证的开头行模板库)。技能通过名称引用它们。

global-instructions.md 是常驻命令。

人设、沟通风格、默认设置。这些适用于插件做的每一项任务,不仅仅是某一个技能。这是你定义的地方:语气(自信、直接)、默认值(始终使用具体数字)、常驻禁令(绝不编造事实)。

folder-instructions.md 是项目特定的。

插件是通用的;它运行的文件夹是你的。这个文件里放的是:品牌名称、目标受众、语音样本、话题禁区、优先平台。插件读取这个文件并相应调整。

心智模型: SKILL.md 是做什么,global-instructions 是普遍怎么工作,folder-instructions 是当下在什么上下文中工作。三者层层叠加。

第八部分:测试协议(不是"跑几次试试”)

大多数插件教程说"在真实数据上测试”。没用的指令。下面是真正能发现问题的方法。

在三种刻意不同的输入类型上测试:

类型 1:典型输入。

插件正常情况下会看到的干净、结构良好的示例。对于内容复用器:一篇 1500 字、结构清晰的博客文章。这证明正常路径能工作。

类型 2:边界输入。

触发你声明的某个边界情况的内容。对于内容复用器:一篇 300 字的 LinkedIn 文章(低于 500 字触发"跳过推特串"的边界情况)。这证明你的边界逻辑确实触发了。

类型 3:垃圾输入。

凌乱的、无结构的、或边界之外的内容。对于内容复用器:一份带时间戳的未编辑语音转写稿。这证明插件能优雅地降级,请求澄清,或给出有用的报错,而不是输出一堆垃圾。

对每个测试,记录以下信息:

  • 它遵循了 SKILL.md 中的每一步吗?
  • 它遵守了每条规则吗?
  • 输出与格式规范完全一致吗?
  • 我会直接发布这个输出,还是需要编辑?
  • 具体哪里出了问题?

第四个问题是关键。“我会直接发布这个输出吗?“如果答案是"否”,SKILL.md 还没有完成。

第九部分:迭代纪律

这是区分变得更好的插件和保持平庸的插件的关键。

每周花十五分钟:

  1. 打开插件的 SKILL.md。
  2. 查看上周的输出。记下你在哪些地方做了编辑、哪些地方需要重做、哪些地方不得不标记 AI 重新执行。
  3. 对于每种失败模式:添加一条规则、收紧一个步骤、或增加一个边界情况。
  4. 在 plugin.json 中提升版本号。添加一条更新日志:改了什么,为什么。

最后一点——版本控制和更新日志——听起来像官僚主义。其实不是。这是你知道改动在改善事情还是让事情变差的唯一方式。没有它,你就是在黑暗中编辑。

复利效应: 你每周迭代、持续两个月的插件,产出质量能达到一个新手经过六个月培训才能达到的水平。你构建了一次就再也不碰的插件,产出永远停留在你第一次构建时的水平。

第十部分:超越单一技能的扩展

当你的核心技能已经稳定——意味着你能连续两周直接发布它的产出而不需要编辑——你就有了一个扩展的基础。

添加第二个技能。 你的内容复用器现在还可以"从语音转写稿中提取时事通讯”,或"从主题列表生成内容日历"。每个新技能都是 skills/ 目录下一个新的子文件夹,包含自己的 SKILL.md。它们共享 global-instructions 和 references,但各有自己的流程。

技能串联。 构建一个依次触发多个技能的工作流:调研 → 分析 → 写作 → 审校。一条斜杠命令,四个技能,无需手动交接。

调度执行。 Cowork 支持定时执行。插件每周一早上 9 点自动运行。每次有新内容进入文件夹时运行。每次外部触发器触发时运行。这就是"自主员工"解锁——在你睡觉时也能工作。

子代理(Sub-agents)。 对于可并行执行的工作流(同时处理 5 篇文章,而非顺序处理),子代理可以分发任务。批量操作时很有用。对大多数早期插件来说,杀鸡用牛刀了。

诚实的预期: 大多数人从一个构建精良的核心技能中就能获得巨大价值,根本不需要其余的。不要为你还没有的规模做架构设计。

第十一部分:最常见的 8 种失败

我反复看到的模式:

  1. 描述字段太模糊。 插件永远不会触发。参见第六部分。
  2. 流程步骤说"分析"而不是"比较 X 和 Y,计算 Z"。 AI 会用随便什么来填补空白,那个空白比你想象的大得多。
  3. 没有边界情况。 插件遇到第一个不符合理想路径的真实输入就崩了。
  4. 多个技能塞在一个 SKILL.md 里。 技能变成一锅粥。每个任务互相污染。
  5. 参考文件沦为摆设。 文件是存在的,但 SKILL.md 从不引用它们。它们可能根本不存在。SKILL.md 必须在相关步骤中通过名称引用参考文件。
  6. 没有质量检查清单。 输出是"模型产出了什么就是什么"。有时好有时不好,没有一致性。
  7. 跳过测试协议。 插件在构建者第一次尝试的输入上可以正常工作。到了第二个输入就崩了。
  8. 构建一次,永远不迭代。 你第一周构建的插件,永远停留在第一周的水平。插件应当是花园,而不是雕塑。

如果你的插件行为异常,在排查其他问题之前先过一遍这份清单。80% 的失败原因都在这里。

第十二部分:今天就动手——一个具体的 2 小时计划

你不需要路线图。你需要的只是开始。

第一个小时。 选一个任务。那个你每周都做、并且很烦的任务。跑一下外部调研提示词。坐下来做自我访谈,把答案写下来,不要只是在脑子里想。

第二个小时。 打开一个文件夹。创建结构:.claude-plugin/、skills/、commands/、references/,加上 global-instructions.md(你的人设和常驻命令)和 folder-instructions.md(项目特定上下文)。写 plugin.json。起草 SKILL.md,包含流程、输出格式、规则、边界情况和质量检查清单。不要追求完美。发布 0.1 版。

今晚。 执行测试协议。三种输入类型。记录哪些环节出错了。

明天。 修复出错的地方。升级到 0.2 版。再跑一遍。

下周。 十五分钟迭代。升级到 0.3 版。

Image

到月底,你会拥有一个自动运行的 AI 员工,来处理曾经占用你整个周一早上的任务。大多数人因为觉得"做一个插件听起来太复杂了",会继续手动做这些事。而今天投入两个小时的人,明天就有了一个能工作的员工。

大多数被称为"AI 工作流"的东西,只不过是套了一层术语的提示词。真正的工作流是你可以交接出去的,包括交给一个忘记了细节的未来版本的自己,而且它仍然能产出相同质量的工作。

这就是插件的本质。不是文件夹。不是配置。是一个你能交给 AI 然后走开的对象。

那个读了这段文字但什么都没做的你,下个月这个时候还是完全一样。那个今晚就动手构建了第一个粗糙版本的——哪怕做得很差——接下来四周都会不断打磨它。四周之后,你的日常生活会发生一些实实在在的变化。

选一个任务。打开文件夹。开始。

如果你想先研究或 fork 一个能用的插件,而不是从空白文件夹开始,我这个完整的 Content Repurposer 插件在我的 TG 频道可以免费获取:https://t.me/+JmDeelv5UCwwMTcy —— 加入频道,从置顶帖子里拿。