portfolio-deal-linker について
portfolio-deal-linker は HubSpot の成約案件を、貢献したスキルや自動化に結び付けるスキルです。営業への影響やキャリア実績を追跡し、影響売上や削減時間などを集計して定期レポートを作成します。
主な機能
- 01新たにクローズした案件の検出
- 02スキルや自動化への案件の帰属
- 03売上、期間、自動化指標の算出
- 04ポートフォリオと週次ダイジェストの更新
- 05月次インパクトレポートの作成
活用シーン
- 01スキルが案件に与えた貢献の追跡
- 02月次の売上貢献と削減時間の集計
- 03評価やキャリア移行に向けた実績の整理
MCP 対応
帰属判定のため、Epiphan CRM MCP、Apollo MCP、Gmail MCP を使って案件、コンタクト、シーケンス、メールの記録を取得します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scientiacapital/ skills --skill portfolio-deal-linkerインストール後、Claude Code で/portfolio-deal-linkerを入力して読み込まれたか確認します。
同梱ファイルconfig.json
詳細
<quick_start> 毎日の自動実行(CST 午前7時): 前回実行以降にクローズされた案件をチェック → スキル/アクションにアトリビューション → ポートフォリオを更新
オンデマンド: "portfolio update" → 今すぐ完全なアトリビューションスキャンを実行 "what did I influence this month" → 月次のインパクトレポートを生成 "gtme evidence" → 面接/レビューの文脈向けにポートフォリオを整形
トリガーフレーズ:
- "portfolio update" / "deal closed"
- "link deal to portfolio" / "gtme evidence"
- "what did I influence" / "career evidence"
- "transition tracker" / "show my impact" </quick_start>
<success_criteria>
- すべてのクローズド・ウォン案件が 24 時間以内に起点となるスキル/ワークフローにアトリビューションされる
- 影響を与えた収益が明確なアトリビューションチェーンとともに追跡される
- 節約時間の指標が毎週集計される(手作業を排除したスキル)
- VP BD 移行のナラティブ向けにポートフォリオの証拠が整形される
- 月次のエグゼクティブサマリーが自動生成される
- Tim が関与した案件でアトリビューションの取りこぼしがゼロ </success_criteria>
アーキテクチャ
SCHEDULED (7am CST) ATTRIBUTION PORTFOLIO UPDATE
──────────────────────────────────────────────────────────────────────────────
HubSpot: recently closed → Match deal to skill that → Update portfolio.jsonl
deals (won + lost) → originated/influenced it → Update weekly digest
→ Calculate metrics → Update GTME narrative
→ Compare to manual baseline → Career evidence file
ステージ 1: 新たにクローズされた案件の検出
hubspot_search_deals を次のフィルターで使用します:
dealstageIN ('closedwon', 'closedlost')closedate>= 前回実行のタイムスタンプ(~/.claude/portfolio/last-run.jsonに保存)- チャネル案件(
is_channel = true)と、AE ID '82625923'、'423155215'、'190030668'(Lex Evans、Ron Epstein、Phillip Sandler)が所有する案件を除外
各案件について、次を取得します:
| フィールド | 目的 |
|---|---|
dealname | 識別 |
amount | 収益アトリビューション |
closedate | サイクルタイムの計算 |
createdate | パイプラインの速度 |
dealstage | ウォン vs ロスト |
hubspot_owner_id | Tim の案件のみ |
| 関連コンタクト | 誰が関与したか |
| 関連会社 | 会社のマッチング |
| 案件のメモ/アクティビティ | アトリビューションのシグナル |
ステージ 2: スキルアトリビューションエンジン
クローズされた各案件について、どのスキル/自動化が貢献したかを判定します:
アトリビューションのシグナル
| シグナル | アトリビューションされるスキル | 検出方法 |
|---|---|---|
| Apollo シーケンス経由でコンタクトが読み込まれた | prospect-research-to-cadence | Apollo emailer_campaigns_search — コンタクトがシーケンスに含まれていたか確認 |
| MEDDIC コール準備が生成された | meddic-call-prep-auto | コール準備ログに会社が出現するか確認 |
| 案件がモメンタムアナライザーでフラグされた | deal-momentum-analyzer | RED/YELLOW アクションに案件が出現したか確認 |
| Apollo 経由でコンタクトがエンリッチされた | prospect-research-to-cadence | Apollo のコンタクト作成日 vs 案件作成日 |
| アウトリーチメールが下書きされた | prospect-research-to-cadence | コンタクトのメールアドレスに対する Gmail 下書き履歴 |
| アクティビティ履歴が存在する | meddic-call-prep-auto | ask_agent — 会社のアクティビティタイムラインをクエリ |
| 手動のプロスペクティング(自動化のマッチなし) | Tim(手動) | フォールバック — それでもポートフォリオに計上 |
アトリビューションモデル
PRIMARY attribution (100% credit):
→ Skill that ORIGINATED the deal (first touch)
ASSIST attribution (shared credit):
→ Skills that INFLUENCED the deal (middle touches)
→ E.g., prospect-research found the contact, meddic-call-prep prepped the demo,
deal-momentum flagged it when stalling
RECOVERY attribution:
→ If deal-momentum-analyzer flagged deal as RED/YELLOW
AND deal subsequently closed-won
→ This is "recovered revenue" — strongest GTME evidence
ステージ 3: ポートフォリオ指標の計算
案件ごとの指標
| 指標 | 計算式 | 重要な理由 |
|---|---|---|
| サイクルタイム | closedate - createdate | パイプラインの速度 |
| 収益 | amount | 直接的なインパクト |
| クローズまでのコスト | スキル使用コストからの推定 | 効率性 |
| 自動化のタッチ数 | スキルアトリビューションのカウント | レバレッジ |
| 手動 vs 自動 | 案件ライフサイクルのうち自動化された割合 | 移行の証拠 |
集計指標(ローリング 30 日間)
| 指標 | 計算式 | 目標 |
|---|---|---|
| 影響を与えた総収益 | 帰属された受注案件の合計 | 毎月追跡 |
| 回復した案件 | RED/YELLOW フラグ → 受注 | パイプラインの 5〜10% |
| 節約時間(時間/月) | スキルの節約時間見積もり × 使用回数の合計 | 月 30 時間以上 |
| 案件あたりコスト | 総自動化コスト / 成約案件数 | 1 案件あたり $5 未満 |
| 自動化カバレッジ | 1 つ以上のスキルが関与した案件 / 総案件数 | 80% 超 |
| 勝率の向上 | 自動化案件の勝率 vs 手動ベースライン | 差分を追跡 |
GTME ポジショニング指標
| 指標 | ナラティブ | VP BD との関連性 |
|---|---|---|
| 月間の影響収益 | 「自動化ワークフローを通じて $X のパイプラインに影響を与えた」 | 収益オーナーシップ |
| 月間の節約時間 | 「月 30 時間以上の手作業を節約するシステムを構築した」 | 運用レバレッジ |
| リードあたりコスト | 「有資格リードあたりのコストを $X から $Y に削減した」 | ユニットエコノミクス |
| 回復率 | 「自動検出により停滞していたパイプラインで月 $18K を回復した」 | パイプライン管理 |
| 自動化カバレッジ | 「案件の 80% 以上が少なくとも 1 つの自動化ワークフローに触れるようになった」 | システム思考 |
ステージ 4: ポートフォリオファイルの更新
4a. portfolio.jsonl への追記
{
"date": "2026-03-15",
"deal_id": "hs_12345",
"deal_name": "Baylor University",
"amount": 45000,
"outcome": "closedwon",
"cycle_days": 32,
"primary_skill": "prospect-research-to-cadence",
"assist_skills": ["meddic-call-prep-auto", "deal-momentum-analyzer"],
"recovered": true,
"recovery_skill": "deal-momentum-analyzer",
"automation_touches": 5,
"manual_touches": 3,
"automation_pct": 0.625
}
4b. 週次ダイジェストの更新
既存の portfolio-artifact 週次ダイジェストに、アトリビューションの詳細とともに案件を追記します。
4c. 月次 GTME エビデンスレポートの生成
╔══════════════════════════════════════════════════════════════╗
║ GTME PORTFOLIO — [Month Year] ║
║ Tim Kipper | BDR → VP Business Development ║
╠══════════════════════════════════════════════════════════════╣
HEADLINE METRICS:
┌─────────────────────────────────────────────────────────────┐
│ Revenue Influenced: $[XXX,XXX] (XX deals) │
│ Pipeline Recovered: $[XX,XXX] (X deals saved from stall) │
│ Time Saved: [XX] hours ([X] min/day × [XX] days) │
│ Automation Coverage: [XX]% (deals with skill touch) │
│ Cost per Deal: $[X.XX] (automation cost / deals) │
└─────────────────────────────────────────────────────────────┘
SKILL ATTRIBUTION BREAKDOWN:
| Skill | Deals Influenced | Revenue | Time Saved |
|-------|-----------------|---------|------------|
| prospect-research-to-cadence | XX | $XX,XXX | XX hrs |
| meddic-call-prep-auto | XX | $XX,XXX | XX hrs |
| deal-momentum-analyzer | XX (recovered) | $XX,XXX | XX hrs |
TOP DEALS (with attribution chain):
1. [Deal] — $XX,XXX | Won
Chain: Apollo enrich → sequence load → call prep → demo → close
Skills: PRC → MCA → DMA
VP BD TRANSITION NARRATIVE:
"In [Month], I influenced $[X] in revenue through automated GTM systems
I designed and built. These systems saved [X] hours of manual work,
recovered $[X] in stalled pipeline, and achieved [X]% automation
coverage across the deal lifecycle. This demonstrates [operational
leverage / systems thinking / revenue ownership] at VP BD scale."
╚══════════════════════════════════════════════════════════════╝
ステージ 4: 報酬プラン達成トラッカー
Tim の 2026 年 BDR 報酬プラン目標に対する日次進捗を計算します。
当月の目標
常に、以下の月次目標ルックアップテーブルから「当月」の目標を解決してください(月をハードコードしないこと)。2026 年 6 月以降、Tim はフルクォータです: 月 24 案件、月 $714K のパイプライン。下期の収益目標は毎月上昇します。ストレッチ = 目標の 126% 以上(1.5 倍のアクセラレーター)。日次ランレート = 月次目標 / 当月の営業日数。
計算ロジック
- HubSpot で、当月に作成され、Tim がオーナー(87486452)またはコラボレーターである案件をクエリする
- 生成されたパイプラインの
amountを合計する - 収益について、
dealstage= 'closedwon' のamountを合計する - 計算する:
- パイプライン達成率 % = 総パイプライン / 月次目標 × 100
- 収益達成率 % = 総受注 / 月次目標 × 100
- 案件数達成率 % = 作成された案件数 / 月次目標 × 100
- アクセラレーターゾーン: 100% 未満 = ベース、100〜110% = 1.0 倍、111〜125% = 1.25 倍、126% 以上 = 1.5 倍
- 残り日数 = 当月の残り営業日数
- 必要な日次ランレート = (目標 - 達成済み) / 残り日数
出力フォーマット(日次ポートフォリオレポートへの追記)
📊 COMP PLAN TRACKER — {Month YYYY} ({Phase from lookup table})
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Pipeline: $XXX,XXX / ${month pipeline target} (XX% — Zone: BASE/1.0x/1.25x/1.5x)
Revenue: $XX,XXX / ${month revenue target} (XX% — Zone: BASE/1.0x/1.25x/1.5x)
Deals: X / {month deal target} (XX%)
Days left: X business days
Gap to stretch: $XXX,XXX pipeline | $XX,XXX revenue | X deals
Daily run rate needed: $X,XXX pipeline | $X,XXX revenue
月次目標ルックアップ(将来の月向け)
| 月 | 案件数 | パイプライン | 収益 | フェーズ |
|---|---|---|---|---|
| 3 月 | 12 | $357K | $125K | ランプ 50% |
| 4 月 | 16 | $464K | $163K | ランプ 65% |
| 5 月 | 20 | $607K | $212K | ランプ 85% |
| 6 月 | 24 | $714K | $250K | フル(上期) |
| 7 月 | 24 | $714K | $475K | フル(下期) |
| 8 月 | 24 | $714K | $475K | フル(下期) |
| 9 月 | 24 | $714K | $500K | フル(下期) |
| 10 月 | 24 | $714K | $525K | フル(下期) |
| 11 月 | 24 | $714K | $550K | フル(下期) |
| 12 月 | 24 | $714K | $600K | フル(下期) |
当月に基づいて目標を動的に選択します。
<scheduled_automation>
毎日午前 7 時 CST の実行
スケジュール: 平日、毎日午前 7:00 CST(13:00 UTC) タスク名: "portfolio-deal-linker-daily" フロー:
- 前回の実行以降に成約した案件を HubSpot で確認する
- 各案件を発生元のスキルに帰属させる
- 案件ごとおよび集計の指標を計算する
- portfolio.jsonl に追記する
- 新規受注があれば週次ダイジェストを更新する
- 月末であれば月次レポートを生成する
EOD との連携: Tim が「EOD」と言った場合、当日成約した案件のポートフォリオアトリビューション概要を含めます。 </scheduled_automation>
## 必須の MCP ツール - **Epiphan CRM MCP:** hubspot_search_deals、hubspot_get_deal、hubspot_search_contacts、hubspot_get_company、ask_agent(アトリビューション用のアクティビティ履歴) - **Apollo MCP:** apollo_emailer_campaigns_search(シーケンス登録履歴の確認) - **Gmail MCP:** search_threads(アトリビューション用の下書き/送信履歴の確認)参照される関連スキル
portfolio-artifact-skill— 基本メトリクスの取得、週次ダイジェストのフォーマット、エグゼクティブサマリーのテンプレートdeal-momentum-analyzer-skill— 回復アトリビューション(RED/YELLOW とフラグが付いたがクローズ・ウォンした案件)prospect-research-to-cadence-skill— 創出アトリビューション(Apollo シーケンスへの登録)meddic-call-prep-auto-skill— 影響アトリビューション(案件向けに生成されたコール準備)hubspot-revops-skill— HubSpot のクエリパターン、案件ステージの定義
アウトカムサイドカーの出力
最終ステップとして、~/.claude/skill-analytics/last-outcome-portfolio-deal-linker.json に書き込みます:
{"ts":"[UTC ISO8601]","skill":"portfolio-deal-linker","version":"1.0.0","variant":"default",
"status":"[success|partial|error]","runtime_ms":[estimated ms from start],
"metrics":{"deals_linked":[n],"skills_attributed":[n],"revenue_tracked_usd":[n]},
"error":null,"session_id":"[YYYY-MM-DD]"}
一部のステージが失敗しても結果が生成された場合は、ステータスに「partial」を使用します。出力がまったく生成されなかった場合にのみ「error」を使用します。