From talent-scout
Use when the user asks to expand from a specific candidate's network. Triggers on 'expand from <name>', 'expand <name>', 'find similar to <name>', 'people like <name>', "who's in <name>'s network", 'mine <name>'s connections'. Resolves the name to a candidate id, dispatches the expand agent, then enriches and assesses any newly discovered candidates. Does NOT trigger for general session work — those go to orchestrator.
How this skill is triggered — by the user, by Claude, or both
Slash command
/talent-scout:expandThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Mines the LinkedIn network of an existing pipeline candidate to surface similar profiles, then enriches and assesses every newly discovered candidate. This is the user-facing wrapper around the internal `expand` agent — useful when the user has a specific seed in mind ("expand from Yael Cohen") rather than running a full session.
Mines the LinkedIn network of an existing pipeline candidate to surface similar profiles, then enriches and assesses every newly discovered candidate. This is the user-facing wrapper around the internal expand agent — useful when the user has a specific seed in mind ("expand from Yael Cohen") rather than running a full session.
Data directory: ~/.talent-scout/
Input: A candidate name (or LinkedIn slug) from the user.
Output: A summary of newly discovered candidates with tiers and the most promising leads ranked. The user decides whether to deep-dive any of them.
Why this exists separately from orchestrator: When the user names a seed explicitly, they want focused network mining around that one candidate — not a multi-phase session plan. This skill resolves the name, dispatches the expand agent on that single seed, and runs the standard enrich + assess pipeline on whatever it returns.
Why two-step enrich then assess: Same rationale as scout. Enrichment is mechanical OSINT gathering (cheap to parallelize). Assessment requires scoring judgment on complete data. Separating them means assess always works with full OSINT context.
expand agent — network mining from a seed candidate (returns new_candidate_ids for caller to enrich + assess). Sonnet model.enrich agent — OSINT enrichment in scout mode.assess agent — single-candidate scoring + thesis. Sonnet model.read_meta with name "candidates_index.json" — for name → id resolution.rank_candidates — to order the new candidates by quality.Extract the seed candidate's name (or slug) from the user's message. Common forms:
If the user gave a LinkedIn slug directly (e.g. ron-shemesh-0b068792), skip to Step 3.
Call read_meta with name "candidates_index.json". Search the index for a candidate whose name matches the parsed input (case-insensitive, allow partial matches on first or last name).
/scout) or asking the orchestrator to onboard them as a seed. Do not silently fall through to a cold LinkedIn search — that's not what expand does.The expand agent needs a linkedin_urn on the seed. The agent itself validates this and will refuse if it's missing — you don't need to pre-check, but if you already know the candidate has no URN (e.g. the index entry shows linkedin_urn: null), tell the user the seed needs a profile fetch first and stop.
Agent(subagent_type: "talent-scout:expand", model: "sonnet", prompt: "Expand from candidates: {id}")
Sonnet is required per project convention (and the agent's frontmatter pins it). Wait for the agent to return.
The expand agent will:
get_similar_profiles on the seed's URN ("People also viewed").triage_profiles.save_candidate every VISIT, applying server-side dedup.new_candidate_ids — the slugs of candidates newly added to the pipeline.If the agent returns zero new candidates, report that to the user and stop. Network already mined, or every discovered profile was a duplicate or auto-SKIP.
The expand agent intentionally does not score. It hands back the new candidate ids so this skill can run the standard pipeline on them.
For each id in new_candidate_ids, dispatch an enrich agent in scout mode. Dispatch them all in a single batch — they're independent.
Agent(subagent_type: "talent-scout:enrich", prompt: "Enrich candidate '{id}' in scout mode")
Wait for every enrich agent to return before proceeding. If any fails (returns {ok: false, code, message}), surface the per-candidate failure and continue with the rest.
After enrichment completes for the batch, dispatch assess agents. Dispatch them all in a single batch — they're independent.
Agent(subagent_type: "talent-scout:assess", model: "sonnet", prompt: "Assess candidate ID '{id}'")
Sonnet is required per project convention. Wait for every assess agent to return. Collect {id, name, tier, archetype, score_summary} from each. Surface any per-candidate failures and continue.
Call rank_candidates to produce shortlist-aware ordering across the newly assessed batch.
Report:
If the batch is small (one or two candidates), present each individually with their score summary. If larger, group by tier and call out standouts.
This skill expands from a single named seed and runs enrich + assess on whatever the expand agent surfaces. It does not chain into deep-dive, outreach, or further expansion — those are separate user decisions. If the user wants to keep going (deep-dive a result, expand from one of the new candidates), they invoke the next skill explicitly.
If the seed cannot be resolved (Phase 1), or the expand agent returns zero new candidates (end of Phase 2), stop and report cleanly. Do not fall back to a cold LinkedIn search — expand is specifically for network mining around a known seed.
npx claudepluginhub matantsach/talent-scout-plugin --plugin talent-scoutProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.