営業電話または会議の前に、焦点を絞った情報をまとめます。CRM(顧客管理システム)の履歴、進行中の案件、最近のメモ、メールのやり取り、企業ニュースを取得します。その連絡先がHubSpotにまだ登録されていない場合は、カレンダーとメールから情報を取得します。 **次のような場合に使用:** - 「Xさんとの電話に向けて準備して」 - 「〇〇社との会議があります」 - 「〇〇さんについて情報をまとめて」 - 「電話の前にXについて何を知っていますか」 - 「Xを調べて」 - 「今日は誰に会うのか」 - 「Xの準備をしています」 - 名前と「電話」または「会議」を組み合わせた表現 **重要:** 電話や会議の前には必ずこのスキルを使用してください。また、ユーザーが電話に出ようとしているのに準備をまだ実行していないと判断された場合は、あらかじめ提案してください。
Prepares a focused brief before a sales call or meeting. Pulls CRM history, open deals, recent notes, email threads, and company news. Falls back to calendar and email if the contact isn't in HubSpot yet. ALWAYS use this skill before a call or meeting — "prep me for my call with X", "I have a meeting with [company]", "brief me on [name]", "what do I know about X before my call", "research X", "who am I meeting with today", "prepping for X", or just a name paired with "call" or "meeting". Trigger proactively when the user seems about to get on a call and hasn't run prep.
以下のツール名は、HubSpot MCP コネクタ(別のシステムとの連携機能)に対応した名前です。指定のツールが利用できない場合は、スキルの更新状況を確認するか、HubSpot のツールセットで他の選択肢を探してください。利用可能なツールは変わる可能性があります。
ユーザーが名前や会社名を何も入力していない場合は、以下だけを聞いてください:
「誰との通話ですか?」
この時点ではそれ以外は何も聞かないでください。名前がわかったら先に進みます。
以下を同時に実行します:
get_organization_details → portalId(ポータルID)、uiDomain(ドメイン)を保存search_crm_objects:objectType は contacts(連絡先)、クエリは名前またはメールアドレス、プロパティは firstname(名)、lastname(姓)、email(メール)、jobtitle(役職)、hs_lead_status(見込み客ステータス)、associatedcompanyid(関連会社ID)、notes_last_contacted(最後の連絡日時)、hs_email_last_send_date(最後のメール送信日)、createdate(作成日)複数の候補が見つかった場合は、曖昧さ解消リストを表示して確認を待ちます。contactId(連絡先ID)とcompanyId(会社ID)を保存してください。その後、associations.contact = contactId で絞られた案件を検索し、dealId(案件ID)を保存します。
HubSpot で見つからない場合、利用可能なコネクタを同時に検索します:
コネクタで見つかった場合は、externalContact: trueとして保存します。入手できるデータで進め、フェーズ 2A はスキップします。
いずれのコネクタにも見つからない場合は、ここで中断します:「[名前]が HubSpot または接続済みアプリに見つかりません。名前を確認するか、先に HubSpot に追加してください。」
以下を同時に実行します:
externalContact: trueの場合はスキップ)get_crm_objects contacts、objectId: contactId、associations: deals(案件)、notes(メモ)、tasks(タスク)。以下を取得します:
相手のメールアドレスで最新3~5件のスレッドを検索。最後の返信方向、トーン、未回答の質問、件名の背景を記録します。
次の7日間で相手のメールアドレスが参加者として含まれるミーティングを探します。時刻、参加者、議題を抽出します。
利用可能なウェブ検索ツールを使い、「[会社名] ニュース [現在の年号]」および「[会社名]」を検索します。具体的な情報を3~4件取得してください。ウェブ検索ツールがない場合は、無言でスキップします。
リサーチ後、ユーザーの元のメッセージから不足している情報を確認します:
| 不足項目 | 質問内容 |
|---|---|
| 通話の種類 | 「この通話は何ですか?初期提案、デモンストレーション、フォローアップ、四半期ビジネスレビュー?」 |
| 目的・カバーしたいテーマ | 「この通話で何を話し合いたいですか?」 |
| 目標となる成果 | 「良い結果とはどのような状態ですか?」 |
本当に不足していて、準備資料として役立つものだけ質問してください。CRM の背景情報から通話の種類が明らかな場合(例:案件がデモステージにある)は、推測して聞かないでください。リサーチが充実していて、十分な準備資料が書ける場合は、このフェーズ全体をスキップして先に進んでください。
質問する場合は、1つのメッセージで会話のように聞いてください。フォーム形式ではなく、見つけた情報に触れながら:
「[名前]さんを見つけました。[ステージ]で[金額]の案件があり、最後の連絡は[X日前]です。準備資料を書く前に:
- この通話は何ですか?
- どんな成果を目指していますか?」
回答をcallType(通話種別)、purpose(目的)、desiredOutcome(目標成果)として保存します。
| シグナル | 評価 |
|---|---|
| 最近の返信、案件が進行中、積極的な関わり | ポジティブ |
| ある程度の活動があるが、明確な勢いがない | ニュートラル |
| 3週間以上返信がない、案件が30日以上停滞、冷淡なトーン | 要注意 |
ブロッカー(阻害要因):メモやタスク、メールから明らかになった案件の障害
ハードル(課題):より柔らかな摩擦(評価待ち、担当者変更、タイミング)
案件コンテキスト:ステージ、金額、クローズ予定日、次のコミットした行動
callTypeとdesiredOutcomeが提供されている場合は、トークポイント(話すべき要点)と次のステップを調整します。
## 通話準備:[名] @ [会社名]
[日付] · [通話種別] · 目標:[目標成果]
### 概要
- 役職:[職務内容]
- 案件:[案件名] · [ステージ] · [金額] · クローズ予定 [クローズ日]
- 評価:[ポジティブ/ニュートラル/要注意] — [1文での理由]
- 最後の連絡:[X日前、メール・電話・ミーティング経由 — テーマ]
### 未処理項目
- [阻害要因または未回答の質問]
- [未決着のコミットメント]
### 会社情報
- [具体的なニュース項目 — 出典と日付]
- [関連する2番目の情報]
### トークポイント
1. [個人的なオープナー — 特定のメール、ニュース項目、メモへの言及]
2. [主要な阻害要因または未処理項目に対処]
3. [具体的な次ステップと期限]
### 提案する次のステップ
[1つの具体的なアクション — 目標成果に紐付け]
データが不足しているセクションは、プレースホルダーなしで清潔に削除してください。
externalContact: trueの場合はスキップして、フェーズ7に進みます。
manage_crm_objects:objectType: notes、createRequest:
確認メッセージ:「通話準備を保存しました。連絡先を表示:https://[uiDomain]/contacts/[portalId]/contact/[contactId]」
externalContact: trueの場合、準備資料の後に以下を表示します:
[名]さんはまだ HubSpot に登録されていません。 追加しますか?名前、メールアドレス、会社情報で連絡先を作成します。
はい、HubSpot に追加·今は不要
「はい」を選択した場合:manage_crm_objects createRequest、objectType: contacts、フェーズ1で取得したフィールドを使用。新しいレコードへのリンクで確認します。
Tool names below are expected names for the HubSpot MCP connector. If a named tool isn't available, check for updates to the skill and/or alternates in the HubSpot toolset as available tools may change
If the user gave no name or company at all, ask only:
"Who's the call with?"
Do not ask for anything else yet. Once you have a name, proceed.
Run simultaneously:
get_organization_details → store portalId, uiDomainsearch_crm_objects: objectType: contacts, query: name or email, properties: firstname, lastname, email, jobtitle, hs_lead_status, associatedcompanyid, notes_last_contacted, hs_email_last_send_date, createdateMultiple matches → show disambiguation list, wait for confirmation. Store contactId, companyId. Then search deals filtered by associations.contact = contactId → store dealId.
If not found in HubSpot, search available connectors simultaneously:
If found in a connector, store as externalContact: true. Proceed with available data — Phase 2A will be skipped.
If no connector finds the contact either, stop: "I couldn't find [name] in HubSpot or your connected apps. Double-check the name or add them to HubSpot first."
Run simultaneously:
externalContact: true)get_crm_objects contacts, objectId: contactId, associations: deals, notes, tasks. Retrieve:
Search threads for contact's email, last 3–5. Note: last reply direction, tone, unanswered questions, subject context.
Find meeting in next 7 days with contact's email as attendee. Extract: time, attendees, agenda.
Using an available web search tool, search "[company name] news [current year]" and "[company name]". Capture 3–4 concrete findings. Skip silently if no web search tool is available.
After research, check what's missing from the user's original message:
| Missing | Ask |
|---|---|
| Call type | "What type of call is this — discovery, demo, follow-up, QBR?" |
| Purpose / what they want to cover | "What are you trying to cover on this call?" |
| Desired outcome | "What would a good outcome look like?" |
Ask only for what's genuinely missing and useful for the brief. If CRM context makes the call type obvious (e.g. deal is at Demo stage), infer it — don't ask. If research is rich enough to write a strong brief, skip this phase entirely and proceed.
If you do ask, do it in one message, conversationally — not as a form. Reference what you found:
"Found [Name] — they're at [stage] with an open deal worth [amount], last contacted [X days ago]. Before I write up the brief:
- What type of call is this?
- What are you hoping to walk away with?"
Store responses as: callType, purpose, desiredOutcome.
| Signal | Sentiment |
|---|---|
| Recent reply, deal advancing, active engagement | Positive |
| Some activity, no clear momentum | Neutral |
| No reply 3+ weeks, deal stuck 30+ days, disengaged tone | At-risk |
Blockers — concrete deal-stoppers from notes, tasks, email
Hurdles — softer friction (evaluation pending, champion change, timing)
Deal context — stage, value, close date, next committed action
Tailor talking points and next step to callType and desiredOutcome if provided.
## Call Prep: [First Last] @ [Company]
[Date] · [Call type] · Goal: [desiredOutcome]
### Quick snapshot
- Role: [Job title]
- Deal: [Deal name] · [Stage] · [Value] · closes [Close date]
- Sentiment: [Positive / Neutral / At-risk] — [one sentence reason]
- Last contact: [X days ago via email/call/meeting — topic]
### Open items
- [Blocker or outstanding question]
- [Any commitment not yet closed out]
### Company context
- [Specific news item — source and date]
- [Second relevant finding]
### Talking points
1. [Personal opener — reference a specific email, news item, or note]
2. [Address the main blocker or open item]
3. [Named next step with a timeframe]
### Suggested next step
[One specific actionable close — tied to desiredOutcome]
Omit sections cleanly if data is missing — no placeholders.
Skip if externalContact: true — go to Phase 7.
manage_crm_objects: objectType: notes, createRequest:
Confirm: "Call prep saved. View contact: https://[uiDomain]/contacts/[portalId]/contact/[contactId]"
If externalContact: true, after the brief:
[Name] isn't in HubSpot yet. Want me to add them? I'll create a contact with their name, email, and company.
Yes, add to HubSpot·Not now
On "Yes": manage_crm_objects createRequest, objectType: contacts, with fields from Phase 1. Confirm with a link to the new record.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。