npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

llm-cli-council

v1.0.0

Published

Get diverse AI perspectives on your code and plans via multiple LLM CLIs — orchestrates Claude, GitHub Copilot, Codex, Gemini, and Ollama as a council

Downloads

98

Readme

LLM CLI Council

Get diverse AI perspectives on your implementation plans and code reviews

A Claude Code skill that orchestrates multiple LLM command-line tools (Claude, Copilot, Codex, Gemini, Ollama) to provide comprehensive feedback through a "council" approach. Claude acts as Chairman, synthesizing insights from multiple AI assistants into clear, actionable guidance.

License: MIT Platform

Inspired by: karpathy/llm-council for the council orchestration concept and jarrodwatts/claude-delegator for multi-model delegation patterns.


Why Use a Council?

Single LLMs can be biased toward certain solutions. By consulting multiple AI assistants:

  • 🎯 Diverse perspectives catch blind spots and assumptions
  • ✅ Consensus builds confidence in recommendations
  • ⚠️ Dissent highlights areas needing careful consideration
  • 📊 Better coverage different models excel at different tasks

The Anti-Paralysis Principle

The council never overwhelms with conflicting advice. Instead, it:

  • ✨ Synthesizes into max 5 prioritized recommendations
  • 🎓 Resolves conflicts with clear reasoning
  • ✅ Always provides a decisive verdict: APPROVE or REQUEST CHANGES

No endless debate. Just actionable guidance.


Features

  • 🤝 Multi-LLM orchestration - Coordinates Claude, Copilot, Codex, Gemini, and Ollama
  • 🎭 Independent reviews - Each provider reviews without seeing others' opinions
  • Parallel execution - All providers run simultaneously for speed
  • 🪑 Chairman synthesis - Claude resolves conflicts and provides final verdict
  • 🔒 Privacy mode - Local-only execution with Ollama (no data leaves your machine)
  • 📈 Smart routing - Automatically selects best providers for each task type
  • 🔧 Configurable modes - Quick (2 providers), Full (all providers), or Privacy (local only)
  • 🌍 Cross-platform - Works on macOS, Linux, and Windows (WSL)

Quick Start

Get your first council review in 5 minutes:

# 1. Install the plugin
claude /plugin marketplace add GuitaristForEver/llm-cli-council
claude /plugin install llm-cli-council

# Restart Claude Code after installation

# 2. Setup and detect your LLM CLI tools
/llm-cli-council:setup

# 3. Review a plan
/llm-cli-council:review-plan PLAN.md

That's it! You'll get synthesized feedback from multiple AI perspectives.


Installation

npx llm-cli-council

This will detect your Claude Code directory and install the plugin files automatically.

Options:

  • npx llm-cli-council --dry-run — preview what will be installed
  • npx llm-cli-council --yes — skip the confirmation prompt

Manual install: If you prefer, copy files directly:

git clone https://github.com/GuitaristForEver/llm-cli-council
cd llm-cli-council
cp -r skills/* ~/.claude/skills/
cp -r lib ~/.claude/lib/
cp -r prompts ~/.claude/prompts/
cp -r rules ~/.claude/rules/
cp config/providers.json ~/.claude/config/

Available Commands

| Command | Description | |---------|-------------| | /llm-cli-council:setup | Detect and configure available LLM CLIs | | /llm-cli-council:review-plan | Get council review of an implementation plan | | /llm-cli-council:review-code | Get council review of code changes | | /llm-cli-council:status | Show council configuration and provider status | | /llm-cli-council:uninstall | Remove council configuration |


Basic Usage

Review an Implementation Plan

# Review with default (quick) mode - 2 best providers
/llm-cli-council:review-plan

# Review specific plan file
/llm-cli-council:review-plan path/to/PLAN.md

# Use all available providers (comprehensive review)
/llm-cli-council:review-plan --mode=full

# Privacy mode - only local Ollama (no data sent externally)
/llm-cli-council:review-plan --mode=privacy

Review Code Changes

# Review staged changes
/llm-cli-council:review-code

# Review last commit
/llm-cli-council:review-code HEAD

# Review specific file
/llm-cli-council:review-code src/app.js

# Review range of commits
/llm-cli-council:review-code main..HEAD --mode=full

Check Configuration

# Show current configuration
/llm-cli-council:status

# Re-check provider availability
/llm-cli-council:status --check

Council Modes

The council operates in three modes, each balancing speed, comprehensiveness, and privacy:

| Mode | Providers Used | Use Case | Speed | |------|----------------|----------|-------| | quick (default) | 2 best-match providers | Most reviews, fast feedback | ⚡⚡⚡ Fast | | full | All available providers | High-stakes decisions, comprehensive analysis | ⚡⚡ Slower | | privacy | Ollama only | Sensitive code, air-gapped environments | ⚡⚡⚡ Fast |

Mode selection example:

# Quick mode (default) - 2 providers, ~30-60 seconds
/llm-cli-council:review-plan

# Full mode - all providers, ~60-120 seconds
/llm-cli-council:review-plan --mode=full

# Privacy mode - local only, ~30-90 seconds
/llm-cli-council:review-plan --mode=privacy

Supported Providers

The council supports the following LLM CLI tools:

| Provider | CLI Command | Installation | Strengths | |----------|-------------|--------------|-----------| | Claude | claude | Claude Code | Reasoning, analysis, synthesis, planning | | Copilot | copilot | npm install -g @github/copilot-cli | Code generation, GitHub integration | | Codex | codex | OpenAI Codex CLI | Code analysis, debugging, implementation | | Gemini | gemini | Gemini CLI | Multimodal analysis, broad knowledge | | Ollama | ollama | Ollama | Privacy, offline, local execution |

Minimum requirement: At least 2 providers for meaningful council feedback. Recommendation: Install 3-5 providers for diverse perspectives.

Provider Setup

Each provider requires separate installation and authentication:

  1. Install the CLI tool (see links above)
  2. Authenticate (follow provider-specific instructions)
  3. Run setup: /llm-cli-council:setup
  4. Verify: /llm-cli-council:status

For detailed setup instructions, see Provider Setup Guide.


Configuration

The council uses environment variables for flexible configuration:

Environment Variables

| Variable | Default | Description | |----------|---------|-------------| | CLAUDE_COUNCIL_CONFIG_DIR | ~/.config/claude/council/ | Config directory location | | CLAUDE_COUNCIL_CONFIG_FILE | $CONFIG_DIR/config.json | Specific config file override | | CLAUDE_COUNCIL_LOG_DIR | $CONFIG_DIR/logs/ | Log directory | | CLAUDE_SKILLS_DIR | ~/.claude/skills/ | Skills installation directory | | CLAUDE_CONFIG_DIR | ~/.claude/ | Claude's main config directory |

Path Resolution Priority

When locating configuration, the council checks in this order:

  1. $CLAUDE_COUNCIL_CONFIG_DIR (explicit override)
  2. $CLAUDE_CONFIG_DIR/council/ (Claude config + council subdir)
  3. $XDG_CONFIG_HOME/claude/council/ (XDG standard on Linux)
  4. ~/.config/claude/council/ (XDG fallback)
  5. ~/.claude/council/ (legacy compatibility)

Configuration File

After running setup, your configuration is stored at $COUNCIL_CONFIG_FILE:

{
  "version": "1.0.0",
  "providers": {
    "claude": {
      "available": true,
      "path": "/usr/local/bin/claude",
      "authenticated": true
    },
    "codex": {
      "available": true,
      "path": "/usr/local/bin/codex",
      "authenticated": true
    }
  },
  "defaultMode": "quick"
}

For detailed configuration options, see Configuration Guide.


How It Works

The council uses a three-stage deliberation process:

┌─────────────────────────────────────────────────────────┐
│ Stage 1: Independent Review                            │
├─────────────────────────────────────────────────────────┤
│ • Execute prompts in parallel across providers          │
│ • Each provider reviews independently                   │
│ • No cross-contamination of opinions                    │
└─────────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────┐
│ Stage 2: Collection & Analysis                         │
├─────────────────────────────────────────────────────────┤
│ • Gather all provider responses                         │
│ • Extract key recommendations                           │
│ • Identify consensus and dissent                        │
└─────────────────────────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────┐
│ Stage 3: Chairman Synthesis (Claude)                   │
├─────────────────────────────────────────────────────────┤
│ • Synthesize into max 5 prioritized recommendations     │
│ • Resolve conflicts with clear reasoning                │
│ • Provide decisive verdict: APPROVE / REQUEST CHANGES   │
└─────────────────────────────────────────────────────────┘

Why Claude as Chairman?

Claude serves as Chairman because:

  • Context retention - Best at synthesizing multiple perspectives
  • Reasoning depth - Excels at explaining trade-offs and resolutions
  • Clarity - Provides decisive, actionable guidance without paralysis

Examples

Example: Plan Review Output

╔═══════════════════════════════════════════════════════╗
║ LLM CLI COUNCIL REVIEW                                ║
║ Plan: Implementation Plan for Feature X               ║
║ Mode: quick (2 providers)                            ║
╚═══════════════════════════════════════════════════════╝

VERDICT: REQUEST CHANGES

COUNCIL SYNTHESIS
─────────────────────────────────────────────────────────

Consensus (2/2 providers agree):
✓ Overall approach is sound and well-structured
✓ Clear separation of concerns
✗ Missing error handling strategy
✗ No consideration of database migration

TOP 5 RECOMMENDATIONS (Prioritized):

1. [CRITICAL] Add Database Migration Strategy
   • Plan lacks migration approach for schema changes
   • Risk: Data loss during deployment
   • Suggested: Add migration rollback plan in Phase 2

2. [HIGH] Define Error Handling Approach
   • No consistent error handling across services
   • Both reviewers flagged this independently
   • Suggested: Establish error handling patterns upfront

3. [MEDIUM] Add Performance Benchmarks
   • Consider load testing before production
   • Codex suggests: Define acceptable latency targets

4. [MEDIUM] Clarify Testing Strategy
   • Integration tests mentioned but not detailed
   • Suggested: Specify test coverage goals per phase

5. [LOW] Documentation Plan
   • Consider API documentation approach
   • Minor issue, can be addressed later

REASONING:
Database migration and error handling are architectural
decisions that affect all subsequent phases. Addressing
these upfront prevents costly refactoring later. The plan
is otherwise well-structured—these additions will make it
production-ready.

See more examples in the examples/ directory.


Troubleshooting

Common Issues

"Council not configured"

Solution: Run /llm-cli-council:setup to detect providers.

"No providers available"

Cause: No LLM CLI tools detected.

Solution:

  1. Install at least 2 providers (see Supported Providers)
  2. Ensure they're in your PATH
  3. Run /llm-cli-council:setup again

"Provider authentication failed"

Cause: Provider CLI not authenticated.

Solution:

  • Claude: claude auth login
  • Copilot: copilot auth login
  • Codex: codex auth
  • Gemini: gemini auth login
  • Ollama: No auth needed (ensure models downloaded: ollama pull model-name)

Timeout errors

Cause: Provider taking too long to respond.

Solution:

  • Check network connection
  • Try --mode=privacy if network is slow
  • Increase timeout in config (advanced)

For more troubleshooting, see Troubleshooting Guide.


Documentation

Comprehensive documentation is available in the docs/ directory:


Contributing

We welcome contributions! Here's how you can help:

Ways to Contribute

  • 🐛 Report bugs - Open an issue with reproduction steps
  • 💡 Suggest features - Share your ideas in discussions
  • 📝 Improve docs - Fix typos, add examples, clarify instructions
  • 🔧 Add providers - Support additional LLM CLI tools
  • Submit PRs - Fix bugs or implement features

Development Setup

# Clone repository
git clone https://github.com/GuitaristForEver/llm-cli-council.git
cd llm-cli-council

# Install as local plugin
claude /plugin marketplace add .
claude /plugin install llm-cli-council@llm-cli-council-dev

# Restart Claude Code

# Make changes to skills/, prompts/, or rules/

# Test your changes
/llm-cli-council:setup
/llm-cli-council:review-plan test/fixtures/sample-plan.md

# To reload changes: uninstall and reinstall
claude /plugin uninstall llm-cli-council@llm-cli-council-dev
claude /plugin install llm-cli-council@llm-cli-council-dev

Adding a New Provider

See CONTRIBUTING.md for step-by-step instructions on adding support for new LLM CLI tools.


Roadmap

v1.1.0 (Next Release)

  • [ ] GitHub Action for automated PR reviews
  • [ ] Customizable provider weights and priorities
  • [ ] Review history and analytics
  • [ ] Support for custom prompt templates

Future

  • [ ] Web UI for review visualization
  • [ ] Docker container with pre-installed providers
  • [ ] VS Code extension
  • [ ] npm package distribution
  • [ ] Multi-language support

License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

  • Anthropic for Claude and Claude Code CLI
  • GitHub for Copilot CLI
  • OpenAI for Codex
  • Google for Gemini
  • Ollama team for local LLM infrastructure

Special thanks to the open source community for feedback and contributions.


Support


Built with ❤️ for developers who value diverse perspectives