talent-sourcing について
talent-sourcingは、Nimbleを利用して候補者を探す採用担当者向けスキルです。求人プラットフォームを検索し、プロフィールを抽出して、職務要件に沿って候補者を評価・順位付けします。
主な機能
- 01複数プラットフォームでの候補者検索
- 02プラットフォーム別Web Search Agentsの検出
- 03候補者プロフィールの詳細抽出
- 04候補者の適合度評価と順位付け
- 05過去に提示した候補者の記録
活用シーン
- 01職種やスキルに合う技術職候補者の発見
- 02指定地域での候補者探し
- 03求人要件に照らした候補者プロフィールの比較
MCP 対応
セッション開始時にCLIまたはMCPを選び、Nimbleを利用できます。利用可能な場合は、候補者検索プラットフォーム向けのWeb Search Agentsを検出して使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nimbleway/ agent-skills --skill talent-sourcingインストール後、Claude Code で/talent-sourcingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/memory-and-distribution.mdnimble-playbook.mdprofile-and-onboarding.md詳細
人材ソーシング
Nimble Web Search Agents を活用した候補者の発見。
ユーザーのリクエスト:$ARGUMENTS
コマンドを実行する前に、Claude Code の制約事項について references/nimble-playbook.md を読んでください(シェルの状態保持なし、&/wait の使用禁止、サブエージェントの権限、コミュニケーションスタイル)。
手順
ステップ 0:事前確認
references/nimble-playbook.md のトランスポート選択と標準の事前確認に従ってください。セッション開始時に CLI か MCP を選び、その後、標準の事前確認呼び出し(日付計算、今日の日付、プロフィール、メモリーインデックス)を並行して実行します。
同時に、以下も実行します。
mkdir -p ~/.nimble/memory/{reports,talent-sourcing}
結果に基づいて、以下のとおり進めます。
- CLI が見つからない、または API キーが設定されていない →
references/profile-and-onboarding.mdを読み、停止します - すべての
nimbleCLI 呼び出しにタグを付けます:nimble --client-source nimble-agent-skills <subcommand>。MCP リクエストはトランスポートレベルで属性付けされます。詳細はreferences/nimble-playbook.mdを参照してください。 - プロフィールがある → 業界キーワードがあれば記録し、ステップ 1 に進みます
- プロフィールがない → 問題ありません。人材ソーシングではオンボーディングは不要です。ステップ 1 に進みます
ステップ 1:リクエストを解析し、検索条件を確認する
$ARGUMENTS を解析し、以下を特定します。
- 職種 — 職位または職能(例:「シニア React エンジニア」「営業責任者」)
- 勤務地 — 都市、都市圏、地域、またはリモート(例:「ニューヨーク市」「米国全域でリモート」)
- スキル/要件 — 具体的な技術、経験年数、専門分野
- 職位レベル — ジュニア、ミッド、シニア、スタッフ、ディレクター、VP、C レベル
- 検索元の希望 — 特定のプラットフォーム(LinkedIn、GitHub、Indeed など)または「すべて」
完全な職務記述書が貼り付けられている場合は、そこから上記の項目を抽出します。
職種が未指定または曖昧な場合は、AskUserQuestion で質問します。
「どの職種を採用予定ですか?勤務地も教えてください。(例:『シニア ML エンジニア、米国全域でリモート』 または職務記述書を貼り付けてください)」
条件が明確になったら、AskUserQuestion を使ってユーザーに確認します。
「検索条件:[職種] | 勤務地:[勤務地] | 主なスキル:[スキル] | 職位レベル:[職位レベル]
検索するプラットフォーム:LinkedIn、Indeed、GitHub(技術職の場合)、AngelList / Wellfound、専門コミュニティ。
- 検索を開始
- 先に条件を調整」
ステップ 2:WSA の検出
候補者ソーシング用プラットフォームで利用可能な Web Search Agent を検出します。以下を同時に実行します。
nimble extract:templates list --limit 100 # then filter items for "linkedin people"
nimble extract:templates list --limit 100 # then filter items for "indeed resume"
nimble extract:templates list --limit 100 # then filter items for "github profile"
nimble extract:templates list --limit 100 # then filter items for "wellfound talent"
結果を entity_type: SERP または entity_type: PDP で絞り込みます。
managed_by: "nimble" を優先します。有望なエージェントを以下の方法で検証します。
nimble extract:templates get --extract-template-name {name}
検出した WSA 名と必須パラメーターをキャッシュします。プラットフォームの WSA が見つからない場合は、そのプラットフォームについて nimble search にフォールバックします。
ステップ 3:候補者を並行検索する(サブエージェント)
mode: "bypassPermissions" を指定して nimble-researcher エージェント(agents/nimble-researcher.md)を起動します。同時実行は最大 4 つです。プラットフォームごとにエージェントを 1 つ割り当てます。
エージェント 1 — LinkedIn
職種の条件に合う人物を検索します。ブール演算子形式でクエリを組み立てます。
nimble search --query "site:linkedin.com/in [Role] [Location] [Key Skills]" \
--max-results 15 --search-depth fast
nimble search --query "[Role] [Location] linkedin profile [Skill1] [Skill2]" \
--max-results 10 --search-depth fast
ステップ 2 で LinkedIn WSA が検出されている場合は、職種名、勤務地、スキルキーワードを入力として使用します。
エージェント 2 — Indeed/履歴書
nimble search --query "site:indeed.com resume [Role] [Location] [Key Skills]" \
--max-results 10 --search-depth fast
nimble search --query "[Role] resume [Location] [Key Skills]" \
--max-results 10 --search-depth fast
エージェント 3 — GitHub(技術職のみ)
技術職以外(例:営業、マーケティング、オペレーション)の場合、このエージェントはスキップします。
nimble search --query "site:github.com [Role] [Location] [Key Skills]" \
--max-results 10 --search-depth fast
nimble search --query "github [Key Skills] developer [Location] open to work" \
--max-results 10 --search-depth fast
エージェント 4 — AngelList/Wellfound とコミュニティ
nimble search --query "site:wellfound.com [Role] [Location] [Key Skills]" \
--max-results 10 --search-depth fast
nimble search --query "[Role] [Location] open to work OR seeking opportunities \
[Key Skills]" --max-results 10 --search-depth fast
各エージェントは、候補者の氏名(取得可能な場合)、プロフィール URL、現職の役職、勤務地の抜粋、推定されるスキル、就業可能性を示す情報(「就業先を探している」「求職中」「就業可能」など。取得可能な場合はイベントの日付を含む)、および情報源の URL を返します。
ステップ 4:詳細プロフィールの抽出
ステップ 3 で特定した有力候補者について(すべてのプラットフォームを合わせて、 プロフィール数は 10~20 件を目指します)、プロフィールの詳細をすべて抽出します。すべての抽出を同時に実行します。
nimble extract --url "[profile-url]" --format markdown
抽出した各プロフィールから、以下の情報を取得します。
- 氏名
- 現在の役職と会社
- 所在地
- スキル/技術スタック
- 職歴の概要(年数、主な勤務先)
- 学歴
- 就業可能性を示す情報(求職中、最近の転職、投稿状況)
- 連絡先を示す情報(メールアドレス、個人サイト、GitHub のハンドル名)
抽出に失敗した場合は、references/nimble-playbook.md のフォールバックパターンに従います。プロフィールがログインページの先にあり、抽出に失敗した場合は、検索スニペットの概要をそのまま使用してください。候補者を除外しないでください。
**抽出件数の上限:**プロフィールは最大 15 件まで抽出します。ステップ 3 で候補者が 15 人を超えて見つかった場合は、抽出前に関連度スコア(役職の適合度+スキルの重複度+所在地の適合度)で優先順位を付けます。
ステップ 5:候補者の評価と順位付け
以下の加重シグナルを使って、各候補者を 1~10 点で評価します。
| シグナル | 重み |
|---|---|
| 役職/職名の適合度 | 30% |
| 要件とのスキルの重複度 | 30% |
| 所在地の適合度 | 20% |
| シニアリティの適合度 | 10% |
| 就業可能性を示す情報 | 10% |
候補者を以下の階層に分類します。
- **Tier 1(高い適合度、7~10):**必須シグナルがすべてそろっている
- **Tier 2(部分的な適合度、4~6):**ほとんどのシグナルがそろっており、1~2 点の不足がある
- **Tier 3(可能性あり、1~3):**Tier 1/2 の候補者が少ない場合は検討する価値がある
ステップ 6:出力
結果を提示する前に、~/.nimble/memory/talent-sourcing/[role-slug].md を確認してください。以前の実行で候補者が挙がっていた場合は、新規候補者として再提示するのではなく、(previously surfaced) と記してください。
構造化された候補者レポートを提示します。
## Candidate Report: [Role] in [Location]
Searched: LinkedIn, Indeed, GitHub, Wellfound
Found: [N] candidates | Tier 1: [N] | Tier 2: [N] | Tier 3: [N]
**TL;DR:** [2-3 sentence summary of the strongest candidates and any notable patterns]
---
### Tier 1 — Strong Match
#### 1. [Name] — [Score]/10
- **Current role:** [Title] at [Company]
- **Location:** [Location]
- **Skills:** [Skill1], [Skill2], [Skill3]
- **Experience:** [X years, notable employers]
- **Availability:** [signal] — [event date or "date unknown"] — [source URL]
- **Profile:** [URL]
- **Contact signals:** [email / personal site / GitHub]
...
---
### What This Means
[1-2 sentences on hiring outlook: supply/demand signal, speed recommendation, any
standout sourcing channel]
情報が得られない項目は省略します。詳細を捏造せず、不明な項目には "unknown" と記してください。Tier 1 の各候補者について、**「この候補者を選んだ理由」**を一文で追加します。
ステップ 7:メモリーに保存
すべての Write 呼び出しを同時に実行します。
- レポート →
~/.nimble/memory/reports/talent-sourcing-{YYYY-MM-DD}.md(すべての階層を含む候補者レポート全体) - 役職別 →
~/.nimble/memory/talent-sourcing/[role-slug].md(候補者リストを書き込み、または更新) - プロフィール →
references/profile-and-onboarding.mdの python3 スニペットを使って、~/.nimble/business-profile.jsonのlast_runs.talent-sourcingを更新します。ファイルが存在しない場合はスキップしてください。
この検索の行を追加して、~/.nimble/memory/talent-sourcing/index.md を更新します。
references/memory-and-distribution.md の wiki 更新パターンに従ってください。
ステップ 8:共有と配布
**必ず配布を提案してください。このステップを省略しないでください。**コネクターの検出、共有の流れ、ソースリンクの適用については、references/memory-and-distribution.md に従ってください。
ステップ 9:フォローアップ
AskUserQuestion を使って、次のステップを提案します。
次は何をしますか?
- 候補者を詳しく調べる — プロフィール全体を抽出し、連絡先情報を探す
- 検索範囲を広げる — 所在地を広げ、シニアリティの条件を緩和し、他のプラットフォームも試す
- 検索範囲を絞る — 必須スキルを追加するか、所在地の条件を厳しくする
- リストをエクスポートする — CSV または書式付きドキュメントとして保存する
- 完了
関連スキルの提案:
- 候補者の現在の勤務先について
company-deep-diveを実行し、取引に関する背景情報を得る- Tier 1 の候補者に連絡する前に
meeting-prepを実行する
エラー処理
標準的なエラー表については、references/nimble-playbook.md を参照してください。このスキル固有の処理は以下のとおりです。
- **プロフィールがログインページの先にある場合:**検索スニペットの概要を使用し、候補者の項目に「完全なプロフィールは利用できません。LinkedIn/Indeed へのログインが必要です」と記します。
- **候補者が合計 5 人未満の場合:**ユーザーに通知し、所在地をリモートに広げるか、シニアリティの条件を緩和するよう提案してから、条件を調整して再実行するかを尋ねます。
- **プラットフォームで検索時に 500 エラーが発生した場合:**クエリを簡略化して 1 回再試行します。それでも失敗する場合は、そのプラットフォームをスキップし、レポートのヘッダーに記します。
- **技術系以外の職種で GitHub エージェントをスキップした場合:**レポートのヘッダーに「この職種では GitHub を検索していません」と記します。