Skip to content
Back to skills

Consult Llm

ASecurity

User-invoked only for explicit requests to consult an external LLM.

  • 25 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 18, 2026
ai-agentsgodebuggingapibackend

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned October 18, 2026

npx -y skills add nikolanovoselec/codeflare --skill consult-llm --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Consult Llm?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Consult Llm
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nikolanovoselec-consult-llm-codeflare/badge)](https://www.skillsdirectory.com/skills/nikolanovoselec-consult-llm-codeflare)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: consult-llm
description: User-invoked only for explicit requests to consult an external LLM.
disable-model-invocation: true
---

# Consult LLM (Pi): Query External AI Models

Query external LLM providers through the pi-mcp-adapter `mcp` proxy (`server: "consult-llm"`, tool `consult_llm`) and present their responses for comparison. Two providers are available: **OpenAI** (GPT) and **Google Gemini**.

The server picks the backend automatically — for OpenAI it uses your **Codex subscription** when you are logged into Codex (no API spend), otherwise your OpenAI API key; for Gemini it uses your Gemini API key. Keys/login are managed in **Settings → LLM API Keys** (and `codex login`) and take effect on the next session start.

## Hard gate — explicit user request only

Do not call `consult_llm` unless the user's current request explicitly asks to consult external LLMs or names GPT, ChatGPT, Gemini, OpenAI, or `consult_llm` as the target. This skill is forbidden for:

- session start, orientation, planning, routine code review/debugging, or CI fixes;
- satisfying generic "ask advisor", "stronger model", or "second opinion" instructions when no external LLM is named;
- proactive sanity checks chosen by the assistant.

If the user asks for a generic second opinion without naming external LLMs, ask what they want. Do not call `consult_llm`, and do not invoke advisor unless the user explicitly asks for advisor.

## Step 1 — Choose the model

**If the user named a specific model** ("ask gpt-5.5…", "use gemini-3.1-pro…") → use that exact model ID, no dialog.

**Otherwise show an `ask_user_question` dialog** (single-select) so the user picks. Provide these four options — the tool automatically adds an "Other" free-text choice, giving **five** total:

1. **Latest Google (Gemini)** — call with the selector `model: "gemini"`.
2. **Latest OpenAI (GPT)** — call with the selector `model: "openai"`.
3. **Both** — call once per provider (`"gemini"` and `"openai"`) and synthesize across them.
4. **List all available models** — show the **concrete** model IDs this server actually supports (see **Listing concrete models** below), then let the user pick an exact one. Do **not** present the provider selectors as the model list.
5. *(Other — added automatically)* the user types the **exact model** they want → pass it verbatim.

**Never hardcode a model ID for "latest."** The selectors `"openai"` / `"gemini"` are resolved to the current best flagship by the server at call time — that is the correct way to get "the latest" and avoids drifting to a stale pin.

### Listing concrete models

The `consult_llm` `model` parameter documents only provider **selectors** (`gemini`, `openai`, …) — never present that selector list as "all available models." This server (v2.13.x) has **no** model-list tool and **no** concrete `enum` in its schema (the concrete IDs were deliberately replaced by selectors); it writes the real, per-session list to its **startup log** instead. To list models:

1. Read the **latest** `AVAILABLE MODELS:` block (equivalently the `CONFIGURATION` → `allowedModels` line) from `~/.local/state/consult-llm-mcp/mcp.log`. (If a future server version exposes a concrete `enum` on `model` or a list-models tool, prefer that.)
2. Keep only **Gemini** (`gemini-*`) and **OpenAI** (`gpt-*`) IDs — this deployment configures only those two providers; ignore any `anthropic`/`deepseek`/`minimax` entries and never surface them.
3. Print the IDs grouped under **Gemini** and **OpenAI** in chat, then ask one compact follow-up — **Latest Gemini** (`model: "gemini"`), **Latest OpenAI** (`model: "openai"`), **Both**, or the automatic **Other** free-text to type an exact ID — and call `consult_llm` with the chosen exact ID (a selector only for "latest").

If the log can't be read, say exact model discovery is unavailable this session and offer only the **Gemini** and **OpenAI** selectors, clearly labelled as selectors (not models).

## Step 2 — Build the prompt and call

1. Identify what to discuss — a code/architecture question, a file or function to review, or a design decision.
2. Build a context-rich, one-shot prompt; attach relevant file paths via the `files` parameter when code is involved (include everything needed — the consult is one-shot).
3. Call the `consult_llm` tool through `mcp` with the chosen `model` (a selector for "latest", or the exact ID the user named/picked). Set `task_mode`: `"review"` for code review, `"plan"` for architecture, `"debug"` for troubleshooting, `"general"` otherwise.

## Step 3 — Present and synthesize

- Label each response with the model that produced it.
- When more than one provider was consulted, highlight agreements and disagreements.
- Add your own synthesis — don't just relay the raw responses.

## Examples

- "consult llms whether we should use KV or D1 for session storage" → no model named → show the dialog → on **Latest OpenAI**, call `consult_llm` through `mcp` with `model: "openai"` and `task_mode: "plan"`.
- "ask Gemini to review the auth middleware" → provider named, no specific model → call `consult_llm` through `mcp` with `model: "gemini"`, `task_mode: "review"`, and relevant `files`.
- "ask gpt-5.5 about this approach" → exact model named → call `consult_llm` through `mcp` with `model: "gpt-5.5"` and `task_mode: "general"`.

## Troubleshooting

If the `consult-llm` server/tool is not available through `mcp`:

1. Confirm your OpenAI/Gemini keys are saved in **Settings → LLM API Keys** (or that you are logged into Codex for OpenAI).
2. Restart your session — keys and CLI logins apply at session start.
3. Note: enterprise deployments do not expose LLM API Keys or consult-llm; models route through the managed AI Gateway instead.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.