jeremylongshore/claude-code-plugins-plus-skills
juicebox-pack
plugins/saas-packs/juicebox-pack/skills/juicebox-debug-bundle/SKILL.md
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/main/plugins/saas-packs/juicebox-pack/skills/juicebox-debug-bundle/SKILL.md -a claude-code --skill juicebox-debug-bundleInstallation paths:
.claude/skills/juicebox-debug-bundle/# Juicebox Debug Bundle
## Overview
Collect comprehensive diagnostic information for Juicebox support tickets.
## Prerequisites
- Access to application logs
- Juicebox API key configured
- Terminal access
## Instructions
### Step 1: Collect Environment Info
```bash
#!/bin/bash
# collect-debug-info.sh
echo "=== Juicebox Debug Bundle ===" > debug-bundle.txt
echo "Timestamp: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> debug-bundle.txt
echo "" >> debug-bundle.txt
echo "=== Environment ===" >> debug-bundle.txt
echo "Node Version: $(node -v)" >> debug-bundle.txt
echo "NPM Version: $(npm -v)" >> debug-bundle.txt
echo "OS: $(uname -a)" >> debug-bundle.txt
echo "" >> debug-bundle.txt
echo "=== SDK Version ===" >> debug-bundle.txt
npm list @juicebox/sdk 2>/dev/null >> debug-bundle.txt
echo "" >> debug-bundle.txt
```
### Step 2: Test API Connectivity
```bash
echo "=== API Connectivity ===" >> debug-bundle.txt
# Health check
echo "Health Check:" >> debug-bundle.txt
curl -s -w "\nHTTP Status: %{http_code}\nTime: %{time_total}s\n" \
https://api.juicebox.ai/v1/health >> debug-bundle.txt
echo "" >> debug-bundle.txt
# Auth verification (masked key)
echo "Auth Test:" >> debug-bundle.txt
MASKED_KEY="${JUICEBOX_API_KEY:0:10}...${JUICEBOX_API_KEY: -4}"
echo "API Key (masked): $MASKED_KEY" >> debug-bundle.txt
curl -s -w "\nHTTP Status: %{http_code}\n" \
-H "Authorization: Bearer $JUICEBOX_API_KEY" \
https://api.juicebox.ai/v1/auth/me >> debug-bundle.txt
echo "" >> debug-bundle.txt
```
### Step 3: Gather Error Logs
```typescript
// debug/collect-logs.ts
import * as fs from 'fs';
export function collectRecentErrors(logPath: string): string[] {
const logs = fs.readFileSync(logPath, 'utf-8');
const lines = logs.split('\n');
// Filter for Juicebox-related errors in last 24 hours
const cutoff = Date.now() - 24 * 60 * 60 * 1000;
return lines.filter(line => {
if (!line.includes('juicebox') && !line.includes('Juicebox')) {
return false;
}
const match = line.