Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Collect Groq debug evidence for support tickets and troubleshooting. Use when encountering persistent issues, preparing support tickets, or collecting diagnostic information for Groq problems. Trigger with phrases like "groq debug", "groq support bundle", "collect groq logs", "groq diagnostic".
.claude/skills/jeremylongshore-groq-debug-bundle/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-17 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-18 | ✗→✓ | ▲ Improved | -54% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 61% | 0% |
!node --version 2>/dev/null || echo 'N/A' !python3 --version 2>/dev/null || echo 'N/A' !npm list groq-sdk 2>/dev/null | grep groq-sdk || echo 'groq-sdk not installed'
Collect all diagnostic information needed to resolve Groq API issues. Produces a redacted support bundle (a .tar.gz) with environment info, SDK version, connectivity test results, rate limit headers, per-model latency, and redacted application logs — everything a Groq support engineer needs, with secrets masked before the archive is written.
GROQ_API_KEY set in environmentcurl and jq availablelogs/ is absent)The bundle is assembled by a six-step shell script. Each step appends to a file inside a timestamped $BUNDLE_DIR; the final step tars it and deletes the working copy. Run the steps in order in one shell, or paste the whole sequence into a script.
GET /openai/v1/models to confirm auth and count available models.x-ratelimit-*, retry-after, and x-request-id response headers.logs/*.log and mask any gsk_ keys and .env values.tar -czf the directory, remove the working copy, and print a review reminder.The skeleton of Step 1 (the rest is in the full walkthrough):
bash#!/bin/bash set -euo pipefail BUNDLE_DIR="groq-debug-$(date +%Y%m%d-%H%M%S)" mkdir -p "$BUNDLE_DIR" # ... append environment, connectivity, rate-limits, latency, logs ...
See references/implementation.md for the complete, copy-pasteable six-step script.
A single archive named groq-debug-TIMESTAMP.tar.gz (where TIMESTAMP is YYYYMMDD-HHMMSS) containing:
| File | Purpose | Sensitive? | |------|---------|-----------| | environment.txt | Node/Python versions, SDK version, key fingerprint | Key prefix only | | connectivity.txt | API reachability, model count | No | | rate-limits.txt | Current rate limit headers | No | | latency.txt | Response times per model | No | | app-logs.txt | Recent error logs (redacted) | Redacted | | config-redacted.txt | Config keys only (values masked) | Redacted |
The TypeScript diagnostic (see Examples) instead prints a JSON report with auth, modelsAvailable, completion, latencyMs, model, and usage.
GROQ_API_KEY unset — environment.txt records NOT SET and every curl step returns 401; export the key before collecting.401 Invalid API Key — the key is wrong or revoked; the bundle still captures the failure, which is the evidence support needs.jq: command not found — install jq, or the connectivity/model-count lines will be empty (the rest of the bundle still builds).logs/ directory — Step 5 is skipped silently; the bundle omits app-logs.txt rather than failing.429 during latency/rate-limit steps — expected when debugging throttling; the captured retry-after and x-ratelimit-* headers are the point. For deeper 429 handling see groq-rate-limits.gsk_)A quick SDK-based diagnostic that confirms auth, lists models, times a completion, and prints a JSON report:
typescriptimport Groq from "groq-sdk"; const groq = new Groq(); const models = await groq.models.list(); // 401 here = bad key console.log(models.data.map((m) => m.id));
Full TypeScript diagnostic, healthy/bad-key sample outputs, and an end-to-end shell run with the resulting tarball listing are in references/examples.md.
For rate limit and 429 throttling issues, escalate to the groq-rate-limits skill, which covers backoff strategy and quota inspection in depth.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 18,012 | 11,169 | -38% | 1 | 1 | 0% | 3,124 | 1,578 | -49% | 0 | 0 | — |
case-02 | fail→fail | 22,592 | 22,744 | +1% | 1 | 1 | 0% | 4,384 | 5,747 | +31% | 0 | 0 | — |
case-03 | fail→fail | 30,196 | 24,271 | -20% | 1 | 1 | 0% | 5,873 | 5,207 | -11% | 0 | 0 | — |
case-04 | fail→pass | 10,985 | 6,243 | -43% | 1 | 1 | 0% | 1,910 | 2,297 | +20% | 0 | 0 | — |
case-05 | pass→pass | 8,770 | 11,559 | +32% | 1 | 1 | 0% | 1,709 | 2,430 | +42% | 0 | 0 | — |
case-06 | pass→pass | 15,944 | 12,287 | -23% | 1 | 1 | 0% | 1,928 | 2,581 | +34% | 0 | 0 | — |
case-07 | fail→fail | 15,994 | 11,266 | -30% | 1 | 1 | 0% | 1,805 | 2,364 | +31% | 0 | 0 | — |
case-08 | fail→fail | 9,146 | 11,699 | +28% | 1 | 1 | 0% | 1,568 | 3,293 | +110% | 0 | 0 | — |
case-09 | fail→fail | 14,073 | 5,895 | -58% | 1 | 1 | 0% | 1,480 | 2,225 | +50% | 0 | 0 | — |
case-10 | fail→fail | 14,275 | 3,779 | -74% | 1 | 1 | 0% | 1,362 | 1,898 | +39% | 0 | 0 | — |
case-11 | fail→fail | 13,888 | 3,971 | -71% | 1 | 1 | 0% | 1,407 | 1,914 | +36% | 0 | 0 | — |
case-12 | pass→pass | 15,563 | 8,916 | -43% | 1 | 1 | 0% | 1,732 | 1,954 | +13% | 0 | 0 | — |
case-13 | pass→fail | 8,665 | 7,142 | -18% | 1 | 1 | 0% | 614 | 1,552 | +153% | 0 | 0 | — |
case-14 | fail→fail | 16,004 | 11,034 | -31% | 1 | 1 | 0% | 1,699 | 2,243 | +32% | 0 | 0 | — |
case-15 | pass→pass | 9,789 | 7,574 | -23% | 1 | 1 | 0% | 1,695 | 1,702 | +0% | 0 | 0 | — |
case-16 | fail→pass | 19,281 | 12,129 | -37% | 1 | 1 | 0% | 2,389 | 2,437 | +2% | 0 | 0 | — |
case-17 | fail→pass | 16,490 | 6,933 | -58% | 1 | 1 | 0% | 1,737 | 1,565 | -10% | 0 | 0 | — |
case-18 | fail→pass | 24,283 | 2,186 | -91% | 1 | 1 | 0% | 3,630 | 1,669 | -54% | 0 | 0 | — |
case-19 | fail→pass | 17,711 | 15,753 | -11% | 1 | 1 | 0% | 1,957 | 3,152 | +61% | 0 | 0 | — |
case-20 | pass→pass | 20,812 | 23,279 | +12% | 1 | 1 | 0% | 3,986 | 4,945 | +24% | 0 | 0 | — |
case-21 | pass→pass | 27,901 | 24,955 | -11% | 1 | 1 | 0% | 3,763 | 5,755 | +53% | 0 | 0 | — |
case-22 | pass→pass | 18,729 | 12,070 | -36% | 1 | 1 | 0% | 2,424 | 2,529 | +4% | 0 | 0 | — |
case-23 | pass→pass | 7,654 | 2,091 | -73% | 1 | 1 | 0% | 1,338 | 1,593 | +19% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +17 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.