mcpField
H
hiring-signal-outreach

hiring-signal-outreach

github.com/gooseworks-aiマーケティング・グロース1.3k48 回インストール3 日前に更新
リポジトリ

hiring-signal-outreach について

対象企業の関連求人を検出し、採用マネージャーなどの連絡先を探して、求人情報をもとに個別のアプローチ文を作成するマーケティング向けスキルです。採用職種を代替または支援する製品の営業に適しています。

主な機能

  1. 01代替・支援対象の職種に求人を照合
  2. 02シグナルの強さと時期で企業を順位付け
  3. 03採用マネージャー、買い手、推進者を特定
  4. 04個別メールのアプローチ文を作成

活用シーン

  1. 01製品が自動化できる職種の採用企業を探す
  2. 02最近の求人を基に営業の優先度を決める
  3. 03採用が決まる前に採用マネージャーへ連絡

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/gooseworks-ai/goose-skills --skill hiring-signal-outreach

インストール後、Claude Code で/hiring-signal-outreachを入力して読み込まれたか確認します。

同梱ファイルskill.meta.json

詳細

採用シグナルを活用したアウトリーチ

ターゲット企業で、自社製品が強化、代替、または直接サポートする役割の求人を検出します。連絡すべき適切な相手(採用される本人だけでなく、採用マネージャー、予算管理者、将来的な推進者)を特定し、求人情報を切り口にパーソナライズしたアウトリーチ文を作成します。

採用シグナルが有効な理由: 企業が求人を掲載した時点で、自社製品が解決する課題をすでに認識しています。そのための予算も確保しています(人員枠は予算です)。課題の解決方法を積極的に検討しています。メールが届くのは、まさに相手がこの課題について考えているタイミングです。より迅速で、低コスト、または既存の手段を補完するソリューションを提案できます。

自動読み込みのタイミング

次の場合、この複合ワークフローを読み込みます。

  • ユーザーが「これらの企業が、自社製品で代替できる職種を募集しているか確認して」「求人掲載のシグナル」「採用シグナルを活用したアウトリーチ」と言った場合
  • ユーザーが企業リストを持っていて、関連する職種を募集している企業を特定したい場合
  • 上流のワークフロー(TAM Pulse、企業モニタリング)が採用シグナルの確認を開始した場合

ステップ 0:設定(初回のみ)

クライアントまたはユーザーの初回実行時に、次の設定を確認して保存します。2回目以降は省略します。

役割のマッピング(重要 — どのシグナルが重要かを定義します)
質問目的保存名
自社製品は何をしますか?(1~2文)求人情報との照合company_description
自社製品が代替する職種は何ですか?最も強いシグナル — 自動化できる職種を募集していますroles_replaced
自社製品が強化する職種は何ですか?有効なシグナル — 自社製品によってその人の業務効率が上がりますroles_augmented
自社製品を購入する職種は何ですか?連絡先の特定 — 予算を持つ人buyer_titles
自社製品を推進する職種は何ですか?連絡先の特定 — 日々課題を感じている人champion_titles
自社製品を使う職種は何ですか?連絡先の特定 — 実際に運用する人user_titles
求人情報のどのキーワードが関連性を示しますか?誤検出の除外jd_keywords

AI 通話製品の例:

roles_replaced: ["BDC Representative", "Call Center Agent", "Appointment Setter"]
roles_augmented: ["Sales Manager", "BDC Manager", "Service Advisor"]
buyer_titles: ["VP Sales", "Director of Operations", "General Manager", "COO"]
champion_titles: ["BDC Manager", "Sales Manager", "Fixed Ops Director"]
user_titles: ["BDC Rep", "Service Advisor", "Sales Consultant"]
jd_keywords: ["inbound calls", "outbound calls", "appointment setting", "customer follow-up"]
シグナル検出の設定
質問選択肢保存名
求人情報をどのように検索しますか?LinkedIn Jobs / Indeed / Apollo / Google Jobs / Web 検索job_search_tool
何日前までさかのぼって検索しますか?7 / 14 / 30 日lookback_days
連絡先の検索設定
質問選択肢保存名
これらの企業の連絡先をどのように検索しますか?Apollo / LinkedIn / Clearbit / Web 検索contact_tool
アウトリーチの設定
質問選択肢保存名
アウトリーチをどこから送信しますか?Smartlead / Instantly / Outreach.io / Lemlist / CSV エクスポートoutreach_tool
メールのみですか、それともマルチチャネルですか?メールのみ / メール + LinkedInoutreach_channels
自社に関する情報
質問目的保存名
どのような課題を解決しますか?メールの切り口pain_point
実績を2~3件挙げてください(顧客、指標、成果)メールの信頼性proof_points
正社員を1人雇用する場合と比べたコストはどのくらいですか?アウトリーチでの ROI の切り口cost_comparison
新たに人を採用する場合と比べて、どれくらい早く導入できますか?スピードの切り口deployment_speed

設定の保存先: clients/<client-name>/config/signal-outreach.json または同等の場所。


ステップ 1:採用シグナルの検出

目的: 入力リスト内の各企業について、自社製品が代替または強化する職種に一致する募集中の求人を探します。

入力仕様
companies: [
  {
    name: string          # Required
    domain: string        # Required
    industry?: string     # Optional
    size?: string         # Optional
  }
]
roles_replaced: string[]          # From config
roles_augmented: string[]         # From config
jd_keywords: string[]             # From config
lookback_days: integer             # From config (default: 14)
プロセス

各企業ごとに(または複数社をまとめて)次の手順を実行します。

  1. 設定済みの job_search_tool を使用して求人情報を検索します。

    • LinkedIn Jobs: roles_replaced と roles_augmented の各ロールについて、company_name + role_title を検索します
    • Indeed: 同じ検索パターンを使用します
    • Apollo: 企業情報を取得 → 求人情報
    • Google Jobs: site:linkedin.com/jobs OR site:indeed.com "{company}" "{role}"
    • Web search: "{company_name}" AND ("hiring" OR "job" OR "careers") AND ("{role_1}" OR "{role_2}")
  2. 見つかった求人情報ごとに、以下を抽出します。

    • 求人タイトル
    • 勤務地(リモート/出社/ハイブリッド)
    • 掲載日
    • 求人内容の要約(主な責任)
    • ソース URL
  3. 各求人を分類します。

    • 代替: 求人タイトルが roles_replaced に一致します。貴社の製品によって、この採用の必要性をなくす、または減らせる可能性があります。最も強いシグナルです。
    • 強化: 求人タイトルが roles_augmented に一致します。貴社の製品によって、この人材の効果を高められます。その人材がツールとして製品を求める可能性があります。有望なシグナルです。
    • キーワード一致: タイトルは一致しませんが、求人内容に jd_keywords が含まれています。シグナルは弱いため、関連性を確認してください。
  4. フィルタリング: 該当する求人がない企業は除外します。lookback_days より古い求人は除外します。

出力仕様
companies_hiring: [
  {
    company: {
      name: string
      domain: string
      industry: string
    }
    job_postings: [
      {
        title: string
        location: string
        posted_date: string
        description_summary: string     # 2-3 sentence summary of the role
        source_url: string
        signal_type: "replaces" | "augments" | "keyword_match"
        relevance_reasoning: string     # Why this posting matters for your product
      }
    ]
    posting_count: integer
    strongest_signal: "replaces" | "augments" | "keyword_match"
  }
]
人による確認ポイント
Found hiring signals at X of Y companies:

| Company | Postings | Strongest Signal | Top Role | Posted |
|---------|----------|-----------------|----------|--------|
| Acme Corp | 3 | Replaces | BDC Representative | 3 days ago |
| Beta Inc | 1 | Augments | Sales Manager | 1 week ago |
| ...     | ...      | ...             | ...      | ...    |

Signal breakdown: X "replaces" (strongest), Y "augments", Z "keyword match"

Proceed with qualification? (Y/n)

ステップ 2:適格性の判定と優先順位付け

目的: シグナルの強さ、関連性、タイミングに基づいて、企業へのアプローチ優先度を順位付けします。LLM の推論のみを使用するため、本質的にツールに依存しません。

入力仕様
companies_hiring: [...]           # From Step 1 output
your_company: {
  description: string
  pain_point: string
  proof_points: string[]
  cost_comparison: string
  deployment_speed: string
}
プロセス

各企業について、以下の基準で評価します。

基準重み評価方法
シグナルの種類最も高い「代替」>「強化」>「キーワード一致」
求人件数高い関連する求人が複数ある場合、その職能を拡大中であり、より大きなニーズがあることを示します
新しさ高い7 日未満前の掲載=現在積極的に検討中。14 日以上前=すでに候補者がいる可能性があります
職位のシニアリティ中程度貴社が販売する職能の VP を採用している場合は戦略的な購入、個人貢献者を採用している場合は業務上の購入です。どちらも有望ですが、アプローチが異なります。
業界との適合性中程度その企業の業界で、貴社の製品に実績がありますか?
スコアリング
  • ティア 1(今日行動): 「代替」シグナルがあり、掲載から 7 日以内です。貴社が販売するものに、まさに予算を割り当てています。
  • ティア 2(今週行動): 「代替」シグナルがあり、掲載から 7~14 日、または複数の求人がある「強化」シグナルで掲載から 7 日未満です。
  • ティア 3(順番待ち): 「強化」または「キーワード一致」のシグナルです。アプローチする価値はありますが、緊急度は低めです。
  • 除外: キーワード一致のみで、求人内容を確認した結果、関連性が弱いもの。

適格と判断された企業ごとに、以下を作成します。

  • 関連性の理由: この採用パターンが貴社の製品にとって重要な理由
  • アプローチの切り口: 求人情報と貴社の製品との具体的な関連性
    • 「代替」→「この職種を採用する前に、[product] で何ができるかをご検討ください」
    • 「強化」→「新しく採用する [role] がすぐに成果を上げるには、[product] のようなツールが必要です」
  • 推奨する訴求方法: 代替(この職種を採用する必要はありません)、補完(新しい採用者は、これを使うことで効果が 3 倍になります)、または拡大(この職種の人材を 5 人採用するか、1 人と当社の製品を組み合わせてください)
出力仕様
qualified_companies: [
  {
    ...company_hiring_fields,
    priority_tier: "tier_1" | "tier_2" | "tier_3"
    relevance_reasoning: string
    outreach_angle: string
    recommended_framing: "replace" | "complement" | "scale"
  }
]
dropped_companies: [
  { name: string, drop_reason: string }
]
人による確認ポイント
## Qualification Results

### Tier 1 — Act Today (X companies)
| Company | Signal | Top Role | Framing | Angle |
|---------|--------|----------|---------|-------|
| Acme Corp | Replaces | BDC Rep (x3) | Replace | Before you hire 3 BDC reps... |

### Tier 2 — Act This Week (X companies)
| ... |

### Tier 3 — Queue (X companies)
| ... |

### Dropped (X companies)
| Company | Reason |
|---------|--------|
| ...     | ...    |

Approve this list before we find contacts?

ステップ 3:関連する人物を探す

目的: 適格と判断された各企業について、連絡すべき適切な人物を探します。資金調達情報をまとめる場合とは異なり、ここでは求人を掲載した人物(採用マネージャー)も特定します。多くの場合、その人物が最初の連絡先として最適です。

入力仕様
qualified_companies: [...]        # From Step 2 output
buyer_titles: string[]            # From config
champion_titles: string[]         # From config
user_titles: string[]             # From config
max_contacts_per_company: integer  # Default: 3-5
プロセス

条件を満たす企業ごとに、設定済みの contact_tool を使用します。

  1. 最初に:採用マネージャーを特定します。 求人情報を掲載した人、またはその求人情報を管理する人が、最も関連性の高い連絡先です。

    • 求人情報の掲載元を確認し、採用マネージャーの名前を調べます
    • 記載がない場合は、掲載された職種より1つ上のレベルの役職に就く、その企業の人を検索します
    • 採用マネージャーは、製品が解決する課題を担当しているため、最も有力な連絡先であることがよくあります
  2. 次に:購入決定者レベルの連絡先を見つけます。 この企業で buyer_titles に該当する人は、予算を管理しています。

  3. 3番目に:推進者を見つけます。 champion_titles に該当する人は、日々課題を感じており、社内で製品を推進できます。

  4. 各連絡先を分類します:

    • 採用マネージャー — 役職を募集しています。課題を直接担当しています。「置き換える」という訴求に最適です。
    • 購入決定者 — 予算を管理しています。ROI やコスト比較を訴求するのに最適です。
    • 推進者 — 課題を日々感じています。「補完する」または「業務を楽にする」という訴求に最適です。
    • ユーザー — 製品を操作する人です。ボトムアップでの導入に最適です。
  5. max_contacts_per_company を上限とします。 優先順位:採用マネージャー > 購入決定者 > 推進者 > ユーザー。

出力仕様
contacts: [
  {
    person: {
      full_name: string
      first_name: string
      last_name: string
      title: string
      email: string | null
      linkedin_url: string | null
      role_type: "hiring_manager" | "buyer" | "champion" | "user"
    }
    company: {
      name: string
      domain: string
      priority_tier: string
      outreach_angle: string
      recommended_framing: string
    }
    job_context: {
      relevant_posting_title: string        # The job posting that triggered this signal
      signal_type: string                    # "replaces" or "augments"
      posting_url: string
      description_summary: string
    }
  }
]
人による確認ポイント
## Contacts Found

### Acme Corp (Tier 1 — Hiring 3x BDC Reps, "Replace" framing)
| Name | Title | Role Type | Email | LinkedIn |
|------|-------|-----------|-------|----------|
| Sarah Chen | VP Sales | Hiring Manager | [email protected] | ... |
| Mike Johnson | COO | Buyer | [email protected] | ... |
| Lisa Park | BDC Manager | Champion | [email protected] | ... |

Relevant posting: "BDC Representative" (posted 3 days ago)

### Beta Inc (Tier 2 — Hiring Sales Manager, "Complement" framing)
| ... |

Total: X contacts across Y companies

Approve before we draft emails?

ステップ 4:パーソナライズしたメールを作成する

目的: 各連絡先について、求人情報の文脈、自社の価値、見込み客の企業の文脈という3つのレイヤーでパーソナライズしたメールシーケンスを作成します。LLM の推論のみを使用するため、基本的にツールに依存しません。

入力仕様
contacts: [...]                   # From Step 3 output (includes job_context per contact)
your_company: {
  description: string
  pain_point: string
  proof_points: string[]
  cost_comparison: string         # e.g. "4x cheaper than a full-time hire"
  deployment_speed: string        # e.g. "Live in 2 weeks vs. 3-month hiring cycle"
}
sequence_config: {
  touches: integer                # Default: 3
  timing: integer[]               # Default: [1, 5, 12]
  personalization_tier: 1 | 2 | 3
  tone: string
  cta: string
}
プロセス
  1. 訴求方法に基づいてフレームワークを選択します:

    • 「置き換える」という訴求 → Signal-Proof-Ask(求人情報に言及し、自社製品で代わりに何ができるかを示し、控えめに提案します)
    • 「補完する」という訴求 → BAB(導入前:新たに採用する人がXに苦労する/導入後:自社ツールを使えば3倍速くなる/橋渡し:その方法はこちら)
    • 「拡大する」という訴求 → PAS(課題:この業務には5人必要/問題を深刻化:給与だけで年間50万ドル/解決策:または1人と自社製品)
  2. 連絡先ごとに、3つのパーソナライズレイヤーを組み立てます:

    レイヤー情報源使用箇所
    求人情報の文脈ステップ 1 — 具体的な職種、責任、求人票の記載内容件名 + 導入文
    自社の文脈設定 — 提供内容、実績、コスト比較本文 — 根拠 + 提案
    見込み客企業の文脈ステップ 2 — 業界、事業内容、採用理由本文 — 関連性の訴求
  3. role_type に応じてメールの切り口を調整します:

    役職タイプメールの切り口導入文の例
    採用マネージャー「その役職を埋める前に」「BDC 担当者を募集されているのを拝見しました。採用を決定する前に、[product] で代わりに何ができるかご覧になりませんか。」
    購入決定者コスト/ROI の比較「BDC 担当者3人分(年間18万ドル)の予算を確保されていますね。[Product] なら、その業務をわずかなコストで処理できます。」
    推進者「業務がもっと楽になります」「新しい BDC 担当者が入社したら、初日から力を発揮できるツールが必要になります。[Product] はそのためのツールです。」
    ユーザー「デスクに置いておきたいツールです」「[company] で BDC 機能を拡大するなら、[product] が [task] を処理するので、[higher-value work] に集中できます。」
  4. email-drafting スキルのルールに従います:

    • タッチ1:50~90語。求人情報の兆候を切り口にします。
    • タッチ2:30~50語。別の実績、またはコスト/速度の比較を示します。
    • タッチ3:20~40語。導入実績を示すか、最後の連絡とします。
    • すべての必須ルールが適用されます。
出力仕様
email_sequences: [
  {
    contact: { full_name, email, title, role_type, company_name }
    job_context: { posting_title, signal_type }
    sequence: [
      {
        touch_number: integer
        send_day: integer
        subject: string
        body: string
        framework: string
        personalization_layers: {
          job_posting: string      # What from the JD was referenced
          company_context: string  # What proof/value was used
          prospect_context: string # What about their company was referenced
        }
        word_count: integer
      }
    ]
  }
]
人による確認ポイント

各 role_type と訴求方法を網羅する、サンプルシーケンスを3~5件提示します:

## Sample Emails for Review

### Hiring Manager: Sarah Chen, VP Sales @ Acme Corp
Signal: Hiring 3x BDC Representatives | Framing: Replace

**Touch 1 — Day 1**
Subject: Before you fill those BDC roles
> Hi Sarah — I noticed Acme is hiring three BDC reps. Before you go through
> a 3-month hiring cycle, worth seeing what companies like [peer] are doing
> instead...
> [full email]

### Buyer: Mike Johnson, COO @ Acme Corp
Signal: Same | Framing: ROI

**Touch 1 — Day 1**
Subject: $180K/year in BDC hires — or this
> Hi Mike — Acme's hiring 3 BDC reps. At ~$60K each fully loaded, that's
> $180K/year. [Product] handles the same call volume for...
> [full email]

---

Approve these samples? I'll generate the rest in the same style.

ステップ 5:アウトリーチに引き継ぐ

funding-signal-outreach のステップ5と同じです。連絡先とメールシーケンスをパッケージ化し、設定済みのアウトリーチツールに渡します。引き継ぎプロセス全体については、その複合機能を参照してください。

出力仕様
campaign_package: {
  tool: string
  file_path: string
  contact_count: integer
  sequence_touches: integer
  estimated_send_days: integer
  next_action: string
}
人による確認ポイント
## Campaign Ready

Tool: [configured tool]
Signal type: Hiring signal
Contacts: X people across Y companies
Sequence: 3 touches over 12 days

Ready to launch?

実行の概要

ステップツールの依存関係人による確認ポイント所要時間の目安
0. 設定なし初回のみ5分(1回)
1. 検出設定可能(LinkedIn Jobs、Indeed、ウェブ検索)求人を掲載している企業を確認2~5分
2. 適格性の評価なし(LLM による推論)優先度の順位付けを承認2~3分
3. 担当者の検索設定可能(Apollo、LinkedIn など)連絡先リストを承認2~3分
4. メールの下書きなし(LLM による推論)サンプルを確認し、反復して調整5~10分
5. 引き継ぎ設定可能(Smartlead、CSV など)最終的な開始を承認1分

人による確認の合計時間:約15~20分


ヒント

  • 「置き換え」の兆候は大きなチャンスです。 自社製品が担う業務の人材を募集しているなら、これ以上ないほど強力なアプローチの切り口になります。優先しましょう。
  • 求人の掲載時期に合わせてアプローチしましょう。 1~7日目:「面接を始める前に」。7~14日目:「候補者を評価している間に」。14日目以降:「内定を出す前に」。
  • 「採用する必要はありません」とは言わないでください。 代わりに、「チームがこの機能をより早く使えるようになります」や「新しい採用者を補完できます」と伝えましょう。すでに採用を決めている採用マネージャーに警戒されにくくなります。
  • 同じ職種の求人が複数ある場合は、事業拡大の兆候です。 BDC 担当者を3人採用しようとしているなら、課題の規模も3倍であり、コスト比較の訴求力も3倍になります。
  • 採用マネージャーは課題の当事者であるため、最初の連絡先として最適です。 ただし、ROI を訴求して購入決定者(その上司)をCCに入れるか、別途連絡すると、挟み撃ちの効果が生まれます。

コメント