icp-onboarding について
コールドメール向けの理想顧客像を対話形式で定義するオンボーディングスキルです。ウェブサイトや事業説明から client-profile.yaml を作成し、必須条件と希望条件を分けて他のスキルに引き継ぎます。
主な機能
- 01サイトや説明から事業情報を収集
- 02対話でターゲティング条件を定義
- 03必須条件と希望条件を分類
- 04条件をProspeoのフィルターに変換
- 05client-profile.yamlの作成
活用シーン
- 01リードリスト作成前に対象顧客を明確化
- 02後続スキル用のターゲティング要件を記録
- 03事業情報をProspeo対応フィルターに変換
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ growthenginenowoslawski/ coldoutboundskills --skill icp-onboardingインストール後、Claude Code で/icp-onboardingを入力して読み込まれたか確認します。
同梱ファイルreferences/prospeo-industries.mdscripts/scrape-website.ts
詳細
ICP オンボーディング
対話形式のヒアリングです。ユーザーは事業を営んでおり、このスキルはリポジトリ内のほかのすべてのスキルが利用する client-profile.yaml を作成します。これがないと、後続のスキルはターゲティングを推測し、一般的なコピーを作成してしまいます。
これが必要な理由
コールドメールの大半が失敗するのは、送信者がICPを十分に絞り込んでいないためです。「B2B SaaSの創業者」はICPではありません。「米国で過去12か月以内にシリーズBの資金調達を行った、従業員50〜500人のB2B SaaS企業のRevOps担当バイスプレジデント」はICPです。これならProspeoに入力してリストを取得できます。
このスキルは、最初にその精度を徹底します。また、必須フィルター(必ず一致する条件)と任意の希望条件(あると望ましい条件)を分けます。初心者が最もよく犯す間違いは、ICPのすべての条件を必須として扱い、5,000件ではなく200件のリードしかないリストを作ってしまうことだからです。
入力
いずれか:
- ユーザーの事業のウェブサイト URL(スキルがスクレイピングし、多くの情報を推測します)
- ウェブサイトがない場合は簡単な説明(「XをYに販売しています」)
出力
単一のファイル:~/cold-email-ai-skills/profiles/<business-slug>/client-profile.yaml
手順
1. まずウェブサイト URL を尋ねる(必須)
インタビューの質問を始める前に、次のように尋ねます。
「コールドメールを送る事業のウェブサイトを教えてください。」
ユーザーが URL を提示した場合:
npx tsx scripts/scrape-website.ts --url=https://example.com --out=/tmp/scrape.json
次に、スクレイピングした JSON を読み込み、すぐにユーザー向けに1段落の要約を作成します。
「ウェブサイトを確認したところ、事業について次のように理解しました。
**<会社名>**は、<事例とホームページに基づく販売対象>に<製品/サービスを1文で>提供しています。主な価値提案は<要約>のようです。注目すべき実績:<ロゴ、指標、受賞歴>。価格に関する情報:<無料プラン/セルフサービス/エンタープライズ/不明>。
ICP の開始案: <事例から推測した役職+業界+企業規模>。
この内容で合っていますか?インタビューを始める前に修正点はありますか?」
この要約は最終的な ICP ではなく、出発点です。ここでユーザーから訂正を受けておけば、インタビュー時間を5分以上短縮できます。
ユーザーにウェブサイトがない場合:
「わかりました。ウェブサイトはないのですね。何を誰に販売しているのか、2文で説明してください。以降のインタビューでは、その説明を出発点にします。」
2. ユーザーにインタビューする(スクレイピングした情報を使用)
以下の質問を順番に尋ねます。一度にまとめて尋ねてはいけません。次の質問に進む前に、毎回回答を待ってください。回答は短く保ちます。可能な場合はスクレイピングした内容を使って回答案をあらかじめ提示し、ユーザーに確認または修正を求めます。
- 何を販売していますか?1文で説明してください。 回答案:「ウェブサイトによると、
<X>を販売しています。確認または修正してください。」 - 最も優良な顧客は誰ですか?名前を挙げてください。(ほかのすべての条件を考える際の基準になります。迷う場合は、売上または適合度が高い直近の顧客を3社尋ねます。ウェブサイトの事例に顧客名があれば、その企業を候補として提示します。)
- どの役職の人が購入しますか?(従業員が50人を超える企業について「CEO」と答えた場合は、再考を促します。おそらく正しくありません。)
- 従業員数の範囲 — 最低数と最大数はいくつですか?(例:20〜500。「エンタープライズ」ではなく、具体的な数値を尋ねます。)
- 対象にする業界、対象外にする業界はありますか?(Prospeoの業界分類を使います。
references/prospeo-industries.mdを参照してください。曖昧な回答は避け、対象または対象外に分類します。) - 地域 — 国のみですか、それとも特定の州/地域も対象ですか?
- 重要なトリガーはありますか?(最近の資金調達、特定の役職の新規採用、ウェブサイトでの技術情報、最近の製品リリース、特定の Google Ads 広告費など。)
- 除外条件はありますか?(競合他社、既存顧客、パートナーなど — 除外するドメインを尋ねます。)
- オファー/フック — 相手に何をしてほしいですか?(例:「15分の通話を予約する」「無料監査を試す」「Yと返信してくれたら詳細を送ります」。)
- リードマグネット — 法的に無料で提供できるものはありますか?(ない場合は
/lead-magnet-brainstormスキルを呼び出します。) - トーン — カジュアルですか、フォーマルですか?対等な立場同士ですか、それともベンダーから購入者への語りかけですか?
- 使用禁止の言葉/法的制約(医療、金融、暗号資産など、表現に制限がある業界はありますか?)
3. Prospeo のフィルターに変換する
回答をもとに、Prospeo に対応したフィルターを作成します。
- 職種名 → 正確な職種名と一般的な同義語(VP of Sales = VP Sales = Head of Sales = SVP Sales)
- 業種 → Prospeo で有効な256種類の業種名と照合します。
references/prospeo-industries.mdを参照してください。 - 従業員数 → Prospeo の区分に対応させます(1-10、11-50、51-200、201-500、501-1000、1001-5000、5001-10000、10001+)
- 地域 → 国コードまたは州のリスト
4. ハード条件とソフト条件に分ける
各条件について、次の質問を明確にします。「この条件以外のすべてに一致する人が見つかった場合でも、連絡しますか? はい/いいえ」
- はい → ソフト条件(記録しますが、フィルターには使いません)
- いいえ → ハード条件(一致が必須です)
一般的な回答:
- 職種名:通常はハード条件
- 業種:通常はハード条件(特定の業種をターゲットにする場合)
- 従業員数:上限付近では通常ソフト条件(上限を1人超えていても問題ないことがよくあります)
- トリガー(資金調達、採用など):ほぼ常にソフト条件です。フィルターではなく、パーソナライズのシグナルです。
5. client-profile.yaml を作成する
次のスキーマを使用します。
business:
name: <business name>
website: <url>
one_liner: <what they sell>
tone: <casual|formal|peer-to-peer>
offer:
primary_cta: <what you ask the lead to do>
lead_magnet: <free thing you can give>
value_prop: <why they should care, one sentence>
icp_hard_filters:
job_titles:
- <exact title>
- <synonym>
industries_in:
- <prospeo industry>
industries_out:
- <prospeo industry>
headcount_min: <int>
headcount_max: <int>
countries:
- <country code>
states: [] # US only, optional
excluded_domains:
- <competitor.com>
- <existing-customer.com>
icp_soft_preferences:
triggers:
- recent_fundraise
- new_hire_in_role
- tech_installed: <tech>
personas_to_prioritize:
- <e.g. "Director-level over VP-level at <200 headcount">
legal:
banned_words: []
regulated_industry: false
created_at: <YYYY-MM-DD>
6. 保存して確認する
~/cold-email-ai-skills/profiles/<business-slug>/client-profile.yaml に保存します。
yaml をユーザーに表示し、「この内容で合っていますか?」と尋ねてから会話を終了します。
よくある落とし穴
- 「SMBs」という回答をそのまま受け入れないでください。 従業員数を具体的に尋ねてください。
- 「X を必要としている人なら誰でも当社の ICP です」 = ICP が定まっていません。顧客名を挙げてもらうよう促してください。
- 職種名には必ず同義語を含めてください。 「VP of People」「Head of Talent」「Chief People Officer」を含めずに「VP of Talent」だけを指定すると、該当する候補者の60%を見逃します。
- Prospeo の業種は完全一致が必要です。 「Manufacturing」は有効な Prospeo の業種ではありません。「General Manufacturing」は有効です。
references/prospeo-industries.mdを参照してください。 - トリガーをハード条件にすることは絶対にありません。 「過去6か月以内に資金調達していること」をハード条件にすると、リストは20分の1に縮小し、その大半の企業にはすでにあらゆる人から売り込みが届いています。
次に行うこと
client-profile.yaml を用意したら、ユーザーが次に使うスキルは /cold-email-starter-kit(手動で最初のキャンペーンを実施)または /auto-research-public(毎日のキャンペーンを自動化)です。
ファイル
references/prospeo-industries.md— Prospeo で有効な256種類の業種名の全リストreferences/example-profiles/— client-profile.yaml のサンプルファイル3点(B2B SaaS、地域密着型の中小企業、代理店)scripts/scrape-website.ts— 最小限のウェブサイトスクレイパー(ホームページとリンク先のページ)