Module 3: Skills & Tools
Add calendar, email, web search, and file tools to your AI assistant. Install OpenClaw skills from ClawHub in minutes — no coding needed.
- Understand the difference between built-in tools and skills
- Browse and install skills from ClawHub
- Configure skill credentials and permissions
- Write a basic custom skill
Why this matters
Out of the box, your agent can think and respond — but it cannot check your calendar, send emails, or search the web. Skills give it those abilities.
Built-in tools vs. skills
OpenClaw has two types of capabilities:
Built-in tools are general-purpose and come pre-installed:
web_fetch— retrieve a webpageweb_search— search the internetread/write— access files in your workspaceexec— run shell commands (with restrictions)image_generate— create images using configured providersvideo_generate— create videos (as of v2026.4.10)music_generate— create music (as of v2026.4.10)
Skills are purpose-built integrations with specific APIs:
- Google Calendar — read and create events
- Gmail — read and send emails
- GitHub — manage issues and pull requests
- Weather — get forecasts
- And many more on ClawHub
Media generation (new in v2026.4.10)
Your agent can now generate images, videos, and music if you configure the right providers.
Image generation
This has been available for a while — your agent can create images using providers like OpenAI DALL-E, Midjourney, or ComfyUI:
openclaw agent --message "Create an image of a cozy home office with plants"Video generation
As of v2026.4.10, your agent can generate videos. Configure a provider like Runway or xAI:
{
"providers": {
"videoGeneration": "runway"
}
}Then ask:
openclaw agent --message "Create a short video of a rocket launching"Your agent will use the video_generate tool to create the video and return it directly in the reply.
Music generation
As of v2026.4.10, your agent can generate music using Google Lyria, MiniMax, or ComfyUI workflows:
{
"providers": {
"musicGeneration": "google"
}
}Then ask:
openclaw agent --message "Create upbeat background music for a product demo"The agent will use the music_generate tool. Music generation is asynchronous — the agent starts a task and will notify you when the music is ready.
Browsing ClawHub
ClawHub is the skill directory. Browse it at clawhub.ai or through the dashboard.
Each skill listing shows:
- What it does
- What credentials it needs
- Example prompts that use it
- Configuration format
Popular skills by category
| Category | Skills |
|---|---|
| Productivity | Gmail, Google Calendar, Notion, Linear, GitHub, Jira |
| Data & Finance | Alpha Vantage, Polygon, Weather |
| Communication | Gmail Send, Slack Read |
| Utilities | Wikipedia, WolframAlpha, PDF |
Installing a skill
Every skill requires two steps — installing it and enabling it. Installing downloads the skill code. Enabling tells OpenClaw to actually use it. A skill that is installed but not enabled does nothing.
Think of it like installing an app on your phone — you still need to open it and configure it before it works.
Example: Install the weather skill
In your Terminal, install the skill:
openclaw skills install weatherThen open your config file to enable it:
openclaw config editThis opens ~/.openclaw/openclaw.json. Add the skills block (or add to an existing skills block if you already have one):
{
"skills": {
"weather": {
"enabled": true
}
}
}Save the file and close your editor. Some skills need API keys or tokens — check openclaw skills info [name] to see what each skill requires:
{
"skills": {
"github": {
"enabled": true,
"token": "YOUR_GITHUB_PERSONAL_ACCESS_TOKEN"
}
}
}Where to get skill credentials
Run openclaw skills info [skill-name] — it shows exactly where to get the required API key, token, or OAuth credentials for that skill, with a direct link.
After saving, restart the gateway in your Terminal to load the new skill:
openclaw gateway restartCheck skill status
See what is installed and working:
openclaw skills info weatherThe dashboard also shows skill status with tabs for All, Ready, Needs Setup, and Disabled.
Testing a skill
After installation, ask your agent to use it:
openclaw agent --message "What is the weather forecast for tomorrow?"If the weather skill is installed and configured, the agent will use it automatically. You do not need to tell it which skill to use — the agent figures that out from your question.
Skill permissions
Each skill runs in its own sandbox:
- A skill only gets its own credentials
- No cross-skill access
- No access to your SOUL.md or personal files
- Credentials stored separately at
~/.openclaw/tokens/
This means a buggy or malicious skill cannot access your other skills or data.
Not a developer? Stop here.
Everything above is all you need to install and use skills. The section below is for developers who want to build custom skills from scratch. If that's not you, skip ahead to Module 4.
Writing a custom skill
For developers only
This section requires JavaScript knowledge. If you are not a developer, skip to the hands-on section below — you do not need to write custom skills to get full value from OpenClaw.
If you need a skill that does not exist on ClawHub, you can write your own. A skill is a Node.js module that exports tool definitions:
module.exports = {
name: "my_service",
description: "Access My Service API",
tools: [
{
name: "get_items",
description: "Get a list of items from My Service",
parameters: {
type: "object",
properties: {
filter: {
type: "string",
description: "Filter items by this string",
},
},
},
async execute({ filter }, config) {
const response = await fetch(
`https://api.myservice.com/items?q=${filter}`,
{
headers: { Authorization: `Bearer ${config.apiKey}` },
},
)
return await response.json()
},
},
],
}Save it in your skills directory and add the config:
{
"skills": {
"my_service": {
"enabled": true,
"path": "./skills/my-skill",
"apiKey": "YOUR_KEY"
}
}
}Hands-on: Install and test a skill
Pick a skill
Browse ClawHub and pick a skill that sounds useful — weather, calendar, or web-search are good starting points.
Install it
openclaw skills install [name]Add the configuration
Open your config (openclaw config edit) and add the skill block with any required credentials. Run openclaw skills info [name] to see exactly what it needs.
Restart the gateway
openclaw gateway restartTest with a natural language message
openclaw agent --message "What's the weather today?"If it does not work, check openclaw skills info [name] for setup requirements. The CLI Cheatsheet lists every openclaw skills command with flags.
Finished this module?
Tracks your progress across all 10 modules
FAQ
- What is the difference between a built-in tool and a skill?
- Built-in tools (read, write, shell) are compiled into OpenClaw and enabled via config flags. Skills are external extensions — Markdown SKILL.md files that describe tools the agent can call. Skills are installed from ClawHub and can be added or removed without touching the core config.
- Are OpenClaw skills free to use?
- The skills themselves are free and open source. However, some skills connect to external services that have their own costs — for example, a Google Calendar skill requires a Google account, and a web search skill may use a paid API. Check each skill's readme for dependencies. See ClawHub for the full skill directory.
- Can I use multiple skills at the same time?
- Yes. You can have any number of skills installed and active at once. The agent selects which skills to invoke based on the task — it won't call your calendar skill when you ask a general knowledge question. Skills don't conflict with each other unless they share the same tool name.
- Do skills have access to my files or personal data?
- Only the skills you explicitly enable and configure. File access is limited to ~/.openclaw/workspace/ by default. Skills can only access your accounts if you provide credentials during setup. You can audit all enabled skills at any time by running `openclaw config audit`.