From juicebox-pack
Applies production Juicebox SDK patterns: singleton client, batch profile search with dedup, error retry for rate limits. For scalable recruiting/SaaS apps.
How this skill is triggered — by the user, by Claude, or both
Slash command
/juicebox-pack:juicebox-sdk-patternsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
```typescript
let instance: JuiceboxClient | null = null;
export function getClient(): JuiceboxClient {
if (!instance) instance = new JuiceboxClient({ apiKey: process.env.JUICEBOX_API_KEY });
return instance;
}
async function batchSearch(queries: string[]): Promise<Profile[]> {
const seen = new Set<string>();
const all: Profile[] = [];
for (const q of queries) {
const r = await client.search({ query: q, limit: 20 });
for (const p of r.profiles) {
if (!seen.has(p.linkedin_url)) { seen.add(p.linkedin_url); all.push(p); }
}
}
return all;
}
async function safeCall<T>(fn: () => Promise<T>): Promise<T | null> {
try { return await fn(); }
catch (e: any) {
if (e.status === 429) { await new Promise(r => setTimeout(r, 5000)); return fn(); }
return null;
}
}
Apply in juicebox-core-workflow-a.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin juicebox-packProvides Juicebox SDK examples for natural language people search, profile enrichment, and contact data in TypeScript and Python. Useful for recruiting app prototypes.
Provides recruiting expertise for sourcing strategy, candidate evaluation, structured hiring, and employment law compliance. Activates when the user works on hiring or talent acquisition tasks.
Searches LinkedIn, Indeed, GitHub via Nimble Web Search Agents to find qualified candidates. Accepts job descriptions or role titles, returns ranked list.