Skip to main content
Glama

Second Opinion

Second Opinion lets installed AI coding agents use each other as opt-in subagents.

If you are in Claude Code and want Codex to review a risky patch, Claude can run Second Opinion and delegate that slice to Codex. If you are in Codex, the same install gives Codex a skill for delegating to Claude Code, OpenCode, Grok Build, or Google Antigravity. Each agent keeps its own auth, model access, tools, and safety behavior.

Second Opinion is model agnostic. It routes between installed agent surfaces and the user's existing model/provider setup instead of hardcoding one model. The generated skills teach each parent agent to reason about when another chat is useful, which agent's strongest capabilities fit the scenario, and when a same-agent fresh-context pass is the only sensible option.

For Claude Code, Second Opinion installs and uses FreedomClaude behind the scenes. That means Claude delegation goes through normal Claude Code terminal mode instead of claude -p / print mode, while still allowing model aliases or full model names to pass through to Claude Code with --model.

Install

Interactive CLI installer:

curl -fsSL https://second-opinion.ssh.codes/install.sh | bash

Install every detected agent skill without prompts:

curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --yes

Install all supported skill files:

curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --all --yes

Install a specific agent integration:

curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent codex --yes
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent claude --yes
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent opencode --yes
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent grok --yes
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent antigravity --yes

Install on another machine over SSH:

ssh dev@server 'curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --all --yes'

Update an existing install when a newer version is published:

second-opinion update

second-opinion update downloads the latest CLI from https://second-opinion.ssh.codes, replaces the local binary only when the published version is newer, and refreshes existing Second Opinion-managed skill files. Use second-opinion update --all-skills to refresh every supported skill file or second-opinion update --force to reinstall the published version anyway.

New installs and updates also install or refresh FreedomClaude for Claude Code delegation. Set SECOND_OPINION_SKIP_FREEDOMCLAUDE=1 or pass --skip-freedomclaude to the installer if you only want the core Second Opinion CLI.

Related MCP server: Zen MCP Server

What Gets Installed

The installer adds the second-opinion CLI to ~/.local/bin, installs FreedomClaude for Claude Code delegation, and writes only Second Opinion-owned skill files:

Agent

File written

Codex

~/.agents/skills/second-opinion/SKILL.md

Claude Code

~/.claude/skills/second-opinion/SKILL.md

OpenCode

~/.config/opencode/skills/second-opinion/SKILL.md

Grok Build

~/.grok/skills/second-opinion/SKILL.md

Google Antigravity

~/.gemini/antigravity/skills/second-opinion/SKILL.md

Second Opinion does not edit model settings, provider credentials, hooks, MCP servers, permissions, or app config. If one of those skill files already exists and was not generated by Second Opinion, the installer skips it unless you pass --force.

Use

From any shell:

second-opinion status
second-opinion ask auto --from codex --cwd "$PWD" --mode consult --background -- "Review this change and call out risks."
second-opinion ask claude --from opencode --cwd "$PWD" --mode consult --background -- "Find edge cases in the parser."
second-opinion ask claude --from codex --cwd "$PWD" --model fable --mode consult --background -- "Review this design using Claude Code's selected model."
second-opinion ask grok --from claude --cwd "$PWD" --background -- "Implement only the README command table."
second-opinion jobs
second-opinion wait JOB_ID

The installed skills teach each agent to start subagents in the background by default. That lets the parent agent continue its own non-overlapping work while the subagent runs. Later, the parent runs second-opinion wait JOB_ID to collect the subagent output.

Use work mode by default. Work mode may edit files and should be assigned carefully so two agents do not edit the same files at the same time. Use explicit --mode consult for read-only review, planning, or risk analysis.

Goal Mode

Goal mode is opt-in. Do not use it by default, and do not treat it as the normal Second Opinion workflow.

Use --goal only when the user explicitly asks to use Second Opinion with goals, or when the user has clearly requested a long-running delegated goal. For targets with a known native goal command, Second Opinion includes that target's /goal ... command in the subagent prompt:

second-opinion ask claude --from codex --cwd "$PWD" --mode work --background --goal "Finish the frontend accessibility pass and report blockers." -- "Work toward this goal in the assigned UI files only."

When a parent agent starts a goal-backed subagent, the parent still owns the outcome. It should record the job id, check second-opinion jobs, collect the result with second-opinion wait JOB_ID, verify output and edits, and avoid reporting the overall task as finished while the delegated goal is still running or unresolved.

Routing Tips

  • For visual UI, frontend polish, responsive layout, copy tone, and product/design judgment, prefer Claude Code with the latest/highest Claude model available to you, often an Opus-class model when available.

  • For backend work, APIs, data flow, tests, repo-wide edits, debugging, and most general implementation tasks, prefer Codex unless another target has clearly better context or provider access.

  • For quick model-flexible exploration, cheap parallel checks, or trying many configured providers, OpenCode is fast and easy to use; output quality depends heavily on the selected model, so verify smaller or cheaper model results more carefully.

  • Use Antigravity for Google/Gemini, Vertex, Firebase, Cloud Run, or Google-style orchestration.

  • Use Grok Build for broad exploration or implementation spikes when it is installed and speed matters more than precision.

Supported Agents

  • Codex

  • Claude Code

  • OpenCode

  • Grok Build

  • Google Antigravity

The CLI has a central registry for agent commands, skill paths, and task-routing hints. To add another agent, update the registry in bin/second-opinion, add tests, and run second-opinion install --agent <new-agent> to regenerate its skill.

Commands

second-opinion install              # interactive when attached to a terminal
second-opinion install --yes         # install detected agent skills
second-opinion install --all --yes   # install all supported skills
second-opinion update                # update the CLI and managed skills when newer
second-opinion uninstall --agent codex
second-opinion status --json
second-opinion choose --from claude --task "review auth flow"
second-opinion ask auto --from claude --cwd "$PWD" --mode consult --background -- "Investigate failing tests."
second-opinion ask auto --from claude --cwd "$PWD" --mode work --background --goal "Finish the migration tests and report blockers." -- "Work toward this goal in the assigned files only."
second-opinion jobs
second-opinion wait JOB_ID
second-opinion commands
second-opinion doctor

Design

Second Opinion is intentionally small:

  • No server is required.

  • No API keys are handled by Second Opinion.

  • Each target agent runs through its own installed CLI.

  • Claude Code runs through FreedomClaude terminal mode, not claude -p.

  • All agent instructions are regular skill files that users can inspect.

  • The subagent prompt includes anti-recursion and scope-isolation rules.

Local Development

python3 -m unittest discover -s tests
SECOND_OPINION_HOME="$(mktemp -d)" bin/second-opinion install --all --yes
SECOND_OPINION_HOME="$(mktemp -d)" bin/second-opinion status --json

To test the installer against a local checkout:

python3 -m http.server 8080
SECOND_OPINION_BASE_URL=http://127.0.0.1:8080 bash install.sh --cli-only

License

MIT


Built by SSH.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SSHdotCodes/second-opinion'

If you have feedback or need assistance with the MCP directory API, please join our Discord server