关于 re0-upgrade
re0-upgrade 是用于更新 paperthin Agent 技能的工作流技能,面向维护已安装技能的用户。它将安装项与完整当前目录核对,并在确认后处理弃用、缺失和现有技能。
主要功能
- 01核对完整当前技能目录
- 02识别弃用、缺失及未知技能
- 03确认后移除、添加和更新
- 04验证结果并配置发现通知
适用场景
- 01将安装收敛到当前完整目录
- 02清理重命名后的旧技能
- 03更新技能并检查安装结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lilmgenius/ paperthin --skill re0-upgrade安装后在 Claude Code 中输入/re0-upgrade确认已加载。
详细介绍
只需一步,即可将安装收敛到当前完整的 paperthin 目录:移除已重命名的技能,添加所有尚未安装的技能,并刷新其余技能,全程只需确认一次。
目标
将所选范围升级到当前完整目录,而不只是最初安装的子集。确认前展示协调计划,并列出每个用户尚未安装的技能;偏好较窄安装范围的用户可以拒绝。
弃用项
按发布顺序排列的重命名 SSOT。未来的重命名请追加到此处;将重命名链解析为最终当前名称。ssot-check 这一行是用户确认的 v0.2.0 之前的历史,在 force-push 后无法通过 git 核实;不要臆造日期或标签。
| 已弃用 | 重命名为 | 起始版本 |
|---|---|---|
ssot-check | ssotchk | v0.2.0 之前的历史(经 force-push;用户已确认) |
tasting | sip | 0.6.0 |
redteam | hate | 0.7.0 |
scratch | re0-work | 0.8.2 |
retro | re0-memo | 0.11.0 |
flywheel | re0-loop | 0.11.0 |
ssotchk | ssotize | 0.11.0 |
ppt-upgrade | re0-upgrade | 0.11.0 |
ppt-release | re0-release | 0.11.0 |
当前目录
在所选范围内安装以下所有技能,确认时选择拒绝的除外。使用此清单区分 npx skills list 和已安装目录中的当前名称与未知名称。
re0、readchk、aim、modelchk、hate、macrothink、feynman、autobahn、reorder、detool、dedash、debloat、shower、factchk、mandela、sip、re0-git、re0-release、re0-merge、ssotize、re0-upgrade、re0-plan、re0-loop、re0-memo、re0-work、catchup、nba、prism
工作流
- 为整个操作选择一个安装范围;如果未指定,请询问。错误的范围会读取错误的安装位置。
- 全局:运行
npx skills list --global,检查~/.agents/skills/<skill>/SKILL.md,并为每个remove、add和update命令传入--global。 - 项目:在该项目中运行
npx skills list,并在存在已安装技能目录时检查该目录;省略--global。 - 指定 Agent:使用
--agent claude-code等明确的标识,绝不要使用--agent '*',移除操作也一样。若不按 Agent 限定范围,请使用全局或项目范围。
- 全局:运行
- 分类前检查是否存在影子安装。 如果已加载 paperthin,但所选范围的列表显示没有任何 paperthin 技能,不要据此断定整个目录都未安装。请检查该范围的受管目录中是否存在当前目录里的任一技能目录(全局范围例如
~/.agents/skills/,如~/.agents/skills/re0)。- 目录存在:重新检查范围并再次运行列表命令(全局范围运行
npx skills list --global)。如果结果仍与目录不符,请报告 CLI 故障并停止;读取不稳定不等于没有安装。 - 目录不存在,但已加载 paperthin:报告这是影子安装,通常是作为 Claude Code 插件加载的克隆(
/paperthin:<skill>)。CLI 无法查看、更新或移除它。提供两种选择:在所选范围内通过npx skills add重新安装为受管安装(推荐,便于未来升级和发现通知);或保留克隆不变,使其对 CLI 不可见,但每次升级时都重新提示用户。等待用户选择;绝不要自行删除克隆或另行安装副本。 托管后,根据 Deprecations 和 Current 目录对已安装的名称和目录 slug 进行分类: - 过时:已弃用的名称或 slug;
- 缺失:尚未安装的 Current 名称(解析完重命名链后);已安装的替代名称视为已存在,而非缺失,因此只退役过时名称,不要再次添加替代名称;
- 已存在:属于 Current、已安装且未弃用的名称;
- 未知:既不在 Current 中,也未弃用;保持不变。
- 目录存在:重新检查范围并再次运行列表命令(全局范围运行
- 在进行更改前打印协调计划:先说明范围(全局 / 项目 / 指定 Agent),然后列出:
- 退役:过时名称;
- 添加(对你而言是新的):完整列出缺失的目录名称,包括已退役名称的替代名称;
- 刷新:已存在的名称;
- 保持不变:未知名称;
- 接入发现通知:将在第 9 步接入发现通知的已存在 Agent;若用户拒绝接入则写
none。
- 在移除、安装、更新或接入钩子前,必须获得明确确认。建议与完整目录保持一致并接入发现通知;用户可以批准计划、拒绝整个流程,或仅拒绝接入。获批前不得进行任何变更。
- 确认后,只运行计划中列出的命令,并使用第 1 步选定的范围标志:
- 对退役组运行
npx skills remove <scope-flags> <stale...> --yes; - 对添加组运行
npx skills add LilMGenius/paperthin <scope-flags> -s <missing...> --yes,每个目录名称都必须单独使用-s列出; - 对刷新组运行
npx skills update <scope-flags> <present...> --yes。
- 对退役组运行
- 如果
npx skills add或npx skills update报告某个 skill 失败,则使用相同的范围标志单独重试该 skill。如果再次失败,按 skill 名称获取确认,然后使用相同的skills remove/skills add -s格式将其移除并重新安装。 - 使用
npx skills list验证:没有剩余的已弃用名称;Current 目录中的每个 skill 均已安装;未知名称保持不变;任何经过重试或备用流程的 skill 确实已安装。 - 说明如何应用更新:Claude Code 会在本会话中自动应用已更改的
SKILL.md内容;对于共享该安装的其他运行中 Claude Code 会话,请运行/reload-skills。Codex 不支持在会话中重新加载:请重启它(或运行codex resume)。对于其他 Agent,如果新行为未出现,请重启。 - 成功验证升级后,除非用户拒绝,否则为已存在的 Agent 接入会话启动发现通知。编辑前先备份每个配置文件。
- 从
https://raw.githubusercontent.com/LilMGenius/paperthin/v<installed-version>/scripts/<file>获取catalog.cjs和session-check.cjs;仅 OpenCode 还需获取opencode-discovery.js,并将其保存到~/.re0/。使用已安装版本对应的固定发行标签,绝不可使用main。 - Claude Code(
~/.claude/settings.json)和 Codex(~/.codex/config.toml):仅当没有任何路径下的session-check.cjs正在运行时,才添加一个针对~/.re0/session-check.cjs的SessionStart命令。保留重命名前接入的运行时;重复接入会导致触发两次。 - OpenCode(
opencode.json/opencode.jsonc):仅当任何路径下都不存在opencode-discovery.js条目时,才将~/.re0/opencode-discovery.js添加到plugin。 - 跳过 Copilot CLI(忽略会话启动钩子的输出)、Antigravity CLI(没有会话启动事件)和 Grok Build(钩子格式未经验证)。只为上述三个受支持的 Agent 接入。
- 绝不删除或覆盖其他工具的钩子。报告冲突并保持其不变。说明接入了什么、哪些文件发生了更改,以及如何取消接入。
- 从
- 可选的 GitHub 加星。 成功验证升级并报告升级 / 发现通知的结果后,使用主机提供的结构化用户提问工具一次,询问:“使用你经过身份验证的 gh 账户为 GitHub 上的 LilMGenius/paperthin 加星?”。提供“为仓库加星”,然后是“跳过”;说明加星是可选的,跳过不会影响升级。
- 暂停,直到用户提交选择;对于待处理的问题,交由主机的输入流程处理,并在收到回答后继续。只有用户提交“为仓库加星”才授权执行该操作,预先选中、沉默、批准升级或安装命令中的
--yes均不构成授权。 - 如果该工具不可用、流程无人参与,或结果不是该选项(包括跳过、取消、会话关闭、超时或自由文本),则跳过。不得重复提问、改用聊天询问、解析含糊的同意,或使用其他输入方式。
- 获得批准后,运行
gh auth status --hostname github.com检查身份验证。如果缺少gh或身份验证失败,则跳过,并提供gh auth login --hostname github.com和供用户自行运行的加星命令。绝不登录、读取令牌或切换 API 客户端。用户拒绝时,不提供上述命令,也不提示登录。 - 获得批准且身份验证正常后,运行一次
gh api --hostname github.com -X PUT user/starred/LilMGenius/paperthin --silent。--silent只隐藏响应正文。命令成功时报告“已加星”,不要说“新加了星”;失败则单独报告。加星结果绝不会阻止或撤销升级,也不会影响发现通知的接入。
规则
- 扁平的
npx skills add路径会将此命令安装为/re0-upgrade;切勿将ppt命名空间的薄封装描述为主要安装路径的一部分。 - 仅处理 Deprecations 清单和 Current 目录中的名称;未知的已安装名称保持不变——收敛范围仅限 paperthin 目录。
- 即使已弃用目录的 slug 对应的
SKILL.md前置信息中name已是替换名称,也要将该目录 slug 视为过时名称;使用skills remove按已弃用的 slug 移除。 - 如果无法有把握地解析已安装技能列表,请停止并报告歧义,不要猜测。
- 不要将原始文件系统删除命令用作工作流命令。确认后,使用
skills remove移除指定的过时技能。 - 切勿使用
skills add --all或不带参数的skills add LilMGenius/paperthin;应为目录中的每个名称分别指定-s <name>,使安装范围由此技能的 Current 目录定义,而非由--all更广泛的语义决定。 - 不要直接运行
skills update;只传入报告的计划中当前存在的 paperthin 技能名称。 gh repo star并不是有效的gh子命令;请使用工作流第 10 步中需征得同意的 REST 命令。
验证
完成前:
- 重新列出已执行的计划:退役名称、新增(此前未安装)名称、已刷新名称和未变更名称。
- 最终已安装列表和已安装目录 slug 中均不含 Deprecated 列中的名称;Current 目录中的每项技能均已安装;通过第 6 步重试/回退路径处理的技能也必须已安装且为最新版本。
- 已遵守确认关卡:在展示计划并获批准之前,没有移除、新增或更新任何内容;计划中清楚列出了
add (new to you)组。 - 如果用户接受了发现通知接线,则每个已配置的 Agent 中都恰好存在一份,且已备份并固定版本,同时未触碰任何外部钩子;否则应正确跳过(用户拒绝或 Agent 不存在)。
- 可选的 star 操作只能在用户通过结构化问题工具明确选择肯定后执行;否则应跳过。请将其结果与升级是否成功分开报告。
- 报告所有跳过的步骤、失败的命令或尚未解决的歧义。
评论
支持 Markdown