Groq Migration Deep DiveSAFE
Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.
Overview
Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.
4f83675ca38aOBSERVED · 2026-10-08Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
--- name: groq-migration-deep-dive description: | Use when you are moving a codebase off OpenAI, Anthropic, or another LLM provider onto Groq (or between Groq model generations) and want a zero-downtime, feature-flagged cutover with a benchmark and rollback plan. Trigger with phrases like "migrate to groq", "switch to groq", "groq migration", "openai to groq", "groq replatform". allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(node:*), Bash(kubectl:*) version: 1.11.0 license: MIT author: Jeremy Longshore <[email protected]> tags: - saas - groq - migration compatibility: Designed for Claude Code --- # Groq Migration Deep Dive ## Current State !`npm list groq-sdk openai @anthropic-ai/sdk 2>/dev/null | grep -E "groq|openai|anthropic" || echo 'No LLM SDKs found'` ## Overview Migrate to Groq from OpenAI, Anthropic, or other LLM providers. Groq's OpenAI-compatible API makes migration straightforward — the primary changes are a different SDK import, different model IDs, and different response metadata. The reward is 10-50x faster inference. The safe path is a provider-abstraction layer plus feature-flagged traffic shifting: route a small canary to Groq, benchmark quality and speed, ramp to 100%, and keep a one-flag rollback the whole way. ## Migration Complexity | Source | Complexity | Key Changes | |--------|-----------|-------------| | OpenAI | Low | Import, model IDs, base URL — API shape is identical | | Anthropic | Medium | Different API shape, message format, streaming protocol | | Local LLMs | Medium | Remove infra, add API calls | | Other cloud (Bedrock, Vertex) | Medium | Remove cloud SDK, add groq-sdk | ## Prerequisites - A Groq API key (`GROQ_API_KEY`) from [console.groq.com](https://console.groq.com). - `groq-sdk` installed: `npm install groq-sdk`. - A feature-flag mechanism (LaunchDarkly, env var, config service) exposing a `groq_migration_pct` value for gradual traffic shifting. - The existing provider's key still available (`OPENAI_API_KEY` or equivalent) so you can run both providers side-by-side during the cutover. - Node `>=18` if you use the `performance.now()` benchmark helper. ## Instructions Steps 1-2 below are the essential skeleton — the two changes every migration needs. Steps 3-7 (the provider abstraction, traffic shifting, scanner, benchmark, and full compatibility matrix) are moved verbatim into the reference files linked under Examples so this file stays scannable. ### Step 1: OpenAI to Groq Migration The minimal change: swap the SDK import, client, and model ID. The response shape is identical, so downstream code (`result.choices[0].message.content`) is untouched. ```typescript // BEFORE: OpenAI import OpenAI from "openai"; const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY }); const result = await openai.chat.completions.create({ model: "gpt-4o-mini", messages: [{ role: "user", content: "Hello" }], }); // AFTER: Groq (minimal changes) import Groq from "groq-sdk"; const groq = new Groq({ apiKey: process.env.GROQ_API_KEY }); const result = await groq.chat.completions.create({ model: "llama-3.3-70b-versatile", // or "llama-3.1-8b-instant" messages: [{ role: "user", content: "Hello" }], }); // Same response shape: result.choices[0].message.content ``` ### Step 2: Model ID Mapping Centralize the OpenAI/Anthropic → Groq translation so a single map drives the whole codebase and unknown models fall back to a safe default. ```typescript // OpenAI → Groq model equivalents const MODEL_MAP: Record<string, string> = { // OpenAI → Groq (quality equivalent) "gpt-4o": "llama-3.3-70b-versatile", "gpt-4o-mini": "llama-3.1-8b-instant", "gpt-4-turbo": "llama-3.3-70b-versatile", "gpt-3.5-turbo": "llama-3.1-8b-instant", // Anthropic → Groq (approximate) "claude-3-5-sonnet": "llama-3.3-70b-versatile", "claude-3-haiku": "llama-3.1-8b-instant", }; function migrateModelId(model: string): string { return MODEL_MAP[model] || "llama-3.3-70b-versatile"; } ``` ### Steps 3-7: Zero-Downtime Rollout Once Steps 1-2 compile, wrap both providers in a common interface and shift traffic gradually. The full code lives in the references: - **Step 3 — Provider abstraction layer** and **Step 4 — feature-flag traffic shifting**: [references/implementation.md](references/implementation.md). - **Step 5 — automated migration scanner** (sizes the migration before you start) and the **rollback plan**: [references/implementation.md](references/implementation.md). - **Step 6 — comparison benchmark** and **Step 7 — the OpenAI↔Groq compatibility matrix**: [references/examples.md](references/examples.md). ## Output Running this skill's workflow produces: - A migration assessment printout from the scanner (Step 5): OpenAI import count, the distinct `gpt-*` model IDs in use, any OpenAI-only features (embeddings/images/fine-tuning) that block a clean cutover, and the number of API-key references to update. - A provider-agnostic `LLMProvider` layer with `GroqProvider` and `OpenAIProvider` implementations both live behind one `getProvider()` call. - A benchmark table per prompt: Groq vs OpenAI latency in ms, token counts, and the measured speedup factor. - A `groq_migration_pct` feature flag driving the canary → 100% ramp, with a one-flag rollback to 0%. ## Error Handling | Issue | Cause | Solution | |-------|-------|----------| | Quality regression | Different model strengths | Tune system prompts for Llama models | | Missing features | Groq doesn't have embeddings/images | Keep OpenAI for those features | | Rate limits | Different limits than OpenAI | Configure per-model rate limits | | Cost increase | Different pricing structure | Route simple tasks to 8B model | ## Examples - **Full provider abstraction + traffic shifting + scanner + rollback**: [references/implementation.md](references/implementation.md) — the complete Step 3-5 code plus the rollback procedure. - **Benchmark harness + com
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
4f83675ca38afull audit observations/trust-audit/skill/jeremylongshore__groq-migration-deep-dive.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 4f83675ca38a | SAFE | B | 89 | first audit |
Questions
What does the Groq Migration Deep Dive skill do?
Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.
Is Groq Migration Deep Dive safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Groq Migration Deep Dive access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does Groq Migration Deep Dive work with?
Its documentation mentions claude-code. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (4f83675ca38a), read on 2026-10-08. The repository is watched, and a new audit runs when it changes — this is the first audit.