Skip to main content

Skills

Skills are plugins that give your agent new capabilities. Want it to browse the web? Install a skill. Generate images? Install a skill. Execute code, search the internet, read PDFs? Skills. They come from ClawHub — the package registry for OpenClaw. Think npm, but for agent capabilities.

Installing a skill

Pass the skill’s slug and Chowder handles the rest:
curl -X POST https://api.chowder.dev/v1/instances/{id}/skills \
  -H "Authorization: Bearer $CHOWDER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug": "@openclaw/web-search"}'
Chowder runs clawhub install inside the instance’s sandbox, enables the skill in the gateway config, and reports back. The agent can use it immediately.
You can pass environment variables at install time if the skill needs them:
curl -X POST https://api.chowder.dev/v1/instances/{id}/skills \
  -H "Authorization: Bearer $CHOWDER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "slug": "@openclaw/web-search",
    "env": {
      "SERP_API_KEY": "your-key-here"
    }
  }'

Installed vs. ready

There’s an important distinction between a skill that’s installed and one that’s ready:

Installed

The skill’s code is in the workspace. It’s registered with OpenClaw. But it might not work yet — it could be missing required API keys or configuration.

Ready

The skill is installed and all its required environment variables are set. The agent can actually use it.
When you install a skill, Chowder reads its SKILL.md to figure out what env vars it needs. If any are missing, the response will tell you:
{
  "skill": "web-search",
  "status": "installed_missing_env",
  "message": "Missing env vars: SERP_API_KEY",
  "required_env": ["SERP_API_KEY"]
}
You can set the missing vars later via the skill config endpoint:
curl -X PATCH https://api.chowder.dev/v1/instances/{id}/skills/web-search \
  -H "Authorization: Bearer $CHOWDER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"env": {"SERP_API_KEY": "your-key-here"}}'

Listing skills

# List all skills on an instance
curl https://api.chowder.dev/v1/instances/{id}/skills \
  -H "Authorization: Bearer $CHOWDER_KEY"

# Get details about a specific skill
curl https://api.chowder.dev/v1/instances/{id}/skills/web-search \
  -H "Authorization: Bearer $CHOWDER_KEY"
The list response includes each skill’s name, description, source, and whether it’s ready:
[
  {
    "name": "web-search",
    "description": "Search the web using SERP API",
    "source": "@openclaw/web-search",
    "ready": true
  },
  {
    "name": "browser",
    "description": "Control a headless browser",
    "source": "@openclaw/browser",
    "ready": true
  }
]
Here are some commonly used ones to get you started:
SkillSlugWhat it does
Web Search@openclaw/web-searchSearch the internet via SERP API
Browser@openclaw/browserControl a headless Chromium browser
Code Execution@openclaw/code-runnerRun Python/JS/shell code in a sandbox
Image Generation@openclaw/image-genGenerate images via DALL-E, Stable Diffusion, etc.
File Reader@openclaw/file-readerParse PDFs, CSVs, DOCX, and other file formats
The skills available on ClawHub are community-maintained and constantly growing. Check clawhub.dev for the full catalog.

Uninstalling a skill

curl -X DELETE https://api.chowder.dev/v1/instances/{id}/skills/web-search \
  -H "Authorization: Bearer $CHOWDER_KEY"
This removes the skill from the workspace, cleans up the ClawHub lockfile, and the agent can no longer use it.

Skills are instance-scoped

Skills belong to the instance, not to a session. When you install a skill, every session on that instance can use it. There’s no way to restrict a skill to a specific session — if you need that level of isolation, use separate instances.
Not through the Chowder API currently. You’d need to use the files API to manually place skill files in the workspace’s skills/ directory and configure them through the instance config. ClawHub is the supported path.
Yes. Skills are installed into the workspace filesystem, which is preserved when the sandbox hibernates. When you start the instance again, all your skills are still there and ready.
The install response includes a required_env field listing all required environment variables. You can also check the skill’s page on ClawHub or call GET /v1/instances/{id}/skills/{name} for details.