关于 morning-brief
这项销售 skill 为 BDR 汇总每日 HTML 简报,整合日历空档、优先级 HubSpot 线索、交易进展、Clari 通话记录和 Gmail 草稿。它会依据冷却期与抑制状态筛选联系人,再生成拨打名单。
主要功能
- 01显示日历安排与拨打时段
- 02按优先级排列 HubSpot 线索
- 03筛除冷却期及受抑制联系人
- 04汇总交易进展与 Clari 通话
- 05创建可审核的 Gmail 草稿
- 06生成单页 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 Skill
生成 Tim 的每日简报(周一至周五上午 7:30),包含日历、用于拨打的 HubSpot 热门线索、交易势头评分、近期 Clari 通话摘要,以及为每位优先拨打名单联系人准备的个性化 Gmail 草稿。整合 callable-lead-count 中的健康指标。跳过处于 Supabase 冷却期的线索。输出单页 HTML 简报,供每天拨打 50 多通电话前快速查看。<quick_start>
触发时间: 美国东部时间周一至周五上午 7:30(在上午 7:25 运行 callable-lead-count 之后)
手动触发:“显示晨间简报”或“今天的拨打名单”
**依赖项:**需要 HubSpot(门户 21530819)、Google Calendar、Clari、Supabase(检查处置状态)
**输出:**单页 HTML 简报,包含日历、拨打名单(20 位 ATL 联系人)、交易势头、通话摘要和电子邮件草稿
</quick_start>
<success_criteria>
- 获取 Tim 今天的日历(会议、休息时间、专注时段)
- 从 HubSpot 获取 15-20 条热门线索(优先排序 ATL、高参与度)
- 筛选:跳过处于 Supabase 冷却期的线索(disposition_cooldown_until > NOW)
- 丰富每条线索的信息:公司、职位、最近联系时间、近期活动
- 获取线索的交易势头评分(来自 deal-momentum-analyzer 或计算得出)
- 检查 Clari 中过去 7 天的通话(摘要、要点)
- 为每条线索创建 Gmail 草稿(使用 prospect-refresh 模板或自定义内容)
- 输出:包含日历、拨打名单、交易管道、通话重点和待发送草稿的 HTML 简报
- 报告:拨打目标(15-20 位 ATL 联系人)、会议时段、交易势头趋势 </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
提取并显示:
- 所有会议的时间、参会者和时长
- 专注时段或“请勿打扰”时段
- 午餐/休息时间
- 可拨打电话的时段(会议之间的空档)
日历输出:
## 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 通,每通约 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
筛选和排序逻辑:
- 必须有电话号码(可拨打)
- 线索状态属于已参与阶段(合格线索、销售合格线索)
- 参与信号:页面浏览量 >3,或近期有活动(<7 天)
- 按以下字段排序:custom_atl_btl_tier(ATL > GRAY > BTL)
- 在同一分层内,按以下字段排序:hs_lastmodifieddate DESC(最近修改的优先)
保留排名前 25 的候选线索(将在阶段 3 进一步筛选)
阶段 3:应用 Supabase 冷却期筛选
检查 Supabase 处置表中的冷却状态
**查询:**处置表中 contact_id = hubspot_contact_id 且 disposition_cooldown_until > NOW 的记录
冷却规则(依据处置政策):
- 已留言:冷却 24 小时
- 拒接/占线:冷却 2 小时(可重试)
- 已接通但联系人错误:冷却 24 小时
- 已接通并安排后续沟通:冷却 7 天(后续通话)
- 线索选择退出:冷却 30 天或永久标记为“请勿致电”
筛选逻辑:
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> TODAY 的线索 - 纳入
bdr_suppression_until未设置的线索(从未被抑制) - 纳入
bdr_suppression_until< TODAY 的线索(冷却期已结束)
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 笔)
- 交易阶段(谈判、资格审核等)
- 交易金额
- 交易动能评分(如果由 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
- 活动频率: 如果最近 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 | IT 服务总监 | Acme Corp | [复制] | 企业 AV | ATL | 🔥 10 | 3/17 | Acme AV Suite($250K) | [打开草稿] |
| 2 | Bob Jones | AV 经理 | State Univ | [复制] | 高等教育 | GRAY | ✓ 8 | 3/15 | [无] | [打开草稿] |
| 3 | Carol White | IT 总监 | County Courts | [复制] | 法院 | ATL | 🔥 9 | 3/18 | Courthouse AV($180K) | [打开草稿] |
第 3 部分:交易管道概览
| 交易 | 阶段 | 金额 | 动能 | 拨打目标 | 行动 |
|---|---|---|---|---|---|
| Acme AV Suite | 谈判 | $250K | 🔥 10 | Jane Smith | 在 3/20 前发送演示 |
| State Univ Hybrid | 资格审核 | $120K | ✓ 8 | Bob Jones + Carol White | 安排技术通话 |
| County Courts Archive | 需求探索 | $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 发送邮件简报
可选:将简报以 HTML 邮件形式自动发送至 [email protected],或嵌入仪表板
邮件格式:
- 主题:“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:生成结果 Sidecar
写入 ~/.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)+ 手动(“显示早间简报”)
依赖项: prospect-enrich → prospect-refresh → sequence-load → callable-lead-count → morning-brief