农场
面向业务外部输入的单一命令。识别输入内容、获取内容、提取想法、将每个想法归入其轨道、评判它,并将有价值的想法归档到该轨道规范的主目录中。
农场不是内容活动。它是整个业务的输入口。互联网上读到的东西可以是可说的、可构建的或可记住的,而同一个来源通常包含不止一个。
无参数调用意味着回顾而非收获:查看已暂存但尚未使用或提升的内容(第7步说明了它们的位置),并指出每个轨道中哪个最强。
存储位置
此技能是代码,存放在其所在的位置。它写入的内容位于一个庄园目录中,该目录在任何代码仓库之外,由所有读取它的会话共享:默认为 ~/.claude/content,SKILLS_ESTATE=/path 可将其移至任何其他位置(测试运行、第二个品牌、共享机器)。此技能写入的任何内容都不会超出该目录。庄园在首次运行之前不必存在:下面的捕获步骤会创建它。
第0步:捕获,优先于一切
每次输入时始终优先运行此命令:
node .claude/skills/farm/scripts/intake.mjs "<url or text>" --note "<why this got grabbed>"
它会在写入前无网络调用的情况下将一个文件写入 inbox/,然后说明它是什么类型以及下一步该做什么。它不会失败,这正是关键所在。
大多数情况下,这是在手机上发现的。 一个链接,几乎没别的内容。先获取内容,然后在失败时要求粘贴文章正文,这在走路时是无法满足的请求,链接就会丢失。捕获是无条件的;充实是可遇不可求的。
在捕获完成之前,绝不要要求粘贴,并且当输入者表示正在外出时,绝不要要求粘贴。
第1步:行动者或项目
输入脚本仅凭 URL 形状即可回答此问题,并且这是一个分支,使一个命令能够服务于整个流水线。
行动者。 一个个人资料、一个子版块、一个频道、一个网站。值得关注的人。行动者是订阅,而不是想法,因此它永远不会进入下面的三个轨道。它会落入一个登记表中,并改变未来扫描的内容。
| 行动者 | 登记表 |
|---|---|
| X 个人资料 | x/WATCHLIST.md,带有级别 |
| 子版块 | reddit/RULES.md,及其规则页面 |
| LinkedIn 个人资料 | linkedin/WATCHLIST.md |
| YouTube 频道 | SOURCES.md 作为 youtube: |
| 任何其他网站 | SOURCES.md 作为 page: |
说明某事物归档到了哪个级别或场所及其原因。同时粘贴的多个个人资料将归档为多行,并作为一行报告。
项目。 一个帖子、一个主题、一个视频、一篇文章。需要回复或挖掘的内容。项目将经过以下步骤。
第1b步:响应式项目具有不同的约定
他人发布的、可以回复的项目是响应式的。响应式运行的输出是一个可直接粘贴的草稿,每次都在同一个回复中提供。 不是简报,不是摘要,不是获取更多内容的计划。通常输入者正在滚动浏览,而线程正在冷却。
由此产生三条规则:
- 尽力而为胜于完整。 根据手头已有的内容起草。如果几张截图显示了大部分线程,那就足够了。在草稿下方用一行说明无法看到的内容,然后继续起草。
- 永远不要推迟响应式项目。 延迟队列用于主动工作。如果内容确实无法看到,用一句话说明,并要求提供截图,这是一个单手即可完成的操作。
- 将整个内容交回以供粘贴。 草稿,然后用一行说明它放在哪里以及它携带的主张。无需额外组装。
截图使每个渠道都可访问。 下表中仅限桌面的操作是关于获取裸 URL。帖子或线程的截图可以很好地承载内容,因此截图作为完全可访问的响应式项目,在任何渠道上都会立即获得草稿。这就是一个没有公开读取路径的渠道仍然被覆盖的方式,而不是通过 API。
同一线程的多张截图是一个项目。按顺序阅读它们,将其视为一次对话,并起草一个回复。
然后暂时不记录任何内容。回复直到实际发布后才算发送。一旦发布,就在该渠道自己的账本中记录它。
第2步:如果可以访问,获取内容
| 输入 | 如何获取内容 |
|---|---|
| 短格式帖子 URL(X、Threads 等) | 如果平台允许直接读取,则直接获取;如果为该渠道设置了专用的回复起草工具,则使用该工具。 |
| YouTube URL | 使用设置的任何转录工具提取转录文本;如果未设置,则回退到页面本身(标题、描述、热门评论)。 |
| 文章或博客 URL | WebFetch。 |
| 图片或截图 | 直接读取。支持图片。 |
| 粘贴的文本 | 直接使用。 |
| 本地文件 | 读取。 |
| Reddit 主题 | 需要已登录的浏览器。 普通获取会返回403或登录墙。桌面端工作。 |
| LinkedIn 帖子 | 需要已登录的浏览器。 没有公开的内容搜索端点,读取成员帖子需要受限范围。截图是手机上唯一可行的读取路径。 |
当来源需要浏览器但手头没有时,保持捕获状态并继续。 文件已经记录了原因。用一行说明哪些被推迟了,并且不要试图通过网络搜索来绕过。
信息流的截图是需要获取的项目列表,而不是项目本身。在评判之前,将每个项目解析为真实来源,并说明哪些被跳过了及其原因。
第2b步:在桌面端排空
--drain 列出所有已捕获但未处理的内容,按是否需要浏览器分割:
node .claude/skills/farm/scripts/intake.mjs --drain
先处理可访问的项目,因为它们只需要注意力。然后打开浏览器并清空延迟队列。通过将 state: captured 更改为 state: filed 并命名归档位置来标记文件为已完成。
第3步:提取想法
不是摘要。角度和切入点。 每个想法用一行回答:这对于阅读它的业务意味着什么变化,使其能够比来源更好地采取行动?
第4步:将每个想法精确归入一个轨道
这是使农场成为单一流水线而不是一堆笔记的关键步骤。在评判之前执行此操作,因为每个轨道的标准不同。
| 轨道 | 当满足以下条件时 | 规范主目录 |
|---|---|---|
| 内容 | 它是可以说的内容。目标读者会觉得有用的角度。 | 庄园根目录(ideas/、findings/、EXPERIMENTS.md) |
| 产品 | 它是需要在产品本身中构建或修复的内容。 | 构建工作跟踪位置,首先暂存在 product/ |
| 情报 | 它是需要记住的内容。关于市场、竞争对手或平台的持久事实,稍后会改变决策,但既不是帖子也不是构建。 | 一个持久记忆文件(如果运行的代理保存的话) |
三个轨道,因为有三个真正不同的目的地。不要发明第四个。如果一个想法不适合其中任何一个,它几乎总是一个无处可去的观点,答案就是放弃它。
一个想法可能开启两个轨道,好的想法通常如此。 一个尚未发表的引文半衰期问题可能同时是内容作品、产品功能以及针对指定竞争对手的楔子。当发生这种情况时,将其归档到两个轨道中,并让每个文件通过 slug 指向另一个。不要只选择一个而失去另一半。
在内容轨道内,按证据强度排序
学习。 可以在产品内部衡量的内容,以解决来源提出的问题。输出是专有的,其他人无法发布。格式:运行什么,它会告诉你什么,以及大致需要多少工作量。
角度。 值得现在说,且已拥有数据。
观点。 没有衡量依据的意见。最弱,仅偶尔使用。
每次运行至少争取一个学习。如果没有出现,明确说明,而不是用观点填充列表。这种缺失本身就是信息:通常意味着来源是关于观点的观点。
在产品轨道内,一条规则,且具有约束力
从外部收获的产品想法是假设,绝不是发现。 代码或实时数据是唯一的真相来源,视频甚至比文档更弱的证据。有人描述自己产品中的缺口,并不意味着本产品存在该缺口;有人描述某个功能,并不意味着本产品缺少它。
因此,每个产品项目必须携带一个验证问题:具体要检查的内容,以及检查的文件或表,然后才能提升该项目。没有验证问题的项目不予归档。
归档前检查重复。在已跟踪构建工作的位置和文档中首先搜索该项目。重新归档已经排队的项目比不归档更糟糕,因为它会夸大积压并隐藏真正的缺口。
第5步:评判者,并且应经常说“不”
在归档任何内容之前,每个想法:
- 这里是否有任何可以在其轨道中实际使用的东西?
- 是否可以做一些独特的事情?对于内容,意味着专有数据而非观点。对于产品,意味着竞争对手尚未填补的缺口。对于情报,意味着一个月后它仍然会改变决策。
- 它是否能经受住基本的姿态规则:对读者有用,绝不做构建更新,绝不做任何显得软弱的内容?(仅限内容。如果该品牌已有更严格的姿态准则,则优先于该基准。)
如果任何答案为“否”,则不要归档。 报告摘要,明确说明没有值得保留的内容,然后停止。这是一个完整且成功的结果:节省了阅读时间。
链接的粘贴速度比过滤速度快。辨别力是此技能的工作,而不是读者的。 对待检查的内容要慷慨,对待归档的内容要严格。充满接近但未达标的笔记的庄园会被忽略,被忽略的庄园会破坏机制。轻松说“不”。
第6步:交回菜单,不独自决定
永远不要默默地归档,也永远不要默默地跳过。每次运行结束时提供可操作的内容,按轨道分组,以便来源提供的内容的两面都可见:
发现 它是什么,用一行概括
内容
1 [学习] 运行<X>。会告诉我们<Y>。大致需要<Z>工作量。
2 [角度] <角度>,使用<已持有的数据>
产品
3 <缺口或功能>
首先验证:<要检查的内容及其位置>
情报
4 <持久事实>,值得记住,因为<它改变了什么>
值得保留? 是的,基于1和3的强度
现在做什么
a 全部归档以上内容
b 仅归档内容轨道
c 仅归档产品轨道
d 同时将<来源>添加到关注列表(仅当值得时)
e 完全跳过,不保存任何内容
跳过是一个真实选项,应毫无歉意地提供。 如果来源薄弱,明确说明并建议e。
默认选择通常会被选中的选项,并用一行说明原因。
第7步:归档,以正确的类型
所有暂存的内容都存在于庄园中,由所有会话和工作副本共享。四种类型,四个文件夹。 将事物放入错误的文件夹是使庄园变得混乱的唯一错误,因此首先确定类型。
| 类型 | 文件夹 | 当满足以下条件时 |
|---|---|---|
| 来源 | sources/ | 它来自外部。是别人说的。 |
| 想法 | ideas/ | 本业务自己的,内容轨道。值得制作但尚未衡量的角度。 |
| 发现 | findings/ | 它已被衡量。带有方法和注意事项。 |
| 产品 | product/ | 本业务自己的,产品轨道。为提升而暂存的构建或修复。 |
原始来源 进入 sources/raw/YYYY-MM-DD-slug.txt。完整的转录或抓取的文本。不会被想法搜寻加载。它的存在是为了可以对照来源验证主张。只有来源才有原始文件。
项目本身 进入其类型对应的文件夹,命名为 YYYY-MM-DD-slug.md。保持简洁。
在 # 标题下立即提供一行摘要,格式如下,因为可以基于此构建看板:
> **一行概括:** <关于此内容最有趣的一点>
不要手动编辑索引文件。 如果庄园变得足够大,需要一个索引,则保留一个小型脚本,根据磁盘上的实际内容重建索引,这样同时写入的两个会话永远不会冲突:每个会话创建自己的文件,没有共享表。对于较小的庄园,直接读取文件夹就足够了。
内容轨道额外内容
任何学习想法 进入 EXPERIMENTS.md,并在运行之前写下预期内容。事后做出的预测毫无价值,如果预期已记录在案,无聊的结果仍然是结果。
发现可能附带简报。 如果测量结果已准备好由另一个会话撰写,则在其旁边添加 YYYY-MM-DD-slug.brief.md:相同的 slug,仅包含可发布的部分,明确说明注意事项是强制性的,并排除任何内部内容。
产品轨道:在此暂存,在此提升
产品项目写入 product/,永远不会直接附加到共享的积压文档中。 这不是官僚主义:由多个会话同时写入的单个手动编辑文档是多冲突的根源,这也是整个庄园采用每个项目一个文件而不是单个共享表的原因。
使用以下形状:
# <what it is, as a statement>
> **一行概括:** <关于此内容最有趣的一点>
- **轨道:** 产品
- **状态:** 暂存
- **目的地:** <构建工作跟踪的位置及部分>
- **来自:** <来源 slug,或“口述”>
- **关联项:** <内容 slug,如果此想法开启了两个轨道>
## 他们说的话
<外部内容>
## 验证问题
<要检查的具体内容及其位置>
## 注意事项
<假设或已知限制>
产品文件夹本身不需要索引。按需读取即可。
派生轨道(第4步的附加内容)
仅当美德习惯存在时才使用,并且仅适用于个人而非业务。它不会改变归档结构。
美德。 当一个人自己的习惯或系统做出一个值得简化的观察时。由个人而非业务持有的持久知识。
| 轨道 | 当满足以下条件时 | 规范主目录 |
|---|---|---|
| 美德 | 它是关于个人系统或美德的、值得记住的内容。通话中捕捉到的,不是产品。 | 个人知识库,文件命名为 YYYY-MM-DD-slug.md,标签为 virtue |
一个美德项目包括:
- 观察(发生了什么)。
- 教训(从中学到的内容)。
- 下一步(如果有的话)。
不要将美德项目归档到业务庄园中。它们属于个人知识库。不要虚构不存在的美德项目。