Awesome-omni-skill openclaw-medicine
Diagnose and fix OpenClaw gateway issues — broken configs, missing tokens, dead channels, auth failures, merge bugs, and multi-instance management. Use when openclaw is unresponsive, channels aren't starting, config is corrupted, or when managing remote openclaw instances (e.g. via SSH). Also covers migrating between config strategies (Nix-managed vs local).
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/openclaw-medicine" ~/.claude/skills/diegosouzapw-awesome-omni-skill-openclaw-medicine-2293da && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/data-ai/openclaw-medicine" ~/.openclaw/skills/diegosouzapw-awesome-omni-skill-openclaw-medicine-2293da && rm -rf "$T"
skills/data-ai/openclaw-medicine/SKILL.mdOpenClaw Medicine 💊
Diagnose, fix, and maintain OpenClaw gateway instances — local or remote.
Diagnosis Checklist
Run these in order to identify the problem:
- Gateway status:
(or via SSH for remote instances)openclaw status - Config exists?:
— if missing, gateway has no configcat ~/.openclaw/openclaw.json - Config valid?: Use
— checkgateway(action=config.get)
,valid
,issueswarnings - Logs:
— look for:journalctl --user -u openclaw-gateway -n 30 --no-pager
/[telegram]
— channel startup[whatsapp]
— missing auth profileNo API key found
/Config invalid
— schema violationsUnrecognized key
— gateway not listening on expected portECONNREFUSED
- Auth profile:
— needs valid Anthropic tokencat ~/.openclaw/agents/main/agent/auth-profiles.json
Common Issues & Fixes
No config file
Gateway was set up by an external system (Nix activation, wizard) that no longer runs.
- Write a fresh
based on a known-good configopenclaw.json - Must include:
,channels
(port, auth),gateway
,agentsplugins - Use
for local instance, or write directly via SSH for remotegateway(action=config.patch)
Invalid config keys
OpenClaw validates strictly. Common mistakes:
→ wrong, usechannels.telegram.token
pointing to a file containing the tokentokenFile- Unknown keys cause startup failure — check
outputopenclaw doctor --fix
Missing auth profile
The file
~/.openclaw/agents/main/agent/auth-profiles.json must exist with a valid provider token:
{ "version": 1, "profiles": { "anthropic:default": { "type": "token", "provider": "anthropic", "token": "<api-key>" } }, "lastGood": { "anthropic": "anthropic:default" } }
Telegram token storage
Never put the token inline in config. Write to a file and reference it:
echo -n '<bot-token>' > ~/.openclaw/telegram-bot-token chmod 600 ~/.openclaw/telegram-bot-token
Config:
"tokenFile": "/home/<user>/.openclaw/telegram-bot-token"
Channels not starting after restart
- Check if
andplugins.entries.telegram.enabled
are bothchannels.telegram.enabledtrue - After config changes, the gateway needs SIGUSR1 or service restart
- Delete stale offset files if switching bots:
rm ~/.openclaw/telegram/update-offset-default.json
Port mismatch
Gateway port in config vs systemd service env can diverge. Check:
- Config:
gateway.port - Service:
→systemctl --user show openclaw-gateway | grep EnvironmentOPENCLAW_GATEWAY_PORT - These must match
Remote Instance Management (via SSH)
For managing another machine's OpenClaw (e.g. Romário on work PC):
# Check status ssh user@host "export PATH=\$HOME/.npm-global/bin:\$PATH; openclaw status" # Read logs ssh user@host "journalctl --user -u openclaw-gateway -n 30 --no-pager" # Write config ssh user@host "cat > ~/.openclaw/openclaw.json << 'EOF' { ... } EOF" # Restart ssh user@host "systemctl --user restart openclaw-gateway"
Always verify channels start after restart by checking logs for
[telegram] starting provider.
Config Architecture
OpenClaw config is a single JSON file at
~/.openclaw/openclaw.json. It's the source of truth.
Do not manage it via Nix activation scripts or merge strategies — this causes override bugs where runtime config clobbers Nix-defined values (or vice versa). Let openclaw manage its own config locally.
Nix should only manage: workspace symlinks (identity/rules/skills) and package installation. See the
rebuild skill for Nix operations.
Multi-Bot Setup (Cleber + Romário)
When two bots share Telegram groups:
- Each bot's
must include the other bot's IDgroupAllowFrom
and specific group entries need both IDs ingroups.*allowFrom- Armada Lucas group (
):-1003768595045
for bot-to-bot chatrequireMention: false - Cleber ID:
, Romário ID:83720080998523821709
Retrieving Lost Bot Tokens
If a Telegram bot token is lost:
- Open BotFather in Telegram (browser or app)
- Send
→ select the bot → "API Token"/mybots - Or search BotFather chat history for "Use this token to access the HTTP API"
- Token format:
<bot-id>:<alphanumeric-string> - Store securely in
, never in config JSON~/.openclaw/telegram-bot-token