• 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-fundraisings

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

Carta CRM(顧客関係管理システム)から資金調達の記録を検索して取得するスキルです。 **次のような場合に使用:** ユーザーが「資金調達を探して」「資金調達ラウンドを検索して」「[企業名]の資金調達詳細を表示して」「[企業名]の詳しい情報を見せて」「IDから資金調達を取得」「資金調達のリストを表示」「どの資金調達があるか」といった内容や「/search-fundraisings」コマンドで指示した場合。 **返される情報:** 資金調達 ID、名前、段階(ラウンド段階)、カスタムフィールドなどの詳細情報を返します。 取得した資金調達 ID は、「update-fundraising(資金調達更新)」スキルと組み合わせて使用できます。

原文を表示

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

ユースケース
  • 資金調達の記録を検索するとき
  • 企業の資金調達詳細を確認するとき
  • 資金調達IDから情報を取得するとき
  • 資金調達リストを表示するとき
本文(日本語訳)

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

概要

Carta CRM(顧客関係管理システム)の中から資金調達ラウンド(企業が行う融資の段階)を検索します。特定のラウンド1つについての質問なら、そのラウンドの詳細を表示します。複数のラウンドや条件付き検索なら、表の形で結果を表示します。最初にこの区別を判断することが、以降のすべての処理を決める重要なポイントです。

ステップ1 — 質問の意図を判定: ラウンド1つ、それとも複数?

  • 詳細表示 — ユーザーが特定のラウンド1つを名前で指定し、その記録を見たい場合:「Acme Series Bの詳細」「そのラウンドについて教えて」「この資金調達についてもっと知りたい」 → ステップ2へ
  • 一覧表示 — ユーザーが複数のラウンドや、条件を付けた結果を見たい場合:「デューディリジェンス(投資判断前の徹底調査)中のラウンド」「資金調達ラウンドの一覧」「今持ってるラウンドはどれ?」 → ステップ3へ
  • IDで指定 — ユーザーが資金調達IDを直接指定した場合 → ステップ2へ(名前の解決をスキップ)

ユーザーが1つの特定ラウンドを名前で指定していれば、「検索」「探して」と言われた場合でも詳細表示です。本当にどちらか分からない場合は、一覧表示として進め、何に絞りたいのか確認してください。

ステップ2 — 詳細表示: 名前を確認し、詳細カードを表示

必ず crm_call_tool を使う。crm_view_tool は使わない。 このステップはあなた(システム)の処理であり、ユーザーの表示ではありません。crm_view_tool を使うと、結果の配列が件数に圧縮されて返され、必要な行データと id がユーザーに届かず、ユーザーが求めていない一覧を見ることになります。

crm_call_tool({
  "name": "crm:search_fundraising",
  "arguments": { query: "<ラウンド名>", limit: 10 }
})

返ってきた候補の数で分岐します:

  • 候補がちょうど1件 → そのカードを表示して終了:

    crm_view_tool({ "name": "crm:get_fundraising", "arguments": { id: "<id>" } })
    
  • 候補が複数件 → 推測しない。候補一覧をビュー表示し、どれか聞く:

    crm_view_tool({
      "name": "crm:search_fundraising",
      "arguments": { query: "<ラウンド名>", limit: 10 }
    })
    

    その後: 「複数のラウンドが該当します。どれをお探しですか?」と確認。ユーザーが選んだら、その id で get_fundraising を呼び出します。1社が複数ラウンドを持つことは珍しくないため、聞かずに1位をいきなり開くと、間違ったラウンドを確信を持って表示することになります。

  • 候補がない — その旨を伝え、空のビューは表示しない。

ユーザーが最初から ID を指定した場合、名前の確認は不要です。呼び出しは1回、表示はカード1枚です。

1回のリクエストにつき、カードは最大1枚にしてください。ユーザーが複数ラウンドを指定した場合は、ビューを重ねるのではなく、どれを開きたいか聞いてください。

ステップ3 — 一覧表示: 検索して表を表示

crm_view_tool({
  "name": "crm:search_fundraising",
  "arguments": {
    query: "<検索語>",
    limit: 20
  }
})

ユーザーがステージ(進行状況)の名前で条件を絞った場合は、先に名前をステージ ID に変換してから stages: ["<stage id>"] として渡します。このステップ専用のビューがないため、crm_call_tool を使います:

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

ユーザーが「もっと見たい」と言ったら limit を増やしてください。offset を使って複数ページに分けても構いません。

ビューが使用できない場合

CRM のビュー表示は組織ごとに有効・無効が決まっており、1件表示ビューはさらに追加の設定が必要です。上記の crm_view_tool 呼び出しが以下のように応答することがあります:

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

これは失敗ではなく、その組織がそのビューを有効にしていないということです。その呼び出しを変えずに crm_call_tool でもう一度実行し、結果をテキストで表示してください(ステップ4参照)。crm_view_tool の再実行はしないでください。このメッセージをユーザーに報告する必要もありません。

詳細表示のリクエストでカードがない場合も、同じ仕組みです。ステップ2の crm_call_tool での名前確認を続け、選ばれたレコードをテキストで表示してください。

ステップ4 — 結果の表示

カードが表示された場合、ユーザーはレコード全体を見ています。フィールドの内容を繰り返さない。質問に答えるか、1行で確認してください。

表が表示された場合、ユーザーは全行を既に見ています。テキストで改めて列挙・再編成・要約しないでください。重複になります。実際の質問に答えるか、1行で確認してください(例:「6件のラウンドが該当します。ID は最初の列にあり、/update-fundraising で使えます」)。

crm_call_tool にフォールバックした場合、空でないすべてのフィールドを読みやすく要約で表示し、ID は目立たせてください。ユーザーが /update-fundraising を実行する際に必要になります。

ラウンドが見つからない場合:

「検索条件に該当する資金調達ラウンドが見つかりません。別の名前やキーワードでお試しください。」

原文(English)を表示

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

Overview

Look up fundraisings in the Carta CRM. A request about one named round renders that round's card; a request for a set renders a table. Route on that distinction first — it decides every call below.

Step 1 — Determine intent: one round, or a set?

  • Detail — the user named one round and wants the record: "full details on the Acme Series B", "tell me about that round", "more on this fundraising". → Step 2.
  • List — the user wants a set, or filtered or plural results: "rounds in diligence", "list fundraisings", "what fundraisings do we have". → Step 3.
  • By ID — the user gave a fundraising ID → Step 2, skipping the resolve.

A named single round is a detail request even when the user says "search" or "find". If it's genuinely unclear, treat it as a list and ask what they want to narrow to.

Step 2 — Detail: resolve the name, then render the card

Resolve through crm_call_tool, never crm_view_tool. This step is for you, not the user: a view call collapses every array in the response to a count, so the rows — and the id you need — never reach you, and the user gets a list they did not ask for.

crm_call_tool({
  "name": "crm:search_fundraising",
  "arguments": { query: "<round name>", limit: 10 }
})

Then branch on how many candidates came back:

  • Exactly one match → render its card and stop:
    crm_view_tool({ "name": "crm:get_fundraising", "arguments": { id: "<id>" } })
    
  • Several matches → do NOT guess. Render the candidates as a view and ask which one:
    crm_view_tool({
      "name": "crm:search_fundraising",
      "arguments": { query: "<round name>", limit: 10 }
    })
    
    Then ask: "Several fundraisings match — which one did you mean?" When they pick, call get_fundraising for it. One company often has several rounds, so opening the top hit unasked shows the wrong round with full confidence.
  • No match → say so; do not render an empty view.

When the user gives an ID outright, there is nothing to resolve — one call, one card.

Render at most one card per request. If the user named several rounds, ask which to open rather than stacking views.

Step 3 — List: search and render the table

crm_view_tool({
  "name": "crm:search_fundraising",
  "arguments": {
    query: "<search term>",
    limit: 20
  }
})

If the user filtered by stage name, resolve the name to a stage ID first, then pass stages: ["<stage id>"]. This lookup has no view of its own, so it goes through crm_call_tool:

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

Increase limit if the user asks to see more results. Use offset to paginate.

If the view is unavailable

CRM views are enabled per organisation, and single-record views behind a second flag on top of that. So any crm_view_tool call above may answer with:

CRM tool 'search_fundraising' 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.

A detail request whose card has no view still resolves the same way: keep the crm_call_tool resolve from Step 2 and present the chosen record as text.

Step 4 — Present results

When a card rendered, the user sees the whole record. Do not restate its fields. Answer what they asked, or acknowledge in one line.

When a table rendered, the user already sees every row. Do NOT re-list, re-format, or summarise them as text — that duplicates the table. Answer the question they actually asked, or acknowledge in one line (e.g. "6 fundraisings match — the ID is in the first column, for /update-fundraising.").

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

If no fundraisings are found:

"No fundraisings found matching your search. Try a different name or keyword."

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