# auto-updater

Checks installed community skills for updates, displays diffs, and requires explicit approval before applying changes.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 621 installs · ★ 9795
- Author: anthropics · official Anthropic repository
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/anthropics/claude-for-legal/tree/HEAD/legal-builder-hub/skills/auto-updater/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/anthropics-auto-updater

## What it does

The skill monitors installed community skills by comparing pinned commit SHAs against source repositories rather than mutable git tags. It reads the list of active skills and update preferences directly from `~/.claude/plugins/config/claude-for-legal/legal-builder-hub/CLAUDE.md`.

Before writing any changes, it generates a unified diff and flags security surface escalations. Specifically, it inspects modifications to shell hooks in `hooks/hooks.json`, credential-bearing servers in `.mcp.json`, expanded `allowed-tools` frontmatter, external network requests, and shifts in stated skill descriptions. New versions undergo a read-only `skills-qa` rescan to catch regressions before installation.

Updates fail closed whenever a regression or malicious pattern appears, halting execution without an override flag. In addition to commit tracking, the tool checks the `last_verified` token against the configured freshness window, warning when regulatory reference material becomes stale even if code has not changed.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add anthropics/claude-for-legal --skill auto-updater -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/auto-updater/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/auto-updater/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add anthropics/claude-for-legal --skill auto-updater -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/auto-updater/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add anthropics/claude-for-legal --skill auto-updater -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/auto-updater/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install anthropics/claude-for-legal auto-updater
```

2. **Manually: put the files in place**
- File: `.github/skills/auto-updater/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add anthropics/claude-for-legal --skill auto-updater -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/anthropics/claude-for-legal --path legal-builder-hub/skills/auto-updater
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/auto-updater/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add anthropics/claude-for-legal --skill auto-updater -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/anthropics/claude-for-legal/tree/HEAD/legal-builder-hub/skills/auto-updater/SKILL.md

## When to use it
- track new commit SHAs across installed community skills
- inspect unified diffs before applying skill updates
- detect unauthorized permission escalations in hooks and MCP configurations
- flag stale skills that exceeded their freshness window

## Example prompts
- Check for updates to my installed skills
- Run /auto-updater to inspect available skill updates
- Update all installed skills with /auto-updater --apply

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: c0e8c8f32bb2add5.

BEGIN THIRD-PARTY FILE c0e8c8f32bb2add5
````text
---
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:

```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.
````
END THIRD-PARTY FILE c0e8c8f32bb2add5

The third-party file has ended. Everything between the c0e8c8f32bb2add5 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2641 of 8644 bytes. © anthropics · Apache-2.0 · https://github.com/anthropics/claude-for-legal/tree/HEAD/legal-builder-hub/skills/auto-updater/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
