Query another AI model for an outside perspective on a difficult problem. One message out, one message back — make it count.
Recommended Model
GPT-5.2 with xhigh thinking (openai:gpt-5.2, the default) is the recommended discussion partner. It has exceptional attention to detail and a strong ability to detect subtle interactions and dependencies that can be difficult to spot from inside a problem. Use it when:
- •You suspect a bug has a non-obvious root cause
- •You are going in circles on an architectural decision
- •You need someone to poke holes in your reasoning
- •A problem has interacting constraints that are hard to hold in your head simultaneously
The other providers (Anthropic, Google) are available for comparison or when you want multiple perspectives.
Framing Your Question
You get one message out and one message back. There is no follow-up. Your partner has ZERO context about what you're working on — they see only what you send. The context window is finite and expensive, so treat it like a skill prompt: include everything needed, nothing that isn't.
Your partner needs all context to answer your question. They cannot read your files, see your conversation, or infer your situation. If you don't include it, they don't know it. But context is limited, so be surgical:
- •Include all relevant context: code, errors, constraints, what you tried. Use
mental_modelsto structure your thinking before asking. - •State what you're stuck on: "I tried A, B, C and none work because D" — not just "help me with X"
- •Ask a specific question and set the frame: what kind of answer you need (diagnosis, alternative approach, code review).
- •Never include secrets: API keys, credentials, tokens, or private repo URLs. Your question goes to an external API.
Bad: "How do I fix this auth bug?" Good: "Here is my auth middleware [code]. Users with expired tokens get a 500 instead of 401. I have verified the token validation logic is correct and the error handler is registered. The 500 comes from [stack trace]. What could cause the error handler to be bypassed?"
Usage
uv run --directory SKILL_DIR python scripts/ask_model.py -m <model> "Your detailed question with full context"
Where SKILL_DIR is the directory containing this skill. The -m flag takes a full pydantic-ai model string — the provider prefix determines which API key and thinking settings to use.
Models
The default is openai:gpt-5.2. Thinking effort is automatically set to maximum for each provider.
# GPT-5.2 with xhigh reasoning (default — just omit -m) uv run --directory SKILL_DIR python scripts/ask_model.py "question" # OpenAI o3 uv run --directory SKILL_DIR python scripts/ask_model.py -m openai:o3 "question" # Claude Opus 4.6 with adaptive thinking at max effort uv run --directory SKILL_DIR python scripts/ask_model.py -m anthropic:claude-opus-4-6 "question" # Gemini 3 Pro with thinking enabled uv run --directory SKILL_DIR python scripts/ask_model.py -m google-gla:gemini-3-pro-preview "question" # Codex models (via OpenAI Responses API) uv run --directory SKILL_DIR python scripts/ask_model.py -m openai-responses:gpt-5-codex "question" uv run --directory SKILL_DIR python scripts/ask_model.py -m openai-responses:codex-mini-latest "question"
API Key Setup
Add keys to your shell profile (~/.zshrc or ~/.bashrc):
export OPENAI_API_KEY="your-key" # Required for openai: and openai-responses: models export ANTHROPIC_API_KEY="your-key" # Required for anthropic: models export GOOGLE_API_KEY="your-key" # Required for google-gla: models
The script checks for the key before calling the API. If missing, it tells you which variable to set. If the key exists but the call fails, common errors:
- •insufficient_quota (429): Billing issue — add credits at the provider's dashboard.
- •invalid_api_key (401): Wrong key — check you exported the correct one and ran
source ~/.zshrc. - •rate_limit (429): Too many requests — wait and retry.
Options
- •
--model/-m: Full pydantic-ai model string (default:openai:gpt-5.2) - •
--system/-s: Optional system prompt override - •
--list-models/-l: List known model names, optionally filtered by prefix (e.g.-l openai,-l anthropic). Codex models appear underopenai:but must be called withopenai-responses:prefix.
Multiple Calls
Each call gets zero context from previous calls. For follow-ups, include the prior exchange: "I asked X, you answered Y, help me understand Z."