Implement Juicebox candidate enrichment workflow. Use when enriching profile data, gathering additional candidate details, or building comprehensive candidate profiles. Trigger with phrases like "juicebox enrich profile", "juicebox candidate details", "enrich candidate data", "juicebox profile enrichment".
Build custom queries, apply multi-dimensional filters, and run cross-dataset analysis
on your Juicebox people-intelligence data. Use this workflow when you need to go beyond
standard search — comparing candidate pools across roles, analyzing skill density by
geography, or identifying talent trends over time. This is the secondary workflow;
for basic search and enrichment, see juicebox-core-workflow-a.
const query = await client.analysis.query({
dataset: 'candidates',
filters: [
{ field: 'skills', operator: 'contains_any', value: ['TypeScript', 'Rust', 'Go'] },
{ field: 'experience_years', operator: 'gte', value: 5 },
{ field: 'location.country', operator: 'eq', value: 'US' },
],
sort: { field: 'relevance_score', order: 'desc' },
limit: 100,
});
console.log(`Found ${query.total} candidates matching filters`);
query.results.forEach(c =>
console.log(` ${c.name} — ${c.title} (${c.relevance_score}/100)`)
);
const comparison = await client.analysis.compare({
datasets: ['candidates_q1_2026', 'candidates_q4_2025'],
group_by: 'primary_skill',
metrics: ['count', 'avg_experience', 'avg_salary_estimate'],
});
comparison.groups.forEach(g =>
console.log(`${g.skill}: Q1=${g.datasets[0].count} vs Q4=${g.datasets[1].count} (${g.delta > 0 ? '+' : ''}${g.delta}%)`)
);
const density = await client.analysis.aggregate({
dataset: 'candidates',
group_by: 'location.metro_area',
metric: 'skill_density',
skill_filter: ['ML Engineering', 'Data Science'],
top_n: 10,
});
density.regions.forEach(r =>
console.log(`${r.metro}: ${r.candidate_count} candidates, density=${r.density_score}`)
);
const exportJob = await client.analysis.export({
query_id: query.id,
format: 'csv',
fields: ['name', 'email', 'primary_skill', 'experience_years', 'location'],
});
console.log(`Export ready: ${exportJob.download_url} (${exportJob.row_count} rows)`);
| Issue | Cause | Fix |
|-------|-------|-----|
| 400 Invalid filter | Unsupported operator for field type | Check field schema with client.schema.fields() |
| 404 Dataset not found | Stale dataset ID or typo | List datasets with client.datasets.list() |
| 408 Query timeout | Too many filters on large dataset | Add limit or narrow date range |
| 429 Rate limited | Exceeded analysis quota | Implement backoff; check plan limits |
| Partial comparison data | One dataset has sparse coverage | Expected — use include_nulls: true for completeness |
A successful workflow produces filtered candidate lists with relevance scores, cross-dataset comparison tables showing talent market shifts, and regional skill-density rankings. Results can be exported as CSV for downstream reporting.
Run the comparison in workspace=ci-synthetic, restrict output to aggregate metrics, verify suppression=pass; contacts_exported=0, then delete the staged dataset after the redacted receipt is approved.
See juicebox-sdk-patterns for authentication and query builder helpers.
npx skills add jeremylongshore/juicebox-core-workflow-b下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Category:business