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".
78
100%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
!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):
#!/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:
import 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.
4c47e33
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.