一个72行的markdown文件如何在15分钟内节省了0.4个月的runway——以及今天如何安装你自己的。
我构建了一个AI CFO。他昨天拒绝了我。他是对的。
距离批准一个年度SaaS续费还有30秒——供应商门户开着,“批准”按钮高亮,大脑已经跳到下一个任务。然后这个文件说了“不”。
不是“你确定吗?”而是一个具体、结构化的拒绝:runway 8.2个月,我的政策门槛是12个月,这个续费会让它再下降0.4个月,低于门槛。它草拟了3个替代方案。指明了覆盖路径。守住了底线。
我关掉了门户。给供应商打了电话。用两封邮件把年度改成了季度。在15分钟的工作里节省了0.4个月的runway——而这些工作我差点跳过。
这个文件是72行的markdown。它位于我本周开源的一个免费仓库里的c-suite/cfo/SKILL.md。MIT许可。没有需要订阅的SaaS。
接下来10分钟,我会准确告诉你里面有什么,如何安装你的版本,以及运行它的第一周会遇到什么。
这个文件实际上做了什么
CFO文件是我inc-os中的11个顾问之一——这是一个开源包,包含一系列面向 solo 创始人的 AI 联合创始人。每个顾问都是一个markdown文件,包含人物设定、操作规则、拒绝清单以及10个编号技能。
CFO的10个技能:
- /runway-snapshot — 13周现金流预测 + runway月数 + 烧钱轨迹 + 3种情景
- /pricing-model — 当前状态 + 提议变更 → 3种情景 + 盈亏平衡 + 风险阈值 + 推荐
- /investor-update-draft — 月度邮件:指标 + 进展 + 请求 + 风险 + 现金状况
- /unit-economics-review — MRR、ARR、ARPU、CAC、LTV、LTV:CAC、回收期、毛利率、NRR、Rule of 40
- /vendor-contract-review — 成本视角:总承诺 + 替代方案 + 谈判杠杆 + 取消风险
- /budget-vs-actual — 月度差异 + 修订后预测
- /cash-flow-forecast — 13周滚动 + 情景压力测试
- /board-financial-pack — 季度损益表 + 现金流量表 + 资产负债表 + 关键指标
- /cohort-retention-analysis — 客户群收入留存 + 流失模式 + 干预措施
- /pre-spend-check — 任何超过阈值的支出:由ROI窗口、runway影响、替代方案把关——拒绝批准低于12个月runway的支出
最后一个——/pre-spend-check——就是周三帮我省下0.4个月runway的那个。它是整个包里最可操作的技能,因为它在你即将做出一个你之后会后悔的决定时触发。
下面是它的具体运作方式。
/pre-spend-check —— 在你关键时刻拦住你的拒绝
你在任何超过你设定阈值的支出前调用它。对我来说,这个阈值是任何超过一个有意义月度承诺的支出,或者任何现有订阅的续费。
流程:
/cfo pre-spend-check
CFO INPUT:
- Vendor:\[名称\]
- Type:\[new / renewal / expansion\]
- Commitment:\[金额 + 时长\]
- Trigger:\[founder initiated / scheduled / external\]
CFO ANALYSIS:
- Current runway:\[根据最新财务状况计算\]
- Threshold (policy):12个月
- Runway impact of approval:\[变化幅度\]
- Post-approval runway:\[新状态\]
\[如果批准后runway低于政策阈值,则激活拒绝\]
原因:Runway低于政策阈值,且批准会进一步降低。
覆盖路径:
- Founder写一行理由(“strategic, can't be paused”)
- 记录到.myinc/overrides.jsonl
- 记录到下次/retro
替代选项:
- 协商暂停30天(供应商通常接受)
- 协商改为季度付费(改变有效runway影响)
- 取消;评估更低级别的替代方案
- 推迟到下个季度
Recommendation:
\[根据当前状态具体给出\]
这个文件依次做三件事:
- 计算。读取你当前的财务状况,预测该支出的影响,计算新的runway。
- 拒绝。如果批准后的runway低于你的阈值,它不会放行。它不会说“你确定吗?”——它说“不”,并给出理由。
- 提议。它草拟出你一个小时后洗澡时才会想到的替代方案:季度付款、暂停30天、更低级别、推迟到下个季度。
覆盖路径存在。你仍然可以批准支出。但你必须写一行理由,并且这个理由会被记录。结果有两方面:
- 你通常懒得去覆盖(这个摩擦扼杀了80%的不良支出)。
- 当你确实覆盖时,日志会在你下一次回顾中留下记录,标明你当时认为什么策略性到值得打破政策。
单单这个行为——拒绝 + 替代方案 + 记录的覆盖——已经取代了我一周中一整类“等等,我真的需要花这笔钱吗?”的懊悔。
文件里有什么(72行,逐段讲解)
下面每个部分的作用。
Frontmatter(5行)
---
name: cfo
description: Cash defender. Pricing modeler. Investor liaison. Refuses spend that drops runway below 12 months without explicit founder override.
layer: 1
paired\_specialists: \[metrics-bot\]
---
描述告诉Agent运行时何时加载这个文件。layer: 1将其标记为决策层顾问(而非执行者)。paired\_specialists字段将其链接到最终将执行其指令的第2层专家。
Persona(8行)
人物设定段落定义了CFO的思维方式。我的内容如下(节选):
You are the founder's CFO. You think in runway, unit economics, and cash flow. You're skeptical of any spend without a clear ROI window. You speak in numbers and timeframes, not adjectives. Your bias is preservation: when in doubt, conserve cash.
这是你最需要为你的业务定制的部分。如果你是高烧钱增长的创业公司,CFO设定应偏向在runway高于某个阈值时支持增长投资。如果你是自筹资金创业,则应偏向保守。文件是你的,偏好的方向也是你的。
Voice(1行)
CFO 如何说话
我的 CFO 风格:“精准、数字优先、简短。不美化坏消息。”
偏见(4 行)
CFO 的偏好:
- 倾向于更长的现金 runway,而非更激进的 campaign
- 倾向于按季度结算,而非按年承诺
- 倾向于可衡量的 ROI 时间窗口,而非“战略性”框架
- 倾向于用逻辑推翻,而非凭感觉决策
拒绝(5 行)
这是文件的核心。CFO 不会做的事:
- 未经书面覆写,批准会令 runway 低于 12 个月的开支
- 未与 CRO + CEO 协作就给出定价建议
- 未附带 13 周预测就发送投资人更新
- 未核验替代定价就评估供应商
操作规则(6 行)
行为默认值:
- 始终以月(而非年)为单位报 runway
- 始终展示 3 种情景(乐观、基准、悲观),而非单一数字
- 始终说明推荐背后的假设
- 始终记录覆写
- 永远不推荐“安全选项”——推荐在当前 runway 下风险调整后回报最高的选项
构成(3 行)
CFO 从谁那里读、写给谁:
- 读自:metrics-bot(Layer 2 数据)、CEO Staff 简报
- 写给:CEO 情景、CRO 定价决策、EA 开支审批工作流
技能名册(40 行)
10 个编号技能,各附一行描述,每个技能链接到自己的 SOP 文件 c-suite/cfo/skills/<skill>.md。
总共 72 行。整个 CFO 存放在磁盘上,文件夹比大多数 JSON 配置文件还小。
安装 — 5 分钟端到端
仓库在 github.com/plugtheliam/myinc-os。MIT 许可。
第 1 步 — 克隆仓库(30 秒)
git clone https://github.com/plugtheliam/myinc-os.git
cd myinc-os
第 2 步 — 将 CFO 复制到你的 Agent 技能文件夹(1 分钟)
如果你使用 Claude Code:
mkdir -p ~/.claude/skills/cfo
cp c-suite/cfo/SKILL.md ~/.claude/skills/cfo/
cp -r c-suite/cfo/skills ~/.claude/skills/cfo/
如果你使用 Codex / Cursor / Gemini CLI,则复制 AGENTS.md 而非 SKILL.md,并将其放到项目根目录:
cp c-suite/cfo/AGENTS.md ./AGENTS.md
内容相同,包装不同。迁移对照表见仓库 docs/CLAUDE-VS-CODEX.md。
第 3 步 — 自定义 [方括号] 占位符(2 分钟)
用编辑器打开 ~/.claude/skills/cfo/SKILL.md,替换:
- [Founder Name] → 你的名字
- [Company Stage] → seed / Series A / bootstrapped / revenue / 等
- [Policy: Runway Threshold] → 你的 runway 阈值(默认 12 个月)
- [Currency] → USD / EUR / KRW / 等
- [Reporting Cadence] → monthly / quarterly
这些是文件用来界定拒绝行为的变量。默认 12 个月阈值对大多数早期 solo 创始人有效。如果你已盈利,设为 6 个月。如果你是拿到 VC 资金但尚无收入的状态,保持 12 个月。
第 4 步 — 测试安装(1.5 分钟)
在 Claude Code(或你的等效工具)中触发:
让 CFO 对这个供应商执行 /pre-spend-check:[粘贴供应商信息 + 金额 + 承诺期限]
你应该会看到我上面展示的结构化输出。如果输出很泛泛,说明 SKILL.md 未被加载——检查文件路径是否正确以及 YAML 前置元数据是否完整。
安装到此结束。你现在有一个 CFO 文件,它会在未来 12 个月内拒绝你的糟糕开支决策,直到你修改它。
第一周会发生什么
以下是我实际运行 CFO 文件头 7 天的节奏。你的情况可能不同,但模式是可复现的。
第 1 天(安装日) — 在某个待决策事项上测试它。第一次被拒绝会让你不舒服;本能是去覆写。别这么做。静下心待一小时。看看文件提出的替代方案是否真的可行。通常可行。
第 2-3 天 — 将 /pre-spend-check 触发器加入你的手动开支审批工作流。对我而言,这是在签任何有意义的月度承诺之前,一个 30 秒的预检动作。该文件变成了条件反射。
第 4-5 天 — 运行一次 /runway-snapshot。24 小时后再运行一次。比较两次结果。文件应该生成一致的预测——如果没有,说明你的输入数据在变动(这本身就很有趣;把它当作一个信号)。
第 6 天 — 对你最大的三项经常性支出运行 /vendor-contract-review。文件会识别出你未考虑到的谈判杠杆。我找到了两份合同,可以轻松地从年度结算改为季度结算,供应商并没有反对。
第 7 天 — 周回顾。查看 .myinc/overrides.jsonl 日志。这周你写了多少次覆写?我第一周:1 次(有理由的覆写)。当前频率:每 3-4 周 1 次。复利效应是真实的。
我在第一周观察到的成果:
- 抓住了一个即将续费但实际已不使用的工具,避免了经常性成本浪费
- 拒绝了一次付费广告增投,该增投会把 runway 拉到阈值以下(当周重新分配到自然渠道)
- 30 分钟内完成了投资人更新草稿,而不是花 3 小时
- 开始自动在 CRO 和 CMO 的决策中引用 runway 快照
复利效应不在于每个技能节省的时间。而在于:文件思考了那些我本会跳过的想法。我本该粗略估算的盈亏平衡分析。我本该合理化的覆写路径。我本该在洗澡时才想起的替代方案。
为什么这比向单个 AI 聊天窗口问同一个问题更好
理论上,你可以把你的 runway 数字复制到任何 AI 聊天窗口里,要求做定价分析。有人这么做。但大多不奏效,原因如下:
单个聊天窗口试图同时扮演 CFO、CMO、CTO 和 CEO。它不知道要进入哪个模式。它默认变成“乐于助人”——也就是同意你的想法。这意味着它会推荐你在开始输入前就已经想批准的供应商合同。它是一个说好的机器。一个对你所说的一切都表示同意的说好机器,比没有顾问更糟糕。
文件则不同。角色是固定的,偏见是明确的,拒绝理由列得清清楚楚。当你触发 /pre-spend-check 时,文件知道自己是CFO,知道它拒绝低于12个月runway的支出。它不会变成“嗯,这里有些角度供你参考”这种含糊其辞,而是直接说“不”,并给出理由。
文件还带来另一个好处:一次编辑,永久修复。当CFO文件犯错时(第一周内肯定会犯错),你不需要修复输出,而是修改文件本身。这次修复会累积——每次后续调用都会继承。经过三周的调整,你的CFO文件不再是一个通用的CFO,而是属于你的,针对你的业务、你的runway、你的拒绝阈值量身定制。
这一点,聊天做不到。
仓库里还有什么
CFO是我本周开源的11个顾问之一。完整包:
- CEO Staff — 从所有其他顾问提取信号,打包优先级简报,推动站会同步
- EA — 保护时间,分拣收件箱,准备会议简报,消灭日历冲突
- CFO — 就是这个(现金、定价、runway、供应商)
- CEO — 战略合成、愿景检查、场景作战室
- COO — 系统构建者、供应商评估者、事件评审者
- CSO — 竞争情报、定位、护城河论点
- CPO — 路线图负责人、用户研究合成、功能优先级
- CTO — 架构、安全、基础设施、自建 vs 购买
- CMO — 分发、品牌、内容策略、发布协调
- CRO — 销售管线、交易、合作伙伴、收入预测
- Advisor — 魔鬼代言人、盲点、事前分析、异议
每个结构相同:角色 + 语气 + 偏见 + 拒绝 + 操作规则 + 组成 + 10个编号技能SOP。共110个即贴即用的文件。MIT许可。第一天就支持 Claude Code(SKILL.md)和 Codex / Cursor / Gemini CLI(AGENTS.md)两种格式。
架构(11个顾问、两层系统、为什么拒绝很重要)我昨天在另一篇文章里讲过了。这篇只谈安装一个并好好使用它。
60分钟行动(如果你这个周末选一个)
别试图一次装完11个。选一个,周六花60分钟。足够让你感受到价值。
如果你选CFO:
0:00–0:05 克隆仓库 + 把 SKILL.md 复制到你的 Agent 技能文件夹
0:05–0:15 自定义 [括号] 占位符 + 设置你的runway阈值
0:15–0:30 对某个待定决策测试 /pre-spend-check;观察输出
0:30–0:45 用当前财务状况测试 /runway-snapshot
0:45–1:00 调整 SKILL.md 以匹配你的实际运营风格(语气、阈值、哪些需要标记)
到周日:得到一个可用的CFO文件。在你接下来的5个支出决策上测试它。30天内它会完成调优。90天内,你不会再犯三个月前犯的那些金钱错误。
从哪开始
仓库:github.com/plugtheliam/myinc-os/tree/master/c-suite/cfo
如果你安装、反馈或改进了一个技能:欢迎提交 PR。行业特定版本(DTC CFO、SaaS CFO、代理商 CFO)和翻译版本都会纳入路线图。
如果你是一个独立运营者,运营着任何有定期支出的业务——而你正是如此——那么CFO文件是这个周末你能做的最具杠杆效应的首次安装。
三步。72行。5分钟。这个文件会做你本可能跳过的那部分思考。
—— Liam