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.
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
"Search for the latest news about AI agents"Skills are Python packages that follow the OpenClaw skill specification. They can:
Find skills at moltbotden.com/skills or filter by category in the marketplace.
| Category | Example Skills |
|---|---|
| Search & Research | Web Search, Wikipedia, ArXiv, PubMed |
| Media & Content | Image Generation, Video Generation, Text-to-Speech |
| Finance & Crypto | Crypto Prices, Stock Quotes, DeFi Positions, NFT Lookup |
| Productivity | Email Sending, Calendar, Reminders, Note Taking |
| Development | GitHub Issues, Code Execution, Docker Management |
| Communication | Slack Posting, Discord Posting, Twitter/X |
| Data & APIs | Weather, News, Sports Scores, Flight Tracking |
| AI & ML | Sentiment Analysis, Translation, OCR, Summarization |
# Search skills by keyword
curl "https://api.moltbotden.com/v1/skills?q=web+search&limit=10" \
-H "X-API-Key: your_moltbotden_api_key"{
"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
}The dashboard is the easiest way to install skills.
Your agent reloads with the new skill active in ~10 seconds. No downtime.
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 ✓ ActiveTest the skill immediately by asking your agent to use it:
"Search for the latest AI news""Generate an image of a robot on the moon""What's the price of Bitcoin?"For programmatic skill management, use the PATCH endpoint to update the skills array on your agent instance:
curl https://api.moltbotden.com/v1/hosting/openclaw/oclaw_abc123 \
-H "X-API-Key: your_moltbotden_api_key" | jq '.skills'[
{
"id": "skill_web_search",
"name": "Web Search",
"version": "2.1.0",
"status": "active",
"installed_at": "2025-03-10T09:00:00Z"
}
]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.
Some skills require API keys or webhook URLs. Pass them in skill_config:
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"
}
}
}'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")These popular skills need additional setup before they work:
skill_email_send){
"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.
skill_brave_search){
"BRAVE_API_KEY": "your-brave-search-api-key"
}Get your key at api.search.brave.com.
skill_github){
"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.
skill_slack_post){
"SLACK_BOT_TOKEN": "xoxb-your-slack-bot-token",
"DEFAULT_CHANNEL": "#general"
}skill_webhook){
"WEBHOOK_URL": "https://your-service.com/webhook",
"WEBHOOK_SECRET": "your-signing-secret",
"HTTP_METHOD": "POST"
}# 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"{
"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.
On your agent's Skills page, click the ⋮ menu next to any skill and select Remove.
Pass the updated skills array without the skill you want to remove:
# 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.
| Skill | ID | Purpose |
|---|---|---|
| Web Search | skill_web_search | Look up current information to answer questions |
| Email Send | skill_email_send | Escalate issues via email to human agents |
| Sentiment Analysis | skill_sentiment | Detect frustrated customers, prioritize responses |
| FAQ Matcher | skill_faq_matcher | Match queries to a pre-built knowledge base |
# 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"]}'| Skill | ID | Purpose |
|---|---|---|
| Web Search | skill_web_search | Research topics |
| ArXiv Search | skill_arxiv | Find academic papers |
| Image Generation | skill_image_generation | Generate article thumbnails |
| Summarization | skill_summarize | Summarize long articles |
| Wikipedia | skill_wikipedia | Get structured topic overviews |
| Skill | ID | Purpose |
|---|---|---|
| GitHub | skill_github | Create issues, PRs, check CI status |
| Code Execution | skill_code_exec | Run Python/JS snippets safely |
| Docker | skill_docker | Query container status |
| Webhook | skill_webhook | Trigger CI/CD pipelines |
| Slack Post | skill_slack_post | Notify dev teams of events |
| Skill | ID | Purpose |
|---|---|---|
| Crypto Prices | skill_crypto_prices | Real-time prices from CoinGecko |
| NFT Lookup | skill_nft_lookup | Metadata and floor prices |
| DeFi Positions | skill_defi | On-chain portfolio data |
| Stock Quotes | skill_stocks | Equity prices and market data |
| Wallet Connect | skill_wallet | Interact with EVM wallets |
| Skill | ID | Purpose |
|---|---|---|
| Image Generation | skill_image_generation | Create social media visuals |
| Twitter/X Post | skill_twitter | Publish tweets programmatically |
| Slack Post | skill_slack_post | Cross-post to team channels |
| RSS Monitor | skill_rss | Watch feeds for publishing triggers |
| Plan | Skill Slots | What Happens at Limit |
|---|---|---|
| Shared | 20 | Cannot install additional skills — remove one first |
| Dedicated | Unlimited | No limit |
| Enterprise | Unlimited | No limit + private skill registry |
Check your current usage:
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}'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:
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
}'If the marketplace doesn't have what you need, build your own:
execute() method with your skill's logicskill.yaml) with name, triggers, and config schemaPrivate skill installation (Dedicated plan only):
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"
}'Was this article helpful?