• 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

search-deals

プラグイン
carta-crm
ソース
GitHub で見る ↗
説明

Carta CRMから取引記録を検索して取り出すスキルです。 次のような場合に使用: ユーザーが「取引を探して」「取引を検索して」「取引を調べて」「[会社名]の取引を表示して」「IDで取引を取得」「[段階]の取引を探して」「取引一覧を表示」「[会社名]でどんな取引がある?」「/search-deals」などと言ったとき 取引ID、会社名、段階、パイプライン(営業プロセスの流れ)、タグ、カスタム項目を含む取引の詳細情報を返します。返された取引IDは、update-deal(取引更新)スキルで使用できます。

原文を表示

Searches for and retrieves deal records from the Carta CRM. Use this skill when the user says things like "find a deal", "search deals", "look up a deal", "show me deals for [company]", "get deal by ID", "find deal in [stage]", "list deals", "what deals do we have for [company]", or "/search-deals". Returns deal details including ID, company, stage, pipeline, tags, and custom fields. The deal ID returned can be used with the update-deal skill.

ユースケース
  • 取引を検索・探すとき
  • 会社名から取引を表示したいとき
  • 取引IDで詳細情報を取得するとき
  • 営業段階から取引を抽出するとき
  • 取引一覧を確認したいとき
本文(日本語訳)

<!-- carta:plugin-version --> <carta-plugin>carta-crm:1.15.0</carta-plugin>

概要

Carta CRM内の案件を検索します。ユーザーがIDを指定した場合はその案件を直接取得し、それ以外の場合はフィルター機能を使って検索します。ユーザーが後で更新する際に参照できるよう、常に案件IDを表示してください。

重要: search_dealsを呼び出す前に必ずget_deal_fieldsを実行して、フィルターに使える有効なフィールドIDを確認してください。この手順は省略しないでください。

ステップ1 — 案件フィールドを取得

検索の前に必ず実行してください。スキーマ(データ構造)の確認で独立した画面表示がないため、crm_call_tool経由で呼び出します:

crm_call_tool({ "name": "crm:get_deal_fields", "arguments": {} })

フィールドID、データ型、説明をよく確認してください。ユーザーの意図を最も適切に一致するフィールドにマップし、filtersパラメーターで使用してください。

ステップ2 — 検索モードを判断

  • IDで検索 — ユーザーが案件IDを指定した → fetch_deal_by_deal_idを呼び出す
  • フィルター・キーワードで検索 — ユーザーが企業名、ステージ、または条件を指定した → search_dealsを呼び出す

ステップ3 — 検索を実行

crm_view_toolを使用すると、結果がユーザーが並べ替えたりクリックして詳細表示できるインタラクティブなテーブルとしてレンダリングされます。crm_call_toolと同じnameとargumentsを取ります。

IDで検索:

crm_view_tool({ "name": "crm:fetch_deal_by_deal_id", "arguments": { id: "<deal id>" } })

フィルターで検索:

crm_view_tool({
  "name": "crm:search_deals",
  "arguments": {
    query: "<自由形式のテキスト検索 — 最終手段のみ>",
    stages: ["<stage id>"],
    filters: [
      { field_id: "<field id>", operator: "eq", value: "<value>" }
    ],
    limit: 50
  }
})

特定のフィールドがユーザーの意図に合致する場合は、queryよりfiltersを優先してください。利用可能な演算子: eq(等しい)、neq(等しくない)、gt(より大きい)、gte(以上)、lt(より小さい)、lte(以下)、contains(含む)、in(含まれる)、between(範囲内)。stagesでパイプラインステージ(funnel、tracking、due-diligence、execution、dead、completed)による絞り込みができます。

remainingCount > 0の場合はlimitを増やすかoffsetを使ってページネーション(結果の分割表示)してください。

ビューが利用不可の場合

CRM ビューは組織ごとに有効化設定されるため、上記のいずれかが以下のメッセージで応答する場合があります:

CRM tool 'search_deals' has no view — call it with crm_call_tool instead.

これは失敗ではなく正常な応答です — この組織ではそのビューが有効化されていません。該当する呼び出しをcrm_call_toolでそのまま再実行し、結果をステップ4のテキスト形式で提示してください。crm_view_toolで再試行しないでください。また、このメッセージをユーザーに報告しないでください。

ステップ4 — 結果を表示

ビューがレンダリングされた場合、ユーザーは既に画面上のすべての案件を見ています。テーブルの行を再度リスト化したり、再フォーマットしたり、テキストで要約したりしないでください — テーブルが重複します。ユーザーが実際に尋ねている質問に答えるか、1行で認識してください(例:「営業段階(Due Diligence)の案件が8件です — 最初の列にIDがあり、/update-dealで使用できます」)。

crm_call_toolにフォールバックした場合、空でないすべてのフィールドを読みやすい形式で表示し、案件IDを目立つように示してください — ユーザーが/update-dealを実行するために必要です。

fetch_deal_by_deal_idはメモやリンク先の担当者を含むすべての詳細情報を返します。ビューがこれらをレンダリングするため、ユーザーが明確に質問した場合のみテキストで呼び出してください。

案件が見つからない場合:

「検索条件に一致する案件が見つかりません。別の企業名を試すか、フィルターを調整してください。」

件数の合計を記載し、remainingCount > 0の場合はページネーション対応を提案してください。

原文(English)を表示

<!-- carta:plugin-version --> <carta-plugin>carta-crm:1.15.0</carta-plugin>

Overview

Search for deals in the Carta CRM. If the user provided an ID, fetch that deal directly. Otherwise use search_deals with filters. Always surface the deal ID so the user can reference it for updates.

Important: Call get_deal_fields before every search_deals call to discover valid field IDs for filters. Do not skip this step.

Step 1 — Fetch deal fields

Always call this before searching. It is a schema lookup with no view of its own, so it goes through crm_call_tool:

crm_call_tool({ "name": "crm:get_deal_fields", "arguments": {} })

Read the field IDs, types, and descriptions carefully. Map the user's intent to the most specific matching field(s) and use those in the filters parameter.

Step 2 — Determine search mode

  • By ID — user provided a deal ID → call fetch_deal_by_deal_id
  • By filters / keyword — user provided a company name, stage, or criteria → call search_deals

Step 3 — Execute the search

Use crm_view_tool so the result renders as an interactive table the user can sort and click through. It takes exactly the same name and arguments as crm_call_tool.

By ID:

crm_view_tool({ "name": "crm:fetch_deal_by_deal_id", "arguments": { id: "<deal id>" } })

By filters:

crm_view_tool({
  "name": "crm:search_deals",
  "arguments": {
    query: "<free-text search — last resort only>",
    stages: ["<stage id>"],
    filters: [
      { field_id: "<field id>", operator: "eq", value: "<value>" }
    ],
    limit: 50
  }
})

Prefer filters over query whenever a specific field matches the user's intent. Available operators: eq, neq, gt, gte, lt, lte, contains, in, between. Use stages to filter by pipeline stage (funnel, tracking, due-diligence, execution, dead, completed).

Increase limit or use offset to paginate if remainingCount > 0.

If the view is unavailable

CRM views are enabled per organisation, so either call above may answer with:

CRM tool 'search_deals' has no view — call it with crm_call_tool instead.

That is a normal response, not a failure — this organisation does not have that view enabled. Retry that one call verbatim through crm_call_tool and present the result as text per Step 4. Do not retry crm_view_tool, and do not report the message to the user.

Step 4 — Present results

When the view rendered, the user already sees every deal on screen. Do NOT re-list, re-format, or summarise the rows as text — that duplicates the table. Answer the question they actually asked, or acknowledge in one line (e.g. "8 deals in due diligence — the ID is in the first column, for /update-deal.").

When you fell back to crm_call_tool, display all non-empty fields in a readable summary and show the deal ID prominently — the user needs it to run /update-deal.

fetch_deal_by_deal_id returns full detail including all notes and linked people. The view renders those, so only call them out in text if the user asked about them.

If no deals are found:

"No deals found matching your search. Try a different company name or adjust the filters."

Note the total count and offer to paginate if remainingCount > 0.

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