• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLOfficialproductivity

call-prep

プラグイン
HubSpot Sales
ソース
GitHub で見る ↗
説明

営業電話や会議の前に、必要な情報をまとめた簡潔な準備資料を作成します。CRM(顧客管理システム)の履歴、進行中の案件、最近のメモ、メールのやり取り、企業ニュースを集めます。対象の連絡先がHubSpotにまだ登録されていない場合は、カレンダーとメールから情報を取得します。 **次のような場合に使用:** - 「〇〇との電話の前に準備してほしい」 - 「△△会社との会議があります」 - 「〇〇さんについて教えてほしい」 - 「電話前に〇〇について何を知っているか確認したい」 - 「〇〇について調べてほしい」 - 「今日は誰と会議ですか」 - 「〇〇の準備をしています」 - または単に人名と「電話」「会議」という言葉の組み合わせ 電話や会議の直前には必ずこのスキルを使用してください。ユーザーが電話に出ようとしているのに準備を実行していない場合は、こちらから積極的に提案してください。

原文を表示

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 ツールセット内の別のツールを探してください。利用可能なツールは変更される場合があります。

フェーズ 0 — 相手の名前を確認

ユーザーが相手の名前または会社名を一切提供していない場合は、以下のように聞いてください:

「誰との通話ですか?」

他の情報はまだ聞かないでください。名前が得られたら、次へ進みます。


フェーズ 1 — 連絡先を検索

以下を同時に実行:

  • get_organization_details → portalId(ポータルID)と uiDomain(ドメイン)を保存
  • search_crm_objects:
    • objectType: contacts
    • query: 名前またはメールアドレス
    • properties: firstname、lastname、email、jobtitle、hs_lead_status、associatedcompanyid、notes_last_contacted、hs_email_last_send_date、createdate

複数の候補が見つかった場合 → 選択肢の一覧を表示して確認を待ちます。contactId(連絡先ID)と companyId(企業ID)を保存した上で、その contactId に紐付いた案件(deals)を検索して dealId(案件ID)を保存します。

HubSpot に見つからない場合、以下の連携アプリを同時に検索:

  • カレンダー:その名前に関連する今後のイベントを検索。参加者や主催者の情報からメールアドレスと企業名を抽出。
  • メール:その名前の会話スレッドを検索。署名やドメインからメールアドレスと企業名を抽出。

連携アプリで見つかった場合は、externalContact: true として記録してください。利用可能なデータで進みます。フェーズ 2A はスキップされます。

どのアプリにも見つからない場合は、ここで中断: 「[名前]を HubSpot または接続されたアプリで見つけられませんでした。名前をもう一度確認するか、HubSpot に追加してから試してください。」


フェーズ 2 — 並行調査

以下を同時に実行:

A. CRM の履歴(externalContact: true の場合はスキップ)

get_crm_objects で contacts を取得(objectId: contactId、associations: deals、notes、tasks)。以下を取得:

  • 進行中の案件:ステージ、金額、クローズ予定日、案件名
  • 最近のメモ:直近 5 件(hs_timestamp の降順)
  • 進行中のタスク:hs_task_status が NOT_STARTED または IN_PROGRESS
  • 接触履歴:notes_last_contacted、hs_email_last_send_date、createdate

B. メール履歴(メール連携が利用可能な場合)

その相手のメールアドレスに関連するスレッドを検索(直近 3~5 件)。最後の返信者、トーン、未回答の質問、件名の背景情報を記録。

C. カレンダー(カレンダー連携が利用可能な場合)

次の 7 日間の会議の中から、その相手のメールアドレスが参加者として含まれているものを検索。時間、参加者、議題を抽出。

D. 企業調査(Web 検索)

利用可能な Web 検索ツールを使って 「[企業名] ニュース [現在の年]」 と 「[企業名]」 を検索。具体的な情報 3~4 件を収集。Web 検索ツールがない場合は、無言でスキップしてください。


フェーズ 3 — 不足情報の補充(必要に応じて)

調査後、ユーザーの元のメッセージから不足している情報を確認:

不足情報 質問内容
通話の種類 「この通話はどのタイプですか?初回面談、デモ、フォローアップ、経営層向けレビュー(定期的な進捗確認)など」
目的・カバーしたい内容 「この通話でどんなことをカバーしたいですか?」
望ましい成果 「理想的な成果は何ですか?」

本当に不足していて、準備資料に役立つ項目だけを聞いてください。CRM の情報から通話の種類が明らかな場合(例:案件が「デモ」ステージにある)は、それを推測して聞かないでください。調査内容が十分に充実していれば、このフェーズ全体をスキップして次に進んでも構いません。

もし質問する場合は、フォーム形式ではなく、会話的なトーンで 1 メッセージにまとめてください。見つけた情報を参照すると効果的です:

「[名前]さんを見つけました。現在[ステージ]にいて、[金額]の案件が進行中。最後の接触は[X 日前]です。準備資料を作成する前に、いくつか確認したいことがあります:

  • この通話はどのタイプですか?
  • どういう結果を期待していますか?」

回答を以下として保存:callType(通話種別)、purpose(目的)、desiredOutcome(望ましい成果)。


フェーズ 4 — 分析

信号 見方
最近の返信、案件が進展、活発な関わり ポジティブ
ある程度の活動はあるが、勢いが不明 ニュートラル
3 週間以上返信なし、案件が 30 日以上停滞、関心が薄い様子 要注意

ブロッカー(進める上での障害):メモやタスク、メールから読み取れる具体的な支障
ハードル(やや柔らかい摩擦):評価待ち、意思決定者の変更、タイミングの問題など
案件の背景:ステージ、金額、クローズ予定日、次の確約済みアクション


フェーズ 5 — 準備資料をフォーマット

callType と desiredOutcome が提供されていれば、トーキングポイント(話すべき内容)と次のステップをそれに合わせます。

## 通話準備:[名前] @ [企業名]
[日付] · [通話種別] · 目標:[望ましい成果]

### 概要
- 職位:[職位]
- 案件:[案件名] · [ステージ] · [金額] · [クローズ予定日]に完了予定
- 見方:[ポジティブ / ニュートラル / 要注意] — [理由を 1 文で]
- 最後の接触:[X 日前、メール / 通話 / 会議で連絡 — 内容]

### 未解決事項
- [ブロッカーまたは未解決の質問]
- [まだ処理されていない確約]

### 企業の背景情報
- [具体的なニュース — 出典と日付]
- [関連する 2 番目の情報]

### トーキングポイント
1. [個人的なオープニング — 具体的なメール、ニュース、メモを参照]
2. [主要なブロッカーまたは未解決事項に対応]
3. [具体的な次のステップと期限]

### 推奨される次のステップ
[1 つの具体的で実行可能なクローズ — 望ましい成果に紐付けたもの]

データが不足している場合は、セクションを cleanly に削除してください。プレースホルダーは入れないでください。


フェーズ 6 — HubSpot に保存

externalContact: true の場合はスキップして、フェーズ 7 に進みます。

manage_crm_objects:objectType: notes、createRequest:

  • properties: hs_note_body: [完全な準備資料テキスト]、hs_timestamp: [現在の ISO タイムスタンプ]
  • associations: contact → contactId、deal → dealId(存在する場合)

確認メッセージ: 「通話準備を保存しました。連絡先を確認:https://[uiDomain]/contacts/[portalId]/contact/[contactId]」


フェーズ 7 — HubSpot 同期のご案内(外部連絡先のみ)

externalContact: true の場合、準備資料の後に以下を表示:

[名前]さんはまだ HubSpot に登録されていません。 追加しますか?名前、メールアドレス、企業名で連絡先を作成します。 はい、追加する · 今はいい

「はい、追加する」を選択時:manage_crm_objects の createRequest で objectType: contacts を指定し、フェーズ 1 で取得したフィールドを含めます。新しいレコードへのリンク付きで確認してください。


エラー対応

  • 名前が未入力:フェーズ 0 で、何かする前に相手の名前だけを聞いてください。
  • どこにも見つからない:明確なメッセージを表示して中断。
  • 外部で見つかったが、連携は部分的:利用可能なデータから準備資料を作成。スキップされたソースを明記。
  • 案件がない:案件関連のフィールドは省略。「進行中の案件なし」と記載。
  • メール履歴なし:CRM の活動とメモだけで見方を判断。
  • メモ保存に失敗:準備資料をチャットに表示してエラーを報告。
原文(English)を表示

Call Prep

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

Phase 0 — Check for a name

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.


Phase 1 — Find the contact

Run simultaneously:

  • get_organization_details → store portalId, uiDomain
  • search_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, createdate

Multiple 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:

  • Calendar: search upcoming events for the name. Extract email, company from attendee/organiser fields.
  • Email: search threads for the name. Extract email, company from domain or signature.

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."


Phase 2 — Parallel research

Run simultaneously:

A. CRM history (skip if externalContact: true)

get_crm_objects contacts, objectId: contactId, associations: deals, notes, tasks. Retrieve:

  • Open deals: stage, amount, close date, deal name
  • Recent notes: last 5 by hs_timestamp descending
  • Open tasks: hs_task_status = NOT_STARTED or IN_PROGRESS
  • Timeline signals: notes_last_contacted, hs_email_last_send_date, createdate

B. Email history (if email connector available)

Search threads for contact's email, last 3–5. Note: last reply direction, tone, unanswered questions, subject context.

C. Calendar (if calendar connector available)

Find meeting in next 7 days with contact's email as attendee. Extract: time, attendees, agenda.

D. Company research (web)

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.


Phase 3 — Fill context gaps (if needed)

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.


Phase 4 — Analyse

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


Phase 5 — Format the brief

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.


Phase 6 — Save to HubSpot

Skip if externalContact: true — go to Phase 7.

manage_crm_objects: objectType: notes, createRequest:

  • properties: hs_note_body: [full brief text], hs_timestamp: [current ISO timestamp]
  • associations: contact → contactId, deal → dealId (if present)

Confirm: "Call prep saved. View contact: https://[uiDomain]/contacts/[portalId]/contact/[contactId]"


Phase 7 — HubSpot sync CTA (external contacts only)

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.


Error handling

  • No name given: Phase 0 — ask only for who before doing anything.
  • Contact not found anywhere: Stop with a clear message.
  • Found externally, connectors partial: Build from available data, note skipped sources.
  • No deal: Omit deal fields, note "No open deal on record".
  • No email history: Base sentiment on CRM activity and notes only.
  • Note save fails: Show the brief in chat and report the error.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。