Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Execute Juicebox production checklist. Trigger: "juicebox production", "deploy juicebox".
.claude/skills/jeremylongshore-juicebox-prod-checklist/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | -44% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -28% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -14% | 0% |
Juicebox provides AI-powered people search and analysis, enabling dataset creation, candidate discovery, and structured analysis across professional profiles. A production integration queries datasets, retrieves analysis results, and powers talent intelligence workflows. Failures mean missed candidates, stale analysis data, or quota exhaustion that blocks time-sensitive searches.
JUICEBOX_API_KEY stored in secrets manager (not config files)https://api.juicebox.ai/v1)typescriptasync function checkJuiceboxReadiness(): Promise<void> { const checks: { name: string; pass: boolean; detail: string }[] = []; // API connectivity try { const res = await fetch('https://api.juicebox.ai/v1/search', { method: 'POST', headers: { Authorization: `Bearer ${process.env.JUICEBOX_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ query: 'test', limit: 1 }), }); checks.push({ name: 'Juicebox API', pass: res.ok, detail: res.ok ? 'Connected' : `HTTP ${res.status}` }); } catch (e: any) { checks.push({ name: 'Juicebox API', pass: false, detail: e.message }); } // Credentials present checks.push({ name: 'API Key Set', pass: !!process.env.JUICEBOX_API_KEY, detail: process.env.JUICEBOX_API_KEY ? 'Present' : 'MISSING' }); // Quota check try { const res = await fetch('https://api.juicebox.ai/v1/usage', { headers: { Authorization: `Bearer ${process.env.JUICEBOX_API_KEY}` }, }); const data = await res.json(); const pct = data?.usagePercent || 0; checks.push({ name: 'Quota Headroom', pass: pct < 80, detail: `${pct}% used` }); } catch (e: any) { checks.push({ name: 'Quota Headroom', pass: false, detail: e.message }); } for (const c of checks) console.log(`[${c.pass ? 'PASS' : 'FAIL'}] ${c.name}: ${c.detail}`); } checkJuiceboxReadiness();
| Check | Risk if Skipped | Priority | |-------|----------------|----------| | API key rotation | Expired key blocks all searches | P1 | | GDPR/CCPA retention | Regulatory violation on candidate data | P1 | | Quota monitoring | Exhaustion blocks time-sensitive searches | P2 | | Rate limit handling | Bulk analysis requests rejected | P2 | | Data encryption at rest | Candidate PII exposure risk | P3 |
See juicebox-security-basics for candidate data protection and compliance.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-12 | fail→pass | 23,167 | 9,961 | -57% | 1 | 1 | 0% | 3,062 | 1,709 | -44% | 0 | 0 | — |
case-01 | fail→fail | 32,080 | 54,465 | +70% | 1 | 1 | 0% | 4,992 | 5,339 | +7% | 0 | 0 | — |
case-02 | fail→fail | 21,606 | 43,270 | +100% | 1 | 1 | 0% | 3,414 | 5,797 | +70% | 0 | 0 | — |
case-03 | fail→fail | 22,281 | 30,319 | +36% | 1 | 1 | 0% | 2,948 | 5,626 | +91% | 0 | 0 | — |
case-04 | fail→fail | 15,312 | 18,570 | +21% | 1 | 1 | 0% | 2,376 | 3,261 | +37% | 0 | 0 | — |
case-05 | fail→pass | 15,845 | 8,260 | -48% | 1 | 1 | 0% | 1,722 | 1,636 | -5% | 0 | 0 | — |
case-06 | fail→pass | 20,395 | 18,374 | -10% | 1 | 1 | 0% | 2,425 | 3,117 | +29% | 0 | 0 | — |
case-07 | fail→pass | 12,833 | 7,802 | -39% | 1 | 1 | 0% | 2,048 | 1,478 | -28% | 0 | 0 | — |
case-08 | fail→pass | 16,920 | 7,707 | -54% | 1 | 1 | 0% | 1,570 | 1,357 | -14% | 0 | 0 | — |
case-09 | fail→pass | 16,751 | 7,996 | -52% | 1 | 1 | 0% | 2,631 | 1,550 | -41% | 0 | 0 | — |
case-10 | fail→pass | 15,484 | 9,162 | -41% | 1 | 1 | 0% | 2,356 | 1,667 | -29% | 0 | 0 | — |
case-11 | fail→pass | 21,698 | 8,874 | -59% | 1 | 1 | 0% | 2,703 | 1,618 | -40% | 0 | 0 | — |
case-13 | fail→fail | 26,023 | 17,555 | -33% | 1 | 1 | 0% | 2,746 | 4,042 | +47% | 0 | 0 | — |
case-14 | pass→pass | 21,667 | 25,535 | +18% | 1 | 1 | 0% | 2,944 | 4,864 | +65% | 0 | 0 | — |
case-15 | fail→pass | 24,558 | 4,167 | -83% | 1 | 1 | 0% | 3,786 | 1,785 | -53% | 0 | 0 | — |
case-16 | pass→pass | 21,940 | 13,112 | -40% | 1 | 1 | 0% | 2,278 | 3,045 | +34% | 0 | 0 | — |
case-17 | pass→pass | 16,365 | 24,553 | +50% | 1 | 1 | 0% | 2,836 | 4,098 | +44% | 0 | 0 | — |
case-18 | pass→pass | 18,293 | 21,081 | +15% | 1 | 1 | 0% | 2,895 | 3,764 | +30% | 0 | 0 | — |
case-19 | fail→pass | 23,117 | 4,267 | -82% | 1 | 1 | 0% | 2,649 | 1,629 | -39% | 0 | 0 | — |
case-20 | pass→pass | 19,782 | 22,834 | +15% | 1 | 1 | 0% | 3,468 | 5,271 | +52% | 0 | 0 | — |
case-21 | pass→pass | 25,639 | 29,510 | +15% | 1 | 1 | 0% | 3,394 | 6,342 | +87% | 0 | 0 | — |
case-22 | pass→pass | 21,232 | 34,425 | +62% | 1 | 1 | 0% | 3,841 | 6,362 | +66% | 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. 22 cases were attempted. The headline lift of +45 percentage points is the difference between those two pass rates over the 22 comparable cases.
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.