From toolkit-core
Configure the optional llmClient block in toolkit.conf so toolkit agent commands (discovery, pipeline-build, fix-sql, codegen ask) can call an LLM — Amazon Bedrock, OpenAI, or Anthropic. Use when agent commands fail for lack of an LLM, when switching providers or models, or when onboarding to the toolkit agent workflows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/toolkit-core:llmThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`toolkit agent *` commands (and `toolkit codegen ask/prompt`) call an LLM, configured by a
toolkit agent * commands (and toolkit codegen ask/prompt) call an LLM, configured by a
top-level llmClient block in toolkit.conf — a peer of connections and ds.
phData consultants work without any block: the toolkit falls back to Amazon Bedrock and the
phData auth flow brokers access automatically. Even then, recommend adding the Bedrock example
block: the fallback runs on short AWS SDK default timeouts, and long agent calls (pipeline-build
judge loops) can exceed them — the examples set requestTimeout/socketTimeout to 1000s.
toolkit-check --level project finds the toolkit.conf to edit; toolkit-setup detect reports
llm_client=<type|none>. none + phData auth = Bedrock fallback — functional, but add the
Bedrock block anyway for the 1000s timeouts.
Supported type values (case-insensitive): AmazonBedrock, openai, anthropic.
| Provider | When | Credentials |
|---|---|---|
AmazonBedrock | phData auth flow (no block needed at all), or own AWS account with Bedrock access | AWS default chain (env/SSO/profile) |
anthropic | Direct Anthropic API key | ANTHROPIC_API_KEY |
openai | OpenAI (or compatible endpoint via url) | OPENAI_API_KEY |
Read the matching example, examples/<provider>.conf, in this skill's directory and merge the
llmClient block into the project's toolkit.conf at the top level.
Secrets rule (same as connections): API keys go in as ${ENV_VAR} references, never literal
values. For openai/anthropic the apiKey line can also be omitted entirely — the client
falls back to reading the standard env var directly.
Timeouts: default both requestTimeout and socketTimeout to 1000s (Bedrock and OpenAI;
the Anthropic client doesn't expose timeout settings). Unset values fall back to short SDK/HTTP
defaults that long agent runs routinely exceed.
The cheapest end-to-end probe is one prompt round-trip:
toolkit codegen ask "Reply with the single word: ok"
A model response means the client works. Triage:
| Symptom | Fix |
|---|---|
Could not resolve substitution | export the API-key env var |
| 401/403 from provider | wrong/expired key, or AWS credentials not active (aws sts get-caller-identity) |
| authorization error from toolkit itself | agent features are license-gated — toolkit auth / license tier, not LLM config |
| unknown model id | check the provider's current model list; update model |
npx claudepluginhub phdata/agent-marketplace --plugin toolkit-coreGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.