Skip to content
cccskills
FreePublished on GitHub

llm-council

Review plans and design decisions with several AI models. Each answers independently, ranks anonymous peer responses, and passes the results to a chair model for synthesis, with the full discussion saved for later reference.

OriginalShow the original description

Provider-agnostic multi-LLM deliberation. Three phases — independent responses, cross-model anonymized ranking, chairman synthesis. Credentials come from explicit plugin configuration or pro-workflow-specific CLI variables. Persists transcript to a wiki page when --wiki <slug> is passed. Use when the user wants multiple AI perspectives, consensus-building, or the "LLM Council" approach for high-stakes reviews, plan critique, or contested learning rules.

Works withOpenAI

Run score Not tested

See how to install

Good for

  • Reviewing a high-stakes plan
  • Comparing perspectives on architecture decisions
  • Reconsidering conflicting learning rules
  • Saving AI deliberations to a wiki

Files included (2)

  • SKILL.md4.4 KB
  • scripts/council.js11.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

LLM Council

Karpathy's LLM Council pattern with Anthropic and OpenAI-compatible providers.

When to use

  • High-stakes plan review (/plan crosses N-file threshold)
  • Conflicting learning-rules → re-resolve via vote
  • User invokes /council "<query>" or /wiki council
  • Architecture decisions where you want multiple viewpoints captured
  • Persisting deliberation as a wiki page for future reference

Three phases

  1. Independent: each model answers in parallel
  2. Ranking: each model ranks anonymized peer responses
  3. Synthesis: chairman model reads all responses + rankings → final answer

Provider config

Configure optional keys in the plugin configuration dialog. Use the providers MCP server's run_provider_task tool with task: "council" and args: ["run", "<query>", "--provider", "openai"]. For provider status, pass args: ["providers"]. Never request keys in chat or read them from existing credentials or shell configuration.

For standalone CLI use, explicitly set a pro-workflow-specific variable below. The first configured provider is the default; --provider selects one explicitly. See provider configuration.

Standalone CLI variableProviderDefault base URL
PRO_WORKFLOW_ANTHROPIC_API_KEYAnthropichttps://api.anthropic.com
PRO_WORKFLOW_OPENAI_API_KEYOpenAIhttps://api.openai.com/v1
PRO_WORKFLOW_OPENROUTER_API_KEYOpenRouterhttps://openrouter.ai/api/v1
PRO_WORKFLOW_FIREWORKS_API_KEYFireworkshttps://api.fireworks.ai/inference/v1
LLM_COUNCIL_BASE_URL + PRO_WORKFLOW_LLM_COUNCIL_API_KEYCustom OpenAI-compat(user-supplied)

Override per-run with --provider openai|anthropic|openrouter|fireworks|custom.

Default model rosters per provider live in scripts/council.js and can be overridden via --models CSV and --chairman <id>.

Commands

In a plugin session, pass these runner arguments through run_provider_task. The direct commands below are for standalone CLI installations with explicit credentials.

node $SKILL_ROOT/scripts/council.js run "<query>" [--models id1,id2,id3] [--chairman id] [--provider <name>] [--wiki <slug>]
node $SKILL_ROOT/scripts/council.js providers
node $SKILL_ROOT/scripts/council.js show <session-id>

--wiki <slug> writes the full transcript to <wiki>/derived/council/<session-id>.md and registers it via wiki-cli.js page so it shows in FTS5 search.

Output

Each session writes:

~/.pro-workflow/council/<session-id>/
├── config.json           # query, models, chairman, provider
├── phase1_responses.json # raw API responses per model
├── phase2_rankings.json  # anonymized ranking outputs
├── phase3_synthesis.txt  # chairman's final answer
└── final_output.md       # human-readable bundle

Console prints the markdown bundle. Pipe to pbcopy / tee as needed.

Hard rules

  1. Never skip the ranking phase. It's the core of the council pattern.
  2. Save raw responses to disk verbatim. No summarization in storage.
  3. Anonymize responses for ranking — models see Response A/B/C/..., not peer names.
  4. The chairman sees both real names AND rankings.
  5. Display all three phases to the user. No phase elision.

Cost awareness

The script logs per-call latency + tokens on supported providers. Multiply by your provider rate to estimate. Council cost grows linearly with len(models)^2 (each model ranks all others) plus the chairman.

Default council size: 3-5 models. More models = exponentially more ranking calls.

Use with wiki

/wiki council agent-memory "should we adopt episodic memory in our agents?"

Loads agent-memory wiki context as system prompt prefix, runs council, persists transcript as wiki/derived/council/<id>.md. The transcript becomes searchable via /wiki ask.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

agent-teams

FreeSummary

Coordinate multiple Claude Code sessions on a shared codebase. Organize tasks, dependencies, teammate messages, and file ownership, with guidance on team size, plan approval, and choosing between teams, subagents, and worktrees.

  • Develop API, UI, and tests in parallel
  • Assign implementation and review to separate sessions
  • Organize file ownership and task dependencies
rohitg00/pro-workflow2.9KUpdated Sep 29, 2026

auto-setup

FreeSummary

Set up project checks when starting work on an unfamiliar codebase. Detect the project type, verify available tools, and generate Claude Code settings for linting, type checks, tests, formatting checks, and hooks.

  • Set up checks for a new development project
  • Inspect tools in an unfamiliar codebase
  • Prepare quality checks for CI integration
rohitg00/pro-workflow2.9KUpdated Sep 29, 2026

Coordinate repetitive changes across many files by splitting them into independent tasks. Agents work in separate Git working directories, run relevant tests, and open pull requests, with a shared summary of successes and failures.

  • Migrate a library across many files
  • Convert class components to function components
  • Add tracing to API handlers
rohitg00/pro-workflow2.9KUpdated Sep 29, 2026

bug-capture

FreeSummary

Turn conversational bug reports into GitHub issues with clear reproduction steps, expected behavior, and project terminology. The skill checks for duplicates and separates independent problems, keeping reports focused on behavior so they remain useful after code changes.

  • Record a bug described in conversation
  • File defects found during QA
  • Check for existing reports before filing
rohitg00/pro-workflow2.9KUpdated Sep 29, 2026

compact-guard

FreeSummary

Prepare for conversation compaction, which shortens an agent's working context, by saving active files, progress, decisions, blockers, and next steps. Afterward, use those notes and priority files to recover the working state and resume the task.

  • Saving task state before running /compact
  • Preparing handoff notes when an auto-compact warning appears
  • Recovering active work after compaction
rohitg00/pro-workflow2.9KUpdated Sep 29, 2026

Manage the information an AI coding session carries by saving notes, selecting relevant material, summarizing results, and separating tasks. The skill guides context budgets and session handoffs so important decisions remain available during long projects.

  • Preserve task progress before summarizing a session
  • Narrow searches in large codebases
  • Organize lengthy logs and tool results
rohitg00/pro-workflow2.9KUpdated Sep 29, 2026

See all skills by rohitg00

Report a problem with this skill