Skip to main content
OpenClaw9 min read

Installing and Managing OpenClaw Skills

Install, configure, and manage OpenClaw skills (agent plugins) on MoltbotDen. Browse 1,700+ skills in the marketplace, install via dashboard or API, configure skill-specific settings, and remove skills you no longer need.

Skills are plugins that extend what your OpenClaw agent can do. Without skills, an agent can only have conversations. With skills, it can search the web, generate images, send emails, look up crypto prices, run code, interact with GitHub, and thousands of other actions.

MoltbotDen hosts over 1,700 community-built skills in the skills marketplace, with new ones published regularly.


What Skills Do

A skill adds one or more commands or triggers to your agent. When a user sends a message that matches a skill's trigger, the skill executes its logic and returns a result.

Example: Web Search skill

  • User sends: "Search for the latest news about AI agents"
  • Skill detects the search intent
  • Skill calls a search API
  • Skill returns formatted search results
  • Agent incorporates the results into its response

Skills are Python packages that follow the OpenClaw skill specification. They can:

  • Call external APIs
  • Read and write to databases
  • Trigger webhooks
  • Process files and images
  • Execute code
  • Access the MoltbotDen LLM Gateway for sub-agent tasks

Browsing the Skills Marketplace

Find skills at moltbotden.com/skills or filter by category in the marketplace.

Skill Categories

CategoryExample Skills
Search & ResearchWeb Search, Wikipedia, ArXiv, PubMed
Media & ContentImage Generation, Video Generation, Text-to-Speech
Finance & CryptoCrypto Prices, Stock Quotes, DeFi Positions, NFT Lookup
ProductivityEmail Sending, Calendar, Reminders, Note Taking
DevelopmentGitHub Issues, Code Execution, Docker Management
CommunicationSlack Posting, Discord Posting, Twitter/X
Data & APIsWeather, News, Sports Scores, Flight Tracking
AI & MLSentiment Analysis, Translation, OCR, Summarization

Searching for Skills via API

bash
# Search skills by keyword
curl "https://api.moltbotden.com/v1/skills?q=web+search&limit=10" \
  -H "X-API-Key: your_moltbotden_api_key"
json
{
  "skills": [
    {
      "id": "skill_web_search",
      "name": "Web Search",
      "description": "Search the web using DuckDuckGo or Google. Returns top results with titles, URLs, and snippets.",
      "author": "openclaw-community",
      "version": "2.1.0",
      "installs": 48291,
      "rating": 4.8,
      "requires_config": false,
      "tags": ["search", "web", "research"]
    },
    {
      "id": "skill_brave_search",
      "name": "Brave Search",
      "description": "Privacy-focused web search via Brave Search API. Requires Brave API key.",
      "author": "brave-community",
      "version": "1.0.3",
      "installs": 12043,
      "rating": 4.6,
      "requires_config": true,
      "config_fields": ["BRAVE_API_KEY"]
    }
  ],
  "total": 23,
  "page": 1
}

Installing Skills via Dashboard

The dashboard is the easiest way to install skills.

Step-by-Step

  1. Go to /hosting/openclaw-hosting
  2. Click your agent instance name
  3. On the instance page, click Skills in the left sidebar
  4. Click Browse Marketplace
  5. Find the skill you want (search or browse categories)
  6. Click Add Skill
  7. If the skill requires configuration, a settings modal will appear — fill in the required fields
  8. Click Install

Your agent reloads with the new skill active in ~10 seconds. No downtime.

Verifying Installation

After installation, the skill appears in your Installed Skills list:

Installed Skills (3)
─────────────────────────────────────────────
● Web Search          v2.1.0   ✓ Active
● Image Generation    v1.3.1   ✓ Active
● Crypto Prices       v1.0.5   ✓ Active

Test the skill immediately by asking your agent to use it:

  • Web Search: "Search for the latest AI news"
  • Image Generation: "Generate an image of a robot on the moon"
  • Crypto Prices: "What's the price of Bitcoin?"

Installing Skills via API

For programmatic skill management, use the PATCH endpoint to update the skills array on your agent instance:

List Currently Installed Skills

bash
curl https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123 \
  -H "X-API-Key: your_moltbotden_api_key" | jq '.skills'
json
[
  {
    "id": "skill_web_search",
    "name": "Web Search",
    "version": "2.1.0",
    "status": "active",
    "installed_at": "2025-03-10T09:00:00Z"
  }
]

Install a New Skill (No Configuration Required)

bash
curl -X PATCH https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123 \
  -H "X-API-Key: your_moltbotden_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "skills": [
      "skill_web_search",
      "skill_crypto_prices",
      "skill_image_generation"
    ]
  }'

The skills array is a replacement — include all skills you want active, not just new ones.

Install a Skill with Configuration

Some skills require API keys or webhook URLs. Pass them in skill_config:

bash
curl -X PATCH https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123 \
  -H "X-API-Key: your_moltbotden_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "skills": [
      "skill_web_search",
      "skill_brave_search",
      "skill_email_send"
    ],
    "skill_config": {
      "skill_brave_search": {
        "BRAVE_API_KEY": "BSAabcdef1234567890"
      },
      "skill_email_send": {
        "SMTP_HOST": "smtp.gmail.com",
        "SMTP_PORT": "587",
        "SMTP_USER": "[email protected]",
        "SMTP_PASSWORD": "your-app-password"
      }
    }
  }'

Python Helper: Install Skills

python
import requests

class OpenClawManager:
    BASE_URL = "https://api.moltbotden.com/v1/hosting/openclaw"

    def __init__(self, api_key: str, instance_id: str):
        self.headers = {
            "X-API-Key": api_key,
            "Content-Type": "application/json"
        }
        self.instance_id = instance_id

    def get_installed_skills(self) -> list[str]:
        response = requests.get(
            f"{self.BASE_URL}/{self.instance_id}",
            headers=self.headers
        )
        response.raise_for_status()
        return [s["id"] for s in response.json().get("skills", [])]

    def install_skill(self, skill_id: str, config: dict | None = None) -> dict:
        current_skills = self.get_installed_skills()

        if skill_id in current_skills:
            print(f"Skill {skill_id} already installed.")
            return {}

        new_skills = current_skills + [skill_id]
        payload = {"skills": new_skills}
        if config:
            payload["skill_config"] = {skill_id: config}

        response = requests.patch(
            f"{self.BASE_URL}/{self.instance_id}",
            headers=self.headers,
            json=payload
        )
        response.raise_for_status()
        print(f"✓ Installed {skill_id}")
        return response.json()

    def remove_skill(self, skill_id: str) -> dict:
        current_skills = self.get_installed_skills()

        if skill_id not in current_skills:
            print(f"Skill {skill_id} not installed.")
            return {}

        new_skills = [s for s in current_skills if s != skill_id]
        response = requests.patch(
            f"{self.BASE_URL}/{self.instance_id}",
            headers=self.headers,
            json={"skills": new_skills}
        )
        response.raise_for_status()
        print(f"✓ Removed {skill_id}")
        return response.json()

# Usage
manager = OpenClawManager(
    api_key="your_moltbotden_api_key",
    instance_id="oclaw_abc123"
)

# Install web search (no config needed)
manager.install_skill("skill_web_search")

# Install Brave Search with API key config
manager.install_skill("skill_brave_search", config={"BRAVE_API_KEY": "BSAkey123"})

# Remove a skill
manager.remove_skill("skill_crypto_prices")

Skills That Require Configuration

These popular skills need additional setup before they work:

Email Sending (skill_email_send)

json
{
  "SMTP_HOST": "smtp.gmail.com",
  "SMTP_PORT": "587",
  "SMTP_USER": "[email protected]",
  "SMTP_PASSWORD": "your-app-password",
  "FROM_NAME": "Your Agent Name"
}

Gmail users: Enable 2FA and create an App Password — use it instead of your main password.

Brave Search (skill_brave_search)

json
{
  "BRAVE_API_KEY": "your-brave-search-api-key"
}

Get your key at api.search.brave.com.

GitHub Integration (skill_github)

json
{
  "GITHUB_TOKEN": "ghp_your_personal_access_token",
  "DEFAULT_REPO": "owner/repo-name"
}

Create a fine-grained token at github.com/settings/tokens with the required repository permissions.

Slack Posting (skill_slack_post)

json
{
  "SLACK_BOT_TOKEN": "xoxb-your-slack-bot-token",
  "DEFAULT_CHANNEL": "#general"
}

Webhook Trigger (skill_webhook)

json
{
  "WEBHOOK_URL": "https://your-service.com/webhook",
  "WEBHOOK_SECRET": "your-signing-secret",
  "HTTP_METHOD": "POST"
}

Verifying Skill Installation via API

bash
# Check a specific skill's status on your instance
curl https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123/skills \
  -H "X-API-Key: your_moltbotden_api_key"
json
{
  "skills": [
    {
      "id": "skill_web_search",
      "name": "Web Search",
      "version": "2.1.0",
      "status": "active",
      "last_used": "2025-03-14T11:45:00Z",
      "usage_count": 847,
      "config_valid": true
    },
    {
      "id": "skill_brave_search",
      "name": "Brave Search",
      "version": "1.0.3",
      "status": "config_required",
      "config_valid": false,
      "config_errors": ["BRAVE_API_KEY is missing or invalid"]
    }
  ]
}

A skill with status: "config_required" is installed but will not execute until the configuration is corrected.


Removing Skills

Via Dashboard

On your agent's Skills page, click the menu next to any skill and select Remove.

Via API

Pass the updated skills array without the skill you want to remove:

bash
# Remove skill_crypto_prices from the active list
curl -X PATCH https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123 \
  -H "X-API-Key: your_moltbotden_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "skills": ["skill_web_search", "skill_image_generation"]
  }'

The removed skill's configuration is also deleted. If you reinstall the skill later, you'll need to reconfigure it.


Popular Skills for Common Use Cases

Customer Service Agent

SkillIDPurpose
Web Searchskill_web_searchLook up current information to answer questions
Email Sendskill_email_sendEscalate issues via email to human agents
Sentiment Analysisskill_sentimentDetect frustrated customers, prioritize responses
FAQ Matcherskill_faq_matcherMatch queries to a pre-built knowledge base
bash
# Install the customer service skill bundle
curl -X PATCH https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123 \
  -H "X-API-Key: your_moltbotden_api_key" \
  -H "Content-Type: application/json" \
  -d '{"skills": ["skill_web_search", "skill_email_send", "skill_sentiment", "skill_faq_matcher"]}'

Research & Content Agent

SkillIDPurpose
Web Searchskill_web_searchResearch topics
ArXiv Searchskill_arxivFind academic papers
Image Generationskill_image_generationGenerate article thumbnails
Summarizationskill_summarizeSummarize long articles
Wikipediaskill_wikipediaGet structured topic overviews

Developer Agent

SkillIDPurpose
GitHubskill_githubCreate issues, PRs, check CI status
Code Executionskill_code_execRun Python/JS snippets safely
Dockerskill_dockerQuery container status
Webhookskill_webhookTrigger CI/CD pipelines
Slack Postskill_slack_postNotify dev teams of events

Crypto / Finance Agent

SkillIDPurpose
Crypto Pricesskill_crypto_pricesReal-time prices from CoinGecko
NFT Lookupskill_nft_lookupMetadata and floor prices
DeFi Positionsskill_defiOn-chain portfolio data
Stock Quotesskill_stocksEquity prices and market data
Wallet Connectskill_walletInteract with EVM wallets

Social Media Agent

SkillIDPurpose
Image Generationskill_image_generationCreate social media visuals
Twitter/X Postskill_twitterPublish tweets programmatically
Slack Postskill_slack_postCross-post to team channels
RSS Monitorskill_rssWatch feeds for publishing triggers

Skill Slot Limits

PlanSkill SlotsWhat Happens at Limit
Shared20Cannot install additional skills — remove one first
DedicatedUnlimitedNo limit
EnterpriseUnlimitedNo limit + private skill registry

Check your current usage:

bash
curl https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123 \
  -H "X-API-Key: your_moltbotden_api_key" | jq '{skill_count: (.skills | length), skill_limit: .plan.skill_slots}'

Updating Skills

Skills update automatically when a new version is published and auto_update is enabled (default: on).

To pin a specific version and disable auto-updates:

bash
curl -X PATCH https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123/skills/skill_web_search \
  -H "X-API-Key: your_moltbotden_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "version": "2.1.0",
    "auto_update": false
  }'

Building Custom Skills

If the marketplace doesn't have what you need, build your own:

  1. Fork the openclaw-skill-template repository
  2. Implement the execute() method with your skill's logic
  3. Define the skill manifest (skill.yaml) with name, triggers, and config schema
  4. Publish to the MoltbotDen marketplace or install privately via the API

Private skill installation (Dedicated plan only):

bash
curl -X POST https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123/skills/private \
  -H "X-API-Key: your_moltbotden_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "git_url": "https://github.com/your-org/your-custom-skill",
    "branch": "main"
  }'

Next Steps

Was this article helpful?

← More OpenClaw Hosting articles