tam-builder について
TAM Builderは、Apolloの企業検索でスコア付きTAMを構築・更新し、上位ティア企業のペルソナをウォッチリスト化します。初回構築、更新、読み取り専用の状況レポートに対応し、本格的なエクスポート前に承認を求めます。
主な機能
- 01Apolloで企業を検索
- 02ICP適合度の採点とティア分類
- 03スコア更新とティア変化の検出
- 04古い企業の非アクティブ化
- 05Tier 1~2企業のペルソナ監視リスト作成
活用シーン
- 01セグメント別の企業リスト作成
- 02既存TAMの更新と変化の確認
- 03適合度の高い企業のペルソナ追跡
MCP 対応
Apollo Company SearchとPeople Search APIで企業やペルソナを検索します。MCPサーバーを提供するとの記載はありません。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill tam-builderインストール後、Claude Code で/tam-builderを入力して読み込まれたか確認します。
同梱ファイルskill.meta.json
詳細
TAM Builder
スコア付きの Total Addressable Market を構築して維持します。Apollo Company Search を使用して企業を見つけ、ICP への適合度をスコア化(0-100)し、ティア(1/2/3)を割り当て、Tier 1-2 の企業向けに Apollo People Search(無料)を使ってペルソナのウォッチリストを自動作成します。
3 つのモード:
- build — Apollo 検索から初回の TAM を構築
- refresh — 既存の TAM を更新:再スコア化、ティアの変更を検出、古い企業を非推奨にする
- status — 現在の TAM 状態を読み取り専用でレポート
前提条件
Apollo API キー
.env に追加します:
APOLLO_API_KEY=your-api-key-here
これだけです。環境変数は 1 つだけです。
設定形式
クライアント/セグメントごとに JSON 設定を作成します:
{
"client_name": "happy-robot",
"tam_config_name": "voice-ai-midmarket",
"company_filters": {
"organization_num_employees_ranges": ["51,200", "201,500", "501,1000"],
"q_organization_keyword_tags": ["call center", "contact center"],
"organization_locations": ["United States"]
},
"scoring": {
"weights": {
"employee_count_fit": 30,
"industry_fit": 25,
"funding_stage_fit": 20,
"geo_fit": 15,
"keyword_match": 10
},
"tier_thresholds": { "tier_1_min_score": 75, "tier_2_min_score": 50 },
"target_industries": ["Telecommunications", "Customer Service"],
"target_employee_ranges": [[51, 200], [201, 500], [501, 1000]],
"target_funding_stages": ["Series A", "Series B", "Series C"],
"target_geos": ["United States"]
},
"watchlist": {
"enabled": true,
"personas_per_company": 3,
"person_filters": {
"person_titles": ["VP of Operations", "Head of Customer Service"],
"person_seniority": ["vp", "director", "c_suite"]
},
"tiers_to_watch": [1, 2]
},
"mode": "standard",
"max_pages": 50
}
承認ゲート
重要:ユーザーの明示的な承認なしに、結果をエクスポートしてはいけません。
必須の手順:
- まず Apollo を検索して、小規模なサンプル(約 100 社)を取得します
- スコアを付け、ティアの分布、Tier 1/2 の企業例、スコアの妥当性チェックを提示します
- フルビルドを実行する前に、ユーザーから明示的な承認を得ます
- その後に限り、全件検索、スコア付け、エクスポートを実行します
パイプライン:Build モード
Step 0: --preview → total count + cost estimate (no DB writes)
Step 1: --sample --test → search 1 page, score in-memory, show results (no DB writes)
Step 2: User reviews sample → approves, adjusts filters, or caps scope
Step 3: Full build → Apollo Company Search → Export to CSV → Score → Tier → Watchlist
フェーズの詳細(Step 3 のみ — ユーザー承認後):
Phase 1: Apollo Company Search → Upsert raw companies → Score ICP fit → Assign tiers
Phase 2: (skipped in build mode — no prior data to deprecate)
Phase 3: Persona Watchlist — pull 2-3 personas per Tier 1-2 company (free)
パイプライン:Refresh モード
Phase 1: Apollo Company Search → Upsert/update companies → Re-score → Detect tier changes
Phase 2: Deprecation — companies missing 2+ consecutive refreshes get deprecated
Phase 3: Persona Watchlist — pull personas for new/promoted Tier 1-2 companies,
disqualify personas at deprecated companies
ICP スコアリング(0-100)
API 呼び出しを行わない純粋関数です。設定に基づき、5 つのディメンションを加重スコアリングします:
employee_count_fit— 従業員数は対象範囲内ですか?industry_fit— 業種は対象と一致していますか?funding_stage_fit— 資金調達ステージは対象に含まれていますか?geo_fit— 本社所在地は対象地域内ですか?keyword_match— 組織のキーワードは設定キーワードと重複していますか?
スコアのしきい値(設定可能):>=75 = Tier 1、>=50 = Tier 2、それ以外 = Tier 3。
非推奨化ルール(refresh のみ)
- 初回の欠落(検索結果に返されない):
metadata.refresh_miss_count = 1、アクティブ状態を維持 - 2 回連続で欠落:
tam_status = 'deprecated' - 従業員数が 0 に減少:即時に非推奨化
tam_status = 'converted'の企業は常に対象外
ウォッチリスト — ペルソナ同期
| シナリオ | 動作 |
|---|---|
| 新しい Tier 1-2 の企業 | ただちに 2-3 人のペルソナを取得 |
| 企業が Tier 3→2 に昇格 | refresh 中にペルソナを取得 |
| 企業が非推奨化 | 監視対象のペルソナを失格にする |
| 企業が Tier 1→3 に降格 | 既存のペルソナは維持し、更新を停止 |
モード上限
| パラメーター | テスト | 標準 | フル |
|---|---|---|---|
| 最大ページ数 | 1 | 50 | 200 |
| 最大企業数 | 100 | 5,000 | 20,000 |
Apollo API リファレンス
- Company Search:
POST https://api.apollo.io/api/v1/mixed_companies/search— 一致する企業をaccounts配列で返します(organizationsではありません)。フィールド:name、primary_domain、estimated_num_employees、industry、keywords、city、state、country。 - People Search:
POST https://api.apollo.io/api/v1/mixed_people/search— 呼び出しごとに一律 $0.01(最も安価な人物検索)。一致する人物をpeople配列で返します。フィールド:first_name、title、organization.name。無料プランではメールアドレス/LinkedIn が難読化されています。 - People Match(エンリッチ):
POST https://api.apollo.io/api/v1/people/match— マッチごとに約 $0.03。メールアドレス、電話番号、LinkedIn URL、氏名が明らかになります。 - 認証: すべてのリクエストで
x-api-key: {APOLLO_API_KEY}ヘッダーを使用 - ページネーション:
per_page(最大 100)、page(1 から始まる)。pagination.total_entriesで合計数を取得します。
出力
結果を現在の作業ディレクトリに CSV として保存します:
tam-companies-{date}.csv— ICP スコアとティアを含む、見つかったすべての企業tam-personas-{date}.csv— Tier 1-2 の企業向けペルソナのウォッチリスト(People Search から取得)
コメント
Markdown 対応