
Openclaw Config
Diagnose OpenClaw gateway health, validate openclaw.json, channels, plugins, credentials, and cron jobs using copy-paste runbook commands.
Overview
OpenClaw Config is an agent skill most often used in Operate (also Build agent-tooling) that diagnoses and fixes OpenClaw bot configuration via a tested operations runbook.
Install
npx skills add https://github.com/aradotso/trending-skills --skill openclaw-configWhat is this skill?
- OpenClaw Operations Runbook v3.0.0 with tested diagnose-and-fix commands
- Copy-paste quick health check: gateway process count, JSON validity, channel dmPolicy/enabled
- Plugin entries, WhatsApp/Telegram/Bird credential presence checks
- Cron jobs.json inspection: enabled, lastStatus, lastError per named job
- Covers channels, agents, security, and autopilot configuration surfaces
- Documented skill version 3.0.0
- Quick health check covers gateway, config JSON, channels, plugins, credentials, and cron in one copy-paste block
Adoption & trust: 1.3k installs on skills.sh; 31 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your OpenClaw gateway, channels, credentials, or cron jobs misbehave and you need a fast, repeatable health check instead of guessing at ~/.openclaw files.
Who is it for?
Solo operators self-hosting OpenClaw with WhatsApp, Telegram, Bird, plugins, and cron autopilot who want copy-paste diagnostics.
Skip if: Builders who only need NVIDIA sandbox install flows or who do not run the OpenClaw gateway and ~/.openclaw layout at all.
When should I use this skill?
Manage OpenClaw bot configuration—channels, agents, security, and autopilot settings—or when diagnosing gateway, JSON, creds, or cron issues per the Operations Runbook.
What do I get? / Deliverables
You get structured OK/BROKEN/MISSING signals across gateway, JSON config, channels, plugins, creds, and cron so you can patch the right openclaw.json or credential path.
- Structured health report for gateway, channels, plugins, credentials, and cron
- Actionable fixes aligned to openclaw.json and credential paths
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Operate because the runbook optimizes for when something is wrong—gateway processes, broken JSON, missing creds, and cron lastStatus—not greenfield coding. monitoring fits the quick health-check block and status-oriented jq inspections across gateway, channels, plugins, credentials, and cron.
Where it fits
After enabling Telegram and WhatsApp channels, run the health block to confirm dmPolicy and credential directories before announcing the bot.
When DMs stop, check gateway process count and JSON validity before touching plugins.entries.
Cron autopilot reports lastError strings—jq jobs.json to see which named job failed and whether it is still enabled.
How it compares
Use as a host-side ops runbook for openclaw.json and credentials—not as a cloud IaC module or generic Kubernetes health probe.
Common Questions / FAQ
Who is openclaw-config for?
Indie builders maintaining self-hosted OpenClaw bots who manage channels, agent plugins, security policies, and cron-driven autopilot on Linux or macOS-style paths under ~/.openclaw.
When should I use openclaw-config?
Use in Operate monitoring when anything seems wrong with the gateway or jobs; use in Build agent-tooling while validating channel, security, and autopilot settings before you rely on production DMs.
Is openclaw-config safe to install?
The skill reads local config and credential paths via shell; review the Security Audits panel on this Prism page and avoid exposing token files in untrusted agent logs.
SKILL.md
READMESKILL.md - Openclaw Config
# OpenClaw Operations Runbook Diagnose and fix real problems. Every command here is tested and works. --- ## Quick Health Check Run this first when anything seems wrong. Copy-paste the whole block: ```bash echo "=== GATEWAY ===" && \ ps aux | grep -c "[o]penclaw" && \ echo "=== CONFIG JSON ===" && \ python3 -m json.tool ~/.openclaw/openclaw.json > /dev/null 2>&1 && echo "JSON: OK" || echo "JSON: BROKEN" && \ echo "=== CHANNELS ===" && \ cat ~/.openclaw/openclaw.json | jq -r '.channels | to_entries[] | "\(.key): policy=\(.value.dmPolicy // "n/a") enabled=\(.value.enabled // "implicit")"' && \ echo "=== PLUGINS ===" && \ cat ~/.openclaw/openclaw.json | jq -r '.plugins.entries | to_entries[] | "\(.key): \(.value.enabled)"' && \ echo "=== CREDS ===" && \ ls ~/.openclaw/credentials/whatsapp/default/ 2>/dev/null | wc -l | xargs -I{} echo "WhatsApp keys: {} files" && \ for d in ~/.openclaw/credentials/telegram/*/; do bot=$(basename "$d"); [ -f "$d/token.txt" ] && echo "Telegram $bot: OK" || echo "Telegram $bot: MISSING"; done && \ [ -f ~/.openclaw/credentials/bird/cookies.json ] && echo "Bird cookies: OK" || echo "Bird cookies: MISSING" && \ echo "=== CRON ===" && \ cat ~/.openclaw/cron/jobs.json | jq -r '.jobs[] | "\(.name): enabled=\(.enabled) status=\(.state.lastStatus // "never") \(.state.lastError // "")"' && \ echo "=== RECENT ERRORS ===" && \ tail -10 ~/.openclaw/logs/gateway.err.log 2>/dev/null && \ echo "=== MEMORY DB ===" && \ sqlite3 ~/.openclaw/memory/main.sqlite "SELECT COUNT(*) || ' chunks, ' || (SELECT COUNT(*) FROM files) || ' files indexed' FROM chunks;" 2>/dev/null ``` --- ## File Map ``` ~/.openclaw/ ├── openclaw.json # MAIN CONFIG — channels, auth, gateway, plugins, skills ├── openclaw.json.bak* # Auto-backups (.bak, .bak.1, .bak.2 ...) ├── exec-approvals.json # Exec approval socket config │ ├── agents/main/ │ ├── agent/auth-profiles.json # Anthropic auth tokens │ └── sessions/ │ ├── sessions.json # SESSION INDEX — keys are like agent:main:whatsapp:+1234 │ └── *.jsonl # Session transcripts (one JSON per line) │ ├── workspace/ # Agent workspace (git-tracked) │ ├── SOUL.md # Personality, writing style, tone rules │ ├── IDENTITY.md # Name, creature type, vibe │ ├── USER.md # Owner context and preferences │ ├── AGENTS.md # Session behavior, memory rules, safety │ ├── BOOT.md # Boot instructions (autopilot notification protocol) │ ├── HEARTBEAT.md # Periodic task checklist (empty = skip heartbeat) │ ├── MEMORY.md # Curated long-term memory (main session only) │ ├── TOOLS.md # Contacts, SSH hosts, device nicknames │ ├── memory/ # Daily logs: YYYY-MM-DD.md, topic-chat.md │ └── skills/ # Workspace-level skills │ ├── memory/main.sqlite # Vector memory DB (Gemini embeddings, FTS5 search) │ ├── logs/ │ ├── gateway.log # Runtime: startup, channel init, config reload, shutdown │ ├── gateway.err.log # Errors: connection drops, API failures, timeouts │ └── commands.log # Command execution log │ ├── cron/ │ ├── jobs.json # Job definitions (schedule, payload, delivery target) │ └── runs/ # Per-job run logs: {job-uuid}.jsonl │ ├── credentials/ │ ├── whatsapp/default/ # Baileys session: ~1400 app-state-sync-key-*.json files │ ├── telegram/{botname}/token.txt # Bot tokens (one per bot account) │ └── bird/cookies.json # X/Twitter auth cookies │ ├── extensions/{name}/ # Custom plugins (TypeScript) │ ├── op