A vault for skills
that agents can actually use.
SKILL.md files arrive from GitHub repos, public indexes, team docs, and agent drafts. AutoVault validates them at the door, signs what passes, and renders one clean view per agent without forking.
curl -fsSL https://autovault.sh | shOne copy-paste command. The installer creates ~/.autovault and refreshes local agent profiles.
Fetch https://autovault.dev/skill.md, show me what it will do, install it into ~/.claude/skills/autovault-bootstrap/SKILL.md if approved, then run /autovault-bootstrap.Fetches a raw SKILL.md, shows the behavior, installs locally only after approval, then verifies AutoVault.
If you're running AI skills, you have these problems.
The format itself is fine. What's missing is everything around it. Six small papercuts that compound the more skills you keep around.
Skill drift
The same SKILL.md gets copy-pasted across repos and adapted locally. No upstream tracking, no merge story. Vendored code without a lockfile.
no provenanceSupply chain attacks
The same supply-chain attacks that hit package registries will hit skills too. AutoVault assumes that and gates before admission.
gate firstDuplicate explosion
Agents write skills on the fly with no dedup. You end up with seventeen variants of extract-pdf-text and the agent picks one at random.
no dedupPlatform inconsistency
Same skill, three forks — each calling agent expects different tool names. Fork once, maintain three.
fork × 3Context bloat
Every agent loads every SKILL.md at startup. Forty skills means thousands of tokens burned before the conversation begins.
token taxNo permission scoping
Skills load globally. No per-project, per-device, per-tool gating. Dev-machine skills leak into prod, client A skills leak to client B.
leaks by defaultOne skill. Three filesystems. Three versions. No source of truth.
Every agent reads from its own folder. Edits in one don't propagate. Versions drift. Signatures don't exist. The same extract-pdf skill ends up looking like this.
## Tool calls
read(path)
write(path, content)
+ extract_text(pdf)
## Tool calls
- read(path)
+ file_read(path)
+ file_write(path, content)
## Tool calls
read(path)
+ // TODO: trim prompt
- write(path, content)
read for Claude Code, file_read for Codex, fs_read for Cursor — generated at install time, not forked by hand. It's a folder.
That's the whole pitch.
AutoVault lives at ~/.autovault. Your skills go in there. Every agent on your machine — Claude Code, Codex, Cursor, AutoHub — reads from the same folder. Sync it with Git. Sync it with Dropbox. Don't sync it. Your call.
Skills enter dirty.
They leave signed.
Anything joining the folder — whether you ran autovault add or an agent proposed one mid-conversation — passes the same five-step gate first. YAML auto-repaired, denylisted patterns refused, behavior cross-checked against the frontmatter, dedup against what's already there, then signed on the way in.
Gate admits the skill and writes a signature beside it.
One canonical skill.
Three rendered views.
Skills are written once against canonical capability names. The vault rewrites tool names per caller at delivery time — Claude Code sees read, Codex sees file_read, Cursor sees fs_read. Same skill on disk, three honest renderings out.
Transformation manifest in flight
Click a platform or individual capability to see exactly what gets rewritten. The skill on the left never moves.
✓ Agent receives its native tool names.
✓ No fork, no drift, no duplicate.
The skill exists.
Whether you can see it is a separate question.
Every request carries a context. Same folder, filtered four ways — agent, device, project, tool. Dev-machine skills don't surface on a CI runner. Client A skills don't leak into Client B's project.
Same vault.
Made shareable.
When the folder needs to live somewhere your team can reach, AutoVault exposes the same engine over remote MCP. No new format, no new gate — same validation, same signatures, same per-caller transformation. Just routed through a server you run (or one we run for you).
~/.autovault at it. MIT licensed, no phoning home.Same skill, two callers, zero forks.
Different shape.
Different defaults.
Skillfish is the closest direct neighbor for broad install, update, sync, and team bundle workflows across many agents. Managers and registries place skills; AutoVault admits trusted source, signs it, scopes it, and renders caller-specific output from one canonical skill without long-lived forks.
| Capability | AutoVault | Skillfish | Tessl | SkillKit / Agent Skills | Manual |
|---|---|---|---|---|---|
| Local admission gate | ● | ◐ | ◐ | ○ | ○ |
| Signed local provenance | ● | ○ | ○ | ○ | ○ |
| Per-caller rendered output | ● | ◐ | ◐ | ◐ | ○ |
| Project/agent/device scoping | ● | ◐ | ○ | ○ | ○ |
| Broad public discovery | ◐ | ● | ● | ● | ○ |
| Broad agent/runtime coverage | ◐ | ● | ◐ | ● | ◐ |
| Mature team/package workflow | ◐ | ● | ● | ◐ | ○ |
| Local-first, no required cloud | ● | ● | ◐ | ◐ | ● |