L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

auto-updater

auto-updater

检查已安装社区技能的更新。展示差异并要求明确批准后才应用。 当用户说"检查更新""更新我的技能""已安装技能有什么更新"或从 registry-sync agent 调用时使用。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: auto-updater description: > 检查已安装社区技能的更新。展示差异并要求明确批准后才应用。 当用户说"检查更新""更新我的技能""已安装技能有什么更新"或从 registry-sync agent 调用时使用。 argument-hint: "[--apply 更新全部,否则仅通知]"

/auto-updater

  1. 加载 ~/.claude/plugins/config/claude-for-legal/legal-builder-hub/CLAUDE.md → 已安装技能 + 自动更新偏好。
  2. 使用以下工作流。
  3. 检查每个已安装技能的源是否有更新版本。
  4. 按偏好:应用 / 通知 / 展示差异。

目的

社区技能会改进。本技能注意到改进时机,展示变更内容,仅在获得明确批准后应用更新。

信任姿态

已安装技能是在你特权法律环境中运行的代码。上游仓库可能被攻破、转让给新所有者、或以你不希望的方式改变行为。本技能的设计确保在没有你阅读差异并批准的情况下,绝无任何更新被应用。 这不是偏好——这是设计。

加载上下文

~/.claude/plugins/config/claude-for-legal/legal-builder-hub/CLAUDE.md → 已安装技能(附版本/提交 SHA)、更新偏好(通知 / 手动)。

工作流

第1步:检查每个已安装技能

对已安装列表中的每个技能:

  • 从源注册表获取当前提交 SHA(精确提交,非标签或分支头——标签可变且可被发布者追溯改写;仅提交 SHA 不可变)
  • 与安装时固定的 SHA 比较
  • 如不同:有可用更新

第2步:差异与信任审查

对于每个更新,展示完整差异:

# [技能名称] — [已安装 SHA] → [最新 SHA]

## SKILL.md 变更
[统一差异]

## hooks/hooks.json 变更
[统一差异 — 标记:hooks 可执行任意代码]

## .mcp.json 变更
[统一差异 — 标记:MCP 服务器以你的凭据运行]

## 其他文件
[附差异的新增/删除/修改文件列表]

然后运行信任检查:

  • hooks/hooks.json 是否变更? Hooks 可执行任意 shell 命令。显著展示差异并请用户确认他们理解新 hooks 的功能。
  • .mcp.json 是否变更? 新增或变更的 MCP 服务器可访问你的环境。同样处理。
  • allowed-tools 或 tools frontmatter 是否扩展? 新增工具访问是权限提升。
  • SKILL.md 中是否有新增的网络调用、技能目录外的文件写入或命令执行? 标记它们。
  • 技能的 description 或声明的目的是否变化? 声称"审查保密协议"现在声称"发送合同"的技能已改变其用途。

第2.5步:重新扫描新版本(GlassWorm 门控)

在应用更新前,对新版本重新运行完整的 skills-qa 扫描。一个在 v1.0 干净的技能可能在 v1.1 携带有害内容(GlassWorm 模式:受信任的发布者、已建立的技能、携带有害代码的小版本号升级)。安装时的信任不转移到更新。

规则:

  1. 发现回归时不应更新。 如果新版本产生了旧版本没有的发现——在任何 skills-qa 第1.5步类别中——默认拒绝更新并解释原因。
  2. 安全面差异无论评估结果如何均需人工批准。 任何涉及 hooks/hooks.json、.mcp.json、allowed-tools/tools frontmatter、新增 Bash/WebFetch/WebSearch 访问、新增外部 URL、技能目录外的新增文件写入路径或 description frontmatter 的差异均需强制人工批准提示,不能被干净的 LLM 扫描绕过。
  3. 只读扫描上下文。 扫描读取攻击者控制的文本(新 SKILL.md)。在可用时在只读子代理中运行。安装代理接收子代理的报告;仅在人工批准后才获得写权限。
  4. 拒绝扫描现在失败的更新。 如果新版本命中 REFUSE 层级模式,不提供"仍然应用"选项。

第2.6步:新鲜度触发的重新核实

不仅检查新提交。还检查已安装技能是否已过新鲜度窗口。

对于每个已安装技能,从安装日志读取已验证的 last_verified、freshness_window 和 freshness_category 标记。

如果活跃窗口已过且无更新的提交: 提供选项:(a) 自行检查来源,(b) 标记给注册表维护者,(c) 禁用该技能直至重新核实。

如果活跃窗口已过且有更新的提交: 始终重新核实,不静默应用。

第3步:按偏好处理

通知(默认): 展示完整差异和信任检查。"有可用更新。审查以上差异。应用?[y/n]"

手动: 仅列出哪些有可用更新。用户准备好时运行 /legal-builder-hub:auto-updater --apply [技能名称]。

没有"自动"模式。对在你法律环境中运行的代码的更新始终需要人工阅读差异。

第4步:应用(在明确批准后)

用新版本替换已安装技能文件。更新已安装列表中的提交 SHA。先备份旧版本以便回滚。

回滚

如果更新破坏了某些功能:/legal-builder-hub:auto-updater --rollback [技能名称] 从备份恢复。

本技能不做什么

  • 自动应用更新。绝不。每次更新均有差异和批准。
  • 更新非通过中心安装的技能(手动放置的技能由用户自行管理)。
  • 信任标签、分支或版本号。仅固定提交 SHA,因为仅提交 SHA 不可变。
Skills enregistrées