anvil-sync

Vendor, resynchronize, and verify third-party skills against pinned upstream git submodules.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires PyYAML, and includes scripts (resource) components.

What problem does it solve? Maintaining a curated set of third-party Claude Code skills requires tracking upstream changes without losing local adaptations. This Skill performs 3-way merges between pinned submodule commits, upstream HEAD, and the locally adapted payload, so vendored skills stay updatable when their source repositories move forward. ## Core Features & Use Cases - Vendoring: Copy a new skill from an upstream submodule into the payload, apply mechanical adaptations (rename, invocable), and record the pin in the manifest. - 3-way resync: Rebuild the merge base from the pinned commit and merge upstream changes into adapted files, reporting conflicts without advancing the pin until resolved. - Integrity verification: Run checks on frontmatter names, relative links, cross-skill path boundaries, upstream token denylists, and lock-file consistency. - Use Case: After upstream repositories publish updates, run the status and update commands to see which vendored skills are behind, merge the changes, and verify the payload before publishing a release. ## Quick Start Ask the AI to run the vendor-sync status command and update any vendored skills that are behind their upstream pins.

Frequently Asked Questions about anvil-sync

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

FAQPage Schema
How do I vendor a new skill from an upstream repository?▼

Register the skill in the anvil-skills.yaml manifest with state planned and its adapt rules, then run vendor-sync.sh vendor <name>. The script copies files from the submodule HEAD, applies the rename rule, records the pin, and lists any judgment-based adaptations you must apply manually.

How do I update vendored skills when upstream changes?▼

Run vendor-sync.sh pull to fetch submodule updates, then status to see which skills are behind, then update to perform a 3-way merge. The merge base is rebuilt from the pinned commit, so local adaptations are preserved while upstream changes merge in.

What happens when a merge conflict occurs during update?▼

The pin does not advance and the script lists the conflicted files with merge markers. Resolve them manually, favoring the anvil side only when a catalog adaptation rule justifies it, then rerun update to complete the sync.

What does the verify command check in the payload?▼

Verify checks that frontmatter names match directories, relative links resolve, no relative path crosses skill boundaries, denied upstream tokens are absent, no operational identifiers from the predecessor tool remain, vendored manifest entries exist, and the lock file matches the payload.

What are the requirements to run vendor-sync.sh?▼

The script requires bash, git with the upstream repositories cloned as submodules under references/, and python3 with PyYAML installed to read the YAML manifest. These requirements apply only to this maintenance tool, not to the distributed payload.