• 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/スキル
SKILLKnowledge Work

lead-triage

プラグイン
Small Business
ソース
GitHub で見る ↗
説明

HubSpot(営業支援プラットフォーム)から入ってきた見込み客を、接触状況・企業の適合度・緊急度などの信号に基づいてスコアリング(優先度付け)します。今日電話すべき見込み客を抽出し、通話時のトーク・ポイント(話題のヒント)とともにランク付けし、フォローアップメールの下書きを作成し、営業担当者がカレンダーに予定を入れるための時間帯を提案します。 **次のような場合に使用:** - 営業担当者が見込み客の優先順位付けやスコアリング、ランク付けを依頼した - 「誰に最初に電話するべき?」と聞かれた - パイプライン(営業案件の進行状況)について質問された ランク付けされた見込み客リストをもとに、実際の通話スケジュールとして整理して欲しいという依頼は /call-list に送られ、このスキルを実行した後で、カレンダーに時間を予約します。

原文を表示

Scores inbound HubSpot leads by engagement signals, company fit, and urgency markers, ranks the ones worth a call today with talking points, drafts the follow-ups, and proposes calendar times for the owner to book. Use when the owner asks to prioritize, score, or rank leads, asks "who should I call first," or asks about their pipeline. An ask that wants the ranked leads turned into a call list with time blocked on the calendar routes to /call-list, which runs this skill first and then books the time.

ユースケース
  • 見込み客の優先順位付けやスコアリングを依頼された
  • 最初に電話すべき見込み客を特定したい
  • パイプラインの営業案件について質問された
  • 見込み客をランク付けして通話スケジュール化したい
本文(日本語訳)

リード優先順位付け

クイックスタート

HubSpotから見込み客を取得し、スコア化して、トークポイント(話題ポイント)付きのランク付きコールリストを表示します。フォローアップメールの下書きとカレンダー枠の提案も行いますが、実際の送信や予約は所有者の承認なしには行いません。

ユーザー: 「見込み客を優先順位付けして」
→ 連絡先を取得: ライフサイクルステージが「リード」または「MQL」で、ステータスが「不適格」ではないもの
→ 関心度、企業との相性、緊急度、最後の活動時期で各リードをスコア化
→ トークポイント付きのランク付きリストを返す(ボリュームに応じてサイズを調整)
→ フォローアップメールの下書きとカレンダー枠の提案を提供

ワークフロー

  1. HubSpotからリードを取得する。 lifecyclestageが「Lead」または「MQL」で、hs_lead_statusが「Unqualified」ではない連絡先を取得します。reference/hubspot-scoring.mdのフィールドリストを使用してください。HubSpotが利用できない場合(インストールされていない、接続されていない、またはエラーが発生している)は処理を中止しないでください。その旨を明確に伝え、このファイル下部の「HubSpotがない場合」に進んで、CSV出力またはテキストリストの貼り付けを求め、その代わりにスコア化してください。

    • ポータル空の確認。 取得の結果、どのライフサイクルステージの連絡先も0件の場合、ポータルが空です。フィルタリングが間違っているわけではありません。1行で伝え、HubSpot自体の設定(manage_onboarding、アクションSET_GOAL)または「HubSpotがない場合」を提案し、空のポータルでライフサイクルステージを診断しないでください。件数が判定基準です。get_user_detailsはonboardedフラグを返しますが、ポータルは数百の連絡先を保有しながらonboarded: falseと報告することがあるため、フラグだけでは判断しないでください。
  2. トリガーが曖昧な場合は明確にする。 ユーザーが修飾語なしで「パイプライン」とだけ言った場合、以下と聞いてください。「パイプラインの簡易概要(商談ステージと合計金額)ですか、それとも優先順位付きコールリストですか?」 — その後、それに応じてルーティングしてください。リードをスコア化する前に、より詳しい確認をしてください。

  3. 各リードをスコア化する。 reference/hubspot-scoring.mdの4つのディメンションモデルを適用してください:

    • 関心度 — HubSpotでのメール返信、開封、サイト訪問(過去30日間のみ)
    • 企業との相性 — 業界と従業員数 vs. 所有者のICP(理想的な顧客プロフィール)(デフォルト:すべての業界、1~50名)。連絡先レコードではなく、リードに関連付けられた企業から読み取ってください。スコアリング参考資料を参照してください。リードに関連付けられた企業がなく、リード充実化コネクタ(ApolloまたはClay)が接続されている場合、スコアリング参考資料の充実化部分がリードのメールドメインから業界と規模を入力します。これはメーター制です。何行を充実化し、そのクレジット消費量がいくらかを伝え、所有者の同意があった場合のみ実行してください。充実化されたデータはここからCRMに書き込まれません。
    • 緊急度 — リード年齢、ステージ滞在期間、「urgent / ASAP / deadline / budget approved」を含むメモ。キーワードチェックは、連絡先→メモの関連付けを通じて実際にメモ本文を取得する必要があります。スコアリング参考資料の「メモ本文を取得」セクションに従ってください。メモ数だけでは判定できません。
    • 最近性ペナルティ — 最後のアクティビティが24時間以内の場合(本日既に接触済み)はポイントを減らします

    スコアが実際に分離したかどうかを確認してください。 最高と最低の複合スコアの差が10ポイント未満の場合、CRMにはランク付けに使用できる情報がありません。順序をランキングとして提示しないでください。スコアリング参考資料の「同一スコアのパス」を実行し、信号が空であることを明確に伝え、CRM事実に基づいて順序付けしてください。誤ったランキングは所有者に間違った人に電話をさせてしまいます。

  4. ランク付きリストを構築する。 複合スコアで降順に並べ替えます。ボリュームに応じてリストサイズを調整します:

    • 10件以下のリード → すべて表示
    • 11~30件のリード → 上位5件を表示
    • 31件以上のリード → 上位8件を表示

    各リードについて:名前、企業、スコア、1段落のトークポイント、最後のアクティビティの概要を表示します。関心度の信号がすべて30日以上前の場合、フラグを立てます:「関心度の信号が古い — 新規営業として対応してください。」

  5. フォローアップメール下書きを提案する。 「これらのうち、フォローアップメールを下書きしますか?」と聞いてください。「はい」の場合、選択されたリードごとに1通のメールを共有音声プロフィールに従って所有者の調子で作成してください。そのファイルにまだプロフィールがない場合、その「サンプルがない場合」の指示に従ってください。所有者が満足した3通のメールを求めます。断った場合は、素朴で中立的に下書きを作成し、下書きが音声プロフィールなしであることを伝えます。性格を作り上げないでください。下書きを表示します。送信しないでください。メールが利用できない場合は、下書きをチャットに件名と本文で提供し、所有者が貼り付けられるようにしてください。これは完全な成果です。

  6. トリアージボードを構成物として表示する。 短いチャット回答の後に(代わりではなく)、ハウス構成物スタイル(../../shared/artifact-style.md)を使用してHTMLページを構築してください。各リードの複合スコアがモノスペースフォントで表示された順位表、各行の緊急ステータスピル(良好/注意/重大)、各リードの下にあるトークポイント行が含まれます。同一スコアのパスが発動した場合、ページでそれを伝え、ピルの色を中立的に落とします。

  7. カレンダー枠を提案する。 「これらのうち、呼び出し時間を提案しますか?」と聞いてください。「はい」の場合、カレンダーで次の営業日2日間の30分間の空きスロットを確認します(既存イベント±15分のスロットは避けてください)。リードごとに2つのオプションを提案します。所有者の明示的な承認なしにカレンダーイベントを作成しないでください。カレンダーが利用できない場合は、所有者が提供できる2~3個のウィンドウを聞き、時間を作り上げるのではなくそれらを使用してください。

承認ゲート

  • メールを送信しないでください。 下書きのみ。所有者が自分のインボックスから送信します。
  • 所有者の明示的な承認なしにカレンダーイベントを作成しないでください。
  • 所有者が明確に要求しない限り、ライフサイクルステージを変更したり、リードを不適格にマークしたりしないでください。
  • 「顧客」または「エバンジェリスト」ライフサイクル連絡先をリードリストに含めないでください。
  • フィルタに一致するリードがゼロの場合、 その理由を説明し、どのライフサイクルステージが使用中であるかを確認することを提案してください。リストを作り上げないでください。

リファレンス

  • reference/hubspot-scoring.md — HubSpotフィールド名、スコアリング重み、ICP デフォルト
  • reference/gotchas.md — エッジケース:古いデータ、ゼロリード、パイプライン曖昧さ排除、顧客混入
  • reference/examples/happy-path-triage.md — 7件のリードリスト、下書き、枠提案の成功事例

終了オファー

トリアージで何が生成されたかを1行で終わり、最も関連のある次のステップを、そのトリガーフレーズ付きで提案してください(通常、「コールリスト」(/call-list)で、ランキングの周りにカレンダーブロックを追加します)。最大2つまで追加:「このアウトリーチを作成」(outreach-composer)または「CRMを更新」(crm-autopilot)。3つを超えないでください。このセッションで所有者が既に断ったものを再度提案しないでください。

HubSpotがない場合

リードリストを貼り付けるか、アップロードしてください。CSV出力またはラフなリストでも機能します。スコアリングとトークポイントは同じです。ランク付きコールリストはCRMへの書き込みではなく、チャットとファイルで返されます。

リストに記載されていないツールを使用する

このスキルで指定されたコネクタはテスト済みのパスであり、制限ではありません。所有者がこのフローを接続されていない、またはリストに記載されていないツールを使用したい場合は、build-connectorを提案してください。これはコネクタディレクトリを最初に確認し、その後Zapierを通じて接続します。生のAPIに対して手作業で構築することはありません。接続が存在するようになったら、ツールはこのスキルのように他のオプションコネクタの下に参加し、同じ承認ゲートに従います。

原文(English)を表示

Lead Triage

Quick start

Pull inbound leads from HubSpot, score them, and surface a ranked call list with talking points. Drafts follow-ups and proposes calendar slots — never sends or books without owner approval.

User: "prioritize my leads"
→ Pull contacts: lifecycle stage Lead or MQL, status ≠ Unqualified
→ Score each across engagement, company fit, urgency, recency
→ Return ranked list (size adapts to volume) with talking points
→ Offer to draft follow-ups and propose calendar slots

Workflow

  1. Pull leads from HubSpot. Fetch contacts with lifecyclestage = Lead or MQL and hs_lead_status ≠ Unqualified. Use the field list in reference/hubspot-scoring.md. If HubSpot is unavailable — not installed, not connected, or erroring — do not stop. Say so plainly and run the "No HubSpot?" path at the bottom of this file: ask for a CSV export or a rough pasted list, and score that instead.

    • Empty portal check. If the pull returns zero contacts of any lifecycle stage, the portal is empty, not filtered wrong. Say so in one line, offer HubSpot's own setup (manage_onboarding, action SET_GOAL) or the "No HubSpot?" path, and do not diagnose lifecycle stages on a portal with nothing in it. The count is the test: get_user_details returns an onboarded flag, but a portal can report onboarded: false while holding hundreds of contacts, so the flag alone never decides this.
  2. Clarify if trigger is ambiguous. If the user said only "pipeline" without a qualifier, ask: "Quick pipeline overview (deal stages + total value) or prioritized call list?" — then route accordingly. Do not score leads on a bare "pipeline."

  3. Score each lead. Apply the four-dimension model in reference/hubspot-scoring.md:

    • Engagement — email replies, opens, site visits in HubSpot (last 30 days only)
    • Company fit — industry and employee count vs. owner's ICP (default: any industry, 1–50 employees). Read these from the company associated with the lead, not from the contact record — see the scoring reference. When leads have no associated company and a lead-data connector (Apollo or Clay) is connected, the enrichment leg in the scoring reference fills industry and size from the lead's email domain. It is metered — say how many rows it would enrich and what that costs in credits, and run it only on the owner's yes for this run. Nothing enriched is written back to the CRM from here.
    • Urgency — lead age, stage duration, notes containing "urgent / ASAP / deadline / budget approved". The keyword check requires actually fetching note bodies via the contact → notes association — follow the "Fetch note bodies" section of the scoring reference; the note count alone cannot fire it.
    • Recency penalty — subtract points if last activity was <24 hours ago (already touched today)

    Then check whether the scores actually separated. If the highest and lowest composite differ by less than 10 points, the CRM has no signal to rank on. Do not present the order as a ranking — run the flat-score path in the scoring reference, say plainly that the signals are empty, and order by CRM facts instead. A false ranking sends the owner to call the wrong person.

  4. Build the ranked list. Sort descending by composite score. Adapt list size to volume:

    • ≤10 leads → show all
    • 11–30 leads → show top 5
    • 30 leads → show top 8

    For each lead: name, company, score, one-paragraph talking point, last activity summary. If engagement signals are all >30 days old, flag: "Engagement signals are stale — approach as cold outreach."

  5. Offer follow-up drafts. Ask: "Draft follow-ups for any of these?" If yes, write one email per selected lead in the owner's voice per the shared voice profile. If that file has no profile yet, follow its "When there is no sample" instruction — ask for three emails the owner was happy with; if they decline, draft plain and neutral and say the drafts are un-voiced. Never invent a personality. Show drafts; do not send. If Mail is unavailable, hand the drafts over in chat as subject plus body for the owner to paste — that is a complete outcome.

  6. Render the triage board as an artifact. After the short chat answer — never instead of it — build an HTML page using the house artifact style (../../shared/artifact-style.md): a ranked table with each lead's composite score in mono, an urgency status pill per row (good / warn / critical), and a talking-points line under each lead. If the flat-score path fired, say so on the page and drop the pill colors to neutral.

  7. Offer calendar slots. Ask: "Propose call slots for any of these?" If yes, check Calendar for open 30-minute windows in the next two business days (avoid slots with existing events ±15 min). Propose two options per lead. Never create calendar events without explicit owner approval. If Calendar is unavailable, ask the owner for two or three windows they can offer and use those instead of inventing times.

Approval gates

  • Never send an email. Draft only; owner sends from their inbox.
  • Never create calendar events until approved by the user.
  • Never change lifecycle stage or mark a lead Unqualified unless the owner explicitly asks.
  • Never include Customer or Evangelist lifecycle contacts in the lead list.
  • If zero leads match the filter, explain why and offer to check what lifecycle stages are in use — do not fabricate a list.

Reference

  • reference/hubspot-scoring.md — HubSpot field names, scoring weights, ICP defaults
  • reference/gotchas.md — edge cases: stale data, zero leads, pipeline disambiguation, customer contamination
  • reference/examples/happy-path-triage.md — worked output for a 7-lead list with draft and slot proposal

Closing offer

End with one line on what the triage produced, then the most relevant next step with its trigger phrase — usually "call list" (/call-list) to add calendar blocks around the ranking. Up to two others when they fit: "write this outreach" (outreach-composer) or "update the CRM" (crm-autopilot). Never more than three, and never re-offer something the owner already declined this session.

No HubSpot?

Paste or upload the lead list — a CSV export or even a rough list works. Scoring and talking points run the same; the ranked call list comes back as chat plus a file instead of writing to the CRM.

Using a tool that isn't listed

The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer build-connector — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.

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