mcpField
R
re0-upgrade

re0-upgrade

github.com/lilmgeniusAgent 工作流1.4k1.2k 次安装4 周前更新
代码仓库

关于 re0-upgrade

re0-upgrade 是用于更新 paperthin Agent 技能的工作流技能,面向维护已安装技能的用户。它将安装项与完整当前目录核对,并在确认后处理弃用、缺失和现有技能。

主要功能

  1. 01核对完整当前技能目录
  2. 02识别弃用、缺失及未知技能
  3. 03确认后移除、添加和更新
  4. 04验证结果并配置发现通知

适用场景

  1. 01将安装收敛到当前完整目录
  2. 02清理重命名后的旧技能
  3. 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-checkssotchkv0.2.0 之前的历史(经 force-push;用户已确认)
tastingsip0.6.0
redteamhate0.7.0
scratchre0-work0.8.2
retrore0-memo0.11.0
flywheelre0-loop0.11.0
ssotchkssotize0.11.0
ppt-upgradere0-upgrade0.11.0
ppt-releasere0-release0.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

工作流

  1. 为整个操作选择一个安装范围;如果未指定,请询问。错误的范围会读取错误的安装位置。
    • 全局:运行 npx skills list --global,检查 ~/.agents/skills/<skill>/SKILL.md,并为每个 remove、add 和 update 命令传入 --global。
    • 项目:在该项目中运行 npx skills list,并在存在已安装技能目录时检查该目录;省略 --global。
    • 指定 Agent:使用 --agent claude-code 等明确的标识,绝不要使用 --agent '*',移除操作也一样。若不按 Agent 限定范围,请使用全局或项目范围。
  2. 分类前检查是否存在影子安装。 如果已加载 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 中,也未弃用;保持不变。
  3. 在进行更改前打印协调计划:先说明范围(全局 / 项目 / 指定 Agent),然后列出:
    • 退役:过时名称;
    • 添加(对你而言是新的):完整列出缺失的目录名称,包括已退役名称的替代名称;
    • 刷新:已存在的名称;
    • 保持不变:未知名称;
    • 接入发现通知:将在第 9 步接入发现通知的已存在 Agent;若用户拒绝接入则写 none。
  4. 在移除、安装、更新或接入钩子前,必须获得明确确认。建议与完整目录保持一致并接入发现通知;用户可以批准计划、拒绝整个流程,或仅拒绝接入。获批前不得进行任何变更。
  5. 确认后,只运行计划中列出的命令,并使用第 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。
  6. 如果 npx skills add 或 npx skills update 报告某个 skill 失败,则使用相同的范围标志单独重试该 skill。如果再次失败,按 skill 名称获取确认,然后使用相同的 skills remove / skills add -s 格式将其移除并重新安装。
  7. 使用 npx skills list 验证:没有剩余的已弃用名称;Current 目录中的每个 skill 均已安装;未知名称保持不变;任何经过重试或备用流程的 skill 确实已安装。
  8. 说明如何应用更新:Claude Code 会在本会话中自动应用已更改的 SKILL.md 内容;对于共享该安装的其他运行中 Claude Code 会话,请运行 /reload-skills。Codex 不支持在会话中重新加载:请重启它(或运行 codex resume)。对于其他 Agent,如果新行为未出现,请重启。
  9. 成功验证升级后,除非用户拒绝,否则为已存在的 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 接入。
    • 绝不删除或覆盖其他工具的钩子。报告冲突并保持其不变。说明接入了什么、哪些文件发生了更改,以及如何取消接入。
  10. 可选的 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 命令。

验证

完成前:

  1. 重新列出已执行的计划:退役名称、新增(此前未安装)名称、已刷新名称和未变更名称。
  2. 最终已安装列表和已安装目录 slug 中均不含 Deprecated 列中的名称;Current 目录中的每项技能均已安装;通过第 6 步重试/回退路径处理的技能也必须已安装且为最新版本。
  3. 已遵守确认关卡:在展示计划并获批准之前,没有移除、新增或更新任何内容;计划中清楚列出了 add (new to you) 组。
  4. 如果用户接受了发现通知接线,则每个已配置的 Agent 中都恰好存在一份,且已备份并固定版本,同时未触碰任何外部钩子;否则应正确跳过(用户拒绝或 Agent 不存在)。
  5. 可选的 star 操作只能在用户通过结构化问题工具明确选择肯定后执行;否则应跳过。请将其结果与升级是否成功分开报告。
  6. 报告所有跳过的步骤、失败的命令或尚未解决的歧义。

评论

支持 Markdown