mcpField
M
money-save

money-save

github.com/iamzifeiAgent 工作流1.1k45 次安装8 周前更新
代码仓库

关于 money-save

money-save 是面向 Claude Code 的技能,可将已确认的业务决策保存为结构化快照,供后续会话继续工作。它支持按项目隔离和列出快照。

主要功能

  1. 01将已确认决策保存为快照
  2. 02按项目隔离快照
  3. 03指定标题或项目名称
  4. 04按时间倒序列出快照
  5. 05使用固定且可恢复的文件格式

适用场景

  1. 01跨会话留存定价和产品决策
  2. 02记录已排除方向与待验证假设
  3. 03查看项目已保存的检查点
  4. 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 $29
  • ruled out enterprise pivot
  • MVP 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——便于分享给联合创始人,或供自己进行数月回顾。

评论

支持 Markdown