vendor-sync

vendor-sync is a skill for Claude Code from voxpelli/claude-beads. It costs 83 tokens per session (4,215 once invoked), scanned C, original, MIT.

A workflow for pulling updates from vendor packages, which are third-party code stored inside the project, into their local folders.

In plain words
What is it for?
Use it to sync vendor code, pull upstream branches, update subtrees, or configure the vendor registry.
Why use it?
It keeps copied dependencies current and connects changes with tracked upstream issues and workspace package links.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: names the AskUserQuestion tool; positional $N argument.

Part of the vp-beads plugin — 8 skills, 1 agent, 3 hooks shipped together

Good fit Use it to sync vendor code, pull upstream branches, update subtrees, or configure the vendor registry.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/voxpelli/claude-beads/vendor-sync
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.

Any agent
npx skills add voxpelli/claude-beads --skill vendor-sync
Clone the repo
git clone --depth 1 https://github.com/voxpelli/claude-beads

Made for: Claude Code.

Or install vp-beads, the plugin that ships this one along with the rest of its 8 skills, 1 agent, 3 hooks.

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 vendor-sync

README.md
[![agentmods](https://agentmods.dev/badge/skills/voxpelli/claude-beads/vendor-sync/github.svg)](https://agentmods.dev/skills/voxpelli/claude-beads/vendor-sync)
Your own site
<a href="https://agentmods.dev/skills/voxpelli/claude-beads/vendor-sync"><img src="https://agentmods.dev/badge/skills/voxpelli/claude-beads/vendor-sync/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for vendor-sync

Your own site · 80×15
<a href="https://agentmods.dev/skills/voxpelli/claude-beads/vendor-sync"><img src="https://agentmods.dev/badge/skills/voxpelli/claude-beads/vendor-sync.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 83 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,215 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00083 $0.04215
Opus 5 $0.00042 $0.02107
Sonnet 5 $0.00017 $0.00843
Haiku 4.5 $0.00008 $0.00421

Measured 9d ago against content hash 9fb9694b78e5, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade C, and why

vendor-sync scanned grade C 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 9d 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.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

rm -rf <prefix>/node_modules
skills/vendor-sync/SKILL.md · 418 lines

How it starts

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

Vendor Sync

Pull latest upstream changes into one or more vendor subtrees, cross-reference the diff against open upstream issue tracking entries, and re-link workspace packages.

Registry

Read the vendor subtree registry from .claude/vendor-registry.json. Each entry has the shape:

{ "prefix": "vendor/pkg", "remote": "remote-name", "branch": "branch-name", "package": "@scope/pkg-name" }
  • prefix — the local vendor/ directory used as the subtree prefix
  • remote — the git remote alias configured in this repo
  • branch — the upstream branch to pull from
  • package — the npm package name; maps to UPSTREAM-<name>.md filename (slashes → --, drop leading @): e.g. @voxpelli/pkgUPSTREAM-voxpelli--pkg.md

Optional fields:

  • local-path — alternative on-disk path for the subtree if it does not live at prefix (rare; used for monorepo layouts or CI checkout paths). When absent, skills use prefix as the on-disk location.

If .claude/vendor-registry.json does not exist, offer to create it via workflow 0 (Bootstrap registry). Do not attempt to read the subtree table from any other source.

Local override file

.claude/vendor-registry.local.json is a gitignored companion that overrides fields in the committed .claude/vendor-registry.json. It mirrors the settings.local.json convention: machine-specific state stays out of version control, while the committed registry documents the shared schema.

[
  { "package": "@scope/pkg-name", "local-path": "/abs/path/to/checkout" }
]

Resolution rules:

  1. Read .claude/vendor-registry.json.
  2. If .claude/vendor-registry.local.json exists, read it and merge on top, matching entries by the package key (the most stable identifier across machines). Fields present in .local.json win; absent fields keep the base value.
  3. Entries in .local.json whose package does not appear in the base registry are ignored — the base registry remains the authoritative source of which subtrees exist.

Read the full file on GitHub · 418 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. 9d ago First seen · 418 lines · 83 tokens per session scan C 9fb9694b78e5

Subscribe to this mod's changes

vendor-sync is a skill published in the GitHub repository voxpelli/claude-beads (2 stars, last pushed 25d ago), licensed MIT. It adds 83 tokens to every session and 4,215 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

schema-evolve

This skill should be used when the user asks about 'schema drift', 'schema evolution', 'evolve schema', 'schema sync', 'sync schemas', 'update schema fields', 'schema field frequency', 'missing schema fields', 'unused schema fields', 'schema proposal', 'schema cardinality', 'check schema', 'schema audit', 'schema…

voxpelli/vp-claude · 139 tokens

knowledge-garden

This skill should be used when the user asks to audit, health-check, or structurally validate one or more SPECIFIC named notes or a bounded topic cluster — 'audit these notes', 'check this note for orphans or broken links', 'fourth-wall check on [note]', 'validate the structure of [note]', 'spot-check [note]'. Runs a…

voxpelli/vp-claude · 152 tokens

knowledge-maintain

This skill should be used when the user asks to fix, repair, or tidy one or more SPECIFIC named notes — 'fix these notes', 'fix the issues in [note]', 'add the missing relations to [note]', 'tidy up [note]', 'fix orphan [note]', 'apply the gardener findings for [note]'. Applies structural fixes (missing sections…

voxpelli/vp-claude · 183 tokens

raindrop-triage

This skill should be used when the user asks to 'triage unsorted bookmarks', 'clean up raindrop inbox', 'sort unsorted', 'organize bookmarks', 'raindrop triage', 'process bookmark backlog', 'promote triaged bookmarks', 'classify triaged', 'raindrop cleanup', 'deduplicate bookmarks', 'find duplicate bookmarks', 'tag…

voxpelli/vp-claude · 181 tokens

session-bookmarks

This skill should be used to save URLs or links found this session as Raindrop bookmarks — triggers: 'bookmark URLs from this session', 'save links we found', 'save notable URLs to Raindrop', 'save session URLs', 'raindrop bookmarks from session'. Scans the current conversation for high-signal URLs discovered during…

voxpelli/vp-claude · 129 tokens

session-reflect

This skill should be used when the user asks to 'reflect on this session', 'save insights to memory', 'capture what we learned', 'commit this to memory', 'save decisions to Basic Memory', 'write up what we did', 'preserve what we found', 'save insights from this conversation', 'save what was discovered', 'capture…

voxpelli/vp-claude · 147 tokens