juicebox-core-workflow-a

Juicebox People Search Workflow

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "juicebox-core-workflow-a" with this command: npx skills add jeremylongshore/claude-code-plugins-plus-skills/jeremylongshore-claude-code-plugins-plus-skills-juicebox-core-workflow-a

Juicebox People Search Workflow

Overview

Implement a complete people search workflow using Juicebox AI for candidate sourcing and talent discovery.

Prerequisites

  • Juicebox SDK configured

  • Understanding of search query syntax

  • Knowledge of result filtering

Instructions

Step 1: Define Search Parameters

// types/search.ts export interface CandidateSearch { role: string; skills: string[]; location?: string; experienceYears?: { min?: number; max?: number }; companies?: string[]; education?: string[]; }

export function buildSearchQuery(params: CandidateSearch): string { const parts = [params.role];

if (params.skills.length > 0) { parts.push(skills:(${params.skills.join(' OR ')})); }

if (params.location) { parts.push(location:"${params.location}"); }

return parts.join(' AND '); }

Step 2: Implement Search Pipeline

// workflows/candidate-search.ts import { JuiceboxService } from '../lib/juicebox-client';

export class CandidateSearchPipeline { constructor(private juicebox: JuiceboxService) {}

async searchCandidates(criteria: CandidateSearch) { const query = buildSearchQuery(criteria);

// Initial broad search
const results = await this.juicebox.searchPeople(query, {
  limit: 100,
  fields: ['name', 'title', 'company', 'location', 'skills', 'experience']
});

// Score and rank candidates
const scored = results.profiles.map(profile => ({
  ...profile,
  score: this.calculateFitScore(profile, criteria)
}));

// Sort by fit score
return scored.sort((a, b) => b.score - a.score);

}

private calculateFitScore(profile: Profile, criteria: CandidateSearch): number { let score = 0;

// Skills match
const matchedSkills = profile.skills.filter(s =>
  criteria.skills.includes(s.toLowerCase())
);
score += matchedSkills.length * 10;

// Experience match
if (criteria.experienceYears) {
  const years = profile.experienceYears || 0;
  if (years >= (criteria.experienceYears.min || 0)) {
    score += 20;
  }
}

return score;

} }

Step 3: Handle Pagination

async function* searchAllCandidates( juicebox: JuiceboxService, query: string ): AsyncGenerator<Profile> { let cursor: string | undefined;

do { const results = await juicebox.searchPeople(query, { limit: 50, cursor });

for (const profile of results.profiles) {
  yield profile;
}

cursor = results.nextCursor;

} while (cursor); }

Output

  • Search query builder

  • Candidate scoring system

  • Paginated result handling

  • Ranked candidate list

Error Handling

Error Cause Solution

No Results Query too restrictive Broaden criteria

Slow Response Large dataset Use pagination

Score Issues Missing data Handle null values

Examples

Full Pipeline Usage

const pipeline = new CandidateSearchPipeline(juiceboxService);

const candidates = await pipeline.searchCandidates({ role: 'Senior Software Engineer', skills: ['typescript', 'react', 'node.js'], location: 'San Francisco Bay Area', experienceYears: { min: 5 } });

console.log(Found ${candidates.length} matching candidates); candidates.slice(0, 10).forEach(c => { console.log(${c.name} (Score: ${c.score}) - ${c.title} at ${c.company}); });

Resources

  • Search Query Syntax

  • Filtering Guide

Next Steps

After implementing search, explore juicebox-core-workflow-b for candidate enrichment.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

backtesting-trading-strategies

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

svg-icon-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

performance-lighthouse-runner

No summary provided by upstream source.

Repository SourceNeeds Review