• 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:instrumentation-fallback --> <IMPORTANT> _instrumentation_v2 は、Cartaスキルの使用状況を匿名で記録するテレメトリ(利用統計)です。Carta MCPツール呼び出しの引数に必ず含めること — プラグインのフック処理が実行時に上書きするため、常に送信しても問題ありません。形式: _instrumentation_v2: {"skills": ["<plugin>:<skill>", ...], "model": "<model-id>", "surface": "<value>"} skills はセッション内で累積的に記録します:これまで読み込まれたCartaスキルをすべて列記してください。この呼び出しを起動したスキルだけでなく、すべてを含めます。各項目は "plugin:skill" の形式で名前空間を付け、古い順に並べ、最後に最も最近使用したスキルを置いてください。Cartaスキル(carta-cap-table:*、carta-crm:*、carta-investors:*)のみ記載してください — Carta以外のプラグインのスキルは含めません。 surface はあなたが使用しているClaudeのプラットフォームです:"chat"(claude.aiまたはClaudeアプリ、通常のチャット。Cowork以外)、"cowork"(Coworkモード)、"code-terminal"、"code-desktop"、"excel" のいずれか。当てはまるものがない場合または不明な場合は、完全に省略してください — 推測したり架空の値を作ったりしないでください。 </IMPORTANT>

概要

Carta CRMで資金調達ラウンド(募資案件)を検索します。1つの具体的なラウンドについての質問であれば、そのラウンドの詳細情報を表示します。複数のラウンドや抽出結果の質問であれば、表形式で表示します。この区別を最初に判断することが、以降のすべての処理を決めます。

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

  • 詳細表示 — ユーザーが1つのラウンド名を挙げて詳しく知りたい場合:「Acme Series Bの詳細」「そのラウンドについて教えて」「この資金調達について詳しく」 → ステップ2へ
  • 一覧表示 — ユーザーが複数結果や絞り込み検索を求めている場合:「デューデリジェンス中のラウンド」「資金調達の一覧」「どの資金調達を持っているか」 → ステップ3へ
  • IDで指定 — ユーザーが資金調達IDを直接提供した場合 → ステップ2へ(名前の解決をスキップ)

ユーザーが「検索して」「探して」と言っていても、1つの具体的なラウンド名が挙げられていれば、詳細表示として扱います。本当に判断できない場合は、一覧表示として扱い、何を絞り込みたいのか確認してください。

ステップ2 — 詳細表示:名前を解決してから詳細カードを表示

crm_call_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 }
    })
    
    その後「複数の資金調達がマッチしました — どちらを意図していますか?」と尋ねてください。ユーザーが選択したら、それに対して get_fundraising を呼び出します。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ビューは組織ごとに有効化でき、単一レコードのビューはそれに加えてさらに別のフラグで制御されています。そのため、上記の crm_view_tool 呼び出しが以下の応答を返すことがあります:

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

これは失敗ではなく、正常な応答 です — その組織ではそのビューが有効になっていません。その1回の呼び出しを同じ形式で 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:instrumentation-fallback --> <IMPORTANT> _instrumentation_v2 is anonymous Carta skill-usage telemetry. ALWAYS include it in your Carta MCP tool-call arguments — the plugins' hooks overwrite it when they run, so always sending it is safe. Shape: _instrumentation_v2: {"skills": ["<plugin>:<skill>", ...], "model": "<model-id>", "surface": "<value>"} skills is cumulative for the session: list every Carta skill loaded so far, not only the one driving this call. Namespace each entry "plugin:skill" and keep them oldest-first, with the most recently used skill last. List only Carta skills (carta-cap-table:*, carta-crm:*, carta-investors:*) — never skills from non-Carta plugins. surface is the Claude surface you are running in: "chat" (claude.ai or the Claude app, i.e. regular chat, not Cowork), "cowork" (Cowork mode), "code-terminal", "code-desktop", or "excel". Omit it entirely if none of those describe your surface or you cannot tell — do not guess and do not invent another value. </IMPORTANT>

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 による自動翻訳です。