About provider-integration
An agent skill for adding AI providers to Claude Council. It documents the shell-script interface, configuration and testing steps, along with discovery rules for API and CLI providers.
Key features
- 01Shell script provider interface
- 02API key and model configuration
- 03CLI provider discovery rules
- 04Troubleshooting and script testing
Use cases
- 01Add an API provider to Claude Council
- 02Integrate a CLI-based provider
- 03Diagnose discovery or call failures
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ hex/ claude-council --skill provider-integrationAfter installing, type/provider-integrationin Claude Code to confirm it loaded.
Bundled filesapi-patterns.md
Details
From the project READMEAdding AI Providers to Claude Council
Provider Script Interface
Each provider is a shell script in scripts/providers/ that:
- Accepts a prompt as the first argument
- Outputs the AI response to stdout
- Exits 0 on success, non-zero on failure
Quick Start
- Create
scripts/providers/{name}.sh(seeapi-patterns.mdfor templates) chmod +x scripts/providers/{name}.sh- Set
{NAME}_API_KEYenvironment variable - 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 and copilot-cli are the exceptions: claude is on every user's PATH, and each copilot question spends a premium request, so neither 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
- 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.