Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Submit, browse, install, edit, archive, restore, transfer, and version MCPs, skills, hooks, prompts, and sandboxes in the Observal registry, and get components recommended for the current user. Use when the user wants to submit a component, install one, edit a draft, publish a new version, browse the component library, or asks what they should install or are missing.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 417% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 221% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 155% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 445% | 0% |
--output json on list/show commands.--yes on destructive lifecycle commands (archive, unarchive) and MCP JSON submit when defaults are acceptable.<command> --help first.--from-file does NOT exist on mcp submit: that flag is on mcp edit.Use natural-language keywords with --search; do not require exact whole-query matches.
bashobserval registry mcp list --category developer-tools --output json observal registry mcp list --namespace platform-tools --output json observal registry skill list --namespace platform-tools --output json observal registry skill list --team platform-tools --search 'frontend design' --output json observal registry skill list --task-type code-review --harness claude-code --output json observal registry hook list --event UserPromptSubmit --output json observal registry prompt list --category coding --output json observal registry sandbox list --runtime docker --output json observal registry mcp my --output json observal registry skill my --output json observal registry prompt my --output json observal registry mcp show NAME --output json observal registry hook show NAME --output json
After list, use row numbers (1, 2, 3...) in subsequent commands. Add --interactive for fuzzy picker. Team members see approved private teamspace items in the same lists. Use --team TEAM_HANDLE to list only what that teamspace owns, including its private items when you are a member. Direct references use TEAM_HANDLE/ITEM_SLUG. Skill search covers descriptions, task types, target agents, slash commands, source paths, delivery mode, and SKILL.md content.
MCP categories: browser-automation, cloud-platforms, code-execution, communication, databases, developer-tools, devops, file-systems, finance, knowledge-memory, monitoring, multimedia, productivity, search, security, version-control, ai-ml, data-analytics, general
Skill task types: code-review, code-generation, testing, documentation, debugging, refactoring, deployment, security-audit, performance, general
Use when the user asks what to install, what is worth trying, or what they are missing. Ranked against the signed-in user's own sessions, so check here before browsing — it beats guessing keywords for list --search. --refresh recomputes the profile instead of using the 24h cache: slower, so only when recent work changed and results look stale.
bashobserval registry recommend --output json observal registry recommend --limit 12 --type mcp --refresh --output json
| Field | Meaning | |-------|---------| | personalized | true = ranked against this user's sessions. false = popularity only | | profile_sessions | How many sessions the profile was built from | | topics | Dominant work areas detected (e.g. databases, frontend) | | items[].reason | Why this was picked. Quote it; do not invent a better reason | | items[].matched_on | The user's own terms that matched |
What you may claim: personalized: false → say plainly there is no session history yet and these are simply the most-used components; never present them as tailored. items: [] → say either nothing in the registry is visible to them or they already installed or dismissed it all; this is not an error, so do not report it as one. profile_sessions under ~5 → give the answer, and say the profile is thin.
bashobserval registry recommend dismiss skill NAMESPACE/SLUG observal registry recommend dismiss mcp NAMESPACE/SLUG --action not_relevant observal registry recommend dismiss hook NAMESPACE/SLUG --action installed
Dismissals are per-user and permanent until overwritten, so confirm before dismissing. A work profile is visible only to its owner: no flag or server route exposes another user's recommendations, so if asked, say it is unavailable rather than improvising a workaround.
Paste the MCP JSON config. Optionally include --git so Observal clones the repo and detects local OCI setup for Dockerfile, Containerfile, or compose build:.
bashobserval registry mcp submit --example observal registry mcp submit --name my-mcp --category developer-tools --yes observal registry mcp submit --git https://github.com/org/mcp-server --name my-mcp --category developer-tools --yes observal registry mcp submit --name internal-mcp --category developer-tools --team platform-tools --visibility team --yes
The command still expects pasted JSON. If a local image must be built, follow the returned setup instructions, for example docker build -t name:latest .. Manual installs also print these setup instructions before the MCP can be used.
There are two delivery modes for skills:
Git-based (server validates SKILL.md from repo, recommended for open-source):
bashobserval registry skill submit --example observal registry skill submit --skill-md ./SKILL.md --git-url https://github.com/org/repo --git-ref main --name my-skill --description 'What it does' --task-type general observal registry skill submit --skill-md ./SKILL.md --git-url https://github.com/org/repo --name internal-skill --description 'Team skill' --task-type general --team platform-tools --visibility team
Registry direct (inline SKILL.md + optional script, no git repo needed):
bashobserval registry skill submit --skill-md ./SKILL.md --delivery-mode registry_direct --name my-skill --description 'What it does' --task-type general --harness claude-code observal registry skill submit --skill-md ./SKILL.md --script ./run.sh --delivery-mode registry_direct --name my-skill --description 'What it does' --task-type general
On install, registry_direct skills write <skill-name>/SKILL.md and <skill-name>/scripts/<filename> into the harness skills directory.
Decision guide:
bashobserval registry hook submit --example observal registry hook submit --name guard --description 'Guard prompts' --event UserPromptSubmit --handler-command './guard.sh' --execution-mode sync --timeout 10 --scope agent --harness claude-code observal registry hook submit --from-file hook.json --script ./pre-commit.sh
Optional: --source-url URL --source-ref main, --requires dep1 --requires dep2. Timeout caps: blocking 30s, sync 10s, async 60s.
Hook events: Start, Stop, UserPromptSubmit, SubagentComplete, ToolResult, Error Execution modes: blocking (waits for completion), sync (waits, shorter timeout), async (fire and forget) Handler types: script (runs a shell script), http (calls a webhook URL)
bashobserval registry prompt submit --name frontend-brief --description 'Frontend design brief' --category general --template 'Design {{component}} accessibly' observal registry prompt submit --from-file prompt.json
bashobserval registry sandbox submit --example observal registry sandbox submit --name node-runner --description 'Node sandbox' --runtime-type docker --image node:22-alpine --resource-limits '{"memory_mb":512}' --runtime-config '{}' --network-policy none --entrypoint node --harness claude-code observal registry sandbox submit --name lxc-runner --description 'LXC sandbox' --runtime-type lxc --image images:ubuntu/22.04 --runtime-config '{"profile":"default"}' --network-policy none --entrypoint 'sh' --harness kiro observal registry sandbox submit --from-file sandbox.json
All types support --example to print ready-to-edit example payloads, --draft to save without review, and --submit NAME to submit an existing draft.
bashobserval registry mcp install NAME --harness kiro observal registry mcp install NAME --harness claude-code --raw observal registry mcp install NAME --harness cursor --version 2.1.0 observal registry skill install NAME --harness kiro --scope user observal registry skill install NAME --harness claude-code --scope project observal registry skill install NAME --harness claude-code --version 1.2.0 observal registry hook install NAME --harness kiro observal registry hook install NAME --harness claude-code --platform darwin --dir .
Flags (all install commands):
--harness (required): target harness--version <semver>: install a specific version instead of latest--raw: output JSON only (MCP)--scope user|project: install scope (skill)Warning: Editing an approved listing triggers a version bump flow. For draft/pending/rejected items, edits in place with an optimistic lock.
bashobserval registry mcp edit NAME --from-file updates.json observal registry mcp edit NAME --name new-name --description 'New desc' observal registry skill edit NAME --from-file updates.json observal registry hook edit NAME --version 1.2.0 --event Stop observal registry prompt edit NAME --template 'New template body' observal registry sandbox edit NAME --image python:3.12-slim
bashobserval registry version publish mcp NAME --version 1.2.0 --description 'What changed' observal registry version publish skill NAME --version 0.3.0 --description 'New tasks' observal registry version publish hook NAME --version 1.0.1 --description 'Bug fix' observal registry version publish prompt NAME --version 2.0.0 --description 'Rewrite' observal registry version publish sandbox NAME --version 1.1.0 --description 'New image' --extra '{"runtime_type":"docker","image":"python:3.12-slim","resource_limits":{"timeout":60}}' observal registry version publish sandbox NAME --version 1.2.0 --description 'LXC profile' --extra '{"runtime_type":"lxc","image":"images:ubuntu/22.04","runtime_config":{"profile":"default"}}' observal registry version list mcp NAME --output json
bashobserval registry mcp archive NAME --yes observal registry skill archive NAME --yes observal registry hook archive NAME --yes observal registry prompt archive NAME --yes observal registry sandbox archive NAME --yes observal registry mcp unarchive NAME --yes observal registry skill unarchive NAME --yes observal registry mcp transfer-owner NAME @username -y observal registry skill transfer-owner NAME @username -y
Co-authors have equal access to the component owner (edit, publish, manage co-authors).
bash# List observal registry mcp co-authors list <id-or-name> observal registry skill co-authors list <id-or-name> # Add observal registry skill co-authors add <id-or-name> user@example.com # Remove observal registry hook co-authors remove <id-or-name> <user-uuid>
| Error | Fix | |-------|-----| | --from-file not on mcp submit | Paste JSON, optionally with --git, or use --draft | | 412 Edit lock held | Wait a few minutes, retry | | Hook timeout | Caps: blocking 30s, sync 10s, async 60s |
Other measured skills in the registry, with their headline benchmark lift.