CtrlK
BlogDocsLog inGet started
Tessl Logo

juicebox-prod-checklist

Execute Juicebox production checklist. Trigger: "juicebox production", "deploy juicebox".

56

Quality

48%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/saas-packs/juicebox-pack/skills/juicebox-prod-checklist/SKILL.md
SKILL.md
Quality
Evals
Security

Juicebox Production Checklist

Overview

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.

Authentication & Secrets

  • JUICEBOX_API_KEY stored in secrets manager (not config files)
  • API key scoped to production workspace only
  • Key rotation schedule documented (90-day cycle)
  • Separate credentials for dev/staging/prod environments
  • Candidate data access restricted to authorized roles

API Integration

  • Production base URL configured (https://api.juicebox.ai/v1)
  • Rate limiting configured per plan tier
  • Dataset creation and query endpoints tested end-to-end
  • Analysis result pagination implemented for large datasets
  • Search query optimization validated (precision vs recall tradeoffs)
  • Bulk analysis requests batched to avoid rate limits
  • Result caching configured for repeated queries

Error Handling & Resilience

  • Circuit breaker configured for Juicebox API outages
  • Retry with exponential backoff for 429/5xx responses
  • Candidate data encrypted at rest in downstream storage
  • GDPR/CCPA retention policy enforced on stored profiles
  • Empty result sets handled gracefully (no silent failures)
  • Quota exhaustion detected before critical searches fail

Monitoring & Alerting

  • API latency tracked per endpoint (search, analysis, datasets)
  • Error rate alerts set (threshold: >5% over 5 minutes)
  • Quota usage monitored with alert at 80% consumption
  • Analysis completion rate tracked for reliability metrics
  • Daily digest of search volumes and result quality

Validation Script

async 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();

Error Handling

CheckRisk if SkippedPriority
API key rotationExpired key blocks all searchesP1
GDPR/CCPA retentionRegulatory violation on candidate dataP1
Quota monitoringExhaustion blocks time-sensitive searchesP2
Rate limit handlingBulk analysis requests rejectedP2
Data encryption at restCandidate PII exposure riskP3

Resources

  • Juicebox Platform
  • Juicebox Status

Next Steps

See juicebox-security-basics for candidate data protection and compliance.

Repository
jeremylongshore/claude-code-plugins-plus-skills
Last updated
Created

Is this your skill?

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.