llm-council — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited llm-council (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Karpathy's LLM Council pattern with Anthropic and OpenAI-compatible providers.
/plan crosses N-file threshold)/council "<query>" or /wiki councilConfigure 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 variable | Provider | Default base URL |
|---|---|---|
PRO_WORKFLOW_ANTHROPIC_API_KEY | Anthropic | https://api.anthropic.com |
PRO_WORKFLOW_OPENAI_API_KEY | OpenAI | https://api.openai.com/v1 |
PRO_WORKFLOW_OPENROUTER_API_KEY | OpenRouter | https://openrouter.ai/api/v1 |
PRO_WORKFLOW_FIREWORKS_API_KEY | Fireworks | https://api.fireworks.ai/inference/v1 |
LLM_COUNCIL_BASE_URL + PRO_WORKFLOW_LLM_COUNCIL_API_KEY | Custom 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>.
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.
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 bundleConsole prints the markdown bundle. Pipe to pbcopy / tee as needed.
Response A/B/C/..., not peer names.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.
/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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.