juicebox-debug-bundle
Gathers diagnostic information including API health, quotas, and recent logs for Juicebox support tickets.
Install
mkdir -p .claude/skills/juicebox-debug-bundle && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7100" && unzip -o skill.zip -d .claude/skills/juicebox-debug-bundle && rm skill.zipInstalls to .claude/skills/juicebox-debug-bundle
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.
Collect Juicebox debug evidence.Key capabilities
- →Collect Juicebox API connectivity status
- →Gather dataset health information
- →Record analysis quota usage
- →Capture rate limit state
- →Archive diagnostic data into a single bundle
How it works
The skill executes a bash script that uses curl to query various Juicebox API endpoints for health, quota, datasets, analyses, and rate limits. It then bundles the responses into a timestamped tar.gz file.
Inputs & outputs
When to use juicebox-debug-bundle
- →Creating Juicebox support tickets
- →Troubleshooting API authentication errors
- →Diagnosing stalled data uploads
- →Checking account quota usage
About this skill
Juicebox Debug Bundle
Overview
Collect Juicebox API connectivity status, dataset health, analysis quota usage, and rate limit state into a single diagnostic archive. This bundle helps troubleshoot failed dataset uploads, stalled AI analysis runs, quota exhaustion, and API authentication problems.
Debug Collection Script
#!/bin/bash
set -euo pipefail
BUNDLE="debug-juicebox-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"
# Environment check
echo "=== Juicebox Debug Bundle ===" | tee "$BUNDLE/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE/summary.txt"
echo "JUICEBOX_API_KEY: ${JUICEBOX_API_KEY:+[SET]}" >> "$BUNDLE/summary.txt"
# API connectivity — health endpoint
HTTP=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer ${JUICEBOX_API_KEY}" \
https://api.juicebox.ai/v1/health 2>/dev/null || echo "000")
echo "API Status: HTTP $HTTP" >> "$BUNDLE/summary.txt"
# Account quota
curl -s -H "Authorization: Bearer ${JUICEBOX_API_KEY}" \
"https://api.juicebox.ai/v1/account/quota" \
> "$BUNDLE/quota.json" 2>&1 || true
# Datasets and recent analyses
curl -s -H "Authorization: Bearer ${JUICEBOX_API_KEY}" \
"https://api.juicebox.ai/v1/datasets?limit=10" > "$BUNDLE/datasets.json" 2>&1 || true
curl -s -H "Authorization: Bearer ${JUICEBOX_API_KEY}" \
"https://api.juicebox.ai/v1/analyses?limit=5" > "$BUNDLE/recent-analyses.json" 2>&1 || true
# Rate limit headers
curl -s -D "$BUNDLE/rate-headers.txt" -o /dev/null \
-H "Authorization: Bearer ${JUICEBOX_API_KEY}" https://api.juicebox.ai/v1/health 2>/dev/null || true
tar -czf "$BUNDLE.tar.gz" "$BUNDLE" && rm -rf "$BUNDLE"
echo "Bundle: $BUNDLE.tar.gz"
Analyzing the Bundle
tar -xzf debug-juicebox-*.tar.gz
cat debug-juicebox-*/summary.txt # Auth + API health
jq '{used, limit, remaining}' debug-juicebox-*/quota.json # Quota usage
jq '.[] | {id, name, row_count}' debug-juicebox-*/datasets.json # Dataset inventory
jq '.[] | {id, status, created_at}' debug-juicebox-*/recent-analyses.json
Common Issues
| Symptom | Check in Bundle | Fix |
|---|---|---|
| API returns 401 | summary.txt shows HTTP 401 | Regenerate API key in Juicebox Settings > API Keys |
| Dataset upload stuck | datasets.json shows processing status for >10 min | Check file format (CSV/JSON required); reduce file size below 100MB |
| Analysis quota exhausted | quota.json shows remaining at 0 | Upgrade plan or wait for monthly quota reset |
| Analysis run failed | recent-analyses.json shows error status | Check dataset has required columns; verify data types match analysis type |
| Rate limited (429) | rate-headers.txt shows Retry-After | Implement exponential backoff; batch dataset queries |
Automated Health Check
async function checkJuicebox(): Promise<void> {
const key = process.env.JUICEBOX_API_KEY;
if (!key) { console.error("[FAIL] JUICEBOX_API_KEY not set"); return; }
const res = await fetch("https://api.juicebox.ai/v1/health", {
headers: { Authorization: `Bearer ${key}` },
});
console.log(`[${res.ok ? "OK" : "FAIL"}] API: HTTP ${res.status}`);
if (res.ok) {
const quota = await fetch("https://api.juicebox.ai/v1/account/quota", {
headers: { Authorization: `Bearer ${key}` },
});
if (quota.ok) {
const data = await quota.json();
console.log(`[INFO] Quota remaining: ${data.remaining ?? "unknown"}`);
}
}
}
checkJuicebox();
Resources
- Juicebox Status
Next Steps
See juicebox-common-errors.
Limitations
- →Requires a JUICEBOX_API_KEY environment variable to be set
- →Dataset upload troubleshooting is limited to checking processing status and file size
- →Analysis run failure diagnosis is limited to checking required columns and data types
How it compares
This skill automates the collection of multiple diagnostic data points into a single archive, unlike manually querying each API endpoint individually.
Compared to similar skills
juicebox-debug-bundle side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| juicebox-debug-bundle (this skill) | 1 | 27d | Caution | Beginner |
| godot | 1,044 | 5mo | Review | Intermediate |
| python-testing-patterns | 77 | 2mo | Review | Intermediate |
| error-handling-patterns | 35 | 2mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
python-testing-patterns
wshobson
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.
error-handling-patterns
wshobson
Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applications. Use when implementing error handling, designing APIs, or improving application reliability.
chrome-devtools
mrgoonie
Browser automation, debugging, and performance analysis using Puppeteer CLI scripts. Use for automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, and JavaScript debugging.
unreal-engine-cpp-pro
sickn33
Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices.
python-performance-optimization
wshobson
Profile and optimize Python code using cProfile, memory profilers, and performance best practices. Use when debugging slow Python code, optimizing bottlenecks, or improving application performance.