Agent skill

Deliberation

by antonbabenko in antonbabenko/deliberation

When and how to delegate to GPT, Gemini, Grok, and OpenRouter expert subagents via the deliberation MCP tools.

MITAuto-check passedAgent Workflows

Install Deliberation

skills CLI
$ npx skills add antonbabenko/deliberation --skill deliberation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install antonbabenko/deliberation deliberation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/antonbabenko/deliberation.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/deliberation .claude/skills/deliberation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
deliberation
GitHub stars
169
Token cost
~3.4k tokens
SKILL.md length
1,857 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

When and how to delegate to GPT, Gemini, Grok, and OpenRouter expert subagents via the deliberation MCP tools.

  • Tasks that involve Model routing and gateways
  • SKILL.md covers What deliberation is, Tools, Performance + debugging… and When to delegate, plus 1 more section
  • Calls bash, node and npx
  • Tasks that involve MCP servers

What it does

Deliberation is an agent skill from antonbabenko/deliberation. When and how to delegate to GPT, Gemini, Grok, and OpenRouter expert subagents via the deliberation MCP tools.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Model routing and gateways, MCP servers and Subagents. It works with OpenRouter and Model Context Protocol. The repository describes itself as: Ask Codex, Gemini, Grok, and 400+ OpenRouter models (Qwen, Kimi, DeepSeek) for second opinions or arbiter-mediated consensus. One MCP server for Claude Code, Codex, Cursor, Kiro… The licence is MIT.

When your agent uses it

  • Tasks that involve Model routing and gateways
  • Tasks that involve MCP servers
  • Tasks that involve Subagents

Example prompts

  • “/deliberation”

What it can do on your machine

Read from SKILL.md and the folder at commit 7cd0ab5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bash
    • node
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Deliberation loads about 3.4k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 1,857 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~31
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from antonbabenko/deliberation at commit 7cd0ab5, republished under its MIT licence (© antonbabenko). 1,857 words, ~3,373 tokens.

Download SKILL.mdSave it as .claude/skills/deliberation/SKILL.md (or your agent's skills folder).
name
deliberation
description
When and how to delegate to GPT, Gemini, Grok, and OpenRouter expert subagents via the deliberation MCP tools.
<!-- GENERATED by scripts/sync-hosts.js - edit the source under prompts/, AGENTS.md, or examples/, then regenerate. -->

Deliberation

Host-neutral guidance for any AI coding agent connected to the deliberation MCP server. This file is standalone on purpose - it is not an include of CLAUDE.md, so it stays portable across hosts (Cursor, Codex, Kiro, Windsurf, Zed, and others). Claude Code users get the same routing from CLAUDE.md and the README; this file is for everyone else.

What deliberation is

A single MCP server that exposes GPT (via the Codex CLI), Gemini 3 (via the Antigravity CLI), Grok (via the xAI API), and OpenRouter models (400+, advisory) as expert subagents. You stay the primary agent. When a task benefits from a second opinion or cross-model review, call one of the tools below, read the result, and apply your own judgment. Every tool here is ADVISORY: this server reads and reasons, it never edits your files. (Implementation exists only in the Claude Code plugin's standalone Gemini bridge, which this server does not expose.)

Tools

Fan-out and single-provider:

  • ask-all - send one question to GPT, Gemini, Grok, and configured OpenRouter models in parallel, get every answer back independently (no cross-talk).
  • consensus - run the FULL multi-round convergence loop server-side with a provider arbiter (blind pass + peer fan-out -> adjudicate -> revise) and get the converged verdict in one call. Depth is consensus.maxRounds (config, default 5); pass maxRounds to override. Pass synthesizeAlways:true for a SINGLE arbiter synthesis pass instead of the loop (best for open questions): it returns a free-text synthesis (the enum verdict and converged/confidence are null, rounds is 1). Set a concrete consensus.arbiter (a provider or openrouter:<alias>) for the server-side pass; in host mode the tool returns the opinions for YOU to synthesize. An optional blind pre-vote (consensus.blindVote) is available on the synthesize path.
  • consensus-step - drive the loop yourself as the arbiter, one action per call: init (returns a sessionId + blind prompt) -> record_blind (your pre-commit verdict) -> dispatch_peers (the server fans out to the panel) -> submit_adjudication (your verdict + per-issue accept/dismiss/defer, each dismiss needs a reason) -> submit_revision (your revised plan), looping until converged or the round cap. State is held server-side by sessionId (ephemeral). dispatch_peers may report droppedProviders[] - peers the circuit breaker removed after 2 consecutive failed rounds, so they are no longer dispatched or billed; print them once, and stop listing them as errored. It can also return a TERMINAL status: "unresolved" with stopReason all-providers-circuit-broken (every peer dropped), no-providers, or budget-exhausted (consensus.maxWallMs spent) - report the reason and the finalReport, then stop; there is no session left to step.
  • ask-gpt / ask-gemini / ask-grok / ask-openrouter - one question to one provider for a single-shot second opinion.
  • panel - return the exact provider names ask-all would dispatch for the current config + expert (enabled, healthy built-ins + eligible OpenRouter aliases, fanout cap applied), WITHOUT calling them. unavailable[] names enabled built-ins that cannot answer right now (CLI not on PATH, no credential) with the reason - they are skipped by every fan-out, so report them once rather than treating them as errors. needsLogin[] names panel members that have no login yet but stay on the panel (codex on a fresh machine): run codex-login and let the user approve BEFORE dispatching, so GPT answers from the first call. Pass for: "consensus" for the consensus panel. No provider calls and never starts a login; the only write is one local dashboard journal line, and only when that journal is on. When the local dashboard journal is on (dashboard.enabled), it also returns a runId (the ask-all panel only): pass it to every ask-one of that fan-out so the dashboard draws them as one run. Optional prompt is recorded on that run, never sent to a provider.
  • codex-login - start (or join) the ChatGPT device login for GPT and return its link and one-time code, without asking GPT anything. Show the returned message to the user as-is; GPT answers once they approve. Call it before a fan-out when panel.needsLogin contains codex, then ask the user to approve and call it again to confirm authenticated. Never skip a GPT call because GPT looks logged out: with no login, ask-gpt / ask-one codex start the same login and return the same code.
  • ask-one { provider, prompt } - one question to ONE provider named by panel (e.g. codex, grok, openrouter:<alias>). The progress pattern: call panel, then issue one ask-one per name in a single turn so they run concurrently and each result lands independently as it finishes - visible per-provider progress with parallel wall-time, instead of the one opaque ask-all call. (The single-call ask-all still works; ask-one is the progressive alternative.) Optional runId (from panel, also accepted by the ask-* tools) joins the call to that dashboard run; an id this server's panel did not open is ignored.
  • analyze - read-only run analytics. Reads the opt-in debug log (per-model p50/p95/max latency over SUCCESSFUL calls, mean tokens, error rate, reasoning effort) and the session store (verdict agreement rate), then returns advisory tuning suggestions (disable a slow/redundant model in ask-all, lower an OpenRouter model's reasoning, adjust maxFanout), plus OpenRouter compare links. Two lenses reported side by side - timing and agreement are NOT joined. configuredOnly (default true) hides models missing from the current config so a retired model cannot drive the numbers; since (24h, 7d, ...) windows both lenses. Needs debug.enabled for the timing lens. Writes nothing.

Every result carries provider, model, text, ms (wall time), and the effective reasoningEffort (real value for HTTP providers; null for the Codex/Gemini CLIs). HTTP providers (Grok, OpenRouter) also include token usage.

Expert personas (pass as the tool, or via the expert argument on the fan-out tools to apply one persona to every delegate):

  • architect - system design, tradeoffs, complex decisions.
  • plan-reviewer - check a plan is executable before work starts.
  • scope-analyst - catch ambiguities and hidden requirements before planning.
  • code-reviewer - bugs, security holes, maintainability on a diff or file.
  • security-analyst - threat modeling and vulnerability assessment.
  • researcher - external libraries, APIs, and best practices, with evidence.
  • debugger - ranked root-cause hypotheses and the smallest safe fix.

Session tools (only useful when sessions.persist is enabled in config; they report "persistence disabled" otherwise). When on, consensus, the host-driven consensus-step loop (on a terminal converged/unresolved transition), and ask-all return a sessionId. By default the record stores the question + verdict/issue summaries only; set sessions.captureText: true to also persist each provider's response body (secret-scrubbed plus a best-effort PII pass). The metrics-only debug log never stores body text either way:

  • session-get { sessionId } - fetch a recorded run (opinions, verdict, annotations).
  • session-revisit { sessionId } - re-run the recorded question with the current providers/config and save a linked child record. A consensus record replays its mode (the loop, or a synthesize pass).
  • session-annotate { sessionId, note } - append a note to a run's audit trail.

There is no list tool: get the sessionId from the original run's result, or browse the store dir (~/.cache/deliberation/sessions/). See TECHNICAL.md "Session persistence" for a worked example.

Every fan-out, single-provider, and expert tool takes a prompt. Give it full context: the goal, the relevant code or paths, and any prior attempts. The experts do not share your session, so a self-contained prompt gets a better answer.

Show full SKILL.md (710 more words)Show less

Performance + debugging (optional)

These apply to every MCP host, not just Claude Code:

  • Per-provider progress - prefer panel + parallel ask-one (above) when you want to watch each model finish instead of waiting on one opaque ask-all call.
  • Orientation auto-attach - set "orientation": { "enabled": true } in config.json to have the server automatically attach a small repo bundle (CLAUDE.md, AGENTS.md, README.md, and key entrypoints, up to maxFiles files, default 6) to file-blind providers (Grok, OpenRouter) when they carry no files of their own. This gives them the same repo grounding that Codex and Gemini get by walking the filesystem. OFF by default; enable when file-blind providers underperform on repo-wide questions.
  • Timeouts - each provider ships its own ceiling (codex 600s, gemini 300s, grok 180s, OpenRouter 180s). Raise them all with "providers": { "defaults": { "timeout": 600000 } }; override one with providers.<name>.timeout (providers.openrouter.defaults.timeout for OpenRouter), and a pinned model's models.<id>.timeout beats both. Read at server start, so a change needs a restart. A result that errors with errorKind: "timeout" at almost exactly the ceiling hit the limit rather than the model stalling. If the host itself caps tool calls (MCP_TOOL_TIMEOUT; Claude Code on the web sets 60000), every ceiling is clamped 5s under it and the timeout message names the cap. Hosts that take a per-server timeout in the MCP server entry (Claude Code does, ahead of MCP_TOOL_TIMEOUT) get it from the server config - the Claude Code plugin manifest declares 1800000 and mirrors it into the server env so the clamp follows the real cap; on other hosts raise the cap where the host is launched, not in config.json.
  • Retries - a failed call is retried once, and only for network, rate-limit (waiting for the upstream's Retry-After), and empty (a provider that exited clean but returned a stub instead of an answer). timeout and auth/config errors are not retried.
  • Debug log - set "debug": { "enabled": true } in config.json to append one JSON line per provider call and per consensus round to <XDG cache>/deliberation/debug.jsonl (override with DELIBERATION_DEBUG_LOG). It records latency, reasoning effort, HTTP token usage, and voting/approval outcomes - never prompts, responses, or issue text. OFF by default.
  • Dashboard - set "dashboard": { "enabled": true } in config.json to journal every run to <XDG cache>/deliberation/runs/ (override with DELIBERATION_RUNS), then run deliberation-mcp dashboard (or node server/mcp/index.js dashboard from a checkout) and open the printed http://127.0.0.1:<port>/?t=<token> URL. It is a read-only browser view of live and past runs as state graphs, with config, provider health, and stats. Loopback only, token-protected; dashboard.capture is metadata (default) or content (prompts and responses, secret-scrubbed), and PII is redacted in the browser unless dashboard.showPII. Needs a browser on the same machine. OFF by default.
  • Live progress notifications - the server declares the MCP logging capability and emits notifications/message per provider as it settles during a fan-out. Hosts that render server log notifications mid-call show this automatically (Claude Code does not - hence the panel + ask-one pattern there).

When to delegate

  • Reviewing a plan or an architecture decision before you commit to it.
  • A security review of auth, untrusted input, or a new endpoint.
  • A second opinion when you are unsure, or after a fix has failed twice.
  • Cross-model consensus on a high-stakes or contested call.

Skip delegation for simple edits, the first attempt at a fix, and trivial questions you can answer directly.

Time-sensitive questions. Every delegate prompt already carries today's UTC date and a rule not to call an unrecognized model, tool, or version non-existent. Delegates still cannot look anything up (Grok and OpenRouter have no tools). When the question turns on latest or current versions, pricing, a roadmap, or whether a model or tool exists, verify it first with whatever retrieval this host has, and put the facts in the delegation prompt with their as-of date and source.

Updating

If you run the standalone server via npx -y @antonbabenko/deliberation-mcp, each fresh resolve picks up the latest published version. npx caches resolved packages, so if you keep getting an old build, clear the cache (rm -rf ~/.npm/_npx) or pin/refresh the version in your host's MCP config. (The Claude Code plugin manifest is a separate mechanism and does not affect non-Claude hosts.)

To cycle the background dashboard daemon and audit MCP processes after an update without dropping active host connections, run:

bash
bash scripts/commands/reload-mcp.sh

or invoke the reload-mcp skill/command supported on your host (Claude Code, Codex, Antigravity, OpenCode).

© antonbabenko, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/deliberation of antonbabenko/deliberation.

Open the folder on GitHubat commit 7cd0ab5

Compare with similar skills

Deliberation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Deliberation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Deliberation this skillantonbabenko/deliberation169—~3.4kAutomated safety check: PassMIT
Claude Automation Recommenderanthropics/claude-plugins-official37k3 repos~2.7kAutomated safety check: NotesApache-2.0
Agent Deckasheshgoplani/agent-deck1k—~1.7kAutomated safety check: PassMIT
CC Workflow Studio AI Editorbreaking-brake/cc-wf-studio5.4k—~561Automated safety check: PassCustom licence
Bootstrapinfragate/capa724—~5.9kAutomated safety check: PassMIT
Puppetmaster Agent Orchestrationprofessorpalmer/Puppetmaster467—~3.2kAutomated safety check: PassMIT

Similar skills

  • Claude Automation Recommender

    anthropics/claude-plugins-official

    Official

    Scans a codebase and suggests which Claude Code hooks, subagents, skills, plugins and MCP servers fit its stack, without changing any files.

    37k GitHub starsUsed in 3 repos~2.7k tokens
    Agent WorkflowsAuto-check: notes
  • Agent Deck

    asheshgoplani/agent-deck

    agent-deck, the terminal session manager for AI coding agents.

    1k GitHub stars~1.7k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • CC Workflow Studio AI Editor

    breaking-brake/cc-wf-studio

    Creates and edits visual agent workflows in CC Workflow Studio through conversation, with the agent reading and writing the canvas over MCP.

    5.4k GitHub stars~561 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Bootstrap

    infragate/capa

    Capify an existing project. An agent skill from infragate/capa.

    724 GitHub stars~5.9k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed
  • Puppetmaster Agent Orchestration

    professorpalmer/Puppetmaster

    Operates and supervises Puppetmaster, a multi-agent orchestrator, through its MCP tools or CLI, picking the right verb for edits, reviews, audits and long-running jobs.

    467 GitHub stars~3.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agentforce Generate

    SalesforceAIResearch/agentforce-adlc

    Build, modify, audit, repair, optimize, debug, and deploy agents with Agentforce Agent Script.

    112 GitHub starsUsed in 1 repo~7.4k tokens
    Agent WorkflowsAuto-check passed

More from antonbabenko/deliberation

All 9 skills in this repo
  • Architect

    antonbabenko/deliberation

    System design, tradeoffs, and complex technical decisions. An agent skill from antonbabenko/deliberation.

    169 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Code Reviewer

    antonbabenko/deliberation

    Find bugs, security holes, and maintainability issues in a diff or file.

    169 GitHub stars~881 tokensUpdated today
    Auto-check passed
  • Debugger

    antonbabenko/deliberation

    Rank root-cause hypotheses and propose the smallest safe fix.

    169 GitHub stars~554 tokensUpdated today
    Auto-check passed
  • Plan Reviewer

    antonbabenko/deliberation

    Validate that a work plan is executable before work starts. An agent skill from antonbabenko/deliberation.

    169 GitHub stars~931 tokensUpdated today
    Auto-check passed
  • Researcher

    antonbabenko/deliberation

    Research external libraries, APIs, and best practices, with evidence.

    169 GitHub stars~840 tokensUpdated today
    Auto-check passed
  • Scope Analyst

    antonbabenko/deliberation

    Catch ambiguities and hidden requirements before planning. An agent skill from antonbabenko/deliberation.

    169 GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Categories

Questions about Deliberation

What does Deliberation do?

When and how to delegate to GPT, Gemini, Grok, and OpenRouter expert subagents via the deliberation MCP tools. Deliberation is an agent skill from antonbabenko/deliberation. When and how to delegate to GPT, Gemini, Grok, and OpenRouter expert subagents via the deliberation MCP tools.

When should I use Deliberation?

Deliberation fits situations like: tasks that involve Model routing and gateways; tasks that involve MCP servers; tasks that involve Subagents.

How do I install Deliberation in Claude Code?

Run `npx skills add antonbabenko/deliberation --skill deliberation -a claude-code`. Or copy the skill folder (.agents/skills/deliberation in antonbabenko/deliberation) into .claude/skills/deliberation in your project. Claude Code loads it when a task matches its description.

How do I install Deliberation in Codex?

Run `npx skills add antonbabenko/deliberation --skill deliberation -a codex`. Or copy the skill folder (.agents/skills/deliberation in antonbabenko/deliberation) into .agents/skills/deliberation in your project. Codex loads it when a task matches its description.

Can I use Deliberation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add antonbabenko/deliberation --skill deliberation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deliberation, .gemini/skills/deliberation, .github/skills/deliberation and .opencode/skills/deliberation in your project.

What does Deliberation need to run?

Going by SKILL.md and its folder, Deliberation needs the command-line tools its instructions call (bash, node and npx).

Does Deliberation access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Deliberation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Deliberation use?

Deliberation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Deliberation use?

About 3.4k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Deliberation?

Skills that share tags, products or a category with Deliberation: Claude Automation Recommender (anthropics/claude-plugins-official, 37k stars), Agent Deck (asheshgoplani/agent-deck, 1k stars), CC Workflow Studio AI Editor (breaking-brake/cc-wf-studio, 5.4k stars) and Bootstrap (infragate/capa, 724 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Deliberation?

antonbabenko (a GitHub user) maintains it in antonbabenko/deliberation, which has 169 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 6, 2026.

Source: antonbabenko/deliberation on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.