Lesson 5. Skills#

Why you need this#

Tools (from the previous lesson) are the assistant’s capabilities. Skills are instructions on how to properly use those capabilities for specific tasks. A skill is a folder with an instruction file that teaches the assistant to do something specific: generate images, work with a calendar, write code in a particular language.

Think of skills as “professional development courses” for your assistant.


How a skill works#

Each skill is a folder containing a SKILL.md file. This file contains:

  1. Header (metadata) — name, description, requirements
  2. Instructions — how exactly to perform the task

Example SKILL.md#

---
name: nano-banana-pro
description: Image generation and editing via Gemini
---

# Image Generation

When the user asks to create or edit an image:

1. Use the Gemini API for generation
2. Save the result to the workspace folder
3. Show the image to the user

Where skills come from#

Skills are loaded from three places (in order of priority):

Location Path Description
Workspace (highest priority) <workspace>/skills/ Your personal skills for a specific agent
Shared skills ~/.openclaw/skills/ Skills available to all agents on the computer
Built-in (lowest priority) Installed with OpenClaw Basic set of skills

If a skill with the same name exists in multiple places, the one from the higher-priority location is used.


ClawHub — skill store#

ClawHub (clawhub.ai) is a public catalog of skills for OpenClaw. You can search, download, and install ready-made skills there.

Installing the CLI tool#

npm install -g clawhub

Main commands#

# Search for a skill
clawhub search "calendar"
clawhub search "image generation"

# Install a skill
clawhub install <skill-name>

# Update all installed skills
clawhub update --all

Example: installing a skill#

# 1. Search for an image-related skill
clawhub search "image"

# 2. Install the found skill
clawhub install nano-banana-pro

# 3. Start a new session so the skill gets loaded
# (in the chat with the assistant)
/new

Important: after installing a skill, you need to start a new session (/new) so the assistant “sees” the new skill.


Configuring skills#

Enabling and disabling#

In the openclaw.json file:

{
  skills: {
    entries: {
      "nano-banana-pro": {
        enabled: true,                    // enable the skill
        apiKey: "your-key",              // API key (if needed)
        env: {
          GEMINI_API_KEY: "your-key"     // environment variable
        }
      },
      "unneeded-skill": {
        enabled: false                    // disable the skill
      }
    }
  }
}

Skill requirements (gating)#

Some skills only work when certain conditions are met:

  • bins — a specific program is needed (e.g., python, node)
  • env — an environment variable is needed (usually an API key)
  • config — a specific setting in OpenClaw is needed
  • os — only works on certain systems (Mac, Linux, Windows)

OpenClaw automatically checks these conditions and only loads matching skills.


How to create your own skill#

Step 1: Create a folder#

mkdir -p ~/.openclaw/workspace/skills/my-skill

Step 2: Create a SKILL.md file#

---
name: my-skill
description: My skill for creating reports
---

# Creating Reports

When the user asks to create a report:

1. Ask what time period the report should cover
2. Gather data from files in the `reports/` folder
3. Create a report file in Markdown format
4. Let the user know the report is ready

## Report format

- Title with date
- Key metrics in a table
- Brief conclusions

Step 3: Start a new session#

/new

The assistant will see your skill and follow the instructions when the task is appropriate.

Adding metadata (optional)#

For more “advanced” skills, add metadata:

---
name: my-report-skill
description: Creating beautiful reports from data
metadata: {
  "openclaw": {
    "emoji": "📊",
    "requires": {
      "bins": ["python3"]
    }
  }
}
---

Publishing a skill to ClawHub#

If you’ve created a useful skill, share it with others:

clawhub sync --all

This command publishes your skills to ClawHub, and other users can install them.


Security#

⚠️ Important: skills from unknown authors are like programs from unknown people. Before installing:

  • Read the skill description
  • Look at the SKILL.md file (what exactly the skill does)
  • Use a sandbox for running untrusted skills

Lesson summary#

  • Skills are instructions that teach the assistant to perform specific tasks
  • Each skill is a folder with a SKILL.md file
  • ClawHub (clawhub.ai) is a catalog of ready-made skills
  • Skills are loaded from the workspace, shared folder, and built-in sources
  • Creating your own skill is simple: a folder + a SKILL.md file with instructions
  • After installing/creating a skill, you need a new session (/new)
  • Check skills from unknown authors before using them

Next lesson: Automation