provider-integration
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".
git clone --depth 1 https://github.com/hex/claude-council /tmp/provider-integration && cp -r /tmp/provider-integration/skills/provider-integration ~/.claude/skills/provider-integrationSKILL.md
# 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-pro-latest |
| OpenAI | `OPENAI_API_KEY` | gpt-5.6-sol |
| Grok | `XAI_API_KEY` (or `GROK_API_KEY`) | grok-latest |
| Perplexity | `PERPLEXITY_API_KEY` | sonar-reasoning-pro |
| Kimi | `KIMI_API_KEY` | kimi-k3 |
| Ollama | none (local) | first model `ollama list` shows |
## Troubleshooting
- **Not discovered**: Check API key is set and script is executable
- **API errors**: Verify key, check rate limits, confirm model name
- **Parse fails**: Add `echo "$RESPONSE"` to debug, check response format
## Reference
For API patterns and code templates, see `api-patterns.md` in this directory.|-
One independent member of a local (provider-less) council. Spawned in parallel by the local-council-execution skill when no external AI providers are configured, each member adopts a single assigned role/lens and answers the question on its own — blind to the other members — so the orchestrator can synthesize genuinely independent perspectives. Not invoked directly by users.
Query multiple AI agents (Gemini, OpenAI, Grok, Perplexity, Kimi, and a local ollama model) for diverse perspectives on architecture decisions, technology choices, debugging dead-ends, and security tradeoffs. Use this whenever the user names the council directly, whatever the topic — ask the council, council review, full council review, what does the council think, get a second opinion from the council, run this past the council — including reviews of code, documents, plans or artifacts. Also suggest it unprompted when the user is choosing between competing approaches (e.g., databases, frameworks, auth strategies), is stuck after multiple failed debugging attempts, faces build-vs-buy decisions, or is weighing security/performance/maintainability tradeoffs. Do NOT suggest it unprompted for simple implementation tasks, quick fixes, or questions with clear single answers; a direct request for the council overrides that exclusion.
Fetch, list, or cancel background council jobs started with --async
Check connectivity and configuration status of all council providers
Executes council queries by running the query pipeline across selected AI providers (Gemini, OpenAI, Grok, Perplexity), displaying formatted responses verbatim, and generating a synthesis of consensus, divergence, and recommendations. Invoked by the ask command during standard (non-agent) council queries.
Executes agent-enhanced council queries by spawning parallel Claude subagents that each query a provider, evaluate response quality, ask follow-up questions, and return structured insights with confidence ratings and blind spot analysis. Invoked when the --agents flag is used or when complex architectural decisions are detected.
Runs a local council when no external AI providers are configured. Spawns N independent Claude subagents (one per role, blind to each other) that each answer the question from a single assigned lens, then synthesizes their perspectives. Invoked by the ask command via --local, or when the user accepts the local-council offer after no providers are found. This is a same-model (Claude-only) panel, not a cross-vendor council.