Publish once — skael versions it, scans it for secrets and prompt injection, and syncs it to Claude Code, Cursor, Codex, and OpenCode on every machine. Install what you need, auto-sync keeps it current. The only registry that shows you which skills actually fire — by which agent, how often.
Centralize, distribute, secure, govern, and measure every SKILL.md across every agent your team uses.
One source of truth for every skill. skael add installs what you need; auto-sync keeps it current across Claude Code, Cursor, Codex, and OpenCode — every project and machine. Update once; everyone gets it.
Native telemetry counts "Skill" calls but never which skill. skael's hooks report every activation — which skill, which agent, how often, even in headless Claude Code runs. Turn "we have 50 skills" into "these 12 do the work."
Every publish is scanned for hardcoded secrets, prompt injection, exfiltration, and obfuscation. A credential leaving the machine is rejected outright — nothing clears it. Everything else is held for review, not deleted. No curl | bash for your agent's brain.
Every publish is an immutable, content-addressable version. Roll back, diff, and always know which version your team is actually on.
Full-text search across skill names, descriptions, and content, with fuzzy matching on names. Find the right skill in milliseconds.
One container against your own Postgres, or Docker Compose with a bundled database. Your skills stay on your infrastructure.
A skill lands in payments: and nobody notices. Write one rule — that namespace belongs to Alice and Bob — and every change to it is held until one of them approves. Names nobody claimed publish exactly as before. No flag day.
"We have 50 skills" isn't a fact about whether any of them work. skael runs each one against a real task suite twice — once with it, once without — and scores the gap. Unscored reads as unscored, not as zero. Those are different facts.
A hardcoded credential is rejected — nothing clears it. Everything else is held, not thrown away: the version exists, with a number and an archive, and just isn't served until a score or a human clears it. The queue tells you exactly what would release each one.
Every version waiting on a decision, what's holding it, and exactly what would release each one.
Single binary for macOS, Linux, and Windows. No dependencies.
One command configures the CLI and installs activation tracking and auto-sync hooks for every detected agent.
Pick skills from the registry. Auto-sync keeps them up to date in the background — no manual pulls.
You can — if everyone's on the same agent, in the same project, and remembers to pull. A git folder gives you a folder. It doesn't place skills into Cursor and Codex and OpenCode, doesn't sync across machines, doesn't scan for injection, doesn't tell you which version everyone's on, and has no idea which skills your agents actually use. skael is the layer that turns a folder of markdown into managed infrastructure.
For Claude.ai and Desktop, on Team and Enterprise plans — not Claude Code, and not Cursor, Codex, or OpenCode. skael is vendor-neutral by design: it manages the SKILL.md standard across every agent your team runs, not one vendor's walled garden.
Not until you ask it to. A skill name nobody has claimed publishes exactly as it did before. Write a rule for a namespace and changes to that namespace are held until an owner approves them. Protection switches on per namespace, not on an upgrade.
A panel of models attempts a real task suite twice — once with the skill available, once without — and a judge compares the transcripts. The score is the gap. A skill nobody has measured reads as unscored, which is not the same claim as scoring zero.
Managed skael — same control plane, zero infra. Join the waitlist.
Free and open source. Self-host on day one.