Lesson 883 of 2116
Skill Registries, Sharing, And Trust
Skills are code that runs in your soul's context. A registry is how you share them — and how attackers ship them. Public versus private registries, signing, permission scopes, and a security review checklist. OpenClaw maintainers and the broader local-agent community converge on a single warning: skills are the new supply-chain attack surface.
Lesson map
What this lesson covers
Learning path
The main moves in order
- 1Why a registry exists
- 2registry
- 3signing
- 4permission scope
Concept cluster
Terms to connect while reading
Section 1
Why a registry exists
Once you have a few skills, you want them in more than one project. Once your team has a few skills, they want everyone using the same ones. A registry is the index that makes that distribution possible — a known location where skills are published, versioned, and pulled from. OpenClaw supports public registries (community-shared) and private registries (your team's internal index).
The two registry shapes
Compare the options
| Registry type | What it holds | Trust model |
|---|---|---|
| Public | Community-shared skills, plugin-shipped skills, official skills | Open contribution; verify each before installing |
| Private | Your team's internal skills, sensitive workflow knowledge | Closed contribution; access-controlled at the registry level |
| Local | Skills on your machine only, never published | Implicit — you wrote them |
| Vendored | Public skills copied into your repo at a pinned version | Frozen at install time; updates require explicit re-vendoring |
Signing and provenance
A signed skill carries a cryptographic signature from its publisher. When the soul installs the skill, it verifies the signature against a known public key. If the signature is missing or fails to verify, OpenClaw refuses to install — or installs with a loud warning, depending on configuration. Signing does not make a skill safe; it makes the publisher accountable for what they shipped.
- Required for the official registry — skills published there must be signed by Anthropic-style verified publishers
- Optional but encouraged for private registries — sign with a team key so anyone installing knows it came from your team
- Skipped for vendored copies — once frozen in your repo, the signature is moot; you trust your own repo
- Validated at install — runtime re-validation is configurable for tighter shops
Permission scopes are the real defense
Every skill declares the tools and permissions it will use in its manifest. OpenClaw enforces those declarations at runtime — a skill cannot exceed its declared scope. The right defense in depth is to scope skills as narrowly as they can run: a release-notes skill needs `git log` and `git diff`, not full bash; a deploy skill needs your deploy command, not arbitrary network access.
A scoped permissions block. Allow only the verbs and paths the skill genuinely needs. Deny network unless the skill calls an API.
# A well-scoped skill manifest snippet
permissions:
bash:
- "git log:*"
- "git diff:*"
- "git tag --list"
edit:
- "CHANGELOG.md"
- "docs/release-notes/*.md"
network: false
filesystem:
read: ["."]
write: ["docs/release-notes", "CHANGELOG.md"]Security review checklist
- 1Read the SKILL.md fully — does the procedure match what the description claims?
- 2Check the permissions block — is anything wider than the workflow needs (full bash, write to home, network: true)?
- 3Inspect every helper script in the skill folder — bash and python helpers are real code, audit them like dependencies
- 4Search for exfiltration patterns — calls to unfamiliar URLs, base64 strings, environment variable reads of API keys
- 5Check the publisher — is the signature from someone you recognize? Have they shipped other skills with a track record?
- 6Pin the version — never auto-update third-party skills; review each upgrade before adopting
- 7Test in a sandbox first — run the skill in a throwaway workspace and watch the trace before promoting it
Apply: harden one skill today
- 1Pick the most-used third-party skill on your machine
- 2Open its SKILL.md and read every line — does the procedure match the description?
- 3Inspect the permissions block — would you be comfortable if every line ran right now?
- 4Read every helper script in the folder — actually read them, not skim
- 5Tighten the permissions in your local copy if anything is wider than necessary
- 6Decide: keep, vendor at this version, or remove
Key terms in this lesson
The big idea: signing tells you who shipped a skill, scoping tells you what it can do, and only your audit tells you whether to trust it. Treat third-party skills like dependencies — pinned, scoped, reviewed.
End-of-lesson quiz
Check what stuck
15 questions · Score saves to your progress.
Tutor
Curious about “Skill Registries, Sharing, And Trust”?
Ask anything about this lesson. I’ll answer using just what you’re reading — short, friendly, grounded.
Progress saved locally in this browser. Sign in to sync across devices.
Related lessons
Keep going
Creators · 10 min
MCP Servers: Adding New Capabilities
Model Context Protocol turns any tool into something Claude Code can call. Adding the right MCP servers expands what the agent can actually do for you.
Creators · 9 min
Claude Code For Code Review: The Security-Review Skill
The official security-review skill ships with Claude Code. Used right, it's a real second pair of eyes; used wrong, it's noise. Knowing the difference is the skill.
Creators · 10 min
Codex With Custom Tools And MCP
Codex's real power shows when you connect it to your own tools — internal APIs, datastores, ticketing systems — usually via Model Context Protocol.
