# Provider Integration

Adds new AI providers to claude-council, configures provider API settings...

- Repository: https://github.com/hex/claude-council (916 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add hex/claude-council --skill provider-integration -g -a claude-code -y`
Codex: `npx skills add hex/claude-council --skill provider-integration -g -a codex -y`
Cursor: `npx skills add hex/claude-council --skill provider-integration -g -a cursor -y`
Gemini CLI: `npx skills add hex/claude-council --skill provider-integration -g -a gemini-cli -y`

## Description

Adds new AI providers to claude-council, configures provider API settings, troubleshoots provider connections, and documents the provider script interface. Covers creating provider shell scripts, setting API keys, and validating connectivity. Triggers on "add provider", "new AI agent", "provider not working", "API configuration", or "extend council".

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Adding AI Providers to Claude Council

## Provider Script Interface

Each provider is a shell script in `scripts/providers/` that:
1. Accepts a prompt as the first argument
2. Outputs the AI response to stdout
3. Exits 0 on success, non-zero on failure

## Quick Start

1. Create `scripts/providers/{name}.sh` (see `api-patterns.md` for templates)
2. `chmod +x scripts/providers/{name}.sh`
3. Set `{NAME}_API_KEY` environment variable
4. Test: `./scripts/providers/{name}.sh "Hello"`

## Current Providers

| Provider | API Key Variable | Default Model |
|----------|------------------|---------------|
| Gemini | `GEMINI_API_KEY` | gemini-flash-latest |
| OpenAI | `OPENAI_API_KEY` | gpt-6-astra |
| Grok | `XAI_API_KEY` (or `GROK_API_KEY`) | grok-latest |
| Perplexity | `PERPLEXITY_API_KEY` | low (Agent API preset) |
| Kimi | `KIMI_API_KEY` | kimi-k3 |
| Ollama | none (local) | first model `ollama list` shows |
| OpenRouter | `OPENROUTER_API_KEY` | anthropic/claude-fable-5.1 (or one seat per `OPENROUTER_MODELS` entry) |

CLI providers (`codex`, `antigravity`, `grok-cli`, `kimi-cli`, `cursor-cli`) need no key: they are discovered when their binary is on `PATH` and use that CLI's own login. `claude-cli`, `copilot-cli` and `opencode` are the exceptions: `claude` is on every user's `PATH`, each `copilot` question spends a premium request, and each `opencode` question bills whichever provider it is logged in to, so none has a discovery arm and each joins only when named in `--providers` or `COUNCIL_PROVIDERS`. See `scripts/providers/kimi-cli.sh` and `cursor-cli.sh` for the headless-run pattern: a read-only mode, a JSON output format the answer is parsed from, `--model` only on an explicit `*_CLI_MODEL` override, and `run_with_deadline` in place of the API providers' retry. A CLI that times out or fails reports through `cli_failure_message` in `scripts/lib/cli-stderr.sh`: the timeout, or the last 500 bytes of the CLI's stderr with colour codes stripped.

## Troubleshooting

The rest: https://github.com/hex/claude-council/blob/HEAD/skills/provider-integration/SKILL.md
