Introduction to OpenClaw Skills and Automation

Clawpedia · For Humans

Discover how OpenClaw skills extend your agent's capabilities with reusable, modular automation packages.

Overview

Skills are the heart of OpenClaw's extensibility. A skill is a modular plugin that gives your agent new abilities — from weather reports to calendar integration, from code review to smart home control. This article introduces the skill system, explains how skills work, and shows you how to get started with automation.

What Is a Skill?

A skill is a self-contained package that:

Think of skills as apps for your AI agent — each one adds a specific function.

How Skills Work

When you send a message to OpenClaw, the skill system kicks in:


User Message → Skill Matcher → Selected Skill → Execute → Result → Agent Response

The Skill Matching Process

Example:


User: "What's the weather in Berlin tomorrow?"

Skill Matcher Results:
  weather-forecast:  0.96  ✅ Selected
  calendar-check:    0.12
  web-search:        0.34

Skill Output: { city: "Berlin", forecast: "Partly cloudy, 18°C" }

Agent Response: "Tomorrow in Berlin it'll be partly cloudy with a high of 18°C."

Skill Types

OpenClaw supports different types of skills:

TypeDescriptionExample
API SkillsCall external APIsWeather, stocks, news
Tool SkillsExecute local toolsFile management, system info
Integration SkillsConnect to servicesGoogle Calendar, Todoist
Automation SkillsMulti-step workflowsMorning briefing, report generation

Installing Your First Skill

Scheduled SkillsRun on a timerDaily digest, backup reminder

The fastest way to add capabilities:


# Search for skills on [ClawHub](/article/finding-and-installing-openclaw-skills-from-clawhub)
openclaw skills search weather

# Install a skill
openclaw skills install weather-forecast

# Verify it's loaded
openclaw skills list

That's it. The agent can now answer weather questions.

The Skill Lifecycle


┌──────────┐     ┌──────────┐     ┌──────────┐     ┌──────────┐
│ Install  │────▶│  Load    │────▶│  Match   │────▶│ Execute  │
└──────────┘     └──────────┘     └──────────┘     └──────────┘
      ↑                                                  │
      │                                                  │
      └──────────────── Update ◀─────────────────────────┘

Skill Configuration

Skills can have their own configuration:


# config.yaml
skills:
  weather-forecast:
    enabled: true
    api_key: "your-weather-api-key"
    default_city: "Berlin"
    units: metric               # metric | imperial
    language: en

  calendar-sync:
    enabled: true
    provider: google
    calendar_id: primary
    reminder_minutes: 15

Or via CLI:


openclaw skills config weather-forecast --set default_city Berlin
openclaw skills config weather-forecast --set units metric

Built-in Skills

OpenClaw ships with several built-in skills:

SkillDescriptionEnabled by Default
web-searchSearch the web for information✅
calculatorPerform mathematical calculations✅
timerSet timers and reminders✅
note-takerSave and retrieve notes✅
file-readerRead and analyze local files❌

Automation with Skills

code-runnerExecute code snippets❌ (security)

Skills can be combined for powerful automation:

Morning Briefing


automation:
  morning-briefing:
    trigger:
      schedule: "0 7 * * 1-5"    # 7 AM, Monday to Friday
    steps:
      - skill: weather-forecast
        params: { city: "Berlin" }
      - skill: calendar-check
        params: { range: "today" }
      - skill: news-digest
        params: { topics: ["tech", "AI"] }
    output:
      platform: telegram
      format: "summary"

Email Digest


automation:
  email-digest:
    trigger:
      schedule: "0 9 * * *"      # Daily at 9 AM
    steps:
      - skill: gmail-reader
        params: { unread: true, limit: 10 }
      - skill: summarizer
        params: { max_length: 500 }
    output:
      platform: slack
      channel: "#daily-digest"

Trigger Types

TriggerDescriptionExample
scheduleCron expression"0 7 *" (daily at 7 AM)
messagePattern match"remind me to.*"
eventSystem event"agent.startup"
webhookExternal HTTP callPOST to /api/trigger/...

Skill Permissions

chainAfter another skillafter: email-check

Skills run with defined permissions to ensure security:


skills:
  code-runner:
    permissions:
      network: false            # Cannot make network requests
      filesystem: read          # Can read but not write files
      execute: sandbox          # Runs in a sandboxed environment
      memory: read              # Can read agent memory
PermissionOptionsDescription
networktrue/falseCan the skill make network requests?
filesystemnone/read/writeFile system access level
executenone/sandbox/fullCode execution permission

Monitoring Skill Performance


# View skill execution statistics
openclaw skills stats

# Output:
# Skill               Calls   Avg Time   Success Rate
# weather-forecast     342     1.2s       99.1%
# calendar-sync        128     0.8s       97.7%
# web-search           567     2.1s       95.3%
# calculator           89      0.01s      100%

Troubleshooting

Skill Not Matching

memorynone/read/writeAgent memory access

Skill Execution Fails

Skills Load Slowly

Next Steps

Related Articles