home / skills / openclaw / skills / discord-doctor

discord-doctor skill

/skills/jhillock/discord-doctor

This skill quickly diagnoses and repairs Discord bot connectivity, OAuth token, and legacy config issues, keeping your Clawdbot running smoothly.

npx playbooks add skill openclaw/skills --skill discord-doctor

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
2.9 KB
---
name: discord-doctor
description: Quick diagnosis and repair for Discord bot, Gateway, OAuth token, and legacy config issues. Checks connectivity, token expiration, and cleans up old Clawdis artifacts.
metadata: {"clawdbot":{"emoji":"🩺","os":["darwin","linux"],"requires":{"bins":["node","curl"]}}}
---

# Discord Doctor

Quick diagnosis and repair for Discord/Gateway availability issues, OAuth token problems, and legacy Clawdis configuration conflicts.

## Usage

```bash
# Check status (diagnostic only)
discord-doctor

# Check and auto-fix issues
discord-doctor --fix
```

## What It Checks

1. **Discord App** - Is the Discord desktop app running (optional, for monitoring)
2. **Gateway Process** - Is the Clawdbot gateway daemon running
3. **Gateway HTTP** - Is the gateway responding on port 18789
4. **Discord Connection** - Is the bot actually connected to Discord (via `clawdbot health`)
5. **Anthropic OAuth** - Is your OAuth token valid or expired
6. **Legacy Clawdis** - Detects old launchd services and config directories that cause conflicts
7. **Recent Activity** - Shows recent Discord sessions

## Auto-Fix Capabilities

When run with `--fix`, it can:

- **Start gateway** if not running
- **Install missing npm packages** (like discord.js, strip-ansi)
- **Restart gateway** after fixing dependencies
- **Remove legacy launchd service** (`com.clawdis.gateway.plist`)
- **Backup legacy config** (moves `~/.clawdis` to `~/.clawdis-backup`)

## Common Issues & Fixes

| Issue | Auto-Fix Action |
|-------|-----------------|
| Gateway not running | Starts gateway on port 18789 |
| Missing npm packages | Runs `npm install` + installs specific package |
| Discord disconnected | Restarts gateway to reconnect |
| OAuth token expired | Shows instructions to re-authenticate |
| Legacy launchd service | Removes old `com.clawdis.gateway.plist` |
| Legacy ~/.clawdis config | Moves to `~/.clawdis-backup` |

## OAuth Token Issues

If you see "Access token EXPIRED", run:
```bash
cd ~/Clawdis && npx clawdbot configure
```
Then select "Anthropic OAuth (Claude Pro/Max)" to re-authenticate.

## Legacy Clawdis Migration

If you upgraded from Clawdis to Clawdbot, you may have legacy artifacts causing OAuth token conflicts:

- **Old launchd service**: `~/Library/LaunchAgents/com.clawdis.gateway.plist`
- **Old config directory**: `~/.clawdis/`

Run `discord-doctor --fix` to clean these up automatically.

## Example Output

```
Discord Doctor
Checking Discord and Gateway health...

1. Discord App
   Running (6 processes)

2. Gateway Process
   Running (PID: 66156, uptime: 07:45)

3. Gateway HTTP
   Responding on port 18789

4. Discord Connection
   Discord: ok (@Clawdis) (321ms)

5. Anthropic OAuth
   Valid (expires in 0h 45m)

6. Legacy Clawdis
   No legacy launchd service
   No legacy config directory

7. Recent Discord Activity
   - discord:group:123456789012345678 (21h ago)

Summary
All checks passed! Discord is healthy.
```

Overview

This skill provides quick diagnosis and automated repairs for Discord bot connectivity, gateway availability, OAuth token validity, and legacy Clawdis configuration conflicts. It runs a series of checks and can optionally auto-fix common problems to get your Clawdbot instance back online. The tool is lightweight and intended for local troubleshooting and migration assistance.

How this skill works

The skill runs a checklist: it inspects the Discord desktop app state, verifies the Clawdbot gateway process and its HTTP port (18789), and queries the bot connection via clawdbot health. It validates Anthropic OAuth tokens, reports recent Discord sessions, and detects legacy Clawdis launchd services and config directories. When invoked with --fix, it can start or restart the gateway, install missing npm packages, remove legacy launchd plists, and back up old configuration folders.

When to use it

  • When the bot fails to connect to Discord or shows frequent disconnects
  • After upgrading from Clawdis to Clawdbot to remove legacy artifacts
  • When OAuth authentication errors indicate an expired or invalid token
  • If the gateway process isn’t running or the gateway HTTP endpoint is unresponsive
  • Before filing a bug report to collect a focused set of diagnostics

Best practices

  • Run diagnostic mode first (discord-doctor) to review issues before applying fixes
  • Use discord-doctor --fix only on systems where you control the gateway and config files
  • Back up custom gateway configurations separately; discord-doctor moves legacy ~/.clawdis to a backup folder
  • Re-authenticate via npx clawdbot configure when token expiration is reported
  • Keep Node/npm updated so dependency installs succeed

Example use cases

  • Quickly confirm gateway health and bot connectivity after a restart or deploy
  • Automatically repair missing npm dependencies that prevent the gateway from starting
  • Clean up old launchd service and ~/.clawdis config after migrating from Clawdis to Clawdbot
  • Detect and prompt re-authentication when Anthropic OAuth tokens are expired

FAQ

Will --fix delete my current Clawdbot configuration?

No. The fixer avoids deleting active Clawdbot config. It moves legacy ~/.clawdis to ~/.clawdis-backup and removes old launchd plists that conflict with Clawdbot.

How do I refresh an expired OAuth token?

Run: cd ~/Clawdis && npx clawdbot configure then choose Anthropic OAuth to re-authenticate. discord-doctor will report token status and prompt this when needed.