Entry point:
/faion-net— invoke this skill for automatic routing to the appropriate domain.
LLM Integration Skill
Communication: User's language. Code: English.
Purpose
Handles direct integration with LLM APIs. Covers OpenAI, Claude, Gemini, local models, prompt engineering, and output structuring.
Context Discovery
Auto-Investigation
Check these project signals before asking questions:
| Signal | Where to Check | What to Look For |
|---|---|---|
| Dependencies | package.json, requirements.txt, go.mod | openai, anthropic, google-generativeai, langchain |
| Config files | .env, config/*.{yml,json} | API keys (OPENAI_API_KEY, ANTHROPIC_API_KEY) |
| Existing code | Grep for "openai", "anthropic", "genai" | Existing LLM integrations |
| Documentation | README.md, docs/ | LLM usage patterns |
Discovery Questions
question: "What LLM task are you building?"
header: "Task Type"
multiSelect: false
options:
- label: "Chat/completion API"
description: "Direct LLM API calls for text generation"
- label: "Function calling / tool use"
description: "LLM selects and executes functions"
- label: "Structured output (JSON mode)"
description: "Constrain LLM to return valid JSON/schemas"
- label: "Prompt optimization"
description: "Improve existing prompts (few-shot, CoT, templates)"
question: "Which LLM provider(s)?"
header: "Provider"
multiSelect: true
options:
- label: "OpenAI (GPT-4o, o1)"
description: "OpenAI API integration"
- label: "Claude (Anthropic)"
description: "Claude Opus/Sonnet via Anthropic API"
- label: "Gemini (Google)"
description: "Gemini Pro/Flash via Google AI"
- label: "Local LLM (Ollama)"
description: "Self-hosted models for privacy"
question: "Do you need safety/content moderation?"
header: "Guardrails"
multiSelect: false
options:
- label: "Yes - content filtering/PII detection"
description: "Implement guardrails for safety"
- label: "No - internal use only"
description: "Skip guardrails"
Scope
| Area | Coverage |
|---|---|
| LLM APIs | OpenAI (GPT-4o, o1), Claude (Opus 4.5, Sonnet 4), Gemini (Pro, Flash) |
| Prompt Engineering | Few-shot, CoT, chain-of-thought techniques |
| Structured Output | JSON mode, function calling, tool use |
| Guardrails | Content safety, validation, error handling |
| Local LLMs | Ollama integration, privacy-focused deployments |
Quick Start
| Task | Files |
|---|---|
| OpenAI integration | openai-api-integration.md → openai-chat-completions.md |
| Claude integration | claude-api-basics.md → claude-messages-api.md |
| Gemini integration | gemini-basics.md → gemini-multimodal.md |
| Local LLM | local-llm-ollama.md |
| Prompts | prompt-basics.md → prompt-techniques.md |
| Function calling | function-calling-patterns.md + tool-use-basics.md |
Methodologies (26)
OpenAI (5):
- openai-api-integration: API setup, authentication, models
- openai-chat-completions: Chat API, streaming, parameters
- openai-function-calling: Tool definitions, execution
- openai-embeddings: Text embeddings (moved to rag-engineer)
- openai-assistants: Assistant API, threads, tools
Claude (6):
- claude-api-basics: Anthropic API setup
- claude-messages-api: Messages API, streaming
- claude-tool-use: Tool definitions, structured output
- claude-advanced-features: Extended thinking, prompt caching
- claude-best-practices: Safety, context management
- claude-api-integration: SDK integration patterns
Gemini (4):
- gemini-basics: Google AI setup, models
- gemini-multimodal: Vision, audio, video inputs
- gemini-function-calling: Function declarations
- gemini-api-integration: SDK patterns
Prompt Engineering (6):
- prompt-basics: Structure, few-shot, roles
- prompt-techniques: Advanced patterns, templates
- cot-basics: Chain-of-thought fundamentals
- cot-techniques: Zero-shot CoT, reasoning chains
- structured-output-basics: JSON mode, schemas
- structured-output-patterns: Advanced structuring
Safety & Tools (4):
- guardrails-basics: Content safety, PII detection
- guardrails-implementation: Implementation patterns
- function-calling-patterns: Tool design, error handling
- tool-use-basics: Tool fundamentals
Local (1):
- local-llm-ollama: Ollama setup, model management
Code Examples
OpenAI Chat Completion
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantum computing"}
]
)
print(response.choices[0].message.content)
Claude Messages
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain RAG systems"}]
)
print(message.content[0].text)
Function Calling
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string"}
}
}
}
}]
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "What's the weather in SF?"}],
tools=tools
)
Related Skills
| Skill | Relationship |
|---|---|
| faion-rag-engineer | Uses embeddings APIs |
| faion-ai-agents | Uses tool calling |
| faion-ml-ops | Uses for evaluation |
LLM Integration v1.0 | 26 methodologies