About This Guide: Skills are OpenClaw's superpower — they extend your agent from a simple chatbot into a full automation engine. This Q&A covers every skills-related CLI command in depth: installing from ClawHub, listing and managing installed skills, disabling/enabling, building your own from scratch, and publishing to the community marketplace. Updated for the latest OpenClaw release in February 2026.
Complete Skills Command Reference
openclaw skills list # List all installed skills
openclaw skills install [skill-id] # Install from ClawHub
openclaw skills install [path] # Install from local directory
openclaw skills install [git-url] # Install from Git repo
openclaw skills uninstall [skill-id] # Remove a skill
openclaw skills enable [skill-id] # Enable a disabled skill
openclaw skills disable [skill-id] # Disable without uninstalling
openclaw skills update [skill-id] # Update specific skill
openclaw skills update --all # Update all skills
openclaw skills info [skill-id] # Show skill details
openclaw skills create [skill-name] # Create new skill scaffold
openclaw skills test [skill-id] # Run skill unit tests
openclaw skills publish [skill-id] # Publish to ClawHub
openclaw skills search [query] # Search ClawHub marketplace
Part 1: Installing Skills (Q1–Q10)
Q1 What is ClawHub and how do I browse available skills?
ClawHub (clawhub.ai) is the official community marketplace for OpenClaw skills — think of it as the App Store for your AI agent. It currently hosts 100+ community-built skills covering Gmail, Spotify, GitHub, smart home, web scraping, and more.
# Search ClawHub directly from terminal
openclaw skills search gmail
openclaw skills search "smart home"
openclaw skills search calendar
# Browse all available skills
openclaw skills search --all
openclaw skills search --category productivity
openclaw skills search --sort popular
Q2 What is the exact command to install a skill from ClawHub?
# Install by skill ID (shown on clawhub.ai)
openclaw skills install gmail
openclaw skills install spotify-player
openclaw skills install telegram
openclaw skills install discord
openclaw skills install obsidian
openclaw skills install github
openclaw skills install homeassistant
openclaw skills install weather
# Install specific version
openclaw skills install [email protected]
# Install and auto-configure
openclaw skills install gmail --configure
After installation, the skill is placed in ~/.openclaw/skills/[skill-id]/ and activated on next restart.
Q3 What are the most useful skills to install first in 2026?
📧 gmail
Read, send, search, filter emails automatically
openclaw skills install gmail
🔔 apple-reminders
Task and reminder management on macOS
openclaw skills install apple-reminders
🐦 bird (Twitter/X)
Post, reply, and monitor Twitter/X
openclaw skills install bird
🎵 spotify-player
Control Spotify playback via chat
openclaw skills install spotify-player
🏠 homeassistant
Control smart home devices
openclaw skills install homeassistant
🌤️ weather
Real-time weather forecasts
openclaw skills install weather
👁️ peekaboo
Screen capture and visual AI actions
openclaw skills install peekaboo
📝 obsidian
Read/write Obsidian notes knowledge base
openclaw skills install obsidian
Q4 How do I install a skill from a local directory?
# Install from a local path
openclaw skills install ./my-custom-skill/
openclaw skills install /Users/alex/skills/my-skill
# Install from a tar.gz archive
openclaw skills install ./my-skill-v1.0.0.tar.gz
The directory must contain a valid skill.json manifest file. See Q17 for the required format.
Q5 How do I install a skill directly from a GitHub repository?
# Install from GitHub repository
openclaw skills install github:username/skill-repo
openclaw skills install https://github.com/user/openclaw-skill-x.git
# Install specific branch or tag
openclaw skills install github:user/skill#v2.0.0
openclaw skills install github:user/skill#develop
Useful for testing skills under development or using private/unreleased skills from trusted developers. Requires internet access to GitHub — use VPN07 if GitHub is restricted in your region.
Q6 Skill installation fails with "could not resolve clawhub.ai" — fix?
❌ Error: ENOTFOUND clawhub.ai
DNS resolution failure — clawhub.ai domain is unreachable from your network.
✅ Fix 1: Connect VPN07
VPN07 routes DNS queries through its secure network. Connect VPN07 before running skills install. The 1000Mbps bandwidth ensures fast skill downloads.
✅ Fix 2: Change DNS resolver
networksetup -setdnsservers Wi-Fi 1.1.1.1 8.8.8.8
✅ Fix 3: Install from GitHub directly
openclaw skills install https://github.com/openclaw/skill-gmail.git
Q7 How do I view detailed information about a specific skill?
openclaw skills info gmail
# Output example:
Name: gmail
Version: 3.2.1
Author: openclaw-team
Description: Gmail integration via Pub/Sub triggers
Status: enabled
Installed: 2026-02-15
Updated: 2026-02-19
Dependencies: googleapis, google-auth-library
Required Config: GMAIL_CLIENT_ID, GMAIL_CLIENT_SECRET
Triggers: on_email_received, on_email_sent
Commands: send_email, read_email, search_emails
Q8 How many skills can I install and run simultaneously?
Use openclaw skills disable [skill-id] to keep skills installed but inactive to save memory.
Q9 How do I configure a skill after installing it?
# Interactive configuration wizard
openclaw skills configure gmail
# Set a specific config value
openclaw skills configure gmail GMAIL_CLIENT_ID your-client-id
# Or edit the skill config file directly
nano ~/.openclaw/skills/gmail/config.json
# Validate skill configuration
openclaw skills configure gmail --validate
Q10 How do I uninstall a skill?
# Uninstall and remove all files
openclaw skills uninstall gmail
# Keep config but remove skill code
openclaw skills uninstall gmail --keep-config
# Disable without uninstalling (reversible)
openclaw skills disable gmail
# Re-enable later
openclaw skills enable gmail
Part 2: Listing & Managing Skills (Q11–Q16)
Q11 What does "openclaw skills list" output and what do all the columns mean?
openclaw skills list
NAME VERSION STATUS UPDATED
gmail 3.2.1 enabled 2026-02-19
spotify-player 1.4.0 enabled 2026-02-10
obsidian 2.0.3 enabled 2026-01-28
homeassistant 1.9.0 disabled 2026-01-15
bird 1.2.0 enabled 2026-02-05
# Filter by status
openclaw skills list --status enabled
openclaw skills list --status disabled
# Output as JSON
openclaw skills list --json
Q12 How do I update all installed skills at once?
# Update all installed skills
openclaw skills update --all
# Update a single skill
openclaw skills update gmail
# Check which skills have updates available
openclaw skills list --outdated
# Update to specific version
openclaw skills update [email protected]
# Restart after updating
openclaw restart
Q13 How do I temporarily disable a skill without losing its configuration?
# Disable skill (keeps config, stops execution)
openclaw skills disable spotify-player
# Verify it's disabled
openclaw skills list --status disabled
# Re-enable when needed
openclaw skills enable spotify-player
# No restart needed for enable/disable
Use disable/enable to manage resource usage without losing skill settings.
Q14 How do I roll back a skill to a previous version?
# Check version history for a skill
openclaw skills info gmail --versions
# Install a specific older version
openclaw skills install [email protected]
# Or use the rollback command
openclaw skills rollback gmail
# Rolls back to the previous version
Q15 How do I export and import my skill configuration for migration?
# Export skill list and configs
openclaw skills export > skills-backup.json
# Export specific skill
openclaw skills export gmail > gmail-config.json
# Import on new machine (auto-installs + configures)
openclaw skills import skills-backup.json
# Manual: copy the entire skills directory
rsync -av ~/.openclaw/skills/ new-server:~/.openclaw/skills/
Q16 How do I run a skill's built-in test suite?
# Run unit tests for a skill
openclaw skills test gmail
# Run with verbose output
openclaw skills test gmail --verbose
# Run all skills tests
openclaw skills test --all
# Expected output:
✅ gmail: connection test PASSED
✅ gmail: auth test PASSED
✅ gmail: send_email command PASSED
✅ gmail: read_email command PASSED
All 4 tests passed in 2.3s
Part 3: Building Custom Skills (Q17–Q25)
Q17 How do I create a new custom skill scaffold?
# Create a new skill scaffold
openclaw skills create my-tesco-shopper
# Generated structure:
~/.openclaw/skills/my-tesco-shopper/
├── skill.json # Skill manifest (name, version, etc.)
├── handler.js # Main skill logic
├── config.schema.json # Config options schema
├── README.md # Documentation
└── tests/
└── skill.test.js # Unit tests
# Open in editor
code ~/.openclaw/skills/my-tesco-shopper/
Q18 What does a skill.json manifest file look like?
{
"name": "my-tesco-shopper",
"version": "1.0.0",
"description": "Automated Tesco grocery ordering",
"author": "your-github-username",
"license": "MIT",
"entry": "handler.js",
"openclaw": ">=1.0.0",
"commands": [
{"name": "order_groceries", "description": "Order items from Tesco"},
{"name": "check_basket", "description": "View current basket"}
],
"triggers": [
{"type": "cron", "schedule": "0 8 * * 0", "action": "weekly_order"}
],
"dependencies": {
"puppeteer": "^21.0.0"
}
}
Q19 What does a basic handler.js skill file look like?
// handler.js — Main skill entry point
export default {
name: 'my-tesco-shopper',
// Called when skill loads
async onLoad(context) {
context.log('Tesco Shopper skill loaded!');
},
// Handles "order_groceries" command
async order_groceries(ctx, params) {
const items = params.items || [];
// ... browser automation logic ...
await ctx.reply(`Ordered ${items.length} items from Tesco!`);
},
// Handles "check_basket" command
async check_basket(ctx) {
const basket = await this.getBasket();
await ctx.reply(`Basket: ${JSON.stringify(basket)}`);
}
};
Q20 How do I test my custom skill during development?
# Install local skill in development mode (auto-reloads on changes)
openclaw skills install ./my-tesco-shopper/ --dev
# Start agent with hot-reload for skills
openclaw start --dev
# Run skill unit tests
openclaw skills test my-tesco-shopper
# Test a specific command
openclaw skills test my-tesco-shopper --command order_groceries
Q21 Can OpenClaw write its own skills automatically?
Yes — this is one of OpenClaw's most remarkable features. Simply tell your agent in natural language what you want, and it can design, code, and install a new skill entirely on its own. Example conversation:
You (via Telegram):
"Can you build a skill that checks my Oura Ring sleep score every morning and sends me a summary?"
OpenClaw:
"I'll create the skill now. Give me a few minutes..."
[5 minutes later]
"Done! I've created the oura-sleep-monitor skill. It will send you daily sleep summaries at 8 AM. Your sleep score last night was 87/100."
The agent uses openclaw skills create internally and writes the full handler.js for you.
Q22 How do I add npm dependencies to my custom skill?
# Method 1: Add to skill.json dependencies
# Edit skill.json:
"dependencies": {
"axios": "^1.6.0",
"cheerio": "^1.0.0"
}
# Then reinstall skill dependencies
openclaw skills install ./my-skill/ --reinstall-deps
# Method 2: Install directly in skill directory
cd ~/.openclaw/skills/my-tesco-shopper
npm install puppeteer
Q23 How do I debug a skill that isn't working correctly?
# Enable debug mode for specific skill
openclaw skills debug gmail
# View skill-specific logs
openclaw logs --skill gmail
# Check skill health
openclaw skills test gmail --verbose
# Check skill error log
cat ~/.openclaw/logs/skills/gmail-error.log
# Force skill reload
openclaw skills reload gmail
Part 4: Publishing Skills to ClawHub (Q24–Q28)
Q24 How do I publish my custom skill to ClawHub?
# Step 1: Login to ClawHub
openclaw skills login
# Opens browser for GitHub/Google OAuth
# Step 2: Validate skill before publish
openclaw skills validate my-tesco-shopper
# Step 3: Publish to ClawHub
openclaw skills publish my-tesco-shopper
# Step 4: Verify it's live
openclaw skills search tesco
# Should show your skill in results
Q25 What are the requirements to publish a skill to ClawHub?
✅ Required
- • Valid skill.json manifest
- • README.md documentation
- • All tests passing
- • Open source license
- • ClawHub account
✅ Recommended
- • Usage examples in README
- • Config schema documentation
- • Semantic versioning
- • Screenshot/demo
Q26 How do I update a published skill version on ClawHub?
# Bump version in skill.json
openclaw skills version my-tesco-shopper --bump minor
# Changes 1.0.0 → 1.1.0
# Or manually edit skill.json "version" field
# Re-run tests
openclaw skills test my-tesco-shopper
# Publish new version
openclaw skills publish my-tesco-shopper
Q27 Can I publish a private skill not visible to the public?
# Publish as private (visible only to you)
openclaw skills publish my-private-skill --private
# Share with specific users
openclaw skills publish my-skill --access user:alice,user:bob
# Or share as an unlisted URL (anyone with link)
openclaw skills publish my-skill --unlisted
Q28 How does VirusTotal skill security scanning work?
OpenClaw recently partnered with VirusTotal to automatically scan all skills published to ClawHub. When you publish:
Your skill code is submitted to VirusTotal for malware scanning
70+ security engines analyze the code for threats
A security badge is displayed on the skill's ClawHub page
Users can see the scan report before installing
# Check security scan status of an installed skill
openclaw skills info gmail --security
Best VPN for OpenClaw Skills Downloads
VPN07 — 10 Years of Proven Network Stability
Skills download from ClawHub, GitHub, and npm — all require stable international network access. VPN07's 1000Mbps bandwidth across 70+ countries ensures every openclaw skills install command succeeds without ECONNRESET errors.
Related Articles
Install Skills Without Limits — Use VPN07
Every openclaw skills install command reaches out to ClawHub, GitHub, and npm. With VPN07's 1000Mbps network across 70+ countries, skill installations complete instantly with zero ENOTFOUND errors. Just $1.5/month.