groq-core-workflow-a
Covers core Groq integration patterns including function calling and structured outputs for rapid inference tasks.
Install
mkdir -p .claude/skills/groq-core-workflow-a && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/9309" && unzip -o skill.zip -d .claude/skills/groq-core-workflow-a && rm skill.zipInstalls to .claude/skills/groq-core-workflow-a
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Execute Groq's primary workflow: chat completions with tool use and JSON mode. Use when implementing chat interfaces, function calling, structured output, or building AI features with Groq's fast inference. Trigger with phrases like "groq chat completion", "groq tool use", "groq function calling", "groq JSON mode".Key capabilities
- →Execute chat completions with system and user messages
- →Implement function calling loops
- →Generate structured JSON outputs
- →Enforce schema compliance with strict mode
- →Manage multi-turn conversation history
How it works
The skill utilizes the Groq SDK to interface with LPU inference models, supporting chat completions, tool use, and structured output formats.
Inputs & outputs
When to use groq-core-workflow-a
- →Integrating chat completions in applications
- →Implementing function calling with Groq
- →Generating structured JSON outputs
- →Building real-time AI agents
About this skill
Groq Core Workflow A: Chat, Tools & Structured Output
Overview
Primary integration patterns for Groq: chat completions, tool/function calling, JSON mode, and structured outputs. Groq's LPU delivers sub-200ms time-to-first-token, making these patterns viable for real-time user-facing features. This skill walks through five workflow steps; the lean skeleton lives here, and the full copy-paste code lives in references/.
Prerequisites
- Install the SDK with
npm install groq-sdk. - Set
GROQ_API_KEYin the environment (see Authentication below). - Familiarity with the Groq model line-up and which model fits each task.
Authentication
Groq authenticates via an API key. Create one at console.groq.com/keys and
export it as GROQ_API_KEY; the SDK reads it automatically, so new Groq()
needs no explicit argument. Never hardcode the key — read it from the
environment (or a secrets manager) so it stays out of source control.
Model Selection for This Workflow
| Task | Recommended Model | Why |
|---|---|---|
| Chat with tools | llama-3.3-70b-versatile | Best tool-calling accuracy |
| JSON extraction | llama-3.1-8b-instant | Fast, accurate for structured tasks |
| Structured outputs | llama-3.3-70b-versatile | Supports strict: true schema compliance |
| Vision + chat | meta-llama/llama-4-scout-17b-16e-instruct | Multimodal input |
Instructions
Work through the five patterns in order. Read the target file, then Write or Edit the integration code into your project.
- Chat completion — send
system+usermessages togroq.chat.completions.createand returnchoices[0].message.contentplususage. Skeleton below; full example in worked examples. - Tool use / function calling — a three-phase loop: send the message with
tools+tool_choice: "auto", execute any returnedtool_calls, then send the results back for the final answer. Full code in implementation. - JSON mode — set
response_format: { type: "json_object" }and describe the JSON shape in the system prompt. See implementation. - Structured outputs — use
response_format.json_schemawithstrict: truefor guaranteed schema compliance (no post-validation). See implementation. - Multi-turn conversation — accumulate the message history and push each assistant reply back onto the stack. See worked examples.
Minimal chat skeleton:
import Groq from "groq-sdk";
const groq = new Groq();
const completion = await groq.chat.completions.create({
model: "llama-3.3-70b-versatile",
messages: [
{ role: "system", content: "You are a concise technical assistant." },
{ role: "user", content: userMessage },
],
temperature: 0.7,
max_tokens: 1024,
});
// completion.choices[0].message.content, completion.usage
Output
Each pattern returns a predictable shape:
- Chat completion —
{ reply: string, usage: {...} };usagecarriesprompt_tokens/completion_tokensfor cost metering. - Tool use — the final assistant
contentstring, produced after the tool results are fed back; intermediatetool_callscarryfunction.nameand a JSON-stringfunction.arguments. - JSON mode — a parsed JavaScript object matching the shape described in the
system prompt (parse
message.contentwithJSON.parse). - Structured outputs — a parsed object guaranteed to satisfy the declared JSON schema, so no downstream validation is required.
- Multi-turn — the latest reply string, with conversation state retained in the class instance for the next turn.
Error Handling
| Error | Cause | Solution |
|---|---|---|
tool_calls with malformed JSON | Model hallucinated arguments | Wrap JSON.parse in try/catch, retry with lower temperature |
json_object returns non-JSON | System prompt missing JSON instruction | Always include "respond with JSON" in system prompt |
context_length_exceeded | Conversation too long | Trim older messages, keep system prompt |
| Tool call loop | Model keeps calling tools | Set tool_choice: "none" on final completion |
Examples
The chat skeleton above is the smallest complete call. Two fuller runnable examples live in worked examples:
- Example 1 — Chat completion with system prompt + rolling history, returning
replyand tokenusage. - Example 2 — Multi-turn conversation class that retains context across turns.
For tool use, JSON mode, and strict structured outputs, see full implementation.
Resources
- Groq Tool Use Docs
- Groq Structured Outputs
- Groq Text Generation
- Full implementation — tool use, JSON mode, structured outputs
- Worked examples — chat completion, multi-turn conversation
Next Steps
For audio, vision, and speech workflows, see the companion groq-core-workflow-b
skill, which covers Whisper transcription, vision inputs, and text-to-speech.
When not to use it
- →Do not hardcode API keys in source code
Prerequisites
Limitations
- →Model may hallucinate arguments if tool calls are malformed
- →Context length limits apply to long conversations
How it compares
It use Groq's LPU inference engine to achieve sub-200ms time-to-first-token for real-time AI features compared to standard inference providers.
Compared to similar skills
groq-core-workflow-a side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| groq-core-workflow-a (this skill) | 0 | 26d | Review | Intermediate |
| copilot-sdk | 7 | 4mo | Review | Intermediate |
| mcp-builder | 136 | 3mo | Review | Advanced |
| openrouter-function-calling | 5 | 26d | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
copilot-sdk
github
Build agentic applications with GitHub Copilot SDK. Use when embedding AI agents in apps, creating custom tools, implementing streaming responses, managing sessions, connecting to MCP servers, or creating custom agents. Triggers on Copilot SDK, GitHub SDK, agentic app, embed Copilot, programmable agent, MCP server, custom agent.
mcp-builder
anthropics
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
openrouter-function-calling
jeremylongshore
Implement function/tool calling with OpenRouter models. Use when building agents or structured outputs. Trigger with phrases like 'openrouter functions', 'openrouter tools', 'openrouter agent', 'function calling'.
develop-ai-functions-example
vercel
Develop examples for AI SDK functions. Use when creating, running, or modifying examples under examples/ai-functions/src to validate provider support, demonstrate features, or create test fixtures.
chatgpt-app-builder
mcp-use
Build ChatGPT apps with interactive widgets using mcp-use and OpenAI Apps SDK. Use when creating ChatGPT apps, building MCP servers with widgets, defining React widgets, working with Apps SDK, or when user mentions ChatGPT widgets, mcp-use widgets, or Apps SDK development.
create-mcp-app
modelcontextprotocol
This skill should be used when the user asks to "create an MCP App", "add a UI to an MCP tool", "build an interactive MCP View", "scaffold an MCP App", or needs guidance on MCP Apps SDK patterns, UI-resource registration, MCP App lifecycle, or host integration. Provides comprehensive guidance for building MCP Apps with interactive UIs.