Skip to content
Legal
Skill

/auto-updater

Check installed community skills for updates. Shows a diff and requires explicit approval before applying. Use when the user says "check for updates", "update my skills", "anything new for my installed skills", or when invoked from the registry-sync agent.

BOOST
From plugin
claude-for-legal
9.6k117 skills10 agents17 MCP
Install
$ npx -y skills add anthropics/claude-for-legal --skill auto-updater --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/auto-updater

Context preview

The summary Claude sees to decide when to auto-load this skill.

Check installed community skills for updates. Shows a diff and requires explicit approval before applying. Use when the user says "check for updates", "update my skills", "anything new for my installed skills", or when invoked from the registry-sync agent.

SKILL.md

auto-updater.SKILL.md
name: auto-updater
description: >
  Check installed community skills for updates. Shows a diff and requires
  explicit approval before applying. Use when the user says "check for
  updates", "update my skills", "anything new for my installed skills", or
  when invoked from the registry-sync agent.
argument-hint: "[--apply to update all, otherwise notify only]"

/auto-updater

1. Load `~/.claude/plugins/config/claude-for-legal/legal-builder-hub/CLAUDE.md` → installed skills + auto-update prefs. 2. Use the workflow below. 3. Check each installed skill's source for newer version. 4. Per preference: apply / notify / show diff.

---

Purpose

Community skills improve. This skill notices when, shows you what changed, and applies updates only with your explicit approval.

Trust posture

Installed skills are code running inside your privileged legal environment. An upstream repository can be compromised, transferred to a new owner, or simply change behavior in ways you don't want. This skill is designed so that **no update is ever applied without you reading the diff and approving it.** That's not a preference — it's the design.

Load context

`~/.claude/plugins/config/claude-for-legal/legal-builder-hub/CLAUDE.md` → installed skills (with version/commit SHA), update preferences (notify / manual).

Workflow

Step 1: Check each installed skill

For each skill in the installed list:

  • Fetch the current commit SHA from the source registry (the exact commit, not a tag or branch head — tags are mutable and can be retroactively rewritten by the publisher; only commit SHAs are immutable)
  • Compare to the pinned SHA from install time
  • If different: update available

Step 2: Diff and trust review

For each update, show the full diff:

# [skill-name] — [installed SHA] → [latest SHA]

## SKILL.md changes
[unified diff]

## hooks/hooks.json changes
[unified diff — FLAG: hooks can execute arbitrary code]

## .mcp.json changes
[unified diff — FLAG: MCP servers run with your credentials]

## Other files
[list of added/removed/modified files with diffs]

Then run the trust check:

  • **Did `hooks/hooks.json` change?** Hooks can execute arbitrary shell commands. Show the diff prominently and ask the user to confirm they understand what the new hooks do.
  • **Did `.mcp.json` change?** New or changed MCP servers can access your environment. Same treatment.
  • **Did `allowed-tools` or `tools` frontmatter expand?** New tool access is a permission escalation.
  • **Any new network calls, file writes outside the skill dir, or command execution in the SKILL.md?** Flag them.
  • **Did the skill's `description` or stated purpose change?** A skill that claimed to "review NDAs" and now claims to "send contracts" has repurposed itself.

Step 2.5: Re-scan the new version (GlassWorm gate)

Re-run the full `skills-qa` scan against the NEW version before applying the update. A skill that was clean at v1.0 can ship a poisoned v1.1 — the GlassWorm pattern (a trusted publisher, an established skill, a minor version bump that carries the payload). Install-time trust does not transfer to updates.

**Rules:**

1. **Fail-closed on regression.** If the new version produces findings where the old version did not — in any `skills-qa` Step 1.5 category — refuse the update by default and explain why. Emit the new-version REFUSE output verbatim. 2. **Security-surface diffs require human approval regardless of verdict.** Any diff touching `hooks/hooks.json`, `.mcp.json`, `allowed-tools`/`tools` frontmatter, new `Bash`/`WebFetch`/`WebSearch` access, new external URLs, new file-write paths outside the skill directory, or the `description` frontmatter FORCES a human-approval prompt and cannot be bypassed by a clean LLM scan. The scan is a signal; the human is the gate. 3. **Read-only scan context.** The scan reads attacker-controlled text (the new SKILL.md). Run it in a read-only subagent with Read + WebFetch + Glob only (no Write, no Bash, no MCP) whenever available. The installing agent receives the subagent's report; it gains write access only after the human approves the diff in Step 3 / Step 4. If the installer previously ran the install in `restrictive` allowlist mode, the read-only subagent is MANDATORY here — do not apply an update in restrictive mode without it. 4. **Refuse an update whose scan now fails.** If the new version hits a `REFUSE`-tier pattern (exfiltration, credential theft, privilege breach, or environment modification per `skills-qa` Step 5), do not present an "apply anyway" option. Emit the REFUSE output and stop. The user can `--rollback` or uninstall; there is no override flag.

Step 2.6: Freshness-triggered re-verification

Don't only check for new commits. Also check whether installed skills have passed their freshness window.

For each installed skill, read from the install log the validated `last_verified`, `freshness_window`, and `freshness_category` tokens (the installer validated these at install time; re-read them from the log, not from the live SKILL.md frontmatter — a compromised update could overwrite frontmatter to claim freshness it doesn't have). Compute the active window as `min(freshness_window, user's threshold for freshness_category)` from `~/.claude/plugins/config/claude-for-legal/legal-builder-hub/CLAUDE.md` → `## Freshness reminders`.

**If the active window has passed AND there's no newer commit:**

> "This skill hasn't been updated since [date] and its reference material > was last verified [date] — past the [N month] window. The author may not > have re-verified. Options: > (a) check [verified_against URLs from the install log] yourself and note > if the bundled references still match current sources, > (b) flag to the registry maintainer, > (c) disable the skill until re-verified."

Record the user's choice in the install log under `freshness_review:` so subsequent runs don't nag them about t

Read more
Ships withclaude-for-legal

Reference agents, skills, and data connectors for the legal workflows we see most — in-house commercial, privacy, product, corporate, employment, litigation, regulatory, AI governance, IP, and the learning side of the practice (law school clinics and

Get the whole plugin

Other skills on claude-for-legal.