plugins/claude-remote/skills/claude-remote/SKILL.md
Manage **remote-control** Claude Code sessions (i.e. `claude --remote-control`, NOT regular local sessions) running in Terminal.app — start, stop, list, or resume them for mobile / remote desktop access. Triggers on "start/open/launch a remote claude", "stop/kill remote session", "list remote sessions", "continue last remote conversation in <dir>".
npx skillsauth add pangcheng1849/g-claude-code-plugins claude-remoteInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage Claude Code --remote-control sessions running in Terminal.app. Designed for remote desktop clients that let users control Claude Code from mobile devices.
All session state lives in ~/.claude-remote/. On every skill invocation, always run the cleanup script first to sync state with reality.
This skill bundles a session manager script. All paths below are relative to the skill directory:
scripts/session-manager.sh — handles create, list, remove, cleanup, and stop operationsGet the script path:
SKILL_DIR="$(dirname "$(dirname "$(realpath "$0")")")"
# Or just use the known absolute path after reading it from the skill location
Before doing anything else, run cleanup to remove stale entries:
bash <skill-dir>/scripts/session-manager.sh cleanup
This checks each recorded session's Terminal window still exists and removes dead entries. If any sessions were cleaned up, tell the user (e.g., "2 stale sessions were cleaned up — their Terminal windows were closed outside this tool").
Parse what the user wants:
| Intent | Triggers | |--------|----------| | start | "start", "open", "launch", "new session", "remote control" | | stop | "stop", "close", "kill", "shut down", "exit" | | list | "list", "status", "show", "which sessions", "what's running" |
If ambiguous, ask.
Try to infer from context first. If the user's message already contains a directory name or path (e.g., "launch claude in ~/Workspace/my-app"), use it directly — skip the directory picker. Also detect any options mentioned naturally (e.g., "with opus model" → --model opus).
Only if the directory is unclear, list directories under ~/Workspace:
bash <skill-dir>/scripts/session-manager.sh list-dirs
Present as a numbered list via AskUserQuestion. Include an option to create a new directory. Note: ~/Workspace is the default root; if it doesn't exist, ask the user for their workspace path.
If creating new:
mkdir -p ~/Workspace/<new-dir-name>
Common options (only ask if not already inferred from context):
| Option | Flag | Default | Example |
|--------|------|---------|---------|
| Permission mode | --permission-mode <mode> | bypassPermissions | --permission-mode auto |
| Model | --model <model> | (user default) | --model sonnet or --model opus |
| Session name | -n <name> | (auto) | -n "mobile-debug" |
| Effort level | --effort <level> | (user default) | --effort high |
| Worktree | -w, --worktree [name] | — | Create a git worktree for the session |
If the user doesn't specify any, use defaults (no extra flags).
Launch the session:
RESULT=$(bash <skill-dir>/scripts/session-manager.sh create <directory-path> [extra-flags...])
This opens Terminal.app via AppleScript, runs claude --permission-mode bypassPermissions --remote-control [extra-flags] in the chosen directory, and records the session.
Report the session ID, directory, and window ID to the user. Mention they can now connect via their remote control client.
When the user wants to pick up where they left off in a directory (triggers: "continue", "resume", "接着上次", "继续上次的对话"), pass the -c flag to the start flow. It tells claude to continue the most recent conversation in that directory instead of starting a fresh one.
bash <skill-dir>/scripts/session-manager.sh create <directory-path> -c [other-flags...]
Notes:
-c only resumes the most recent conversation in the chosen directory. If the user wants a specific older conversation, they'll need to use claude --resume interactively instead.--model, -n, -w, etc.).claude will fall back to a new session.Get active sessions:
bash <skill-dir>/scripts/session-manager.sh list
If no sessions: tell the user there's nothing to stop.
If one session: confirm with user, then stop it.
If multiple: present numbered list via AskUserQuestion, let user pick one or "all".
Stop the selected session(s):
bash <skill-dir>/scripts/session-manager.sh stop <session-id>
# or stop all:
bash <skill-dir>/scripts/session-manager.sh stop-all
Report what was stopped.
Run:
bash <skill-dir>/scripts/session-manager.sh list
Present a formatted table:
# Session ID Directory Started Window
1 a1b2c3d4 ~/Workspace/my-app 10:30 today 98905
2 e5f6a7b8 ~/Workspace/api-work 09:15 today 98820
If no sessions: "No active remote sessions."
| User says | Resolved action |
|-----------|-----------------|
| "start a remote claude in my-app" | create ~/Workspace/my-app |
| "launch claude in ~/code/api with opus" | create ~/code/api --model opus |
| "接着上次的 my-app 继续" | create ~/Workspace/my-app -c |
| "open a remote session in a worktree of api-work" | create ~/Workspace/api-work -w |
| "stop the my-app session" | list → match by directory → stop <id> |
| "kill all remote sessions" | stop-all |
| "what's running?" | list → render as table |
osascript (AppleScript) to control Terminal.app — this only works on macOS.~/.claude-remote/sessions/ — one file per session for atomicity.development
Design failing tests for complex features using Independent Evaluation — dispatches a context-free agent that sees only the requirement spec and code paths (not the implementation approach), then returns executable failing tests. Use when starting TDD for a non-trivial feature, when the requirement is ambiguous enough that biased tests are a risk, or when the user asks for independent test design.
tools
Plan how to slice a non-trivial coding task across parallel subagents. Returns a dispatch plan (file assignments, dependencies, output-format contracts) — the main Agent then executes it with the Agent tool + `isolation: "worktree"`. Invoke only when work justifies multi-agent overhead: (a) greenfield 0→1 across multiple independent modules, (b) change touches ≥3 modules, or (c) ≥5 files each with >50 lines of diff. Small changes write inline.
development
在 macOS + Chrome 上排查公网 IPv4/IPv6 出口、国家/地区、ASN/组织、DNS、默认路由、utun 状态,以及浏览器侧 Server Response 与 WebRTC 暴露情况。适用于用户要求检查 IP、地区一致性、VPN/代理接管情况、IPv6 问题或浏览器网络暴露,并输出详细运维报告与复查链接。
tools
通过 Gemini CLI 将编码、审查、诊断、规划和结构化输出任务委派给独立的 Gemini 会话。使用场景包括 `gemini -p` 非交互执行、`gemini -r latest` 续接最近会话、`gemini -r "<session-id>"` 指定会话恢复,以及需要 `--output-format json` / `stream-json`、`--approval-mode plan` 只读审查、`--sandbox` 隔离执行,或 `--worktree` 在独立 git worktree 中跑任务的 scripted / CI 调用。