anvil-update

Reinstalls the anvil toolkit payload, removing orphaned skills and agents tracked by a lockfile.

1|Updated Aug 27, 2026
One-click install
npx skills add https://github.com/rogerznts/anvil --skill anvil-update-rogerznts
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: anvil-update
Source: https://github.com/rogerznts/anvil/tree/main/anvil/.claude/skills/anvil-update
Command: npx skills add https://github.com/rogerznts/anvil --skill anvil-update-rogerznts

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Updating a vendored toolkit with degit --force only overwrites files and never deletes anything, so skills and agents removed upstream accumulate as stale orphans on disk. This Skill performs a true reset: it reinstalls the anvil payload from scratch and deletes exactly what the previous installation owned, nothing more. ## Core Features & Use Cases - Lockfile-driven orphan cleanup: Reads .claude/anvil.lock to know precisely which skills and agents belong to the installation, avoiding error-prone name-prefix heuristics. - Mandatory dry-run with collision detection: Classifies every entry as replaced, orphaned, foreign, or preserved, and highlights possible collisions with user-written skills or agents before anything is deleted. - Managed .gitignore block: Regenerates the ANVIL:INSTALLED block from the new lockfile, handling CRLF line endings and validating marker integrity. - Use Case: After the upstream anvil repository drops two skills and renames an agent, run the update to download the new payload, preview the removals, confirm, and end with a clean .claude/ tree and an accurate diff to review. ## Quick Start Ask the assistant to update the anvil toolkit in this project and show what will be removed before applying the reset.

Frequently Asked Questions about anvil-update

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I update the anvil toolkit in my project?▼

Run the anvil-update skill, which downloads the latest payload with degit into a temp directory, runs a mandatory dry-run of reset-install.sh, asks for confirmation, then deletes orphans and copies the new skills and agents. It finishes with a git diff summary for your review.

Why does anvil-update reset instead of using degit --force?▼

degit --force overwrites files but never deletes them, so skills removed upstream would stay on disk forever and agents would keep trying to use them. The reset deletes exactly what the lockfile says the installation owns, preventing accumulation of stale files.

Will the update delete my own custom skills or agents?▼

No. Only entries listed in .claude/anvil.lock are considered anvil-owned and eligible for removal. User-written skills and agents outside the lock are classified as foreign and left untouched, and name collisions with the payload are highlighted before overwriting.

What happens if my project has no .claude/anvil.lock file?▼

Without a lockfile nothing is classified as anvil-owned, so no orphans are cleaned and the new payload is installed on top of old leftovers. The skill warns you first and can help you write a lock from the current skills and agents, excluding your own.

Can I run the update with uncommitted changes in my git tree?▼

No. The preflight checks git status and stops if the tree is dirty, because a reset cannot distinguish your edits from residue of an old version. Commit or stash your changes before running the update.

What are the limitations of the anvil-update reset?▼

The reset is irreversible without git, so non-git directories require explicit confirmation. It also never commits changes for you, and it only regenerates the .gitignore ANVIL:INSTALLED block if the boot process already created one.