mcpField
P
portfolio-deal-linker

portfolio-deal-linker

github.com/scientiacapital生産性2842 回インストール3 週間前に更新
リポジトリ

portfolio-deal-linker について

portfolio-deal-linker は HubSpot の成約案件を、貢献したスキルや自動化に結び付けるスキルです。営業への影響やキャリア実績を追跡し、影響売上や削減時間などを集計して定期レポートを作成します。

主な機能

  1. 01新たにクローズした案件の検出
  2. 02スキルや自動化への案件の帰属
  3. 03売上、期間、自動化指標の算出
  4. 04ポートフォリオと週次ダイジェストの更新
  5. 05月次インパクトレポートの作成

活用シーン

  1. 01スキルが案件に与えた貢献の追跡
  2. 02月次の売上貢献と削減時間の集計
  3. 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

詳細

クローズ済みの HubSpot 案件を、それに貢献したスキル、自動化、アウトリーチ活動に自動的に紐付けます。Tim のオペレーショナル・レバレッジ — 節約時間、影響を与えた収益、案件あたりコスト、自動化 ROI — を証明する生きた GTME ポートフォリオを構築します。これは VP Business Development への移行に向けた、キャリア上極めて重要な証拠です。

<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 を次のフィルターで使用します:

  • dealstage IN ('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_idTim の案件のみ
関連コンタクト誰が関与したか
関連会社会社のマッチング
案件のメモ/アクティビティアトリビューションのシグナル

ステージ 2: スキルアトリビューションエンジン

クローズされた各案件について、どのスキル/自動化が貢献したかを判定します:

アトリビューションのシグナル
シグナルアトリビューションされるスキル検出方法
Apollo シーケンス経由でコンタクトが読み込まれたprospect-research-to-cadenceApollo emailer_campaigns_search — コンタクトがシーケンスに含まれていたか確認
MEDDIC コール準備が生成されたmeddic-call-prep-autoコール準備ログに会社が出現するか確認
案件がモメンタムアナライザーでフラグされたdeal-momentum-analyzerRED/YELLOW アクションに案件が出現したか確認
Apollo 経由でコンタクトがエンリッチされたprospect-research-to-cadenceApollo のコンタクト作成日 vs 案件作成日
アウトリーチメールが下書きされたprospect-research-to-cadenceコンタクトのメールアドレスに対する Gmail 下書き履歴
アクティビティ履歴が存在するmeddic-call-prep-autoask_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 倍のアクセラレーター)。日次ランレート = 月次目標 / 当月の営業日数。

計算ロジック
  1. HubSpot で、当月に作成され、Tim がオーナー(87486452)またはコラボレーターである案件をクエリする
  2. 生成されたパイプラインの amount を合計する
  3. 収益について、dealstage = 'closedwon' の amount を合計する
  4. 計算する:
    • パイプライン達成率 % = 総パイプライン / 月次目標 × 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" フロー:

  1. 前回の実行以降に成約した案件を HubSpot で確認する
  2. 各案件を発生元のスキルに帰属させる
  3. 案件ごとおよび集計の指標を計算する
  4. portfolio.jsonl に追記する
  5. 新規受注があれば週次ダイジェストを更新する
  6. 月末であれば月次レポートを生成する

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」を使用します。

コメント