clash-doctor
Clash-doctor diagnoses Clash Verge/Mihomo proxy configuration issues and manages routing rules for AI tools like Claude, Codex, Cursor, and Warp. Use it when troubleshooting network connectivity problems, setting up proxy routing configurations, switching between subscription profiles, viewing or cloning Clash settings, and performing connectivity verification through profile inspection and API probing.
git clone --depth 1 https://github.com/majiayu000/spellbook /tmp/clash-doctor && cp -r /tmp/clash-doctor/skills/clash-doctor ~/.claude/skills/clash-doctorSKILL.md
# Clash Verge Diagnostics Inspect Clash Verge or mihomo, manage profile-specific routing, and diagnose connectivity. ## Routing - Confirm the target profile, constraints, requested access path, and done-when signal. - Load `references/full-guide.md` for commands, templates, and diagnosis matrices. - Load `references/local-hub.md` before `hub`, `align`, `roles`, `clone`, `setup-ai`, or `switch`, and whenever the user says a previous sync did not apply. - Keep the change limited to the requested target. ## Safety - Diagnose and align are read-only. Writes require a shown summary and explicit confirmation. - Edit enhancement overlays or the confirmed local-hub YAML. Do not edit raw subscription dumps. - `tun.route-exclude-address` is union-only. `DIRECT` is not a TUN bypass. - Never invent or print node IPs, credentials, subscription UIDs, or machine hostnames. - After an overlay or hub-YAML write, quit and reopen Clash Verge. `PUT /configs` does not re-merge overlays. ## Modes | Argument | Mode | |---|---| | empty or a hostname | diagnose | | `profiles` / `list` / `ls` | list local and remote profiles | | `status` | live kernel, TUN, and selected nodes | | `hub` / `roles` | local-hub topology | | `align` / `sync-check` | read-only multi-machine comparison | | `switch-check` / `health` | pre-switch health | | `clone` / `setup-ai` / `switch` | confirmed profile writes | | `rustdesk` / `bypass` | TUN exclusion for a relay IP | Resolve the named target before `setup-ai`. Apply airport-style enhancement overlays only when that target is `type: remote`; edit the named hub YAML when it is `type: local`. ## Verify - Parse the target YAML after every write. - Query mihomo by trying both Unix sockets and then the configured HTTP controller; fall back on request failure, not socket existence alone. - For routes, `chains[-1]` is the matched group and `chains[0]` is the dialed node. - Report files changed, commands run, evidence, and remaining risk. ## References - `references/full-guide.md` — commands, templates, and diagnosis matrix - `references/local-hub.md` — hub ownership, node roles, alignment, and landmines
Senior backend TypeScript architect specializing in Bun/Node.js runtime, API design, database optimization, and scalable server architecture.
Expert at exploring and understanding legacy and unfamiliar codebases. Maps dependencies, identifies patterns, and creates documentation for complex systems.
Kubernetes architect specializing in cluster design, manifests, Helm charts, GitOps workflows, security policies, and production operations.
Systematic open source contributor that analyzes projects, finds suitable issues, implements fixes, and creates high-quality PRs with high acceptance probability.
Application security expert specializing in SAST, vulnerability assessment, OWASP Top 10, compliance auditing, and security architecture review.
Fullstack code reviewer with 15+ years experience analyzing code for security vulnerabilities, performance bottlenecks, architectural decisions, and best practices.
Senior technical lead who analyzes complex projects and coordinates multi-step development tasks. Delegates to specialized agents and ensures quality delivery.
Use when the user explicitly asks to stage all current changes, create a commit, and push to the remote after safety checks.