update

update is a command for coding agents from mjmorales/claude-prove. It costs 11 tokens per session (4,013 once invoked), scanned B, original, MIT.

A configuration-update command that checks project settings against the current schema, identifies differences, and applies migrations with approval.

In plain words
What is it for?
Use it to validate .claude/.prove.json and .claude/settings.json, detect schema drift, and safely migrate them.
Why use it?
It helps detect outdated or invalid configuration and guides changes when the configuration format has evolved.

Command

Part of the prove plugin — 25 skills, 30 commands, 21 agents, 5 hooks, 1 MCP server shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/mjmorales/claude-prove/update
Clone the repo
git clone --depth 1 https://github.com/mjmorales/claude-prove

Or install prove, the plugin that ships this one along with the rest of its 25 skills, 30 commands, 21 agents, 5 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for update

README.md
[![agentmods](https://agentmods.dev/badge/commands/mjmorales/claude-prove/update.svg)](https://agentmods.dev/commands/mjmorales/claude-prove/update)
Your own site
<a href="https://agentmods.dev/commands/mjmorales/claude-prove/update"><img src="https://agentmods.dev/badge/commands/mjmorales/claude-prove/update.svg" alt="Measured on agentmods" height="20"></a>
Per session 11 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,013 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00011 $0.04013
Opus 5 $0.00005 $0.02006
Sonnet 5 $0.00002 $0.00803
Haiku 4.5 $0.00001 $0.00401

Measured 4d ago against content hash a4465f16520c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

update scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

claude-prove schema validate --file "$(pwd)/.claude/settings.json"
commands/update.md · 180 lines

How it starts

The opening of the file, as written. The whole thing — 180 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Update Configuration

Validate .claude/.prove.json and .claude/settings.json against current schema, detect drift, and apply migrations with user approval. See UPDATES.md at the plugin root for the human-readable migration guide.

All schema tool calls use --file with an absolute path to the project's config. Run against the user's current working directory, not the plugin directory.

Step 0: Pre-flight

0a: Resolve plugin location

Dogfooding shortcut: if $(pwd)/.claude-plugin/plugin.json exists, set PLUGIN_DIR = $(pwd) and skip the CLI call below. Otherwise:

claude-prove install latest

Apply these rules to the JSON output, in order:

  1. Halt if local is null. Message: "Plugin not installed — run claude plugin install prove@prove." Do not proceed.
  2. Set PLUGIN_DIR = local.installPath. This path is referenced as $PLUGIN_DIR in later steps; substitute the literal value when issuing commands.
  3. Record local.version for the pinned reference in CLAUDE.md.
  4. Warn on remote mismatch, then continue. If remote.version differs from local.version, surface: "Newer release available: local.versionremote.version. Run claude plugin update prove@prove to upgrade, then re-run /prove:update." Continue the rest of the skill against the locally installed version — this skill syncs configs against what is on disk, never against an unreleased remote.
  5. Surface errors.local / errors.remote if present, but do not abort unless rule 1 triggered.

0b: Guard working directory

Verify $(pwd) is NOT inside ~/.claude/ — prevents accidentally mutating the plugin cache. If it is (and the dogfooding shortcut above did not fire), halt: "Run /prove:update from your project root, not inside the plugin cache."

0c: Bootstrap if .prove.json is missing

If $(pwd)/.claude/.prove.json does not exist, AskUserQuestion (header: "Bootstrap"):

  • "Create minimal config" — write {"schema_version": "0"} to .claude/.prove.json and continue to Step 1
  • "Run /prove:init instead" — suggest the full init flow and stop
  • "Cancel" — stop

Read the full file on GitHub · 180 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 180 lines · 11 tokens per session scan B a4465f16520c

Subscribe to this mod's changes

update is a command published in the GitHub repository mjmorales/claude-prove (2 stars, last pushed 24d ago), licensed MIT. It adds 11 tokens to every session and 4,013 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.