clawdbot-config
Comprehensive Clawdbot configuration and skills system management. Use when working with Clawdbot setup, configuration files, creating/modifying AgentSkills-compatible skills with YAML frontmatter, troubleshooting agent behavior, managing channels, workspace, sandbox, or multi-agent routing.
Best use case
clawdbot-config is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Comprehensive Clawdbot configuration and skills system management. Use when working with Clawdbot setup, configuration files, creating/modifying AgentSkills-compatible skills with YAML frontmatter, troubleshooting agent behavior, managing channels, workspace, sandbox, or multi-agent routing.
Teams using clawdbot-config should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/clawdbot-config/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How clawdbot-config Compares
| Feature / Agent | clawdbot-config | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Comprehensive Clawdbot configuration and skills system management. Use when working with Clawdbot setup, configuration files, creating/modifying AgentSkills-compatible skills with YAML frontmatter, troubleshooting agent behavior, managing channels, workspace, sandbox, or multi-agent routing.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Clawdbot Configuration Expert
Expert guidance for Clawdbot's configuration system, skills management, and agent setup.
## When to Use This Skill
Use this skill when you need to:
- **Configure Clawdbot**: Set up `~/.clawdbot/clawdbot.json` with agents, channels, gateway, or tools
- **Create Skills**: Build AgentSkills-compatible `SKILL.md` with proper YAML frontmatter and metadata
- **Manage Skills**: Configure skill loading, gating, environment injection, or installation
- **Troubleshoot**: Diagnose configuration issues, skill loading problems, or agent behavior
- **Understand System**: Learn about workspace structure, bootstrap files, or session management
- **Deep Dive**: Access complete documentation archive (370+ files) for channels, automation, webhooks, cron jobs, gateway protocols, platform-specific guides, and advanced features
## Quick Decision Tree
```
Need to configure Clawdbot?
├─ Setting up for first time? → See "Quick Start Guide"
├─ Managing skills? → See "Skills Management"
├─ Configuring channels? → See "Channel Configuration"
├─ Setting up remote access? → See "Remote Gateway Setup"
└─ Creating a skill? → See "Creating Skills"
Need examples?
└─ See references/config-examples.md for common patterns
Need deep documentation?
├─ Channel-specific setup? → See references/repomix-output.xml (channels/)
├─ Automation (cron, webhooks)? → See references/repomix-output.xml (automation/)
├─ Gateway protocols? → See references/repomix-output.xml (gateway/)
├─ Platform guides? → See references/repomix-output.xml (platforms/)
└─ CLI reference? → See references/repomix-output.xml (cli/)
```
## Quick Start Guide
### Initial Setup
1. **Create minimal config** (`~/.clawdbot/clawdbot.json`):
```jsonc
{
"agents": {
"defaults": {
"workspace": "~/Projects/my-agent-workspace"
}
},
"channels": {
"whatsapp": {
"allowFrom": ["+1555555YOUR_NUMBER"]
}
}
}
```
2. **Initialize workspace**:
```bash
clawdbot setup
```
This creates bootstrap files:
- `AGENTS.md` - Operating instructions
- `SOUL.md` - Persona and boundaries
- `TOOLS.md` - Tool usage notes
- `IDENTITY.md` - Agent identity
- `USER.md` - User profile
3. **Pair WhatsApp**:
```bash
clawdbot channels login
```
4. **Start gateway**:
```bash
clawdbot gateway
```
### Configuration File Location
- **Primary**: `~/.clawdbot/clawdbot.json`
- **Override**: `CLAWDBOT_CONFIG_PATH` environment variable
- **Format**: JSONC (JSON with Comments)
## Core Configuration Areas
### 1. Agents Configuration
Controls the embedded agent runtime.
**Minimal**:
```jsonc
{
"agents": {
"defaults": {
"workspace": "~/Projects/my-workspace",
"model": "anthropic/claude-sonnet-4"
}
}
}
```
**With sandbox**:
```jsonc
{
"agents": {
"defaults": {
"workspace": "~/Projects/my-workspace",
"sandbox": {
"enabled": true,
"docker": {
"image": "clawdbot/sandbox:latest",
"setupCommand": "apt-get update && apt-get install -y python3-pip",
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
}
}
}
}
}
}
```
**Key fields**:
- `workspace` (required): Agent's working directory
- `model`: Primary model (format: `provider/model`)
- `sandbox`: Docker isolation configuration
- `blockStreamingDefault`: Streaming behavior (`"on"` | `"off"`)
See [references/config-schema.md](./references/config-schema.md#agents-configuration) for complete options.
### 2. Skills Configuration
Manage skill loading, filtering, and configuration.
**Basic**:
```jsonc
{
"skills": {
"allowBundled": ["gemini", "browser"],
"entries": {
"gemini": {
"enabled": true,
"apiKey": "${GEMINI_API_KEY}"
}
}
}
}
```
**Advanced**:
```jsonc
{
"skills": {
"load": {
"extraDirs": ["~/Projects/custom-skills/skills"],
"watch": true,
"watchDebounceMs": 250
},
"install": {
"preferBrew": true,
"nodeManager": "pnpm"
},
"entries": {
"nano-banana-pro": {
"enabled": true,
"apiKey": "${GEMINI_API_KEY}",
"config": {
"model": "gemini-3-pro-image"
}
}
}
}
}
```
**Skill precedence** (highest to lowest):
1. `<workspace>/skills`
2. `~/.clawdbot/skills`
3. `skills.load.extraDirs`
4. Bundled skills
See [references/skills-system.md](./references/skills-system.md) for complete skills documentation.
### 3. Channels Configuration
Configure WhatsApp, Telegram, Discord, iMessage, and other channels.
**WhatsApp**:
```jsonc
{
"channels": {
"whatsapp": {
"enabled": true,
"allowFrom": ["+15555550123"],
"groups": {
"*": { "requireMention": true }
}
}
}
}
```
**Multi-channel**:
```jsonc
{
"channels": {
"whatsapp": {
"allowFrom": ["+15555550123"]
},
"telegram": {
"enabled": true,
"botToken": "${TELEGRAM_BOT_TOKEN}",
"allowFrom": ["alice", "bob"]
},
"discord": {
"enabled": true,
"botToken": "${DISCORD_BOT_TOKEN}"
}
}
}
```
### 4. Gateway Configuration
WebSocket server and remote access.
**Local** (default):
```jsonc
{
"gateway": {
"port": 18789,
"host": "127.0.0.1"
}
}
```
**Remote** (Tailscale):
```jsonc
{
"gateway": {
"port": 18789,
"bind": "tailnet",
"auth": {
"token": "${GATEWAY_AUTH_TOKEN}"
}
}
}
```
Start with:
```bash
clawdbot gateway --bind tailnet --token $GATEWAY_AUTH_TOKEN
```
### 5. Tools Configuration
Control tool behavior and permissions.
```jsonc
{
"tools": {
"exec": {
"security": "ask", // "allow" | "ask" | "deny"
"applyPatch": true
},
"browser": {
"enabled": true,
"profilePath": "~/.clawdbot/browser-profile"
}
}
}
```
## Skills Management
### Creating a Skill
**Skill structure**:
```
my-skill/
├── SKILL.md (required: frontmatter + instructions)
├── scripts/ (optional: executable code)
├── references/ (optional: detailed docs)
└── assets/ (optional: templates, files)
```
**SKILL.md format**:
```markdown
---
name: my-skill
description: What the skill does and when to use it. Be specific about triggers.
metadata: {"clawdbot":{"requires":{"bins":["python3"],"env":["MY_API_KEY"]},"primaryEnv":"MY_API_KEY"}}
---
# My Skill
## Quick Start
Instructions for using this skill...
## Resources
Scripts: {baseDir}/scripts/process.py
```
**Metadata for gating**:
```jsonc
{
"clawdbot": {
"emoji": "🔧",
"requires": {
"bins": ["python3", "pip"],
"anyBins": ["npm", "pnpm"],
"env": ["MY_API_KEY"],
"config": ["browser.enabled"]
},
"primaryEnv": "MY_API_KEY",
"os": ["darwin", "linux"],
"install": [
{
"id": "brew",
"kind": "brew",
"formula": "my-tool",
"bins": ["my-tool"],
"label": "Install My Tool (brew)"
}
]
}
}
```
**Key principles**:
- `description` is the primary trigger mechanism
- Metadata enables load-time filtering
- Keep SKILL.md concise; use `references/` for details
- Test scripts by actually running them
### Skill Locations
**Per-agent** (highest precedence):
```
<workspace>/skills/my-skill/SKILL.md
```
**Shared** (all agents):
```
~/.clawdbot/skills/my-skill/SKILL.md
```
**Custom folders**:
```jsonc
{
"skills": {
"load": {
"extraDirs": ["~/Projects/custom-skills/skills"]
}
}
}
```
### Configuring Skills
**Enable/disable and provide API keys**:
```jsonc
{
"skills": {
"entries": {
"my-skill": {
"enabled": true,
"apiKey": "${MY_API_KEY}",
"env": {
"MY_API_KEY": "${MY_API_KEY}",
"MY_ENDPOINT": "https://api.example.com"
}
},
"disabled-skill": {
"enabled": false
}
}
}
}
```
**Bundled skills allowlist**:
```jsonc
{
"skills": {
"allowBundled": ["gemini", "browser", "peekaboo"]
}
}
```
### Skills in Sandbox
When agent is sandboxed, skills run inside Docker.
**Requirements**:
- Binaries checked on host at load time
- Binaries must exist in container at runtime
- Install via `setupCommand`:
```jsonc
{
"agents": {
"defaults": {
"sandbox": {
"docker": {
"setupCommand": "apt-get update && apt-get install -y python3-pip && pip3 install ruff",
"env": {
"GEMINI_API_KEY": "${GEMINI_API_KEY}"
}
}
}
}
}
}
```
**Important**: Global `skills.entries.<skill>.env` applies to host runs only. Use `sandbox.docker.env` for container.
## Channel Configuration
### WhatsApp
**Basic**:
```jsonc
{
"channels": {
"whatsapp": {
"enabled": true,
"allowFrom": ["+15555550123"]
}
}
}
```
**With groups**:
```jsonc
{
"channels": {
"whatsapp": {
"allowFrom": ["+15555550123", "+15555550124"],
"groups": {
"*": {
"requireMention": true
},
// Specific group (use group JID)
"120363012345678@g.us": {
"requireMention": false
}
}
}
},
"messages": {
"groupChat": {
"mentionPatterns": ["@clawd", "hey clawd"]
}
}
}
```
**Pairing**:
```bash
clawdbot channels login
```
### Telegram
```jsonc
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "${TELEGRAM_BOT_TOKEN}",
"allowFrom": ["username1", "username2"]
}
}
}
```
**Get bot token**: Create bot with [@BotFather](https://t.me/BotFather)
### Discord
```jsonc
{
"channels": {
"discord": {
"enabled": true,
"botToken": "${DISCORD_BOT_TOKEN}",
"allowFrom": ["user_id_1", "user_id_2"]
}
}
}
```
**Setup**: Create application at [Discord Developer Portal](https://discord.com/developers/applications)
### iMessage (macOS)
```jsonc
{
"channels": {
"imessage": {
"enabled": true,
"cliPath": "/opt/homebrew/bin/imsg",
"dbPath": "~/Library/Messages/chat.db"
}
}
}
```
**Install**: `brew install steipete/tap/imsg`
## Remote Gateway Setup
### Tailscale
1. **Install Tailscale**: https://tailscale.com/download
2. **Generate token**:
```bash
clawdbot doctor --generate-gateway-token
```
3. **Update config**:
```jsonc
{
"gateway": {
"bind": "tailnet",
"auth": {
"token": "YOUR_TOKEN_HERE"
}
}
}
```
4. **Start gateway**:
```bash
clawdbot gateway --bind tailnet --token $GATEWAY_AUTH_TOKEN
```
5. **Connect from remote**:
```bash
export CLAWDBOT_GATEWAY_URL="ws://gateway-hostname.tailnet.ts.net:18789"
export CLAWDBOT_GATEWAY_TOKEN="your-token"
clawdbot tui
```
### SSH Tunnel
**On remote machine** (run gateway):
```bash
clawdbot gateway
```
**On local machine** (create tunnel):
```bash
ssh -L 18789:localhost:18789 user@remote-host
# In another terminal
clawdbot tui
```
## Multi-Agent Routing
Route different users/channels to specialized agents:
```jsonc
{
"agents": {
"defaults": {
"workspace": "~/Clawdbot/main",
"model": "anthropic/claude-sonnet-4"
},
"list": [
{
"id": "reviewer",
"workspace": "~/Clawdbot/reviewer",
"routes": [
{ "channel": "telegram", "peer": "alice" }
],
"tools": {
"write": false,
"exec": { "security": "deny" }
}
},
{
"id": "analyst",
"workspace": "~/Clawdbot/analyst",
"routes": [
{ "channel": "discord", "peer": "123456789012345678" }
]
}
]
}
}
```
**Routing rules**:
- Match by channel + peer
- Each agent has isolated workspace and sessions
- Agent-specific tool policies
## Troubleshooting
### Check Status
```bash
# Gateway reachability and quick summary
clawdbot status
# Show effective configuration
clawdbot configure --show
# Validate config syntax
clawdbot configure --validate
# Health checks and quick fixes
clawdbot doctor
# Deep health probes
clawdbot health --verbose
```
### View Logs
```bash
# Tail gateway logs
clawdbot logs --follow
# View specific number of lines
clawdbot logs --lines 100
```
### Common Issues
**Gateway won't start**:
- Check if port is already in use: `lsof -i :18789`
- Verify config syntax: `clawdbot configure --validate`
- Check logs: `clawdbot logs`
**Skills not loading**:
- Verify skill location: `clawdbot skills list`
- Check metadata requirements (bins, env, config)
- For sandboxed agents, ensure binaries exist in container
**WhatsApp not responding**:
- Check allowFrom list includes your number
- Verify QR code pairing: `clawdbot channels login`
- Check channel status: `clawdbot status`
**Remote connection fails**:
- Verify auth token is set correctly
- Check gateway bind mode: `clawdbot status`
- Test connectivity: `curl http://gateway-host:18789/__health`
## References
### Detailed Documentation
- **[Config Schema](./references/config-schema.md)**: Complete configuration reference with all options
- **[Skills System](./references/skills-system.md)**: In-depth skills documentation (metadata, gating, installation)
- **[Config Examples](./references/config-examples.md)**: Practical examples for common use cases
- **[Complete Documentation Archive](./references/repomix-output.xml)**: Full Clawdbot documentation (370+ files) including channels, automation, gateway, tools, platforms, and troubleshooting guides
### Quick Reference
**Config file**: `~/.clawdbot/clawdbot.json`
**Commands**:
```bash
clawdbot setup # Initialize workspace
clawdbot gateway # Start gateway
clawdbot configure --show # View config
clawdbot status # Check status
clawdbot doctor # Health check
clawdbot skills list # List skills
clawdbot channels login # Pair WhatsApp
```
**Model format**: `provider/model` (e.g., `anthropic/claude-sonnet-4`)
**Skill precedence**: workspace → ~/.clawdbot/skills → extraDirs → bundled
**Dashboard**: http://127.0.0.1:18789/ (when gateway running)
## Best Practices
1. **Start minimal**: Only configure what you need
2. **Use allowFrom**: Restrict channel access from the start
3. **Separate concerns**: Use config includes for modular setup
4. **Version control**: Track workspace bootstrap files (`AGENTS.md`, etc.)
5. **Environment variables**: Store API keys in env vars, not config
6. **Test skills**: Run scripts manually before deploying
7. **Monitor logs**: Use `clawdbot logs --follow` during development
8. **Backup sessions**: Sessions stored in `~/.clawdbot/agents/<agent>/sessions/`
## Using the Documentation Archive
The complete documentation archive (`references/repomix-output.xml`) contains 370+ markdown files covering:
- **Channels**: WhatsApp, Telegram, Discord, iMessage (BlueBubbles), Signal, Slack, MS Teams, Matrix, and more
- **Automation**: Cron jobs, webhooks, Gmail Pub/Sub integration, polling
- **Gateway**: Remote access, Tailscale, authentication, health checks, sandboxing
- **Tools**: Browser automation, elevated exec, Firecrawl, slash commands, subagents
- **Platforms**: macOS, iOS, Android, Linux, Windows, Docker, Hetzner
- **Providers**: Anthropic, OpenAI, GitHub Copilot, OpenRouter, Deepgram, and more
- **Concepts**: Agent loop, sessions, memory, compaction, model failover, streaming
- **CLI**: Complete command reference for all `clawdbot` commands
**When to read the archive**:
- Setting up specific channels (e.g., BlueBubbles for iMessage, Telegram bots)
- Configuring automation (cron jobs, webhooks, Gmail watch)
- Troubleshooting channel-specific issues
- Understanding gateway protocols and remote access
- Platform-specific setup (macOS menu bar, iOS TestFlight, Android)
- Advanced features (OAuth monitoring, voice wake, location commands)
**How to use it**:
1. The archive is XML-formatted with clear file paths
2. Search for specific topics (e.g., "telegram", "webhook", "sandbox")
3. Each file section includes the full path and line numbers
4. Cross-reference with the directory structure at the top
## Getting Help
- **Documentation**: https://docs.clawd.bot
- **GitHub**: https://github.com/clawdbot/clawdbot
- **Skills Registry**: https://clawdhub.comRelated Skills
import-existing-ai-config
Import existing AI tool configurations (from Claude, Copilot, or Cursor) into universal-ai-config templates. Converts target-specific files into universal templates.
EchoKit Config Generator
Generate config.toml for EchoKit servers with interactive setup for ASR, TTS, LLM services, MCP servers, API key entry, and server launch
clawdbot-dashboard
A beautiful, feature-rich dashboard for Clawdbot that displays workspace stats, memory, tasks, goals, analytics, and installed skills. Works with any Clawdbot installation - no database needed, all data from workspace files.
claude-config-management
Claude Code設定(リポジトリルート)の構成管理ガイド。ファイルレベルsymlinkによる設定管理、管理対象の追加・削除、Taskfileタスクの実行方法を提供する。「設定ファイルを追加して」「新しいスキルを追加して」「symlinkの状態を確認して」「Claude設定を変更して」のようにClaude Code設定の構成変更を行うときに使用する。
bigconfig-generator
Use this skill when creating or updating Bigeye monitoring configurations (bigconfig.yml files) for BigQuery tables. Works with metadata-manager skill.
ai-agent-config
Manage AI coding skills across platforms (Claude Code, Antigravity, Cursor, Windsurf) using ai-agent-config CLI. Use when the user wants to sync skills to/from GitHub, install to multiple platforms, add custom skill sources, or configure skill management settings.
agent-config-maintenance
Refactor Codex configuration files and Agent Skills by splitting concerns, deduplicating instructions, and reorganizing guidance across AGENTS.md, project docs, and skills. Use when asked to clean up AGENTS.md, move instructions into skill bundles, or standardize agent setup rules.
shellcheck-configuration
Master ShellCheck static analysis configuration and usage for shell script quality. Use when setting up linting infrastructure, fixing code issues, or ensuring script portability.
clippy-configuration
Use when configuring Clippy for Rust projects with TOML config, lint groups, attributes, and workspace setup.
pre-configured-apis-rules
Rules for using pre-configured APIs in the project, using them only if they are required by the project.
n8n-node-configuration
Operation-aware node configuration guidance. Use when configuring nodes, understanding property dependencies, determining required fields, choosing between get_node detail levels, or learning commo...
mtls-configuration
Configure mutual TLS (mTLS) for zero-trust service-to-service communication. Use when implementing zero-trust networking, certificate management, or securing internal service communication.