mcpField
J
job-posting-intent

job-posting-intent

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

job-posting-intent について

採用活動から購買意向の可能性がある企業を見つけるマーケティングスキルです。Apify経由でLinkedIn Jobsを検索し、求人を企業ごとにまとめ、意思決定者の候補や営業向け情報とともにGoogle Sheetsへ出力します。

主な機能

  1. 01職種と地域を指定したLinkedIn Jobs検索
  2. 02企業ごとの重複排除とシグナル評価
  3. 03求人説明から個別化の材料を抽出
  4. 04意思決定者の役職と営業角度を提案
  5. 05Google Sheetの自動作成

活用シーン

  1. 01対象課題に投資中の企業を発見
  2. 02職種や地域別の求人情報を調査
  3. 03採用シグナルから営業リードを作成
  4. 04営業連絡に向けた個別化情報を準備

MCP 対応

Google Sheetsの作成にRube MCPとComposioを使用します。シート作成に失敗した場合は、Rube MCPへのアクセス確認が案内されています。

インストール

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

$npx skills add https://github.com/gooseworks-ai/goose-skills --skill job-posting-intent

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

skill.meta.json
scripts/
create_sheet_mcp.py
create_sheet.py
search_jobs.py

詳細

求人情報から採用意図を検出

解決しようとしている課題に関連する職種を採用している企業を見つけます。求人情報は予算のシグナルです。つまり、その企業は、あなたの製品が解決する課題に取り組むための予算を割り当てています。

シグナルの強さ、意思決定者の候補、アプローチの切り口、パーソナライズに役立つ情報を含む結果が、Google Sheetに自動でエクスポートされます。

効果がある理由

企業が求人を掲載すると、その企業は次のことを行っています。

  • 予算を割り当てています(人件費は高額です)
  • 課題が存在することを認識しています
  • 積極的に解決に取り組み始めています

あなたの製品が、その課題を採用だけの場合より迅速に、低コストで、または効果的に解決できるのであれば、最適なタイミングです。

費用

Apify Actor: harvestapi/linkedin-job-search(イベントごとの従量課金)

構成要素費用
Actor の起動(1 回あたり)$0.001
求人結果 1 件あたり$0.001
Apify プラットフォーム手数料+20%

一般的な実行時の費用:

シナリオ職種名職種名あたりの求人件数実行回数推定費用
クイックスキャン3253~$0.09
標準5255~$0.16
詳細検索51005~$0.60
複数の地域5×32515~$0.47

Google Sheet の作成は無料です(Rube/Composio 連携を使用します)。

実行する前に、必ず --estimate-only を実行して Apify の費用を確認してください。

使用状況の確認:https://console.apify.com/billing

セットアップ

1. Apify API トークン
# Get your token at https://console.apify.com/account/integrations
export APIFY_API_TOKEN="apify_api_YOUR_TOKEN_HERE"
2. 依存関係をインストールする
pip3 install requests
3. Rube/Composio(Google Sheets 用)

Google Sheet の作成には、Composio と連携した Rube MCP を使用します。トークンは事前に設定されています。 動作しなくなった場合は、RUBE_TOKEN 環境変数、または search_jobs.py のデフォルト値を更新してください。

使用方法

ステップ 1:ICP と対象の職種名を定義する

次のように考えてください。「企業が[職種]を採用しているなら、[あなたが解決する課題領域]に投資しているということです。」

例:

  • GTM エージェンシー:「Growth Marketing Manager」、「SDR Manager」、「RevOps Engineer」、「GTM Engineer」
  • AI 開発ツール:「AI Engineer」、「ML Ops Engineer」、「Prompt Engineer」、「LLM Engineer」
  • 営業自動化:「SDR」、「BDR Manager」、「Sales Ops」、「Revenue Operations」
ステップ 2:費用を見積もる
python3 scripts/search_jobs.py \
  --titles "GTM Engineer,SDR Manager,Head of Demand Gen" \
  --locations "United States" \
  --max-per-title 25 \
  --estimate-only
ステップ 3:検索を実行する

このスクリプトは LinkedIn Jobs を検索し、結果を企業ごとにグループ化して見込み顧客を評価し、Google Sheet を自動で作成します。

# Standard search (creates Google Sheet)
python3 scripts/search_jobs.py \
  --titles "GTM Engineer,SDR Manager,RevOps Engineer" \
  --locations "United States" \
  --max-per-title 25

# Deep search with custom sheet name
python3 scripts/search_jobs.py \
  --titles "AI Engineer,ML Ops Engineer,Prompt Engineer" \
  --locations "United States" \
  --max-per-title 50 \
  --sheet-name "AI Hiring Signals - Feb 2026"

# Filter results to only relevant titles (LinkedIn search is fuzzy)
python3 scripts/search_jobs.py \
  --titles "GTM Engineer,Growth Marketing Manager,SDR Manager" \
  --locations "United States" \
  --relevance-keywords "gtm,growth,sdr,marketing,demand gen,revops"

# Also save raw JSON alongside the sheet
python3 scripts/search_jobs.py \
  --titles "GTM Engineer,SDR Manager" \
  --locations "United States" \
  --output results.json

# Skip Google Sheet, console + JSON only
python3 scripts/search_jobs.py \
  --titles "GTM Engineer" \
  --no-sheet --json

スクリプトの動作

  1. Apify を介して、職種名と地域の各組み合わせについて LinkedIn Jobs を検索します
  2. 結果を企業ごとにグループ化します(重複を除去)
  3. 関連する求人情報の件数と職位に基づいて、シグナルの強さを算出します
  4. 求人情報の説明から、パーソナライズに役立つ情報(技術スタック、成長のシグナル、課題)を抽出します
  5. 意思決定者となる役職(採用する職種より 1 つ上の階層)を提案します
  6. アプローチの切り口(採用を加速/代替/補完)を提案します
  7. 評価対象となった見込み顧客をすべて含む Google Sheet を作成します
  8. 見つかった企業の概要をコンソールに出力します

オプションリファレンス

Required:
  --titles              Comma-separated job titles to search

Optional:
  --locations           Comma-separated locations (default: no filter)
  --max-per-title       Max jobs per title per location (default: 25)
  --posted-limit        Recency: 1h, 24h, week, month (default: week)
  --output, -o          Also save raw JSON to this file path
  --json                Print JSON output to console
  --estimate-only       Show cost estimate without running
  --no-sheet            Skip Google Sheet creation
  --sheet-name          Custom Google Sheet title (default: "Job Posting Intent Signals - {date}")
  --relevance-keywords  Comma-separated keywords to filter truly relevant postings

Google Sheet の列

列説明
シグナル求人掲載数と職位に基づく HIGH / MEDIUM / LOW
企業企業名
従業員数従業員数
業界企業の業界
Web サイト企業の Web サイト
LinkedIn企業の LinkedIn URL
求人掲載数該当する求人情報の件数
職種名実際に掲載されている職種名
求人 URL主な求人情報へのリンク
地域勤務地
意思決定者連絡先として提案される人物の役職
アプローチの切り口採用を加速/代替/補完
技術スタック求人情報の説明に記載されたテクノロジー
成長のシグナル成長を示す指標(初採用、事業拡大、シリーズの段階)
課題課題を示す指標(自動化、最適化、手作業のプロセス)
説明企業の説明の抜粋

AI エージェントとの連携

このスキルをエージェントとして使用する場合、一般的な流れは次のとおりです。

  1. ユーザーが自社の製品と、購入意欲を示す役職の種類を説明します
  2. エージェントが --estimate-only を実行し、ユーザーに費用を確認します
  3. エージェントが検索を実行します(Google Sheet は自動的に作成されます)
  4. エージェントが Google Sheet のリンクをユーザーに共有します
  5. エージェントが有望なリードの概要と、条件に合う理由を簡潔に説明します

プロンプトの例:

「今週、米国でグロースマーケターと SDR を募集している企業を見つけてください。これらは、GTM 支援が必要であることを示すシグナルです。当社は従業員数 20~200 人のシリーズ A~C の B2B SaaS 企業向けに、AI を活用した GTM システムを販売しています。」

エージェントがしてはならないこと:

  • アウトリーチを行う
  • メールやメッセージを送信する
  • 誰かに連絡する

エージェントが行うべきこと:

  • 実行前に費用の見積もりを提示する
  • 検索を実行する(シートは自動的に作成されます)
  • Google Sheet のリンクを共有する
  • 有望なリードの概要と、その判断理由を簡潔に説明する

アウトリーチの切り口のテンプレート

このスクリプトは、求人情報の文脈に基づいて切り口を自動で割り当てます。

「採用しながら加速する」 — 最適なケース:求人情報が最近掲載された、役職がジュニアまたは中堅

相手は X を担当する人材を探しています。採用した人が業務に慣れるまでの間、あなたの製品が X の成果を提供できます。

「採用を置き換える」 — 最適なケース:小規模な企業、「初めての採用」を示すシグナルがある、ゼロから構築している

相手は [role] の成果を求めていますが、あなたの製品を使えば、フルタイムの人材は必要ないかもしれません。

「採用した人材の力を倍増させる」 — 最適なケース:企業が明らかに拡大中、関連する役職を複数募集している

新たに採用した人材が働き始めると、あなたの製品により初日から生産性が 10 倍になります。

トラブルシューティング

「求人が見つかりません」
  • より広い職種名を試します(例:「demand generation specialist」ではなく「marketing」)
  • 対象期間を延長します:--posted-limit month
  • 場所のフィルターを外して、全世界を検索します
「無関係な結果が多すぎます」
  • --relevance-keywords を使って、職種名のキーワードで絞り込みます
  • LinkedIn の検索はあいまいです。グループ化と適格性の判定で結果を絞り込めます
「Google Sheet の作成に失敗しました」
  • Rube MCP にアクセスできることを確認します(トークンの有効期限が切れている可能性があります)
  • --no-sheet --json --output results.json を使うと、シートを作成せずに結果を保存できます
  • 後から scripts/create_sheet_mcp.py でシートを作成できます
費用の見積もりが高い場合
  • --max-per-title の値を小さくします(通常は 25 で十分です)
  • 検索する職種名を減らします
  • 日次で簡単に確認する場合は --posted-limit 24h を使います

リンク

コメント