--- name: phone-opus description: Use when you want a consultative Claude Code pass through the local `phone_opus` MCP server. Trigger for blocking second-opinion analysis, repository inspection, summaries, or planning where Claude should have read-only built-in tools but no edit capability. --- # phone-opus Use `phone_opus.consult` when you want a blocking Claude Code consult without edit permissions. ## When to use it Whenever you're making a *major, nontrivial, high level* design decision, you should get a second opinion from Opus. Opus is intelligent and has a different perspective, so takes its feedback seriously; but nothing it says should be taken as authoritative or final. It is a pure consultant. - Ask for a second opinion on code, architecture, debugging, or design. - Point Claude at a specific repository with `cwd`. - Reuse `session_id` from an earlier call when you want Claude to continue the same conversation. - Set `background: true` when you want to launch a consult, keep working, and poll for the answer later. ## Tool surface - `consult` - required: `prompt` - optional: `cwd`, `session_id`, `background`, `render`, `detail` - `consult_job` - required: `job_id` - `consult_jobs` - optional: `limit`, `render`, `detail` - `health_snapshot` - `telemetry_snapshot` ## Runtime posture - Pins Claude to Opus 4.6 with max effort. - Prepends a fixed consult prefix before your prompt so Opus knows it is advising another model in read-only mode and should return a prioritized actionable report. - Uses `--dangerously-skip-permissions`, but wraps Claude in an external `systemd-run --user` sandbox. - The sandbox keeps the filesystem globally read-only, gives Claude a separate persistent home under phone-opus state, leaves `/tmp` and `/var/tmp` writable, and forces the consulted `cwd` read-only when that tree would otherwise be writable. - This surface is consultative only. Edit tools are unavailable. - The returned `session_id` is reusable: pass it back into a later `consult` call to continue that Claude conversation. - Background consults return a `job_id`; use `consult_job` to poll one job or `consult_jobs` to rediscover recent ones. ## Example Call `phone_opus.consult` with: - `prompt`: `Inspect the Rust workspace and tell me where the retry logic is brittle.` - `cwd`: `/absolute/path/to/repo` Expect a blocking response containing Claude's answer plus execution metadata such as duration, turn count, session id, and cost when available.