mcpField
M
morning-brief

morning-brief

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

morning-brief について

BDR向けに、予定の空き時間、優先度付きHubSpotリード、案件の進捗、Clariの通話メモ、Gmail下書きをまとめた日次HTMLブリーフを作成する営業スキルです。冷却期間や抑制状態を確認してから架電リストを提示します。

主な機能

  1. 01予定と架電可能時間の表示
  2. 02HubSpotリードの優先順位付け
  3. 03冷却中・抑制対象の連絡先を除外
  4. 04案件進捗とClari通話の要約
  5. 05レビュー用Gmail下書きの作成
  6. 061ページHTMLブリーフの生成

活用シーン

  1. 01当日の見込み客への架電を計画
  2. 02案件の動きとフォロー項目を確認
  3. 03架電リスト向けの個別メール下書きを準備

MCP 対応

MCPツールを使い、Google Calendar、HubSpot CRM、Clariのデータを取得し、Gmail下書きを作成します。下書きは自動送信せず、手動レビューに回します。

インストール

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

$npx skills add https://github.com/scientiacapital/skills --skill morning-brief

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

同梱ファイルconfig.json

詳細

Morning Brief スキル

カレンダー、架電用の HubSpot ホットリード、ディールの勢いスコア、最近の Clari 通話サマリー、優先架電リストの各担当者向けにパーソナライズされた Gmail 下書きを含む、Tim のデイリーブリーフィング(月曜日〜金曜日の午前 7:30)を生成します。callable-lead-count からのヘルスメトリクスを統合します。Supabase のクールダウン期間中のリードはスキップします。毎日 50 件以上の架電の前に素早く確認できるよう、単一ページの HTML ブリーフを出力します。

<quick_start> トリガー: 月〜金 午前 7:30 ET(午前 7:25 の callable-lead-count の後)
手動トリガー: 「Show morning brief」または「Today's dial list」
依存関係: HubSpot(ポータル 21530819)、Google Calendar、Clari、Supabase(ディスポジション確認)が必要
出力: カレンダー、架電リスト(ATL 担当者 20 件)、ディールの勢い、通話サマリー、下書きメールを含む単一ページの HTML ブリーフ </quick_start>

<success_criteria>

  • 今日の Tim のカレンダーを取得する(会議、休憩、集中時間ブロック)
  • HubSpot から 15〜20 件のホットリードを取得する(ATL 優先ソート、高いエンゲージメント)
  • フィルタリング: Supabase のクールダウン期間中のリードをスキップする(disposition_cooldown_until > NOW)
  • 各リードを拡充する: 会社、役職、最終接触、最近のアクティビティ
  • リードのディールの勢いスコアを取得する(deal-momentum-analyzer から、または計算により)
  • Clari で過去 7 日間の通話を確認する(サマリー、主なポイント)
  • 各リード向けの Gmail 下書きを作成する(prospect-refresh テンプレートまたはカスタムを使用)
  • 出力: カレンダー、架電リスト、ディールパイプライン、通話ハイライト、準備済みの下書きを含む HTML ブリーフ
  • レポート: 架電目標(ATL 15〜20 件)、会議ブロック、ディールの勢いのトレンド </success_criteria>

ステージ 1: 今日の Tim のカレンダーを取得する

MCP ツール: mcp__claude_ai_Google_Calendar__list_events

calendarId: "primary"
timeMin: TODAY 00:00:00
timeMax: TODAY 23:59:59
timeZone: "America/New_York"
condenseEventDetails: true

抽出して表示:

  • 時刻、参加者、所要時間を含むすべての会議
  • 集中時間ブロックまたは「Do Not Disturb」ブロック
  • 昼食/休憩時間
  • 架電可能な時間枠(会議の合間の空き時間)

カレンダー出力:

## Today's Calendar

09:00 - 09:30  | All Hands (Zoom)
09:30 - 10:30  | [AVAILABLE FOR DIALS] 60 min
10:30 - 11:15  | 1:1 with Manager
11:15 - 12:00  | [AVAILABLE FOR DIALS] 45 min
12:00 - 13:00  | LUNCH
13:00 - 14:30  | [AVAILABLE FOR DIALS] 90 min
14:30 - 15:00  | Clari Call Review
15:00 - 16:00  | [AVAILABLE FOR DIALS] 60 min
16:00 - 17:00  | Admin / Wrap-up

架電時間枠のサマリー: 合計 255 分 = 架電に利用可能な時間は 4.25 時間(目標 50 件、1 件あたり約 5 分)


ステージ 2: HubSpot からホットリードを取得する

MCP ツール: search_crm_objects(HubSpot)

objectType: "contacts"
filterGroups: [{
  filters: [
    { propertyName: "phone", operator: "HAS_PROPERTY" },
    { propertyName: "hs_lead_status", operator: "IN", values: ["Qualified Lead", "Sales Qualified Lead"] },
    { propertyName: "hs_analytics_num_page_views", operator: "GTE", value: "3" }
  ]
}]
properties: [
  "firstname", "lastname", "email", "phone", "jobtitle", "company",
  "custom_atl_btl_tier", "custom_prospect_vertical", "hs_analytics_num_page_views",
  "hubspot_owner_id", "hs_lastmodifieddate", "createdate", "custom_last_touch",
  "lifecyclestage", "custom_deal_momentum_score"
]
sorts: [{
  propertyName: "custom_atl_btl_tier",
  direction: "ASCENDING"  # ATL first
}]
limit: 50

フィルター+ソートのロジック:

  1. 電話番号が存在すること(架電可能)
  2. リードステータスがエンゲージメント段階にあること(Qualified Lead、Sales Qualified)
  3. エンゲージメントシグナル: 3 回以上のページビュー、または最近のアクティビティ(7 日以内)
  4. ソート基準: custom_atl_btl_tier(ATL > GRAY > BTL)
  5. 同じティア内では、hs_lastmodifieddate DESC(最新順)でソート

上位 25 件の候補に絞り込む(ステージ 3 でさらにフィルタリングします)


ステージ 3: Supabase のクールダウンフィルターを適用する

Supabase の disposition テーブルでクールダウン状態を確認する

クエリ: disposition テーブルで contact_id = hubspot_contact_id AND disposition_cooldown_until > NOW()

クールダウンのルール(ディスポジションポリシーに準拠):

  • ボイスメールを残した: 24 時間のクールダウン
  • 通話拒否/話し中: 2 時間のクールダウン(再試行可能)
  • 通話接続したが担当者違い: 24 時間のクールダウン
  • 通話接続してアポイント設定: 7 日間のクールダウン(フォローアップ通話)
  • リードがオプトアウト: 30 日間のクールダウン、または恒久的な「Do Not Call」

フィルターのロジック:

FOR each contact IN hot_leads_list:
  IF contact_id in supabase disposition AND cooldown_until > NOW():
    SKIP contact
    LOG: "In cooldown until {cooldown_until}"
  ELSE:
    KEEP contact (ready to dial)

出力: フィルタリング済みの架電リスト(通常、クールダウンフィルター適用後は 15〜20 件)


ステージ S — 抑制ゲート

さらに HubSpot レベルの抑制でフィルタリングします(Supabase のクールダウンを補完します):

  • bdr_suppression_until が設定されており、かつ bdr_suppression_until > 今日の場合は除外
  • bdr_suppression_until が設定されていない場合(一度も抑制されていない)は含める
  • bdr_suppression_until < 今日の場合(クーリング期間が終了)は含める

HubSpot フィルター: propertyName: "bdr_suppression_until", operator: "NOT_HAS_PROPERTY" または operator: "LT", value: TODAY_ISO 参照: lead-suppression-spec(bdr_suppressed、bdr_suppression_reason、bdr_suppression_until)


ステージ 4: リードをディール + アクティビティデータで強化する

残りの各リードについて、強化します:

ステップ A: HubSpot 経由でディールの関連付けを確認する

MCP ツール: search_crm_objects (HubSpot ディール)

filterGroups: [{
  associatedWith: [{
    objectType: "contacts",
    operator: "EQUAL",
    objectIdValues: [contact_id]
  }]
}]
properties: ["dealname", "dealstage", "amount", "closedate", "custom_deal_momentum_score"]
limit: 5

連絡先ごとの出力:

  • 関連付けられたディール (最大 3 件)
  • ディールステージ (Negotiation、Qualification など)
  • ディール規模
  • ディールモメンタムスコア (deal-momentum-analyzer で計算された場合)

ステップ B: Clari 通話を確認する (過去 7 日間)

MCP ツール: clari_search_calls

attendeeEmail: contact.email
daysBack: 7
limit: 5

抽出:

  • 通話日時
  • 通話時間
  • 主要トピックの要約
  • アクションアイテム (AI ノートから)

ステップ C: 最終接触情報を取得する

  • HubSpot から custom_last_touch フィールドを取得する (以前のアクティビティによって設定)
  • 代替: hs_lastmodifieddate をクエリする
  • 表示: 「最終接触 3 日前」または「最終通話 2026-03-15」

ステージ 5: ディールモメンタムスコアを計算する

MCP ツール: Epiphan CRM ask_agent または HubSpot カスタムフィールドから取得

各リードの関連ディールについて、モメンタムを計算します:

モメンタムスコアリング要素:

  1. ステージ進行: 過去 7 日以内に移動した場合は +3
  2. 接触の広がり: ATL 担当者が関与している場合は +2、GRAY 担当者 1 人につき +1
  3. アクティビティの頻度: 過去 7 日間に 2 件を超えるアクティビティがある場合は +2、1 件のアクティビティがある場合は +1
  4. 直近性: アクティビティが 2 日未満前の場合は +2、5 日未満前の場合は +1
  5. ディール規模: $100K を超える場合は +1

モメンタム階層:

  • 10+ = 🔥 ホット (成約間近、高アクティビティ、ATL が関与)
  • 7-9 = ✓ ウォーム (進行中、ATL の関与が一部あり)
  • 4-6 = ⚬ クール (初期段階、低アクティビティ)
  • <4 = ❄️ コールド (停滞)

出力例:

Jane Smith @ Acme Corp
  Deal: "Acme AV Suite" ($250K, Negotiation stage)
  Momentum: 🔥 10/10 (ATL + VP Sales, moved stage 3 days ago)
  Last touch: 2026-03-17 (call with VP)

ステージ 6: 最近の Clari 通話を確認する

MCP ツール: clari_search_calls

repEmail: "[email protected]"
daysBack: 7
status: "POST_PROCESSING_DONE"
limit: 10

通話サマリーを抽出:

MCP ツール: clari_get_call_summary (各通話について)

callId: call_uuid
# Returns: summary, action_items, key_takeaways, attendees

表示形式:

## Recent Calls (Last 7 Days)

### 2026-03-18 — State University (45 min)
Attendee: Dr. Janet Lee, Director of Academic Technology
Summary: Discussed hybrid learning infrastructure. Interest in lecture capture.
Takeaway: Promised demo of Epiphan Pearl Nano + Canvas integration
Action Items: [Send demo link by 2026-03-20]

### 2026-03-15 — County Courts (30 min)
Attendee: Tom Miller, Court Administrator
Summary: Current process: manual video setup + USB drives. Pain point: compliance archival.
Takeaway: High interest in automation. Will present to judge committee.
Action Items: [Follow-up after judge meeting, 2026-03-25]

トレンド:

  • 最も多く言及されたペインポイント
  • 最も多く言及された製品/機能
  • 対応が必要なフォローアップアクション
  • 進行したディール

ステージ 7: 優先リード用の Gmail 下書きを作成する

最終ダイヤルリストの各リード (15〜20 件) について、Gmail 下書きを作成します:

MCP ツール: gmail_create_draft

下書きテンプレート戦略:

テンプレート A — 高モメンタムディール (モメンタム 8+):

To: [email protected]
Subject: RE: Acme AV Suite Demo — Next Steps

Hi Jane,

Following up on our call with your VP of IT on 3/17—thanks again for the positive feedback on the Pearl Nano demo.

Quick question before we schedule the next phase: Does the Board need to review the budget approval, or can we move forward to contract review?

I have a demo with another client at 2pm today, but I'm free 10-11am or 2-3pm this week to talk through the Canvas integration setup.

Best,
Tim
---
Epiphan Video | BDR

テンプレート B — 新規 ICP リード (過去履歴なし):

To: [email protected]
Subject: Video infrastructure question for Example Inc

Hi Bob,

I was researching Example Inc's recent expansion and noticed your focus on hybrid learning.

Quick question: How are you currently handling lecture recordings—do you capture them today, or is that a gap you're filling?

No sales pitch—just trying to understand the landscape at companies your size.

Best,
Tim

テンプレート C — ウォームリード (モメンタム 4-6):

To: [email protected]
Subject: Checking in on that Epiphan demo

Hi Carol,

We talked about the Pearl Mini setup on 3/12—wanted to see if you had a chance to review the spec sheet I sent.

Any initial questions, or is now a good time for a 15-min call to walk through the install process?

Available today 1-2pm or tomorrow morning.

Best,
Tim

下書き作成ロジック:

FOR each contact IN dial_list:
  IF contact.deal_momentum_score > 8:
    use_template = "A_High_Momentum"
  ELIF contact.last_touch > 7 days ago:
    use_template = "B_New_Lead"
  ELSE:
    use_template = "C_Warm_Lead"
  
  personalize_template(contact, company, last_touch, deal)
  create_gmail_draft(to=contact.email, subject=..., body=...)

送信しないでください — Tim の手動レビュー + 下書きからの送信ワークフロー用に下書きのままにします


ステージ 8: HTML モーニングブリーフを生成する

出力: 以下を含む、単一ページの印刷可能な HTML:

ブリーフヘッダー:

╔═══════════════════════════════════════════════════╗
║         MORNING BRIEF — 2026-03-19 (Wednesday)    ║
║              Tim Kipper, BDR at Epiphan           ║
╚═══════════════════════════════════════════════════╝

DIAL TARGET: 20 ATL/GRAY prospects | AVAILABLE TIME: 4.25 hours (255 min)
MOMENTUM SUMMARY: 3 Hot (8+), 8 Warm (4-6), 9 Cool (<4)
CALLABLE INVENTORY: 185 total | 42 ATL (2.8 days runway)

セクション 1: 今日のカレンダー

  • 会議 + ダイヤル時間帯の視覚的タイムライン
  • 色分け: 会議 = ブロック、ダイヤル = 空き、休憩 = 休み

セクション 2: 優先ダイヤルリスト (並べ替え可能)

#名前役職会社電話業種階層モメンタム最終接触ディールGmail
1Jane SmithDir. IT ServicesAcme Corp[copy]Corp AVATL🔥 103/17Acme AV Suite ($250K)[Open Draft]
2Bob JonesManager, AVState Univ[copy]Higher EdGRAY✓ 83/15[None][Open Draft]
3Carol WhiteIT DirectorCounty Courts[copy]CourtsATL🔥 93/18Courthouse AV ($180K)[Open Draft]

セクション 3: ディールパイプラインの概要

ディールステージ金額モメンタムダイヤル対象アクション
Acme AV SuiteNegotiation$250K🔥 10Jane Smith3/20 までにデモを送信
State Univ HybridQualification$120K✓ 8Bob Jones + Carol White技術通話をスケジュール
County Courts ArchiveDiscovery$180K✓ 7Carol White判事委員会にプレゼン

セクション 4: 最近の通話ハイライト

🔥 HIGH PRIORITY FOLLOW-UPS

▸ 2026-03-18: State University (45 min)
  Dr. Janet Lee promised to present to committee.
  ACTION: Follow-up call scheduled for 2026-03-25
  
▸ 2026-03-15: County Courts (30 min)
  High interest in compliance archival. Manual process is pain.
  ACTION: Send compliance white paper + archive demo

セクション 5: 健全性メトリクス

INVENTORY STATUS
✓ ATL Runway: 2.8 days (42 contacts at 15 dials/day) — ACCEPTABLE
✓ Total Runway: 3.7 days (185 contacts at 50 dials/day) — GOOD
⚠️ Trending: +6 leads yesterday (+3.2% day-over-day) — ON TRACK

WEEKLY TARGETS (full quota: 24 deals/mo ≈ 6/week — resolve current month from CLAUDE.md comp plan)
Deals Closed YTD: 8
Deals in Pipeline: 12
Dial Pace: 45 dials/day (target 50) — ON TRACK

セクション 6: 今日のタスク

□ Execute 50 dials (focus: Top 20 ATL leads)
□ Review + send personalized Gmail drafts (one per lead)
□ Follow-up on 2 Clari action items (State Univ, Courts)
□ Update deal stages after calls
□ Log dispositions in Supabase (for cooldown tracking)

ステージ 9: Tim へのメールブリーフ

オプション: ブリーフを [email protected] に HTML メールとして自動送信する、またはダッシュボードに埋め込む

メール形式:

  • 件名: 「Morning Brief — [DATE] — 20 ATL Prospects Ready」
  • 本文: HTML ブリーフ (スタイル付き、クリック可能なドラフトリンク)
  • 添付ファイル: 電話番号をコピー&ペーストしやすいダイヤルリスト CSV

代替案: ブリーフを HTML ファイルとして保存し、Slack/ダッシュボードからリンクする


ステージ 10: Supabase ディスポジションログとの統合

Tim がダイヤルを完了すると、ディスポジションデータが Supabase に流れます:

INSERT INTO disposition (
  contact_id, call_date, outcome, duration_seconds,
  notes, deal_id, next_action, disposition_cooldown_until
) VALUES (...)

翌日のブリーフでは、クールダウン中の連絡先が自動的に除外されます。


スキルの依存関係

上流 (先に実行する必要があります):

  1. prospect-enrich (月曜 6:00 AM) — 電話番号なしのエンリッチメント
  2. prospect-refresh (月曜 6:30 AM) — ネットニューの ICP 検索
  3. sequence-load (月曜 7:15 AM) — シーケンスへの自動登録
  4. callable-lead-count (月〜金 7:25 AM) — インベントリのヘルスチェック

ステージ 11: アウトカムサイドカーの出力 ~/.claude/skill-analytics/last-outcome-morning-brief.json に書き込みます:

{"ts":"[UTC ISO8601]","skill":"morning-brief","version":"1.0.0","variant":"default",
 "status":"[success|partial|error]","runtime_ms":[est ms],
 "metrics":{"dial_list_count":[leads listed],"deals_scored":[deals in pipeline table],
 "drafts_created":[Gmail drafts],"atl_runway_days":[ATL runway]},"error":null,"session_id":"[YYYY-MM-DD]"}

下流 (このブリーフから供給されます):

  • Tim の手動ダイヤルワークフロー (7:30 AM - 5:00 PM)
  • Supabase へのディスポジション記録 (クールダウントラッキング)
  • ディールモメンタムの更新 (deal-momentum-analyzer へ)

スキルメタデータ

バージョン: 1.0
最終更新: 2026-03-19
作成者: Tim Kipper
ステータス: 本番
統合: HubSpot (21530819) + Google Calendar + Clari + Supabase + Gmail
ティア: P1 (コア BDR オートメーション)
トリガー: スケジュール (月〜金 7:30 AM) + 手動 (「Show morning brief」)
依存関係: prospect-enrich → prospect-refresh → sequence-load → callable-lead-count → morning-brief

コメント