关于 money-save
money-save 是面向 Claude Code 的技能,可将已确认的业务决策保存为结构化快照,供后续会话继续工作。它支持按项目隔离和列出快照。
主要功能
- 01将已确认决策保存为快照
- 02按项目隔离快照
- 03指定标题或项目名称
- 04按时间倒序列出快照
- 05使用固定且可恢复的文件格式
适用场景
- 01跨会话留存定价和产品决策
- 02记录已排除方向与待验证假设
- 03查看项目已保存的检查点
- 04继续工作而无需重复梳理背景
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ iamzifei/ show-me-the-money --skill money-save安装后在 Claude Code 中输入/money-save确认已加载。
详细介绍
/money-save — 业务状态检查点
你的任务是将当前对话中得出的结论以结构化、可恢复的格式写入磁盘。未来的会话可以运行 /money-restore,准确接续本次会话的进度。
你不执行诊断,也不提供业务建议。你只负责保存状态。
为什么需要它
Show Me The Money 的工作流旨在像了解你业务背景的私人业务运营者一样运作。但每次开启新的 Claude Code 对话,都是从零开始——上周 /money-discover 得出的结论、你排除的转型方向、仍在测试的假设,全都不复存在。
保存状态能将一次性工具变成持续运营者。你在这里写入的状态,是让下一次对话跳过重新了解背景的流程、继续开展实际工作的唯一依据。
触发方式
| 命令 | 行为 |
|---|---|
/money-save | 保存当前对话中已确定的内容。自动提取标题。 |
/money-save <title> | 使用指定标题保存,例如 /money-save pricing locked at $29 |
/money-save list | 列出当前项目的所有快照 |
/money-save list <project> | 列出指定项目的快照 |
/money-save --slug <project> | 使用非默认项目名称保存 |
自然语言等效说法(以下任一说法 → 运行 /money-save):
- 英语:"save this"、"checkpoint this"、"remember this"、"lock it in"、"snapshot before we continue"
- 中文:"保存"、"存档"、"记下来"、"这个结论留着"、"存一份"
项目隔离
每个快照都属于一个项目。项目用于区分不同业务——你为 MusicAPI 做出的决定绝不能混入 KolFind 的诊断历史。
默认项目名称:basename($(pwd)),将非 [a-z0-9-] 字符替换为 -。如果用户在 ~/Dev/musicapi 中运行 /money-save,项目名称就是 musicapi。
显式覆盖:--slug my-project。
回退值:如果当前目录是 $HOME 或其他通用目录,则项目名称为 default。
在对话中称其为业务或项目,绝不要称为“slug”(这是内部标识符)。
工作流
第 1 步 — 判断是否有值得保存的内容
写入任何内容之前,先检查对话中是否有实际决定。快照不是日记,而是用户已确认的判断记录。
如果对话中包含以下任一内容,就值得保存:
- 用户接受的定价决定
- 用户明确排除的想法或转型方向
- 用户希望在下一个冲刺中测试的假设
- 明确的“下一技能”交接(例如“接下来运行
/money-product”) - 用户认同的诊断根本原因
如果没有发生实质性进展,请明确拒绝:
暂无可保存内容——本次对话中没有确认任何决定。请先运行
/money-discover、/money-strategy或其他诊断技能,然后再回来。
绝不要写入空快照或填充内容。
第 2 步 — 提取或确认标题
从对话中提取一个不超过 24 个字符的名词短语标题。例如:
pricing locked at $29ruled out enterprise pivotMVP scope frozen首单获客渠道是 [niche forum]定价从 $9 拉到 $29
如果用户通过 /money-save <title> 提供了明确标题,请原样使用。
第 3 步 — 构建路径
~/.smtm/sessions/{project}/{YYYYMMDD-HHMMSS}-{title-slug}.md
- 时间戳:本地时间,格式为
20260503-141522 - title-slug:小写,空格 →
-,去除标点,保留 CJK 字符 - 如果碰巧发生同一秒冲突,则追加一个 4 字符随机后缀:
-a7k2
如果目录不存在,请先使用 mkdir -p 创建。
第 4 步 — 写入快照
YAML frontmatter + Markdown 正文。两者格式固定。其他技能会解析这些内容——不要自行修改架构。
---
slug: {project}
timestamp: {ISO 8601 with timezone, e.g. 2026-05-03T14:23:15+08:00 — generate via `python3 -c "from datetime import datetime; print(datetime.now().astimezone().isoformat(timespec='seconds'))"` or equivalent. Never use the basic-format variant 20260503T142315+0800.}
title: {the title verbatim}
source_skill: {which money-* skill produced the bulk of the conclusions in this session, e.g. money-discover. If multiple, comma-separated.}
status: {in-progress | resolved | abandoned}
next_skill: {recommended next skill name, or empty if not yet decided}
---
## Business state
{One paragraph. What is the current state of this business? What brought the user to /money this conversation? Use the user's own framing where possible; do not abstract into generic strategy-speak.}
## Confirmed conclusions
- {Conclusion 1, one line. Includes pricing decisions, validated hypotheses, accepted root causes.}
- {Conclusion 2}
- ...
If a conclusion was reached in *this* conversation specifically (not inherited), prefix with `(new) `. If it was reaffirming a prior snapshot's conclusion, prefix with `(reaffirmed) `.
## Ruled out
- {Direction the user explicitly decided NOT to pursue, with one-line reason.}
- {e.g. "Won't pivot to enterprise — sales cycle too long for solo founder."}
- {If empty, write `(none yet)`.}
## Open hypotheses
- {Assumption that needs validation in the next sprint, with how it'll be tested.}
- {e.g. "Hypothesis: niche-forum traffic will convert at >2%. Test: 5 posts over 2 weeks, track signups via UTM."}
- {If empty, write `(none yet)`.}
## Next move
{One paragraph or a bullet. Which skill picks up from here? What action does the user take first?}
E.g. "Next: /money-product to build the landing page. First action: register the domain musicapi.ai."
## Notes
{Anything else worth preserving — links, doc paths, edge-case considerations. Optional. If empty, write `(none)`.}
第 5 步 — 向用户确认
使用用户选择的语言,打印简短确认信息:
✅ 已将
<title>保存至项目<project>。 文件:~/.smtm/sessions/<project>/<filename>.md下次从此目录运行
/money-restore即可继续。
列表模式
/money-save list 和 /money-save list <project> 会列出快照:
musicapi (5 snapshots):
1. 2026-05-03 14:23 pricing locked at $29 (resolved, from money-strategy)
2. 2026-04-22 09:11 ruled out enterprise pivot (resolved, from money-diagnose)
3. 2026-04-15 16:40 MVP scope frozen (in-progress, from money-product)
...
按文件名中的时间戳排序,最新的排在最前。
边界情况
- 尚无决策 → 按照步骤 1 妥善拒绝。不要编造内容。
- 同一项目,同一秒 → 追加 4 位随机后缀。
- 目录由 iCloud 同步的会话 → 不要依赖文件
mtime;仅根据文件名中的YYYYMMDD-HHMMSS前缀排序。 - 用户在刚克隆且没有任何决策的仓库中运行
/money-save→ 与“尚无决策”相同——拒绝。 - 面向用户的语言——使用与用户选择相同的语言(English 或中文)。在对话中将内部字段名(slug、source_skill、next_skill)映射为便于用户理解的术语:
slug → 项目/business、source_skill → from、next_skill → next。
原则
- 状态,而非叙述——快照是检查点,不是日志。要点胜过段落。
- 使用用户的话,而不是你的话——尽可能引用用户的表述。不要把决策改写成企业腔。
- 只追加——永远不要覆盖现有快照。每次保存都创建一个新文件。
- 写入成本低,丢失代价高——确有实质内容时,宁可保存。但绝不保存凑数内容。
价值量化(每次成功保存后必须执行)
确认快照已写入后,追加:
---
### 📊 What this checkpoint is worth
- 💾 **Captured** — {N confirmed conclusions, M ruled-out directions, K open hypotheses}
- ⏱ **Saves you next time** — ~15-30 minutes of re-onboarding and re-explaining context to the AI
- ⚠️ **Risk avoided** — Re-deciding something you already decided — the most common solo-founder leak. The AI doesn't remember between sessions unless you save
- 🔁 **Resume with** — `/money-restore` from this directory in any future Claude Code session
使用快照中的实际数量。如果只记录了 1 条结论,价值依然存在,只是较小——如实呈现。绝不要夸大。
如果用户在此项目中已保存 ≥3 个快照,追加第二行:
💡 你现在在
{project}中有 {N} 个快照。如果你想将它们合并成一份交付物,可以运行/money-report——便于分享给联合创始人,或供自己进行数月回顾。