From talent-scout
First-time setup and onboarding for talent-scout. Triggers automatically via SessionStart hook when ~/.talent-scout does not exist. Captures the LinkdAPI key, delegates thesis drafting to the `ts-interview` skill, then atomically writes all config on user confirmation. Also use when the user says "reconfigure talent-scout", "reset setup", or "reinitialize".
How this skill is triggered — by the user, by Claude, or both
Slash command
/talent-scout:initThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Onboards a new user in three acts: capture + verify the LinkdAPI key, delegate thesis/profile drafting to `ts-interview`, then atomically write everything on explicit confirmation. The thesis is the single source of truth for who we're looking for — `ts-interview` owns that conversation, `init` owns the write.
Onboards a new user in three acts: capture + verify the LinkdAPI key, delegate thesis/profile drafting to ts-interview, then atomically write everything on explicit confirmation. The thesis is the single source of truth for who we're looking for — ts-interview owns that conversation, init owns the write.
welcome → key → thesis_draft → summary → write. A reinit or legacy-migration branch may intercept before welcome.
Informational. Auto-advance to key.
"Talent-scout finds pre-founders worth backing. Setup has two parts: your API key, then a short interview to capture who you're looking for. Nothing is written to disk until you confirm at the end."
First, check whether a key is already configured. Call configure_api_key with { verify: true }:
{ ok: true, data: { verified: true, key_preview } }: Announce "Key already configured: <preview>" and advance to thesis_draft.{ ok: true, data: { configured: false } } or verified: false: fall through to the chat prompt below.Ask the user directly:
"Paste your LinkdAPI key and I'll store it in
~/.talent-scout/.env(chmod 600). The key will appear in the transcript — delete the message after if you'd like. Get one at linkdapi.com/dashboard if you don't have it."
Dispatch on their reply:
configure_api_key with { key: "<pasted-key>" }.
verified: true → announce preview, advance to thesis_draft.verified: false / INVALID_KEY → say so, ask again."No key set. Rerun /talent-scout:init when you're ready.""Got it — set LINKDAPI_KEY in ~/.talent-scout/.env (chmod 600) and rerun /talent-scout:init."The key file is written by configure_api_key. No other disk writes happen in this state.
Tell the user, then invoke the ts-interview skill:
"Next I'll hand off to the thesis interview — it captures who you're looking for in enough detail that the scout agent can run without further input. Accept the cyber defaults as-is, or walk through the 10 questions to tailor them."
Invoke ts-interview with a hint that this is the init entry point. The interview runs its flow (accept-all or walk-through), previews the drafted thesis.md and profile.json, and returns control to init with the drafted artifacts without writing them. Init remains the single write-site.
Init expects back: thesis_md (string), profile_json (object), and a dry-run triage summary for display in the summary.
If the user aborts, halt with "Setup cancelled. No files written. Rerun /talent-scout:init when you're ready."
Display the pending configuration:
Setup Summary
─────────────
API key: [verified preview]
Thesis: [one-line derived from thesis_md]
Triage filters:
- required_domain_keywords: [first few]
- auto_skip_roles: [count]
- geo: [countries / require_match]
Display dimensions: [names derived from profile_json]
Prompt: "Confirm to write this to disk, or say 'go back to thesis' to revise."
Do NOT call `bootstrap_data_dir` until the user explicitly confirms. "go" / "yes" / "looks good" are approvals; silence is not.On explicit approval:
bootstrap_data_dir with { thesis_md, profile_json, reinit_mode } where reinit_mode is "fresh", "reconfigure", or omitted for first-time setup. The tool writes config/thesis.md, config/profile.json, and scaffolds data/ atomically.doctor skill and render its output as the completion message."Setup complete. Say `start scouting` to start your first scouting session."Nothing is persisted before the summary-confirm step, with one exception: the API key file (written by configure_api_key in State 2 so we can verify it before moving on).
bootstrap_data_dir runs in State 5.bootstrap_data_dir writes atomically (tmp → rename); a crash mid-write leaves the directory prior-consistent.Before welcome, call read_thesis to detect an existing ~/.talent-scout/config/thesis.md. If found, ask:
"Talent-scout is already set up. Want to keep the current config, reconfigure (re-run the interview, keep candidates), or fresh init (archive current data to a timestamped backup and start over)?"
"No changes. Say `start scouting` when you're ready."key if already verified, run thesis_draft, pass reinit_mode: "reconfigure" to bootstrap_data_dir (meta files preserved).reinit_mode: "fresh" — the tool archives the old data/ before scaffolding.If read_thesis reports no thesis but legacy config exists (detect via read_meta for a pre-redesign marker like "rubric.json"), inform the user their old setup will be migrated (nothing deleted, old config preserved for reference), then call migrate_legacy (Task 25) to seed the interview defaults and enter thesis_draft. If migrate_legacy is not yet available, fall back to thesis_draft with the seed defaults and note manual review in the summary.
key, re-prompt. Do not advance.ts-interview aborted or errors out: halt cleanly, no writes. The key file (if created) survives.bootstrap_data_dir error on write: surface the error, keep the drafted artifacts in memory, offer a retry. If the error is a reinit-mode mismatch (Config already exists), prompt for reconfigure vs fresh and retry.ts-interview in its hunting-grounds question — steer them there.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.