CLI for backing up and restoring Agent Skills
SaferSkills independently audited skills-vault (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
_[汉语](./README.zh.md)_
Skills Vault is a CLI for backing up and restoring Agent Skills.
It is built for the common round-trip:
[!IMPORTANT] Bun-only runtime. Skills Vault is designed to be installed and run with Bun.
Skills Vault exists to fill the gap described in vercel-labs/skills#729: a declarative manifest for portable, reproducible skill setups across machines and teams.
skvlt.yaml file.--dry-run.doctor.bash, zsh, and powershell.Back up your current skills:
bunx skvlt backupPreview what a restore would run:
bunx skvlt restore --dry-runRestore everything recorded in the manifest:
bunx skvlt restore --allIf you want a curated, ready-to-use manifest, see xixu-me/skvlt, a maintained collection of skvlt.yaml snapshots.
The default manifest is ./skvlt.yaml. A typical file looks like this:
total_sources: 2
total_skills: 3
scope: "global"
sources:
"alpha/source":
count: 1
skills:
- "beta"
"beta/source":
count: 2
skills:
- "alpha"
- "zulu"backupSnapshot installed skills into skvlt.yaml.
bunx skvlt backup
bunx skvlt backup --dry-run
bunx skvlt backup --output ./skvlt.yaml
bunx skvlt backup --project-scope --lock-file ./skills-lock.jsonbackup reads installed skill names, joins them with lock-file metadata, and writes a grouped manifest keyed by source.
[!NOTE] Global backup reads from~/.agents/.skill-lock.jsonby default. Project-scope backup currently requires--lock-file.
restoreInstall skills from a manifest.
bunx skvlt restore --all
bunx skvlt restore --only-source xixu-me/skills
bunx skvlt restore --project-scope
bunx skvlt restore --dry-runBy default, restore respects the scope recorded in the manifest. Use --project-scope to force a project install even when the manifest was created from global state.
--dry-run prints the derived bunx skills add ... commands without running them. Live installs run in lock-safe mode and are serialized to avoid global lock-file races.
For a curated manifest source, you can start from xixu-me/skvlt and restore from the skvlt.yaml maintained there.
doctorInspect the local Skills Vault environment and global skill state.
bunx skvlt doctor
bunx skvlt doctor --manifest ./skvlt.yamldoctor checks:
bunx skills --helpcompletionPrint shell completion scripts.
bunx skvlt completion bash
bunx skvlt completion zsh
bunx skvlt completion powershellAll top-level commands support --json for structured output:
bunx skvlt --json doctor
bunx skvlt --json backup --dry-runSuccessful responses include ok, command, and data. Failures include ok, command, and a stable error.code plus message.
Install dependencies:
bun install --frozen-lockfileUseful commands:
bun run ./src/cli.ts --help
bun run ./src/cli.ts doctor
bun run backup
bun run restore
bun run test
bun run checkbun run check is the main verification gate. It runs formatting checks, the Bun test suite, and npm pack --dry-run --json.
If you change workflow files, also run:
bunx prettier --check ".github/**/*.yml"The npm package publishes the skvlt bin from src/cli.ts and intentionally ships the src directory as its runtime payload.
Before publishing, verify the tarball contents locally:
npm pack --dry-run --jsonThe release workflow uses trusted publishing. The publish step is:
npm publish --access public~/.agents/.skill-lock.json and ~/.agents/skills.bunx skvlt doctor.bun run check and review the tarball output from npm pack --dry-run --json.For contribution, support, and security policy details, see CONTRIBUTING.md, SUPPORT.md, and SECURITY.md.
Licensed under MIT. See LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.