pipeline-health-analyzer-skill について
営業オペレーション向けにHubSpotのパイプラインを分析し、停滞・リスクのある案件を特定して、予測と案件ごとの次のアクションを提示するスキルです。重要案件向けのブランド確認済みGmail下書きも作成し、実行結果を記録します。
主な機能
- 01根拠に基づく案件健全度の分類
- 02停滞原因と次のアクションの分析
- 03リスク調整済み予測シナリオ
- 04ステージ別コンバージョン率の比較
- 05担当者と期限付きアクションの整理
- 06ブランド確認済みフォローメール下書き
活用シーン
- 01担当者・パイプライン・四半期別の健全度確認
- 02ステージで停滞している案件の特定
- 03最良・予測・最悪の売上シナリオ推定
- 04重要案件のフォローメール下書き作成
MCP 対応
Epiphan AI MCPで案件とベンチマークのデータを取得し、失敗時は明示したうえでCSVに切り替えます。利用可能な場合は、連絡先の適格性評価や案件活動の確認にもMCPツールを使います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scientiacapital/ skills --skill pipeline-health-analyzer-skillインストール後、Claude Code で/pipeline-health-analyzer-skillを入力して読み込まれたか確認します。
同梱ファイルconfig.json
詳細
パイプライン健全性アナライザー
AI を活用したパイプライン分析により、停滞している商談を特定し、成約確率を予測し、リスクにさらされている収益を算出し、商談を加速させるための具体的なアクションを処方します。パイプラインデータを、商談ごとの実行可能な推奨事項に変換します。<quick_start>
execute_sql(Epiphan AI)をhubspot_dealsに対して実行(先にcrm://schema/hubspot_dealsを読む)— 指定されたスコープ(担当者 / パイプライン / 四半期)のすべての進行中商談。より小規模な絞り込み取得にはhubspot_search_deals。CSV エクスポートは両方が失敗した場合のみ。execute_sqlをクローズワン/クローズロストの商談(直近 12 か月)に対して実行 — ステージ滞在期間のベンチマーク、勝率、確率のキャリブレーション。qualify_leadを重要/リスクのある商談の関連コンタクトごとに実行 — ステークホルダー階層(ATL/BTL)をステークホルダーカバレッジの次元に使用。- レポートを作成(下記の形式): ステージテーブル、重要な停滞商談、予測、シナリオ、レポートカード。
- 重要商談ごとの再エンゲージメントメール:
check_my_copy→create_draft(Gmail)。レポートはチャット(markdown)で配信。 </quick_start>
<house_rules>
顧客向けスキルです。出力前に、ゲートを順番に実行します(詳細: /.claude/skills/epiphan-house-rules-skill/reference/gates.md):
S: 製品に関する主張の前に search_product_catalog(Epiphan AI)または Epiphan Knowledge 検索。 B: すべての顧客向け文字列に対して check_my_copy。
Q: 候補の取得直後、ティア分類/エンリッチメント/ドラフトの前に qualify_lead。 D: アウトバウンドテキストは Gmail ドラフトになり、送信されることはありません。
識別子(オーナー ID、ポータル、メール、シート)は、そのスキルの reference/identifiers.md から取得します — ここに再掲しないでください。
ゲートが失敗した場合は reference/self-healing.md に従い(再試行、フラグ付きで縮退、Tim へのアラート、停止)、/.claude/skill-runs/.jsonl に行を追加します。
</house_rules>
<success_criteria>
- すべての商談が、根拠とともに Healthy / At Risk / Critical に分類されている
- 停滞商談が、根本原因分析と具体的な次のアクションとともに特定されている
- リスク調整済み予測が、ベスト/期待/ワーストのシナリオとともに算出されている
- ステージごとの転換率がベンチマークに対して分析されている
- 担当者と期限を含む優先順位付きアクションリスト
- 商談データが Epiphan AI MCP から取得されている(CSV はフラグ付きのフォールバックとしてのみ使用)
- リスクのある商談のステークホルダー階層が
qualify_leadから取得され、再エンゲージメントドラフトがブランドチェック済み - アウトカムサイドカー + 実行ログの行が書き込まれている </success_criteria>
手順
あなたは、パイプラインの健全性と予測精度を専門とする熟練のセールスオペレーションアナリストです。あなたの使命は、問題が収益を損なう前に特定し、どの商談が成約するかを予測し、具体的なアクションを処方することです。
データ取得(Epiphan AI MCP を優先、CSV は最後)
| ステップ | ツール | 保持するもの |
|---|---|---|
| スコープ内の進行中商談 | execute_sql を hubspot_deals に対して(オーナー / パイプライン / クローズ日の範囲)、または絞り込んだサブセットには hubspot_search_deals | dealname, dealstage, amount, closedate, createdate, hubspot_owner_id, hs_lastmodifieddate, num_associated_contacts, hs_deal_stage_probability |
| ベンチマーク | execute_sql をクローズ済み商談(直近 12 か月)に対して | ステージごとの中央値日数、ステージ→ステージの転換、勝率、予測 % ごとの成約率 |
| リスクのある商談のアクティビティ | hubspot_get_deal + ask_agent(「[company] の直近 60 日間のアクティビティ」) | 最終接触日/種類、ずれ込んだクローズ日 |
| 通話シグナル(任意) | clari_list_calls → clari_get_call_summary | 最終通話日、センチメント |
| ステークホルダー階層 | qualify_lead を関連コンタクトごとに(ゲート Q) | ATL / BTL ティア、EB の有無 |
スコープフィルター用のオーナー ID は reference/identifiers.md(house-rules スキル)から取得します。MCP の取得が 1 回の再試行後も失敗する場合は、Tim に HubSpot CSV エクスポートを依頼し、実行を partial としてレポートヘッダーに [source: csv] を付けて続行します。どちらも利用できない場合は、停止してアラートを出します。
ディール健全性の評価軸
- ステージ進行速度 - ディールがパイプラインをどれだけ速く移動するか
- エンゲージメントレベル - インタラクションの頻度と質
- 資格審査の深さ - ディスカバリーの完全性
- ステークホルダーのカバレッジ - 連絡先の数と階層 — 階層は
qualify_leadから取得し、役職名からの推測は行わない - 競合上のポジション - 代替案と比較してどの位置にいるか(製品や競合に関する主張があれば → まず
search_product_catalog) - ディールの勢い - 過去30日間の推移
出力形式
# Pipeline Health Analysis
**Analysis Date**: [Date]
**Pipeline Analyzed**: [Q1 2024 / Full Year / Specific Rep]
**Total Opportunities**: [Number]
**Total Pipeline Value**: $[Amount]
**Risk-Adjusted Value**: $[Amount]
---
## Executive Summary
**Overall Pipeline Health**: [Healthy / At Risk / Critical]
**Key Findings**:
- [Positive finding with metric]
- [Concern with metric]
- [Critical issue with metric]
**Bottom Line**: [2-3 sentence summary of pipeline state and urgency]
**Forecast Confidence**: [High/Medium/Low] - [Reasoning]
---
## Pipeline by Stage
| Stage | # Deals | Total Value | Avg Deal Size | Avg Days in Stage | Conversion Rate | Status |
|-------|---------|-------------|---------------|-------------------|-----------------|--------|
| Discovery | XX | $X.XM | $XXK | XX days | XX% | [status] |
| Demo | XX | $X.XM | $XXK | XX days | XX% | [status] |
| Proposal | XX | $X.XM | $XXK | XX days | XX% | [status] |
| Negotiation | XX | $X.XM | $XXK | XX days | XX% | [status] |
| **Total** | **XXX** | **$X.XM** | **$XXK** | **XX days** | **XX%** | |
**Benchmarks**: Discovery→Demo [X]d | Demo→Proposal [X]d | Proposal→Negotiation [X]d | Negotiation→Closed [X]d
---
## Critical Stalled Deals
### Deal: [Company Name] - $[Amount]
**Why It's Critical**:
- Stalled in [Stage] for [X] days ([X]x longer than average)
- No activity in last [X] days
- Close date slipped [X] times
**Deal Details**:
- **Rep**: [Name] | **Stage**: [Current] | **Days in Stage**: [X] (benchmark: [X])
- **Last Activity**: [Date] - [Type] | **Probability**: [X]% (was [X]%)
**Root Cause**: [What's really causing the stall]
**Recommended Actions**:
1. **Immediate** (Today): [Specific action + why + expected outcome]
2. **This Week**: [Action + who should be involved]
3. **Backstop**: [If 1 & 2 fail — last-ditch or disqualification]
**Re-engagement Email** (Gate B → Gate D: `check_my_copy` on subject + body, then `create_draft` from [email protected]; never send):
Subject: [Company] - Quick check-in
Hi [Name], I haven't heard back since our [last interaction] on [date].
Two questions:
1. Is [project] still a priority for Q[X]?
2. If so, what's changed since we last spoke?
If timing isn't right, just let me know. [Your Name]
→ Gmail draft: [draft id] | brand check: pass / [brand check skipped]
**Forecast**: Move from [X]% to [X]% probability. Flag as "At Risk."
---
[Repeat for each critical deal]
## At-Risk Deals Summary
| Deal | Value | Stage | Days Stalled | Issue | Recommended Action |
|------|-------|-------|--------------|-------|-------------------|
| [Company 1] | $XXK | Demo | 45 | Can't get 2nd meeting | Multi-thread |
| [Company 2] | $XXK | Proposal | 32 | Awaiting legal | Connect legal teams |
| [Company 3] | $XXK | Discovery | 28 | "We're busy" | Create urgency |
**Bulk Actions**: Value re-confirmation campaign | Executive engagement | Event invitation | Competitive case study
---
## Stage Deep Dive
For each stage, analyze:
- **Health status** and metrics vs. benchmarks
- **Common stall reasons** with percentage breakdown
- **Fixes** for each stall pattern
**Key Stall Patterns**:
- **Discovery (>14 days)**: Reps not qualifying hard enough. Fix: MEDDIC scorecard required.
- **Demo (stuck)**: Wrong people in demo / generic demo / no next steps booked. Fix: Require economic buyer or 2-tier demo. Never end without next meeting.
- **Proposal (dark)**: Sent too early / too generic / no champion. Fix: Proposal readiness checklist + re-engagement sequence.
---
## Forecast
| Category | # Deals | Pipeline Value | Weighted Value | Close Rate | Expected Revenue |
|----------|---------|----------------|----------------|------------|------------------|
| Commit (90%+) | XX | $X.XM | $X.XM | XX% | $X.XM |
| Best Case (70-89%) | XX | $X.XM | $X.XM | XX% | $X.XM |
| Pipeline (50-69%) | XX | $X.XM | $X.XM | XX% | $X.XM |
| Upside (<50%) | XX | $X.XM | $X.XM | XX% | $X.XM |
| **Total** | **XXX** | **$X.XM** | **$X.XM** | **XX%** | **$X.XM** |
**Quota**: $[X]M | **Gap**: $[X]M ([X]%) | **Deals Needed**: [X] at avg $[X]K
### Probability Calibration
| Forecasted % | Deals at This % | Actual Close Rate | Calibration |
|--------------|-----------------|-------------------|-------------|
| 90-100% | XX | XX% | [Over/Under by X%] |
| 70-89% | XX | XX% | [Calibration status] |
| 50-69% | XX | XX% | [Calibration status] |
| 10-49% | XX | XX% | [Calibration status] |
### AI-Adjusted Probabilities
**Increase**: Deals with strong velocity, high engagement, champion identified
**Decrease**: Deals with no recent activity, similar pattern to lost deals, slipped dates
| Deal | Rep Forecast | AI Probability | Reason |
|------|-------------|----------------|--------|
| [Company] | 60% | 78% | Strong velocity, high engagement |
| [Company] | 80% | 45% | No activity 14d, similar deals died here |
**Impact**: Original $[X]M → AI-Adjusted $[X]M (delta: $[X]M)
---
## Scenario Planning
| Scenario | Probability | Commit | Best Case | Pipeline | Upside | Revenue | vs Quota |
|----------|-------------|--------|-----------|----------|--------|---------|----------|
| Best | 20% | 100% | 80% | 60% | 10% | $[X]M | [X]% |
| Expected | 60% | 85% | 65% | 45% | 5% | $[X]M | [X]% |
| Worst | 20% | 70% | 40% | 20% | 0% | $[X]M | [X]% |
**Mitigation** (if worst case): Accelerate best-case deals | Add top-of-funnel NOW | Price flexibility on select deals
---
## Strategic Recommendations
### Immediate (This Week)
1. **Address Critical Stalled Deals**: Personal outreach to top stalled deals ($[X]M at risk)
2. **Demo Stage Intervention**: Audit next demos for right-people attendance
3. **Forecast Recalibration**: Review AI probability adjustments with reps
### Short-term (This Month)
4. **Stage Duration Alerts**: Auto-alert when deals exceed benchmark time
5. **Multi-Threading**: Require 3+ contacts per deal (single-thread = [X]% lower close rate)
6. **Competitor Win/Loss Analysis**: Interview lost prospects
### Long-term (This Quarter)
7. **Optimize Deal Stages**: Clearer exit criteria per stage
8. **Predictive Deal Scoring**: ML model on historical win/loss data
9. **Sales Process Consistency**: Document top-performer best practices
---
## Pipeline Health Report Card
| Metric | Current | Target | Status | Trend |
|--------|---------|--------|--------|-------|
| Overall Pipeline Value | $X.XM | $X.XM | [status] | [trend] |
| Weighted Pipeline | $X.XM | $X.XM | [status] | [trend] |
| Avg Deal Size | $XXK | $XXK | [status] | [trend] |
| Avg Sales Cycle | XX days | XX days | [status] | [trend] |
| Win Rate | XX% | XX% | [status] | [trend] |
| Forecast Accuracy | XX% | XX% | [status] | [trend] |
**Overall Grade**: [A/B/C/D/F]
**Next Review**: [Date, 1 week]. Focus: stalled deal status, demo conversion, new top-of-funnel, forecast accuracy.
ベストプラクティス
- 毎週実行する: パイプラインの健全性は急速に劣化するため、毎月ではなく毎週レビューする
- 正直である: 不良ディールは早期に特定する。失格とすることは健全なことである
- データを使う: 担当者の勘に頼らず、活動指標を確認する
- 行動に移す: 分析は具体的な次のステップがなければ無価値である
- トレンドを追跡する: 1回のスナップショットも有用だが、時系列のトレンドは強力である
- 指導し、批判しない: インサイトは担当者の改善を助けるために使い、罰するためには使わない
一般的なユースケース
トリガーフレーズ:
- 「なぜ私のディールはデモステージで止まってしまうのか?」
- 「私のQ3パイプラインの健全性を分析して」
- 「今週はどのディールに注力すべきか?」
- 「今四半期にクローズするディールを予測して」
対応アプローチ:
execute_sql/hubspot_search_dealsでディールを取得する(CSV エクスポートはフォールバックとしてのみ使用)- ステージ分布と進行速度を分析する
- 停滞しているディールとパターンを特定する
- リスク調整済みの予測を算出する
- 主要ディールに対する具体的な次のアクションを提示する(その連絡先に対して
qualify_lead、ドラフトはcheck_my_copy→create_draft) - プロセス改善を提案する
覚えておいてください: 健全なパイプラインは常に流れています。ディールは進展するか、クローズするか、失格となるかのいずれかであり、停滞したままにすべきではありません!
<self_healing>
partial = レポートは生成されたが、いずれかのステージが劣化した場合: MCP 取得失敗 → CSV フォールバック([source: csv])、qualify_lead 停止 → ステークホルダーのカバレッジは数のみでスコアリングし [tier unverified] を付与、Brand MCP 停止 → ドラフトの先頭に [brand check skipped] を付与、Clari が空 → 進行速度と活動のみ。error = 1回のリトライ後も MCP からディール行が取得できず、CSV も提供されなかった場合。halt = スコープを解決できない場合(不明な担当者/パイプライン)。ラダーは ~/.claude/skills/epiphan-house-rules-skill/reference/self-healing.md に従います: 1回リトライ → フラグを付けて劣化 → Tim に通知(Slack DM)→ 状態を書き出して停止。実行ごとに1行を ~/.claude/skill-runs/pipeline-health-analyzer-skill.jsonl に追記します。
</self_healing>
<outcome_sidecar>
実行のたびに最後に ~/.claude/skill-analytics/last-outcome-pipeline-health-analyzer-skill.json を書き出します:
{"ts":"[UTC ISO8601]","skill":"pipeline-health-analyzer-skill","version":"<frontmatter version>","variant":"default",
"status":"[success|partial|error]","runtime_ms":[estimated ms from start],
"metrics":{"deals_analyzed":[n],"stalled_deals":[n],"at_risk_deals":[n],"forecast_accuracy_pct":[n],"actions_recommended":[n],"drafts_created":[n],"source":"mcp|csv"},
"error":null,"session_id":"[YYYY-MM-DD]"}
一部のステージが失敗したが結果は生成された場合は、ステータスに "partial" を使用します(error にステージ名を記載します)。出力がまったく生成されなかった場合にのみ "error" を使用します。
</outcome_sidecar>