关于 ppt-upgrade
ppt-upgrade 是一项 Agent 技能,用于在 paperthin 发布改名后有选择地更新已安装技能。它核对弃用名称及其替代项,只刷新已安装的当前技能,并保留无关或未安装的技能;执行变更前须确认。
主要功能
- 01识别已安装的弃用技能名称
- 02仅为已安装的弃用技能添加替代项
- 03有选择地更新已安装的当前技能
- 04保留未知及未安装的技能
- 05变更前要求确认
适用场景
- 01改名后更新 paperthin 技能安装
- 02仅替换已安装的弃用技能
- 03核对最终技能列表和替代项
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lilmgenius/ paperthin --skill ppt-upgrade安装后在 Claude Code 中输入/ppt-upgrade确认已加载。
详细介绍
一步更新已安装的 paperthin 技能集:移除已重命名的技能,仅添加对应替代项,刷新其余技能,并保留其他所有内容。
目标
在发布版本重命名后,确保回访用户已安装的 paperthin 技能保持最新。升级会移除过时的本地名称,仅为用户已安装的每个过时名称添加对应替代项,并刷新已安装的当前技能。
弃用项
此有序清单是重命名的 SSOT。未来的重命名应按发布顺序追加到此处。
ssot-check 这一行是用户确认的、来自 pre-v0.2.0 历史的记录;由于曾强制推送,当前 Git 历史无法验证;请勿为其编造日期或标签。
| 已弃用 | 重命名为 | 自 |
|---|---|---|
ssot-check | ssotchk | pre-v0.2.0 历史(曾强制推送;用户确认) |
tasting | sip | 0.6.0 |
redteam | hate | 0.7.0 |
scratch | re0-work | 0.8.2 |
当前目录
解析 npx skills list 和已安装技能目录时,使用此列表区分当前 paperthin 技能与未知的已安装名称。
autobahn、dedash、factchk、flywheel、hate、mandela、nba、ppt-release、ppt-upgrade、re0、re0-git、re0-work、retro、shower、sip、ssotchk、ssotize
工作流
- 选择一种安装范围,并在整个过程中保持一致:
- 全局安装:使用
npx skills list --global查看,检查~/.agents/skills/<skill>/SKILL.md,并在每条remove、add和update命令中使用--global; - 项目安装:在该项目中使用
npx skills list查看,如果该项目已安装技能,则检查其安装目录;不使用--global; - 指定 Agent 安装:仅使用明确的 Agent 标识,例如
--agent claude-code,绝不使用--agent '*'。
- 全局安装:使用
- 将已安装名称和已安装目录标识与弃用清单进行交叉核对:
- 过时名称:
Deprecated列中的已安装条目或已安装目录标识; - 替换名称:对应的
Renamed to值; - 当前名称:当前目录中未弃用的已安装条目;
- 未知已安装名称保持不变。
- 过时名称:
- 在进行任何更改之前,完整报告安装调整计划:
- 移除:
<过时名称>; - 添加替换项:
<重命名后的名称>,仅当其过时来源已安装且替换项尚未安装时添加; - 更新:
<当前已安装的 paperthin 技能>; - 保持不变:未知名称,以及用户从未安装过的 paperthin 技能。
- 移除:
- 在执行任何移除或安装调整命令之前,征求用户的明确确认。
- 获得确认后,仅执行计划所需的选择性命令,并使用第 1 步选定的相同范围标志:
- 对用户确认要移除的弃用名称运行
npx skills remove <scope-flags> <stale...> --yes; - 对从已安装弃用名称推导出的替换名称运行
npx skills add LilMGenius/paperthin <scope-flags> -s <renamed-to...> --yes; - 运行
npx skills update <scope-flags> <current-installed-paperthin...> <renamed-to...> --yes,仅刷新报告计划中已安装的当前技能和替换项。
- 对用户确认要移除的弃用名称运行
- 如果
npx skills update报告某个特定技能失败,则使用相同的范围标志单独重试该技能;如果仍然失败,按名称向用户确认,然后使用第 5 步中的skills remove/skills add -s命令格式将其移除并重新安装,不要让它继续处于过时状态。 - 使用
npx skills list验证:不存在任何弃用名称;每个预期的替换项均已安装;当前已安装的技能仍然存在;没有添加任何应保持不变的技能。 - 告知用户当前会话如何应用更改:Claude Code 会自动在当前会话中应用更新后的
SKILL.md内容,无需重启;除非另一个正在运行的 Claude Code 会话共用相同的安装,此时应在另一个会话中运行/reload-skills。Codex 不支持会话内重新加载;重启 Codex(或运行codex resume)以应用更改。对于任何其他 Agent,如果新行为未生效,请重启其会话。 - 可选的升级后 GitHub Star:验证成功后,询问默认同意的提示
Star this repo now? [Y/n]。如果用户回答Y、y或直接按 Enter,则运行gh api -X PUT user/starred/LilMGenius/paperthin --silent;如果用户回答n或N,则跳过 Star 操作并告知用户已跳过。如果缺少gh或尚未通过身份验证,则打印该命令和gh auth login提示,不得使用任何令牌或 API 回退方案。
规则
- 扁平的
npx skills add安装路径会将此命令安装为/ppt-upgrade;切勿将 paperthin 的ppt命名空间描述为主要安装路径的一部分。 - 切勿使用
skills add --all。 - 切勿直接运行
skills add LilMGenius/paperthin;替换安装时必须始终包含-s <skill>。 - 不要将原始文件系统删除命令用作工作流命令。确认后,使用
skills remove移除已命名的过时技能。 - 不要为了“确保”用户使用的是最新版本而安装完整目录。尊重用户之前选择的子集。
- 不要直接运行
skills update;只传入报告计划中列出的 paperthin 技能名称。 - 移除时不要使用通配符指定 Agent 范围。如需指定 Agent 范围,请传入明确的 Agent 标识;否则使用
--global或项目范围。 - 只操作弃用检查清单中的名称和 paperthin 目录条目。保留名称未知的已安装项。
- 即使已弃用目录的
SKILL.mdfrontmatter 中name已经是替换名称,也要将其视为过时项;使用已弃用的标识通过skills remove移除。 - 如果替换项已安装,不要再次添加;移除过时名称,并在验证时确认替换项已安装。
gh repo star并非有效的gh子命令;收藏步骤必须直接使用 REST endpoint:gh api -X PUT user/starred/<owner>/<repo> --silent。- 如果无法可靠解析已安装技能列表,请停止并报告歧义,不要猜测。
验证
完成前:
- 重新列出已执行的计划,包括过时名称、替换项、已更新的当前名称和未改动的名称。
- 确认最终已安装列表和已安装目录标识中均不含
Deprecated列中的名称。 - 确认已安装过时名称对应的每个替换项均已安装。
- 确认除了用户之前已安装的子集和必需的替换项外,没有添加其他 paperthin 技能。
- 确认步骤 6 中采取重试/回退路径的任何技能确实已安装且为当前版本,而非悄然缺失。
- 报告任何跳过的步骤、失败的命令或尚未解决的歧义。
评论
支持 Markdown