New Open source · v0.12.0

Your team's AI skills, in one place — and on every agent.

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.

Free for solo devs · self-host on day one
~/acme/skills — skael
$ skael setup https://skills.company.com sk-xxx Connected to skills.company.com Configuration saved Hooks installed for claude-code, codex Auto-sync enabled (30 min debounce) $ skael add code-review installed code-review v5 → claude-code, codex $ skael publish ./my-skill → scanning for security issues… ok → published my-skill v1 (checksum a3f8…) $
6
platforms
macOS · Linux · Windows
4
agents
Claude · Cursor · Codex · OpenCode
30+
rules
security scan on every publish
1
command
skael setup and you're done
// capabilities

Run your skills like infrastructure — not scattered markdown.

Centralize, distribute, secure, govern, and measure every SKILL.md across every agent your team uses.

Centralize, don't copy-paste

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.

See what actually fires

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."

Scanned before it ships

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.

Versioned by default

Every publish is an immutable, content-addressable version. Roll back, diff, and always know which version your team is actually on.

Instant search

Full-text search across skill names, descriptions, and content, with fuzzy matching on names. Find the right skill in milliseconds.

Self-hosted, no lock-in

One container against your own Postgres, or Docker Compose with a bundled database. Your skills stay on your infrastructure.

Someone has to say yes

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.

Measured, not asserted

"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 finding isn't a verdict

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.

// the dashboard

Every skill, every version, every activation — one workspace.

app.skael.dev / acme / skills
// governance

Held, not lost. And you can see why.

Every version waiting on a decision, what's holding it, and exactly what would release each one.

app.skael.dev / acme / review
The review queue — a held version with its scan findings and what the gate says would clear each one
// three commands

Drop it into any agent stack in under a minute.

01 / INSTALL

Install the CLI.

Single binary for macOS, Linux, and Windows. No dependencies.

$ brew install skael-dev/skael/skael
02 / SETUP

Connect to your registry.

One command configures the CLI and installs activation tracking and auto-sync hooks for every detected agent.

$ skael setup https://skills.company.com sk-xxx
03 / ADD

Install what you need.

Pick skills from the registry. Auto-sync keeps them up to date in the background — no manual pulls.

$ skael add code-review
// the obvious question

"Can't I just use a git repo?"

Can't I just commit .claude/skills/ to a repo?

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.

Doesn't Claude already do org skill sharing?

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.

Does this stop me publishing skills?

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.

What is a quality score actually measuring?

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.

// cloud

Don't want to self-host? Cloud is coming.

Managed skael — same control plane, zero infra. Join the waitlist.

Ship skills like you ship code.

Free and open source. Self-host on day one.

$ brew install skael-dev/skael/skael && skael setup copy