From money-upgrade
Restores prior business-state snapshots from ~/.smtm/sessions/{project}/, loading the most recent for the current project (via pwd) or by index/slug. Use to resume Claude Code sessions with phrases like 'continue from last time'.
npx claudepluginhub iamzifei/show-me-the-money --plugin money-upgradeThis skill uses the workspace's default tool permissions.
Your job is to load the most recent business-state snapshot from `~/.smtm/sessions/{project}/`, parse it, and present the state to the user so they can pick up where they left off.
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
Share bugs, ideas, or general feedback.
Your job is to load the most recent business-state snapshot from ~/.smtm/sessions/{project}/, parse it, and present the state to the user so they can pick up where they left off.
You do not run diagnoses. You do not jump to other skills. You only restore memory.
After restoring, recommend the next skill — but let the user decide whether to invoke it.
| Command | Behavior |
|---|---|
/money-restore | Load the latest snapshot for the current project |
/money-restore <N> | Load the Nth snapshot (use indices from /money-save list) |
/money-restore list | Same as /money-save list — list all snapshots |
/money-restore --slug <project> | Switch to a different project's history |
Natural-language equivalents (any of these → run /money-restore):
Same rules as /money-save:
basename($(pwd)), sanitized--slug <name>defaultRefer to it as business or project in conversation.
In order:
<N> → list snapshots in current project, sorted oldest → newest by filename timestamp, return the Nth.--slug X → use X as the project name.~/.smtm/sessions/{project}/ by filename timestamp.Always sort by the YYYYMMDD-HHMMSS filename prefix, never by file mtime. mtime is unreliable when sessions are synced via iCloud, Dropbox, or git.
Case A: project directory empty or missing
Check whether ~/.smtm/sessions/ exists at all and what other projects are in it.
If other projects exist with snapshots, list the 3 most recently active:
No saved state for project `{project}`. You've been active in these other projects recently:
1. musicapi (latest 2026-04-22)
2. kolfind (latest 2026-04-15)
3. adwhiz (latest 2026-03-30)
Run `/money-restore --slug <name>` to load a specific project's state.
If ~/.smtm/sessions/ doesn't exist at all:
No saved state yet. Run /money-discover, /money-strategy, or any diagnostic skill, then `/money-save` to lock in the conclusion. Next time you can `/money-restore` to continue.
Case B: list mode
Hand off to /money-save list logic. Output format identical.
Open the snapshot file, parse YAML frontmatter, parse the 6 markdown sections (Business state, Confirmed conclusions, Ruled out, Open hypotheses, Next move, Notes).
If the file is malformed (frontmatter incomplete, sections missing — perhaps the user hand-edited it), present whatever fields are valid. Do not refuse to load just because the format is imperfect.
Output a concise summary in the user's chosen language. Don't dump the full file — extract what matters and let the user ask for more.
Format:
## Picking up where you left off
**Project**: {project}
**When**: {timestamp formatted as `2026-05-03 14:23`}
**Title**: {title from frontmatter}
**Status**: {status — translate to user-friendly form: in-progress / resolved / abandoned → 进行中 / 已结论 / 已放弃 if Chinese}
**Last from**: {source_skill}
---
### Where you were
{Business state paragraph, verbatim from the snapshot}
### What you'd already decided
- {Each confirmed conclusion}
### What you'd ruled out
- {Each ruled-out direction}
- ({if empty, write "(nothing ruled out yet)")}
### Open hypotheses to test
- {Each open hypothesis}
- ({if empty, write "(none yet)")}
### Next move you'd planned
{Next move paragraph}
---
**Recommendation**: Continue with `{next_skill}` — that was the planned next step.
If you want to revise direction first, type a new `/money-*` command.
After presenting the state, stop. Do not auto-invoke next_skill.
The user's intent for this new conversation may have shifted. Let them confirm or redirect:
<next_skill>" → invoke it<other-skill>" → invoke that instead/money-save list to get indices, then /money-restore <N>.abandoned — surface this prominently. The user may have decided not to pursue this anymore; remind them./money-report if the user wants the full history merged.next_skill. The user just opened a new conversation; they may have a new agenda.After presenting the prior state and the next-step recommendation, append:
---
### 📊 What this restore is worth
| | |
|---|---|
| 📦 **Restored** | {N conclusions, M ruled-out directions, K open hypotheses from {date}} |
| ⏱ **Saved this session** | ~15-30 minutes of re-explaining context to the AI |
| ⚠️ **Risk avoided** | Re-suggesting a direction you already ruled out (the AI has no memory across sessions without `/money-save` and `/money-restore`) |
| ⏭ **Suggested next** | {next_skill from frontmatter, or "decide based on the state above"} |
If the snapshot is older than 90 days, prepend a warning row:
⚠️ Stale: This snapshot is {N days} old. Verify the conclusions still hold before acting on them.
If the snapshot's status is abandoned, prepend:
⚠️ Abandoned: This snapshot was marked abandoned. Restoring is fine for review — but the conclusions here were rejected, not validated.