morning-brief について
BDR向けに、予定の空き時間、優先度付きHubSpotリード、案件の進捗、Clariの通話メモ、Gmail下書きをまとめた日次HTMLブリーフを作成する営業スキルです。冷却期間や抑制状態を確認してから架電リストを提示します。
主な機能
- 01予定と架電可能時間の表示
- 02HubSpotリードの優先順位付け
- 03冷却中・抑制対象の連絡先を除外
- 04案件進捗とClari通話の要約
- 05レビュー用Gmail下書きの作成
- 061ページHTMLブリーフの生成
活用シーン
- 01当日の見込み客への架電を計画
- 02案件の動きとフォロー項目を確認
- 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
フィルター+ソートのロジック:
- 電話番号が存在すること(架電可能)
- リードステータスがエンゲージメント段階にあること(Qualified Lead、Sales Qualified)
- エンゲージメントシグナル: 3 回以上のページビュー、または最近のアクティビティ(7 日以内)
- ソート基準: custom_atl_btl_tier(ATL > GRAY > BTL)
- 同じティア内では、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 カスタムフィールドから取得
各リードの関連ディールについて、モメンタムを計算します:
モメンタムスコアリング要素:
- ステージ進行: 過去 7 日以内に移動した場合は +3
- 接触の広がり: ATL 担当者が関与している場合は +2、GRAY 担当者 1 人につき +1
- アクティビティの頻度: 過去 7 日間に 2 件を超えるアクティビティがある場合は +2、1 件のアクティビティがある場合は +1
- 直近性: アクティビティが 2 日未満前の場合は +2、5 日未満前の場合は +1
- ディール規模: $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 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Jane Smith | Dir. IT Services | Acme Corp | [copy] | Corp AV | ATL | 🔥 10 | 3/17 | Acme AV Suite ($250K) | [Open Draft] |
| 2 | Bob Jones | Manager, AV | State Univ | [copy] | Higher Ed | GRAY | ✓ 8 | 3/15 | [None] | [Open Draft] |
| 3 | Carol White | IT Director | County Courts | [copy] | Courts | ATL | 🔥 9 | 3/18 | Courthouse AV ($180K) | [Open Draft] |
セクション 3: ディールパイプラインの概要
| ディール | ステージ | 金額 | モメンタム | ダイヤル対象 | アクション |
|---|---|---|---|---|---|
| Acme AV Suite | Negotiation | $250K | 🔥 10 | Jane Smith | 3/20 までにデモを送信 |
| State Univ Hybrid | Qualification | $120K | ✓ 8 | Bob Jones + Carol White | 技術通話をスケジュール |
| County Courts Archive | Discovery | $180K | ✓ 7 | Carol 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 (...)
翌日のブリーフでは、クールダウン中の連絡先が自動的に除外されます。
スキルの依存関係
上流 (先に実行する必要があります):
- prospect-enrich (月曜 6:00 AM) — 電話番号なしのエンリッチメント
- prospect-refresh (月曜 6:30 AM) — ネットニューの ICP 検索
- sequence-load (月曜 7:15 AM) — シーケンスへの自動登録
- 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