From talent-scout
Use when the user asks to deep-dive, investigate, or look more carefully at a specific candidate by name. Triggers on 'deep-dive <name>', 'deep dive <name>', 'investigate <name>', 'look more carefully at <name>', 'tell me more about <name>', 'who is <name>'. Resolves the name to a candidate id, ensures enrichment, dispatches the deep-dive agent. Does NOT trigger for general session work ('start scouting', 'continue', 'what's the status') — those go to orchestrator/debrief.
How this skill is triggered — by the user, by Claude, or both
Slash command
/talent-scout:deep-diveThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
User-invokable wrapper around the `talent-scout:deep-dive` agent. Resolves a candidate name to an id, ensures the candidate is enriched to the deep-dive minimum, and dispatches the agent. Returns the agent's thesis summary.
User-invokable wrapper around the talent-scout:deep-dive agent. Resolves a candidate name to an id, ensures the candidate is enriched to the deep-dive minimum, and dispatches the agent. Returns the agent's thesis summary.
Data directory: ~/.talent-scout/
Input: A candidate name from the user message (e.g. "deep-dive Alice Cohen", "investigate Bob Levi", "tell me more about Carol").
Output: The deep-dive agent's compact result — the candidate's name and a 2–3 sentence thesis summary grounded in the user's thesis.
Why this skill exists: The deep-dive agent is a subagent dispatched by orchestrator and scout — it expects a candidate id, not a name, and assumes enrichment is already done. This skill closes the gap so the user can target a specific person by name.
read_meta with name "candidates_index.json" — name → id resolutionread_candidate — to inspect enrichment statetalent-scout:enrich (deep-dive mode) — fills OSINT sources to the deep-dive minimumtalent-scout:deep-dive (Sonnet) — synthesizes the report and investment thesistalent-scout:scout — used to ingest a candidate not yet in the pipelinedocs/scoring-reference.md — tier and dimension definitionsExtract the candidate's name from the user's message. Strip leading verbs ("deep-dive", "investigate", "look more carefully at", "tell me more about", "who is"). What remains is the name query — may be a full name, a first name, or a partial.
If you cannot identify a name (the request is generic or ambiguous), stop and ask the user who they want to deep-dive.
Call read_meta with name: "candidates_index.json". Search entries[] for matches against the name query — case-insensitive substring on entry.name. Also accept an exact match on entry.id (the LinkedIn slug) when the user pastes one.
Branch on match count:
Exactly one match: Use that entry.id. Briefly confirm to the user — e.g. "Found Eli Cohen ({entry.current_role}, {entry.geo}). Starting deep-dive."
Multiple matches: Present a numbered list with name, current role, tier, and geo for each. Ask the user to pick a number. Do not proceed until they answer.
Zero matches: The candidate isn't in the pipeline yet. Present two options:
Skill(skill: "talent-scout:scout", args: "Find and ingest {name}"). Wait for it to surface a candidate, then re-run this skill.Do NOT auto-ingest without explicit user confirmation. Ingestion costs LinkdAPI credits and may surface a different person than intended.
Call read_candidate({id}). Inspect:
enrichment.sources_checked — how many OSINT sources have been filledscores — whether scout-level assessment has happenedstage — current pipeline stage (new, reviewed, researched, contacted, archived)deep_dive — whether a deep-dive report already existsIf deep_dive.report_path is already set and stage is researched or later, surface that to the user — "{name} already has a deep-dive report from {deep_dive.completed_at}. Re-run anyway?" Wait for confirmation before proceeding.
The deep-dive agent gates on osint_sources_checked >= profile.policies.require_osint_minimum_for_deep_dive (typically 6). If the candidate is below that minimum, dispatch the enrich agent in deep-dive mode:
Agent(subagent_type: "talent-scout:enrich", prompt: "Enrich candidate '{id}' in deep-dive mode")
The enrich agent reads the user's thesis to drive query formulation, fills any unchecked sources, and persists findings. Wait for it to return before continuing.
If enrichment returns {ok: false, code: ...}, surface the failure and stop — don't run the deep-dive against incomplete OSINT.
After enrichment completes (or was already sufficient), dispatch the deep-dive agent. The model: "sonnet" is required — assess and deep-dive agents always run on Sonnet for quality.
Agent(subagent_type: "talent-scout:deep-dive", model: "sonnet", prompt: "Deep dive candidate '{id}'")
The agent reads the candidate record, runs lookup_connections and get_similar_profiles, writes the report to data/candidates/{id}/deep-dive.md via save_report, persists structured fields via update_candidate, and returns a compact result.
If the agent returns {ok: false, code: ...}, surface the failure and stop.
Show the user a concise summary:
candidates_index (or note "not yet scored" if scout-level assessment is missing)data/candidates/{id}/deep-dive.md — the user can open it from the dashboardDo NOT paste the full report text. The agent already persisted it; the user can read it on demand.
last_failure field carries the detail; the orchestrator's next session will retry.last_failure mechanic applies.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.