关于 money-upgrade
money-upgrade 是通过 @orrisai/show-me-the-money CLI 检查并更新已安装 money-* 技能的工具。它比较版本,在需要时运行更新程序,并提供发布说明查看与回滚步骤。
主要功能
- 01读取当前安装版本
- 02检查 npm 最新版本
- 03运行更新 CLI
- 04验证更新后的技能
- 05汇总版本发布说明
- 06提供手动备用与回滚步骤
适用场景
- 01检查 money-* 技能是否过期
- 02更新技能包
- 03查看升级后的变化
- 04出现回归时恢复旧版本
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ iamzifei/ show-me-the-money --skill money-upgrade安装后在 Claude Code 中输入/money-upgrade确认已加载。
详细介绍
Money Upgrade — 自动更新器
一个命令即可将每个 money-* 技能更新到最新发布版本。无需手动复制文件、手动比较版本,也不用担心安装不完整。
语言选择
如果用户的消息中包含 [Language: ...] 标签,请使用该语言输出所有内容。否则,请先让用户选择:
🌐 选择语言 / 选择语言:
- 🇬🇧 英语
- 🇨🇳 中文
如果用户未指定,默认使用英语。之后的所有输出都必须使用所选语言。
此技能的功能
用户调用 /money-upgrade 时,按顺序执行以下三个步骤:
- 读取已安装版本 — 如果文件存在,运行
cat ~/.claude/skills/money/../../VERSION;否则从包元数据中读取 - 检查 npm 上的最新版本 —
npm view @orrisai/show-me-the-money version - 如果版本过旧,则运行自动更新器 —
npx @orrisai/show-me-the-money@latest update
CLI(bin/cli.js)负责实际操作:下载、比较版本、备份和安装。此技能是面向用户的封装,用于决定何时调用 CLI。
完整的自动更新命令
这是完成所有操作的单条命令——检查版本、下载、替换、验证:
npx @orrisai/show-me-the-money@latest update
为用户运行此命令。它会打印更新前后的版本,列出重新安装的技能,并正常退出。
工作流
步骤 1 — 打印当前状态
Current installation:
Version: v{current}
Location: ~/.claude/skills/
Skills installed: {count}
Checking npm for updates...
步骤 2 — 检查更新
运行 npm view @orrisai/show-me-the-money version(无需参数)。捕获标准输出,并与本地 VERSION 进行比较。
如果版本相同,退出并显示:
✅ You're on the latest version (v{version}). Nothing to update.
如果不同(本地版本 < 远程版本),继续执行步骤 3。
步骤 3 — 运行更新器
npx @orrisai/show-me-the-money@latest update
CLI 会打印自身的执行进度。运行结束后,验证是否成功:
- 检查 VERSION 是否与 npm 上的最新版本一致
- 确认
~/.claude/skills/中存在所有技能目录
步骤 4 — 显示变更内容
更新成功后,获取新版本的发行说明并总结:
curl -s https://raw.githubusercontent.com/iamzifei/show-me-the-money/v{version}/CHANGELOG.md | head -80
如果没有 CHANGELOG.md,则改用 README 中的“What's new”部分。用 5-10 条要点介绍主要更新,不要列出完整差异。
步骤 5 — 提醒重启
✅ Updated to v{new}.
To pick up the new skills, restart Claude Code (or run /reload-plugins if available).
What's new in this version:
- [bullet 1]
- [bullet 2]
- ...
Run /money to start using the updated suite.
手动备用方案
如果自动更新器失败(npm 离线、注册表问题、权限错误),则改用手动方式。查看错误消息,并指出一个具体的失败原因,不要罗列一大堆通用的恢复选项。
常见失败及对应处理方式:
| 失败 | 诊断 | 响应 |
|---|---|---|
npm: command not found | 未安装 Node/npm | “请先从 nodejs.org 安装 Node.js,然后重新运行 /money-upgrade。” |
| 网络不可达 | 无网络连接或 npm 注册表宕机 | “无法连接到 npm 注册表。请检查网络 — 注册表状态:https://status.npmjs.org。” |
~/.claude/skills/ 上出现 EACCES | 技能目录权限被拒绝 | “写入 ~/.claude/skills/ 时权限被拒绝。请运行 sudo chown -R $(whoami) ~/.claude/,然后重新运行。” |
| 标签存在,但安装失败 | 可能是发布竞争或版本发布损坏 | “最新版本存在安装问题。请运行 npx @orrisai/show-me-the-money@{previous-stable},固定到上一个稳定版本。” |
回滚
如果新版本导致问题,请明确回滚到上一版本:
# 1. Find the previous stable version on npm
npm view @orrisai/show-me-the-money versions --json | tail -20
# 2. Install that specific version
npx @orrisai/show-me-the-money@{previous-version} install
自动更新器在失败时不会自动回滚——它会让安装保持在失败安装结束时的状态。如果用户报告更新后出现回归问题,请运行上面的两步回滚操作,然后前往 https://github.com/iamzifei/show-me-the-money/issues 提交问题。
何时自动更新,何时先询问
默认情况下,先询问再更新。用户调用了 /money-upgrade,说明他们想要更新——但应先显示版本差异,让他们确认。例如:
Current: v2.3.1
Latest: v2.4.0 ← 1 minor version behind
New in v2.4.0:
- Tech-triage mode for technical debugging
- DESIGN.md design system contract in money-product
- Ship lifecycle: VERSION + CHANGELOG + release notes flow
- Cross-project portfolio learnings via /money-learn promote
- STRIDE threat model in money-quality
- Operating modes + edit perimeter + panic stop in money-ops
Proceed with update? [y/n]
仅当用户在消息中明确说了 --yes、--auto 或“直接更新”时,才跳过确认。
原则
- 一条命令,一个结果 — 不要让用户复制多个 Shell 代码片段
- 更改前先展示差异 — 提供版本号和主要变更,不要展示完整差异
- 不要自动回滚 — 安装失败就明确报告失败;回滚应由用户主动执行
- 最后提示重启 — 技能不一定会在会话中途重新加载;记得提醒用户
- 阅读 CHANGELOG,而非提交日志 — 用户关心的是行为变更,而不是实现上的频繁改动
量化价值(输出末尾必须包含)
- ⏱ 节省时间 — 相比手动升级流程(比较版本、备份、安装、验证、阅读发行说明),节省约 10-15 分钟
- ⚠️ 规避风险 — (1) 部分安装,导致部分技能已更新、其他技能未更新;(2) 备份了错误的目录,导致项目本地技能丢失;(3) 新旧技能同时运行,造成行为不一致
- ✅ 你获得的内容 — 从 v{current} → v{new} 的干净更新、相关的 CHANGELOG 条目,以及重启提示
- 🚧 不使用此技能的后果 — 大多数用户会把更新搁置数周,让旧技能配合新文档和新 atoms 运行,继而遇到难以解释的问题,最后发现“你用的是 v2.1,那个字段在 v2.3 中已重命名”