# Ask

> Put one question to several models at once — you, OpenAI Codex, and a cheap third via OpenCode — and show all the answers side by side. No judging, no consensus: three opinions, the user picks. Use for "ask everyone", "what do the other models think", "second opinion", "multi ask", or any open question where one model's answer is not enough.

- Skill: `szarkans/ask` (Agent Skill)
- Install (CLI): `npx skillmds@latest add szarkans/ask`
- Raw SKILL.md: https://api.skillmd.com/api/skills/szarkans/ask/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: szarkans (https://skillmd.com/u/szarkans)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/szarkans/ask

---


# Ask several models

!`"$CLAUDE_PLUGIN_ROOT/scripts/probe.sh" 2>/dev/null || "$HOME/.claude/skills/multi/scripts/probe.sh" 2>/dev/null || ./.claude/skills/multi/scripts/probe.sh`

One model's answer is one model's priors. Three answers from different families
show you where the question is actually settled and where it only looked
settled.

This is not a review and not a vote. **You do not pick a winner and you do not
merge them into one answer** — that throws away the only thing the user came
for. Show what each said, then say where they differ.

`$SCRIPTS` is whatever the probe printed as `scripts-dir:`.

If the line above reads `Shell substitution failed` instead of probe output,
the session is in a git worktree whose shell gate refused the header; the
plugin is fine. Run `"$HOME/.claude/skills/multi/scripts/probe.sh"` (or the
same under `$CLAUDE_PLUGIN_ROOT`) yourself, as one plain command, and read
`scripts-dir:` from that.

## Run it

Start the external models first — they take 30–90 seconds and OpenCode spends
most of a minute just waking up. Answer the question yourself while they run.

```bash
RUN="$($SCRIPTS/run-dir.sh --slug <two-to-four words: the project and the job, e.g. skills-fixing-multi>)"

$SCRIPTS/ask.sh --question "<the user's question, verbatim>" \
                --out-prefix "$RUN/ask" [--effort <low|medium|high|xhigh|max>]
```

Who answers comes from the user's `config.toml` (the probe printed its
backends and profiles): no `--backend` runs the default profile. Pass
`--backend` only when the user asked for a specific set — a profile name, or
`codex,openrouter:<model>` — never to re-list what the config already says.
Backends without a key answer with a marker saying so; that is a finding, not
something to route around.

Pass the question **as the user asked it**. Do not rewrite it into a better
prompt: the point is what different models do with the same words. Add context
they would need and could not see — the file you are both looking at, what was
already ruled out — but leave the question itself alone.

Effort defaults to `high`. Raise it for a hard design question, drop it to
`medium` or `low` for something factual.

If neither external model is available, say so and just answer normally. This
skill has nothing to add without them, and pretending otherwise is worse than
a plain answer. Point them at `/multi:setup` to connect one.

## Report

Your own answer is one of the answers, not the frame around the others. Write
it before you read theirs — otherwise it is not an independent answer.

```
## <one line: what the question was>

**Claude** — <your answer>

**<backend> (<model>)** — <its answer>   ← one block per `<run>/ask-*.txt` the run wrote, in that order; a backend that did not run gets one line, `<backend> FAILED: <reason>`, from the one-line text in its `.dead` marker

### Where they differ
<the real disagreements, one line each — not a summary of all three>
```

Keep each answer recognisably its own. Trim padding and repetition, but do not
paraphrase a model into agreeing with the others — a disagreement flattened in
the retelling is the one thing this skill exists to prevent.

If all three said the same thing, say that in one line. It is a useful answer:
the question was not as open as it looked.

Then stop. Offer to dig into one of the answers; do not act on any of them
unprompted.

