关于 deal-momentum-analyzer
deal-momentum-analyzer 是一项销售技能,根据阶段时长、活动、利益相关方参与、通话信号、MEDDIC 完整度和预计成交日期变化为未结交易评分。它划分管道健康状态,并为可能放缓或停滞的交易提出后续行动。
主要功能
- 01六项信号交易评分
- 02GREEN/YELLOW/RED 分类
- 03Clari 通话信号分析
- 04优先列出风险交易
- 05针对交易提出后续行动
- 06每日与按需生成报告
适用场景
- 01发现可能延期的交易
- 02安排每日销售跟进优先级
- 03查看每周管道进展趋势
- 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
详细介绍
<quick_start> 每日自动运行(中部标准时间上午 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. 提取所有未结交易(负责人或协作者)
使用 search_crm_objects(HubSpot MCP),通过两个以 OR 连接的筛选组同时获取由 Tim 负责和 Tim 参与协作的交易:
筛选组 1 — Tim 是协作者:
hs_all_collaborator_owner_idsCONTAINS_TOKEN87486452hs_is_closedEQfalse
筛选组 2 — Tim 是负责人:
hubspot_owner_idEQ87486452hs_is_closedEQfalse
请求的属性:
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 的角色:
- 负责人 —
hubspot_owner_id=87486452→ Tim 直接负责该交易 - 协作者 —
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 摘要和行动项 |
对于每笔交易关联的联系人:
- 搜索 Clari 通话:
clari_search_calls(attendeeEmail=contact_email, daysBack=30) - 对找到的通话:
clari_get_call_summary(callId=call_id) - 提取:
- 通话情绪:根据 AI 摘要判断为积极/中性/消极
- 需求探索完整度:是否询问了 MEDDIC 问题?
- 竞争对手提及情况:摘要中是否提到任何竞争对手名称
- 行动项:尚未解决的行动项 = 停滞风险
- 最近通话日期:信号 4 评分的时效性指标
信号 4 增强(通话势头 — 15 分):
| 子信号 | 分数 | 标准 |
|---|---|---|
| 过去 7 天内有 Clari 通话 | 5 | 已确认近期有互动 |
| 积极的情绪 | 4 | AI 摘要为积极/有建设性 |
| 已询问 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 的历史数据进行校准):
| 阶段 | 预期天数 |
|---|---|
| 已安排预约 | 7 |
| 已确认购买意向 | 14 |
| 已安排演示 | 10 |
| 决策者已认同 | 14 |
| 已发送合同 | 7 |
| 已成功成交 | — |
信号 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:**首席、VP、总监、院长、教务长、学区总监、法院行政主管、市经理、高级牧师、执行牧师
- **GRAY:**经理(AV/设施/IT)——仅在确认预算 >$25K 时计为 ATL 等效级别
- **BTL:**技术员、专员、协调员、支持人员、管理员(系统/网络/数据库)、工程师、操作员、讲师/教师、设计师、助理、职员(非法院行政人员)、志愿者、实习生、学生、住院医师、帮助台人员
- **绝不属于 ATL:**仓库经理、网络经理、系统管理员、AV 技术员、平面设计讲师、项目管理员、网页设计师、课堂支持人员、实验室协调员、维护人员、建筑工程师、多媒体服务经理、视频制作专员、直播团队
| 已参与的联系人 | 分数 |
|---|---|
| 3 位以上联系人,其中至少 1 位为 ATL 级联系人(已确认 EB) | 15 |
| 2 位以上联系人,其中至少 1 位为 ATL 级 | 12 |
| 2 位以上联系人,但全部为 BTL/GRAY(没有已确认的 ATL) | 7 |
| 1 位联系人(仅有支持者,不论级别) | 5 |
| 1 位以上联系人,但全部职位都绝不属于 ATL | 2 |
| 0 位活跃联系人 | 0 |
**惩罚标记:**如果一笔交易没有 ATL 级联系人,在报告中添加 ⚠️ 标记:"未识别经济买家 — 交易可能在决策者阶段停滞。行动:请支持者引荐总监级以上/VP 级以上人员。"
信号 4:通话进展势头(15 分)
主要使用 Clari 通话数据作为信号来源(参见阶段 1b:Clari 通话情报)。
| 活动信号 | 分数 |
|---|---|
| 过去 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–6 个 | 15 |
| 3–4 个维度 | 10 |
| 1–2 个维度 | 5 |
| 0 个维度 | 0 |
信号 6:成交日期可靠性(10 分)
| 条件 | 分数 |
|---|---|
| 成交日期在未来,且从未推迟 | 10 |
| 成交日期推迟过 1 次 | 6 |
| 成交日期推迟过 2 次以上 | 2 |
| 成交日期已过(逾期) | 0 |
分类
| 分数 | 分类 | 行动优先级 |
|---|---|---|
| 70-100 | 绿色 — 进展正常 | 监控 |
| 40-69 | 黄色 — 进展放缓 | 本周介入 |
| 0-39 | 红色 — 陷入停滞 | 今天介入 |
阶段 3:下一最佳行动引擎
对于每笔黄色/红色交易,指定具体行动:
行动矩阵
| 主要信号缺口 | 建议行动 | 工具 |
|---|---|---|
| 超过 14 天没有活动 | 发送重新互动邮件 | gmail_create_draft |
| 超过 14 天没有通话 | 预约跟进通话 | gcal_create_event |
| 单线联系(1 位联系人) | 调研并联系更多利益相关方 | apollo_mixed_people_api_search |
| 未识别经济买家 | 请支持者引荐 EB | 通话脚本 |
| 成交日期已逾期 | 通过邮件提出新时间安排 | gmail_create_draft |
| 通话情绪为负面 | 直接处理异议 | 通话准备简报 |
| 提及竞争对手 | 调取竞争对手对战卡 | 调研 |
| MEDDIC 存在缺口 | 为下次通话准备探索性问题 | MEDDIC 简报 |
行动输出格式
对于每项行动,提供:
- **内容:**具体行动说明
- **原因:**触发该行动的信号
- **方式:**可直接使用的邮件草稿/日历邀请/谈话要点
- **时间:**今天/本周/在[成交日期]之前
阶段 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>
每日 CST 上午 7 点运行
此技能设计为以计划任务的形式运行:
计划: 每天 CST 上午 7:00(UTC 13:00) 任务名称: "deal-momentum-daily" 计划选项:
- 基于会话: 使用提示词
"Run deal-momentum-analyzer"运行CronCreate "57 6 * * 1-5"(3 天后自动过期,必须在每个会话中重新创建) - 持久运行: 位于
~/Library/LaunchAgents/com.tim.deal-momentum.plist的 launchd Agent(后续工作) - 按需运行: Tim 说“deal momentum”或“morning brief”
流程:
- 从 HubSpot 获取所有未关闭的交易
- 根据 6 项动能信号为每笔交易评分
- 分类为 GREEN/YELLOW/RED
- 为 YELLOW/RED 交易生成下一步最佳行动
- 为建议的重新互动邮件创建 Gmail 草稿
- 输出报告(保存到工作区并在晨间简报中呈现)
与 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— 当操作为 "book a call" 时,生成完整的通话准备内容portfolio-artifact-skill— 为 GTME 作品集记录交易挽回指标
输出结果 Sidecar
最后一步,将内容写入 ~/.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]"}
如果某些阶段失败但仍生成了结果,请使用状态 "partial"。只有在未生成任何输出时才使用 "error"。