Compatibility Matrix

All embedded skills work with any LLM provider that supports tool calling. Provider-specific requirements are limited to API keys for external services.

Provider Support

FeatureOpenAIAnthropicGeminiOllama
Tool calling✅✅✅✅ (model-dependent)
Script-backed skills✅✅✅✅
Binary-backed skills✅✅✅✅
Skill guardrails✅✅✅✅
OAuth login✅———

Skill Requirements

SkillRequired BinariesRequired Env VarsEgress Domains
githubgh, git, jqGH_TOKEN (optional)api.github.com, github.com
tavily-searchcurl, jqTAVILY_API_KEYapi.tavily.com
tavily-researchcurl, jqTAVILY_API_KEYapi.tavily.com
k8s-incident-triagekubectlKUBECONFIG (optional)—
k8s-pod-rightsizerbash, kubectl, jq, curlKUBECONFIG (optional)—
k8s-cost-visibilitykubectl, jq, awk, bcKUBECONFIG (optional)—
code-review—OPENAI_API_KEY or ANTHROPIC_API_KEYProvider API domain
codegen-reactnode, npx, jq—registry.npmjs.org, cdn.tailwindcss.com
codegen-htmljq—cdn.tailwindcss.com, esm.sh
code-agentbash, jq—Package registries

Notes

  • Binary dependencies are checked at runtime. Missing binaries produce clear error messages with installation instructions.
  • Environment variables are resolved from the secret provider chain: agent-local encrypted file → global encrypted file → environment variables.
  • Egress domains declared by skills are automatically merged into forge.yaml when added via forge skills add.
  • Ollama requires models with tool-calling support (e.g., llama3.1, mistral). Older models without tool support will not work with script-backed skills.