Back

06. OpenClaw Skills System Deep Dive

Skills are the core of OpenClaw's extensibility. The community has contributed 5700+ skill packages. This article covers Skills concepts, installation methods, ClawHub usage, skill categories, configuration management, and how to choose and use the right skills to enhance your AI assistant's capabilities.

For OpenClaw v2026.2 | This article assumes you have completed the basic installation and want to extend your AI assistant’s capabilities.

TL;DR: Skills are pre-packaged capability extensions. Install with openclaw skill install <name>, directory at ~/.openclaw/workspace/skills/. ClawHub has 5700+ community skills: coding assistants, search & research, devops, web automation, and more. Each skill includes SKILL.md (description + triggers + instructions) and optional tool implementations. Security scanning is verified via VirusTotal.

What Are Skills?

Concept Overview

Skills are pre-packaged capability extension modules that include:

Component Description
SKILL.md Skill definition file containing description, triggers, instructions, and examples
Tools Callable tool functions (optional)
Resources Related resource files (optional)
Package.json Dependency declarations (optional)

Skills vs Tools

Feature Skills Tools
Source Community contributions Built-in / custom
Installation Requires installation Available by default
Complexity Can be complex Usually simple
Shareable Yes Usually not shared
Updates Independent updates Updated with system

Skill Categories

Skills on ClawHub are organized by category:

Category Count Representative Skills
Coding Assistants 133+ coding-agent, debug-pro, tdd-guide
Search & Research 253+ web-search, deepwiki, exa-search
DevOps 212+ docker-essentials, git-workflows
Web Automation 139+ browser-control, puppeteer-skill
Productivity Tools 135+ calendar-skill, task-manager
Data Analysis 46+ data-analyzer, budget-variance
Smart Home 56+ home-assistant, smart-home-io
PDF & Documents 67+ pdf-reader, doc-summarizer
Image & Video 60+ image-gen, video-editor
Notes & Knowledge 100+ obsidian, notion-sync

Skill Installation Methods

# Search for skills
openclaw skill search gmail

# Install a skill
openclaw skill install gmail

# Install a specific version
openclaw skill install [email protected]

# Install from GitHub
openclaw skill install github:user/skill-repo

# Install from local path
openclaw skill install ./my-skill

Method 2: Manual Installation

# Clone the skill repository
git clone https://github.com/user/skill-repo.git

# Copy to skills directory
cp -r skill-repo ~/.openclaw/workspace/skills/skill-name

Send the skill’s GitHub link directly in chat, and the Agent will automatically recognize and install it:

Please install this skill: https://github.com/user/skill-repo

Skills Directory Structure

~/.openclaw/workspace/skills/
├── gmail/
│   └── SKILL.md
├── calendar/
│   └── SKILL.md
├── web-search/
│   ├── SKILL.md
│   └── package.json
└── my-custom-skill/
    ├── SKILL.md
    ├── src/
    │   └── index.js
    └── package.json

ClawHub Usage Guide

Accessing ClawHub

Visit clawhub.com to browse all available skills.

Searching for Skills

# CLI search
openclaw skill search <keyword>

# Examples
openclaw skill search email
openclaw skill search calendar
openclaw skill search home assistant

Skill Details

Each skill page includes:

Information Description
Name and Description Functional description of the skill
Author Skill developer
Version Current version number
Downloads Installation count
Dependencies Required skills or packages
SKILL.md Preview Skill definition file
Security Scan VirusTotal scan results

Security Scanning

ClawHub partners with VirusTotal to perform security scans on each skill:

# View skill security status
openclaw skill info gmail --security

# Output example:
# Skill: gmail
# Security Status: ✅ Verified
# VirusTotal Scan: Clean (0/72)
# Last Updated: 2026-02-20

Pre-Installation Check

# Check skill dependencies
openclaw skill check gmail

# Output example:
# Skill: gmail
# Dependencies:
#   - google-auth: required ✓
#   - google-apis: required ✓
# Conflicts: None
# Recommendations:
#   - Consider also installing: calendar

Skill Configuration

Configuration File Location

~/.openclaw/workspace/skills/<skill-name>/SKILL.md

SKILL.md Structure Explained

---
name: gmail
version: 1.2.0
author: community
description: Send and read Gmail messages through OpenClaw
triggers:
  - email
  - gmail
  - mail
  - send email
  - read email
dependencies:
  - google-auth
tools:
  - gmail_list
  - gmail_send
  - gmail_read
---

# Gmail Skill

Manage your Gmail account through OpenClaw.

## Features

- List recent emails
- Send new emails
- Read specific emails
- Search emails
- Manage labels

## Setup

1. Enable Gmail API in Google Cloud Console
2. Create OAuth credentials
3. Run `openclaw skill config gmail` to authenticate

## Usage Examples

### List emails
User: "Check my recent emails"
Action: Use gmail_list tool with default parameters

### Send email
User: "Send an email to [email protected]"
Action: 
1. Ask for subject and body
2. Use gmail_send tool

### Search emails
User: "Search for emails from github"
Action: Use gmail_list tool with query parameter

## Configuration

Set the following environment variables:
- GOOGLE_CLIENT_ID
- GOOGLE_CLIENT_SECRET
- GOOGLE_REDIRECT_URI

Or configure in ~/.openclaw/workspace/skills/gmail/config.json

Skill Configuration Files

Some skills require additional configuration:

# Configure a skill
openclaw skill config gmail

# Or edit config file manually
vi ~/.openclaw/workspace/skills/gmail/config.json

Configuration example:

{
  "clientId": "your-client-id",
  "clientSecret": "your-client-secret",
  "redirectUri": "http://localhost:18789/callback",
  "scopes": [
    "https://www.googleapis.com/auth/gmail.readonly",
    "https://www.googleapis.com/auth/gmail.send"
  ]
}

Skill Environment Variables

# Set skill environment variables
export GMAIL_CLIENT_ID="your-client-id"
export GMAIL_CLIENT_SECRET="your-client-secret"

# Or in .env file
echo "GMAIL_CLIENT_ID=your-client-id" >> ~/.openclaw/.env

Skill Management

View Installed Skills

# List all skills
openclaw skill list

# Output example:
# Name           Version   Status    Last Updated
# gmail          1.2.0     active    2026-02-20
# calendar       2.0.1     active    2026-02-18
# web-search     1.0.0     active    2026-02-15
# home-assistant 0.5.0    disabled  2026-02-10

Enable/Disable Skills

# Disable a skill
openclaw skill disable home-assistant

# Enable a skill
openclaw skill enable home-assistant

Update Skills

# Update a single skill
openclaw skill update gmail

# Update all skills
openclaw skill update --all

# Check for updates
openclaw skill outdated

Uninstall Skills

# Uninstall a skill
openclaw skill uninstall gmail

# Uninstall and remove configuration
openclaw skill uninstall gmail --purge

Skill Diagnostics

# Diagnose skill issues
openclaw skill diagnose gmail

# Output example:
# ✓ SKILL.md valid
# ✓ Dependencies installed
# ✓ Configuration complete
# ✓ Authentication working
# ✗ API quota exceeded (2/100 used today)

Programming & Development

Skill Name Function Install Command
coding-agent Run Claude Code, Codex, etc. openclaw skill install coding-agent
debug-pro Systematic debugging methods openclaw skill install debug-pro
tdd-guide Test-driven development openclaw skill install tdd-guide
git-workflows Git workflows openclaw skill install git-workflows
docker-essentials Docker basics openclaw skill install docker-essentials

Productivity

Skill Name Function Install Command
gmail Gmail management openclaw skill install gmail
calendar Calendar management openclaw skill install calendar
task-manager Task management openclaw skill install task-manager
notion-sync Notion sync openclaw skill install notion-sync
obsidian Obsidian notes openclaw skill install obsidian

Search & Research

Skill Name Function Install Command
web-search Web search openclaw skill install web-search
deepwiki Wiki search openclaw skill install deepwiki
exa-search AI search openclaw skill install exa-search
research-paper Paper search openclaw skill install research-paper

Smart Home

Skill Name Function Install Command
home-assistant Home Assistant control openclaw skill install home-assistant
smart-home-io Smart home devices openclaw skill install smart-home-io
philips-hue Philips Hue openclaw skill install philips-hue

Skill Development Basics

Creating a New Skill

# Create skill template
openclaw skill create my-skill

# Generated directory structure
my-skill/
├── SKILL.md
├── config.json.example
└── README.md

SKILL.md Template

---
name: my-skill
version: 1.0.0
author: your-name
description: Brief description of what this skill does
triggers:
  - trigger-word-1
  - trigger-word-2
dependencies: []
tools: []
---

# My Skill

Detailed description of the skill.

## Features

- Feature 1
- Feature 2
- Feature 3

## Setup

1. Step 1
2. Step 2
3. Step 3

## Usage Examples

### Example 1
User: "..."
Action: ...

### Example 2
User: "..."
Action: ...

## Configuration

Required configuration and environment variables.

## Notes

Any additional notes or warnings.

Adding Tool Definitions

## Tools

This skill provides the following tools:

### my_tool_name

Description of what this tool does.

Parameters:
- `param1` (string, required): Description
- `param2` (number, optional): Description, default: 0

Returns:
- Result description

Example usage:
User: "..."
Action: Use my_tool_name with param1="value"

Publishing a Skill

# Validate skill
openclaw skill validate my-skill

# Publish to ClawHub
openclaw skill publish my-skill

# Or push to GitHub
git add .
git commit -m "Initial skill release"
git push origin main

Skill Security

Security Best Practices

Recommendation Description
Review Source Only install skills from trusted sources
Check Permissions Understand what permissions a skill requires
Review Code Inspect SKILL.md and implementation code
Isolated Testing Try new skills in a test environment first
Regular Updates Keep skills up to date

Skill Permissions

# View skill permissions
openclaw skill permissions gmail

# Output example:
# Skill: gmail
# Permissions:
#   - network:outbound (gmail.googleapis.com)
#   - filesystem:read (credential files)
#   - filesystem:write (token cache)
# Risk Level: Medium

Restricting Skill Permissions

{
  "skills": {
    "gmail": {
      "permissions": {
        "network": {
          "allow": ["gmail.googleapis.com", "oauth2.googleapis.com"],
          "deny": ["*"]
        },
        "filesystem": {
          "allow": ["~/.openclaw/workspace/skills/gmail/"],
          "deny": ["*"]
        }
      }
    }
  }
}

Resolving Skill Conflicts

Common Conflicts

Conflict Type Description Resolution
Trigger Overlap Multiple skills respond to the same keyword Clarify triggers or disable conflicting skills
Dependency Conflict Different skills need different dependency versions Use isolated environments
Permission Conflict Skills require the same permissions Verify if necessary

Resolving Conflicts

# View skill conflicts
openclaw skill conflicts

# Output example:
# Conflict: email trigger
#   - gmail
#   - outlook
# Resolution: Specify skill name or adjust priorities

# Set skill priority
openclaw skill priority gmail 10
openclaw skill priority outlook 5

Isolated Environments

For skills with dependency conflicts, use isolated environments:

{
  "skills": {
    "isolatedSkills": ["gmail", "outlook"],
    "isolationMode": "per-skill"
  }
}

Troubleshooting

Skill Not Working

# Check skill status
openclaw skill list --status

# Check skill loading
openclaw skill load gmail --verbose

# View skill logs
openclaw logs --filter skill:gmail

Authentication Failure

# Re-authenticate
openclaw skill auth gmail --reauth

# Check authentication status
openclaw skill auth gmail --status

Dependency Issues

# Check dependencies
openclaw skill deps gmail

# Install dependencies
openclaw skill deps gmail --install

# Update dependencies
openclaw skill deps gmail --update

Skill Loading Errors

# Validate SKILL.md syntax
openclaw skill validate gmail

# Output example:
# ✗ Error: Invalid frontmatter
#   Line 5: Unknown field 'invalid-field'
# ✗ Error: Missing required field 'name'

Summary

The Skills system is the core of OpenClaw’s extensibility:

  • Rich ecosystem: 5700+ community skills covering various scenarios
  • Simple installation: One command to install
  • Flexible configuration: Supports customization and overrides
  • Secure and controllable: Permission management and security scanning

By choosing and configuring skills wisely, you can give your AI assistant unlimited capability extensions.


Key Takeaways:

  • Understood Skills concepts and structure
  • Mastered multiple methods for installing and managing skills
  • Learned to use ClawHub to discover and evaluate skills
  • Learned about skill security and permission management
  • Gained foundational knowledge for skill development

Changelog:

  • 2026-02-26: Initial release, based on OpenClaw v2026.2

Series Navigation: