mcpField
D
deal-momentum-analyzer

deal-momentum-analyzer

github.com/scientiacapitalマーケティング・グロース2847 回インストール3 週間前に更新
リポジトリ

deal-momentum-analyzer について

deal-momentum-analyzerは、ステージ滞在日数、活動、関係者の関与、通話シグナル、MEDDICの充足度、クローズ日の変更からオープン案件を採点する営業スキルです。案件の状態を分類し、停滞のおそれがある案件への次のアクションを提案します。

主な機能

  1. 016つのシグナルによる案件採点
  2. 02GREEN/YELLOW/RED分類
  3. 03Clariの通話シグナル分析
  4. 04リスク案件の優先表示
  5. 05案件ごとの次のアクション
  6. 06毎日およびオンデマンドのレポート

活用シーン

  1. 01失注や延期のおそれがある案件の特定
  2. 02毎朝の営業フォロー優先順位付け
  3. 03週次のパイプライン動向の確認
  4. 04停滞案件への具体的な対応準備

MCP 対応

このスキルはHubSpot MCPでオープン案件と関連するCRMデータを取得します。活動分析やフォロー提案には、Clari MCPの呼び出しやその他のMCPツールも記載されています。

インストール

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

$npx skills add https://github.com/scientiacapital/skills --skill deal-momentum-analyzer

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

同梱ファイルconfig.json

詳細

複数シグナル分析(ステージ滞在日数、活動の最新性、ステークホルダーの関与、通話・活動のセンチメント、MEDDIC の completeness)を用いて、すべての進行中案件を勢い(ステージだけでなく)でスコアリングします。失注しそうな上位 3〜5 件の案件を浮かび上がらせ、それらを回復するための具体的なネクストベストアクションを提示します。目標: 停滞したパイプラインの 5〜10% を毎月回復する(現在のパイプライン水準で月約 $18K)。

<quick_start> 毎日の自動実行(CST 午前 7 時): スケジュールされたタスクがすべての進行中案件を取得 → 勢いをスコアリング → 優先順位付けされたアクションリストを配信

オンデマンド: 「deal momentum」 → 今すぐ完全な分析を実行 「pipeline review」 → 同上、パイプライン レビューとしてフォーマット 「which deals need attention」 → リスクのある案件のみにフィルタリング

トリガーフレーズ:

  • 「deal health」 / 「deal momentum」
  • 「pipeline review」 / 「stalled deals」
  • 「which deals need attention」
  • 「morning brief」 / 「SOD」(日次ブリーフに統合) </quick_start>

<success_criteria>

  • すべての進行中案件を勢いで 0〜100 にスコアリング
  • 案件を分類: GREEN(順調)、YELLOW(減速)、RED(停滞)
  • リスクのある上位 3〜5 件の案件を具体的なネクストベストアクションとともに浮上させる
  • 週次の傾向: 案件は加速しているか、減速しているか?
  • 目標: タイムリーな介入により、停滞案件の 5〜10% を毎月回復する
  • クローズ日がずれそうな案件に対する偽陰性ゼロ </success_criteria>

アーキテクチャ

SCHEDULED (7am CST)          ANALYSIS                    OUTPUT
─────────────────────────────────────────────────────────────────
HubSpot: all open deals  →  Score each deal on     →  Prioritized dashboard
CRM: activity history    →  6 momentum signals     →  Next-best-action per deal
Activity: emails/calls   →  Classify G/Y/R         →  Gmail draft (optional)
                          →  Compare to last run    →  Calendar blocks (optional)

ステージ 1: データ収集

1a. すべての進行中案件を取得(オーナーまたはコラボレーター)

HubSpot MCP の search_crm_objects を 2 つの OR 結合されたフィルターグループ で使用し、所有案件と共同案件の両方を取得します:

FilterGroup 1 — Tim が COLLABORATOR:

  • hs_all_collaborator_owner_ids CONTAINS_TOKEN 87486452
  • hs_is_closed EQ false

FilterGroup 2 — Tim が OWNER:

  • hubspot_owner_id EQ 87486452
  • hs_is_closed EQ false

リクエストするプロパティ: dealname、dealstage、amount、hubspot_owner_id、hs_lastmodifieddate、notes_last_updated、closedate、pipeline、createdate、hs_all_collaborator_owner_ids、num_associated_contacts、hs_deal_stage_probability

hs_lastmodifieddate の降順でソート。上限 100。

各案件について以下を取得:

フィールドHubSpot プロパティ
案件名dealname
金額amount
ステージdealstage
クローズ日closedate
作成日createdate
最終活動notes_last_updated または hs_lastmodifieddate
オーナーhubspot_owner_id
コラボレーターhs_all_collaborator_owner_ids
関連コンタクトアソシエーション経由
関連会社アソシエーション経由
1a-bis. 案件ロールのタグ付け

案件を取得した後、各案件に Tim のロールをタグ付けします:

  • OWNER — hubspot_owner_id = 87486452 → Tim が案件を直接所有
  • COLLABORATOR — hs_all_collaborator_owner_ids に 87486452 が含まれるが hubspot_owner_id ≠ 87486452 → Tim がクローズを支援中(AE 所有または SE 所有の案件)

両方のタイプを勢いレポートに表示します。AE が所有するコラボレーター案件(オーナー ID 82625923 Lex Evans、423155215 Ron Epstein、190030668 Phillip Sandler)は、Tim がソースした、または積極的に支援している案件であり、それらは彼のパイプライン貢献そのものです。追跡する必要があります。

スコアリングから除外するのは、Tim がオーナーでもコラボレーターでもない案件のみです(つまり、何らかの形で表示されたが Tim の関与がない案件)。

1b. Clari 通話インテリジェンス(シグナル 4 のデータソース)

各ディールに関連するコンタクトについて、最近の Clari 通話データを取得します:

ツール目的
clari_search_callsディールのコンタクトが関与した通話を検索します(attendeeEmail、過去 30 日でフィルタ)
clari_get_call_summary関連する各通話の AI サマリーとアクションアイテムを取得します

各ディールの関連コンタクトごとに:

  1. Clari 通話を検索:clari_search_calls(attendeeEmail=contact_email, daysBack=30)
  2. 見つかった通話に対して:clari_get_call_summary(callId=call_id)
  3. 抽出する項目:
    • 通話センチメント:AI サマリーから positive/neutral/negative を判定
    • ディスカバリーの網羅性:MEDDIC の質問が行われたか
    • 競合の言及:サマリー内の競合他社名
    • アクションアイテム:未解決のアクションアイテム = 停滞リスク
    • 最終通話日:シグナル 4 のスコアリングにおける直近性シグナル

シグナル 4 の強化(通話モメンタム — 15 点):

サブシグナル点数基準
過去 7 日以内の Clari 通話5直近のエンゲージメントが確認できる
ポジティブなセンチメント4AI サマリー = positive/constructive
MEDDIC の質問が行われた3トランスクリプトでディスカバリーのトピックが扱われている
未解決のアクションアイテムがない2すべてのアクションアイテムがクローズ済み
競合の言及がない1競合上の立場がクリーン

Clari データが見つからない場合は、HubSpot のアクティビティの直近性(既存のロジック)にフォールバックします。Clari が空であるという理由だけで 0 点にしてはいけません。

1c. アクティビティ履歴の取得

各ディールの関連企業について、ask_agent を使用します:

  • クエリ:「[company] のディールにおける過去 30 日間のすべてのアクティビティ、ノート、エンゲージメントを表示して」
  • 抽出する項目:通話ノート、メールアクティビティ、ミーティングの結果、ディールステージの変更
1c. コンタクトエンゲージメントの取得

各ディールの関連コンタクトについて、hubspot_search_contacts を使用します:

  • 最後のメール開封/クリック日
  • フォーム送信
  • ページビュー
  • ミーティング予約

ステージ 2:モメンタムスコアリング(0~100)

6 つの重み付けされたシグナルで各ディールをスコアリングします:

シグナル 1:現在のステージにおける経過日数(25 点)
条件点数
このステージの中央値未満25
中央値ちょうど15
中央値の 1.5 倍8
中央値の 2 倍超0

ステージの中央値(Tim の過去データからキャリブレーション):

ステージ想定日数
Appointment Scheduled7
Qualified to Buy14
Presentation Scheduled10
Decision Maker Bought-In14
Contract Sent7
Closed Won—
シグナル 2:アクティビティの直近性(20 点)
最終アクティビティ点数
3 日未満前20
3~7 日15
7~14 日8
14~21 日3
21 日超0
シグナル 3: ステークホルダーの広がり (15 点)

ATL/BTL の検証が必要 (CLAUDE.md § ATL/BTL Classification v1.0 を参照): 各ディールの関連コンタクトについて、スコアリングの前に役職で分類します:

  • ATL: Chief、VP、Director、Dean、Provost、Superintendent、Court Administrator、City Manager、Senior Pastor、Executive Pastor
  • GRAY: Manager (AV/施設/IT) — 予算が 25K ドル超であることが確認できた場合にのみ ATL 相当としてカウント
  • BTL: Technician、Specialist、Coordinator、Support、Administrator (システム/ネットワーク/データベース)、Engineer、Operator、Instructor/Faculty、Designer、Assistant、Clerk (Court Admin 以外)、Volunteer、Intern、Student、Resident、Help Desk
  • ATL には決してならない: Warehouse Manager、Network Manager、Systems Administrator、AV Technician、Graphic Design Instructor、Program Administrator、Web Designer、Classroom Support、Lab Coordinator、Maintenance、Building Engineer、Multimedia Services Manager、Video Production Specialist、Streaming Crew
関与したコンタクトポイント
3 件以上のコンタクト (ATL 層のコンタクトを最低 1 件含む、EB が確認済み)15
2 件以上のコンタクトで、少なくとも 1 件が ATL 層12
2 件以上のコンタクトだがすべて BTL/GRAY (ATL が確認されていない)7
1 件のコンタクト (チャンピオンのみ、層を問わない)5
1 件以上のコンタクトだがすべて NEVER ATL の役職2
アクティブなコンタクトが 0 件0

ペナルティフラグ: ディールに ATL 層のコンタクトが 0 件の場合、レポートに ⚠️ フラグを追加します: 「NO ECONOMIC BUYER IDENTIFIED — deal at risk of stalling at Decision Maker stage. Action: ask champion to intro Director+/VP+.」

シグナル 4: 通話の勢い (15 点)

Clari の通話データを主要なシグナルソースとして使用します (Stage 1b: Clari Call Intelligence を参照)。

アクティビティのシグナルポイント
過去 7 日以内の通話 + ポジティブなセンチメント15
過去 7 日以内の通話 + ニュートラル10
過去 14 日以内の通話7
14 日以上通話なし0
最後の通話でネガティブなセンチメント-5 (ペナルティ)

データソース:

  • 主要: Clari の通話サマリー (clari_search_calls + clari_get_call_summary 経由)
  • フォールバック: Clari のデータが利用できない場合は HubSpot のアクティビティの最新性
シグナル 5: MEDDIC の網羅性 (15 点)

利用可能なデータから推定します:

特定された MEDDIC フィールドポイント
6 次元のうち 5-615
3-4 次元10
1-2 次元5
0 次元0
シグナル 6: クローズ日の整合性 (10 点)
条件ポイント
クローズ日が将来で、一度も延期されていない10
クローズ日が 1 回延期された6
クローズ日が 2 回以上延期された2
クローズ日が過去 (期限超過)0
分類
スコア分類アクションの優先度
70-100GREEN — 順調モニタリング
40-69YELLOW — 減速今週中に対応
0-39RED — 停滞本日中に対応

Stage 3: 次に取るべき最善のアクションエンジン

YELLOW/RED の各ディールについて、具体的なアクションを処方します:

アクションマトリクス
主要なシグナルのギャップ推奨アクションツール
14 日超アクティビティなし再エンゲージメントメールを送信gmail_create_draft
14 日超通話なしチェックイン通話を予約gcal_create_event
シングルスレッド (コンタクト 1 件)追加のステークホルダーを調査してアプローチapollo_mixed_people_api_search
経済的購買者が特定されていないチャンピオンに EB を紹介してもらう通話スクリプト
クローズ日が期限超過メールで新しいタイムラインを提案gmail_create_draft
通話のセンチメントがネガティブ反論に正面から対応通話準備ブリーフ
競合他社が言及された競合のバトルカードを取得リサーチ
MEDDIC のギャップ次回通話用のディスカバリー質問MEDDIC ブリーフ
アクションの出力形式

各アクションについて、次を提供します:

  1. What: 具体的なアクションの説明
  2. Why: どのシグナルがこれをトリガーしたか
  3. How: すぐに使えるメールのドラフト / カレンダー招待 / トーキングポイント
  4. When: 本日中 / 今週中 / [クローズ日] までに

Stage 4: 出力形式

╔══════════════════════════════════════════════════════════════╗
║  DEAL MOMENTUM REPORT — [Date]                               ║
║  Pipeline: $[total] | Deals: [count] | Weighted: $[weighted] ║
╠══════════════════════════════════════════════════════════════╣

SUMMARY:
🟢 GREEN: [X] deals ($[amount]) — on track
🟡 YELLOW: [X] deals ($[amount]) — slowing, intervene this week
🔴 RED: [X] deals ($[amount]) — stalled, intervene TODAY

TREND vs LAST RUN:
- Deals improved: [X] (moved from RED→YELLOW or YELLOW→GREEN)
- Deals declined: [X] (moved down)
- New deals: [X]
- Pipeline delta: [+/- $amount]

═══════════════════════════════════════════════════════════════

🔴 PRIORITY ACTIONS (do these today):

1. [Deal Name] — $[amount] | Stage: [stage] | Score: [XX/100]
   ⚠️ Signals: [days in stage: 28 | no activity: 18 days | single-threaded]
   → ACTION: [specific next-best-action]
   → DRAFT: [ready-to-send email or talking points]

2. [Deal Name] — $[amount] | Stage: [stage] | Score: [XX/100]
   ⚠️ Signals: [close date overdue | negative call sentiment]
   → ACTION: [specific next-best-action]
   → DRAFT: [ready-to-send email or talking points]

═══════════════════════════════════════════════════════════════

🟡 WATCH LIST (intervene this week):

3. [Deal Name] — $[amount] | Score: [XX/100]
   → [brief action recommendation]

═══════════════════════════════════════════════════════════════

🟢 ON TRACK:

[Deal list with scores, sorted by close date]

╚══════════════════════════════════════════════════════════════╝

<scheduled_automation>

毎日午前7時 CST の実行

このスキルは、スケジュールタスクとして実行されるように設計されています。

スケジュール: 毎日午前 7:00 CST(13:00 UTC) タスク名: "deal-momentum-daily" スケジュール設定のオプション:

  • セッションベース: CronCreate "57 6 * * 1-5" とプロンプト "Run deal-momentum-analyzer"(3 日で自動失効するため、セッションごとに再作成が必要)
  • 永続型: ~/Library/LaunchAgents/com.tim.deal-momentum.plist の launchd エージェント(今後の対応)
  • オンデマンド: Tim が「deal momentum」または「morning brief」と言ったとき

フロー:

  1. HubSpot からすべての進行中商談を取得します
  2. 各商談を 6 つのモメンタムシグナルでスコアリングします
  3. GREEN/YELLOW/RED に分類します
  4. YELLOW/RED に対して次に取るべき最適なアクションを生成します
  5. 推奨される再エンゲージメントメールの Gmail 下書きを作成します
  6. レポートを出力します(ワークスペースに保存し、モーニングブリーフで提示します)

SOD/モーニングブリーフとの連携: Tim が「morning brief」または「SOD」と言ったとき、このレポートはパイプラインセクションとして含まれます。 </scheduled_automation>

## 必要な MCP ツール - **Epiphan CRM MCP:** hubspot_search_deals、hubspot_search_companies、hubspot_search_contacts、hubspot_get_deal、hubspot_get_company、hubspot_get_contact、ask_agent(アクティビティ履歴、ステージ進行速度の中央値、パイプラインカバレッジ、商談コンバージョンのベンチマーク) - **Epiphan Clari MCP:** clari_search_calls、clari_get_call_summary(通話のセンチメント分析とモメンタムスコアリング用) - **Apollo MCP:** apollo_mixed_people_api_search、apollo_people_match(マルチスレッド化アクション用) - **Gmail MCP:** gmail_create_draft(再エンゲージメントメールのアクション用) - **Google Calendar MCP:** gcal_create_event(チェックインコールの予約用) - **スケジューリング:** CronCreate(セッションベース、最大 3 日)または launchd(永続型)

参照される関連スキル

  • hubspot-revops-skill — HubSpot クエリパターン、パイプラインステージの定義
  • sales-revenue-skill — MEDDIC フレームワーク、パイプラインカバレッジのベンチマーク
  • meddic-call-prep-auto-skill — action = "book a call" の場合に完全なコール準備を生成します
  • portfolio-artifact-skill — GTME ポートフォリオ用に商談回復の指標を収集します

結果サイドカーの出力

最終ステップとして、~/.claude/skill-analytics/last-outcome-deal-momentum-analyzer.json に書き込みます:

{"ts":"[UTC ISO8601]","skill":"deal-momentum-analyzer","version":"1.0.0","variant":"default",
 "status":"[success|partial|error]","runtime_ms":[estimated ms from start],
 "metrics":{"deals_scored":[n],"green_count":[n],"yellow_count":[n],"red_count":[n],"blockers_flagged":[n],"avg_momentum_score":[n],"drafts_created":[n]},
 "error":null,"session_id":"[YYYY-MM-DD]"}

一部のステージが失敗しても結果が生成された場合は、status に "partial" を使用します。出力がまったく生成されなかった場合にのみ "error" を使用します。

コメント