Skip to content
Back to skills

Doctor

ASecurity

Check the health of a SuperSurf install and fix connection problems — MCP server and daemon versions, extension connection, profiles, playbooks, config drift, port conflicts. Use when connect fails, the extension will not connect, or the user asks to check SuperSurf.

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 2, 2026
ai-agentsbash

Works with

  • mcp

Security analysis

A100/100

Scanned October 2, 2026

npx -y skills add LiquidBuiltIt/Supersurf --skill doctor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Doctor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Doctor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/liquidbuiltit-doctor/badge)](https://www.skillsdirectory.com/skills/liquidbuiltit-doctor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: doctor
description: Check the health of a SuperSurf install and fix connection problems — MCP server and daemon versions, extension connection, profiles, playbooks, config drift, port conflicts. Use when connect fails, the extension will not connect, or the user asks to check SuperSurf.
---

# Doctor

## How to Run

Run every check below first. Report one table: `Check | Result | Status (✅/⚠️/❌) | Fix`. Then offer each fix one at a time and wait for the user's yes before running it. Never run the daemon with `--version` — it starts the daemon.

## Checks

| Check | How | Healthy when |
|---|---|---|
| MCP server version | `status` tool result / status header (`v<version>`) | Matches latest |
| Latest published | `npm view supersurf-mcp version` | — |
| Daemon running | `supersurf daemon status` if `command -v supersurf` succeeds (the install.sh binary), otherwise `npx supersurf-daemon@latest status` | Running |
| Extension connected | `status` tool: the header starts with `⚠️` and contains `No extension connected` when it is missing; the result lists the browser and attached tab | Header shows ✅ and the expected browser |
| Profiles | `profile_list` | Each managed profile is listed |
| Playbooks | `playbooks` action `validate` | Every script validates |
| Config drift | Status header contains the `config.json changed since daemon start` warning | No warning |
| Port 5555 | `lsof -iTCP:5555 -sTCP:LISTEN` (macOS/Linux) or `ss -ltnp 'sport = :5555'` (Linux) | Only the SuperSurf daemon listens |
| Duplicate skill | `ls ~/.claude/skills/supersurf` | Absent (the plugin provides the skill) |

The `status` tool does not report the daemon version or the profile name. Use `supersurf daemon status` (or `npx supersurf-daemon@latest status` when `command -v supersurf` fails) for the daemon and `profile_list` for profiles.

## Symptoms and Fixes

| Symptom | Likely cause | Fix |
|---|---|---|
| `connect` times out for a managed profile | The profile lost its `supersurf_profile` binding | Re-run registration (command below) |
| Config-drift warning | `config.json` changed after the daemon started | `supersurf daemon restart`, or `npx supersurf-daemon@latest restart` when `command -v supersurf` fails |
| Port 5555 held by another process | A stale or foreign process owns the port | Stop that process, then `supersurf daemon restart` (or `npx supersurf-daemon@latest restart` when `command -v supersurf` fails) |
| Server version behind latest | Old install | Re-run the installer, or use `npx supersurf-mcp@latest` |
| Playbook fails validation | Script error | Run `playbooks` action `validate` on it and read the error; load `supersurf:creating-playbooks` |
| Duplicate `~/.claude/skills/supersurf/` | An old manual install shadows the plugin skill | Offer to remove it. This deletes files, so wait for the user's yes |

Registration command for a lost binding. Daemon-spawned profiles heal themselves, so use this only for Chromium you launched by hand:

```bash
# Kill any existing Chromium for the profile, then relaunch with registration URL
pkill -f "chromium.*PROFILE_NAME/chrome-data"
chromium \
  --user-data-dir=~/.supersurf/profiles/PROFILE_NAME/chrome-data \
  --load-extension=~/.supersurf/extension \
  --no-first-run --no-default-browser-check --use-mock-keychain \
  "http://127.0.0.1:5555/register/PROFILE_NAME"
```

Page-level problems (selectors, CAPTCHAs, dropdowns) belong to `supersurf:navigation`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…