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

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

Carta CRM(顧客管理システム)から投資家の記録を検索して取得します。 **次のような場合に使用:** 「投資家を探して」「投資家を検索して」「投資家の情報を調べて」「〇〇さんの投資家情報を見せて」「〇〇さんの詳しい情報が欲しい」「〇〇さんについて教えて」「IDで投資家を取得して」「投資家の一覧を表示して」「うちにはどんな投資家がいる?」など、ユーザーが投資家の情報を求めたとき 投資家の ID、名前、カスタムフィールドなど詳細情報を返します。 取得した投資家 ID は、投資家情報の更新スキルと組み合わせて使うことができます。

原文を表示

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

ユースケース
  • 投資家の名前や情報を検索したいとき
  • 特定の投資家のID取得が必要なとき
  • 投資家の詳細情報を確認したいとき
  • 保有している投資家の一覧を確認したいとき
本文(日本語訳)

<!-- carta:instrumentation-fallback --> <重要> _instrumentation_v2 は、Cartaスキルの使用状況を記録する匿名のテレメトリ(利用統計)です。Carta MCPツールの呼び出し引数に必ず含めてください。プラグインのフックが実行時に上書きするため、常に送信しても安全です。形式: _instrumentation_v2: {"skills": ["<プラグイン名>:<スキル名>", ...], "model": "<モデルID>", "surface": "<値>"}

skillsはセッション内で累積されます。現在のこの呼び出しだけでなく、これまでに読み込まれたすべてのCartaスキルをリストします。各項目を"プラグイン名:スキル名"の形式で名前空間化し、古い順に並べ、最後に最近使用したスキルを置きます。Cartaスキル(carta-cap-table:*、carta-crm:*、carta-investors:*)のみをリストしてください。Cartaではないプラグインのスキルは含めないでください。

surfaceはClaudeを実行しているインターフェースです。"chat"(claude.aiまたはClaudeアプリ、つまり通常のチャット。Coworkではない)、"cowork"(Coworkモード)、"code-terminal"、"code-desktop"、"excel"のいずれかです。これらのいずれにも当てはまらない場合や判断できない場合は、完全に省略してください。推測したり、別の値を作り出したりしないでください。 </重要>

概要

Carta CRMで投資家を検索します。1人の特定の投資家に関する質問なら、その投資家のプロフィールを表示します。複数の投資家に関する質問なら、テーブル(表)で一覧を示します。まずこの違いを判定することが、その後のすべての処理を決めます。

ステップ1 — 意図を判定:1人の投資家か、複数か?

  • 詳細表示 — ユーザーが1人の投資家を名前で指示し、詳しい情報を求めている場合:「Preqinの詳しい情報」、「Index Venturesについて教えて」、「この投資家について詳しく」、「Preqinは誰か」 → ステップ2へ。

  • リスト表示 — ユーザーが複数の投資家や、フィルタリングした結果を求めている場合:「パイプライン(営業案件の流れ)内の投資家」、「シードステージの投資家」、「うちにはどんな投資家がいるか」 → ステップ3へ。

  • IDで指定 — ユーザーが投資家IDを直接入力した場合 → ステップ2へ(名前解決をスキップ)。

ユーザーが1人の投資家を名前で指示している場合は、「検索して」や「探して」と言われても、詳細表示リクエストです。判定が本当に曖昧なら、リスト表示と見なして、何を絞り込みたいのかを聞きます。

ステップ2 — 詳細表示:名前を解決してから、プロフィールを表示

crm_call_toolを使って解決してください。crm_view_toolは使いません。 このステップはあなた(AI)のためのものです。ビュー呼び出しを使うと、応答内のすべての配列が数字に圧縮されるため、行データが届かず、IDも取得できません。そしてユーザーには望まないリストが表示されてしまいます。

crm_call_tool({
  "name": "crm:search_investors",
  "arguments": { query: "<投資家名>", limit: 10 }
})

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

  • ちょうど1件マッチ → プロフィールを表示して終了:

    crm_view_tool({ "name": "crm:get_investor", "arguments": { id: "<id>" } })
    
  • 複数件マッチ → 推測してはいけません。候補をビューで表示して、どれを求めているのか聞きます:

    crm_view_tool({
      "name": "crm:search_investors",
      "arguments": { query: "<投資家名>", limit: 10 }
    })
    

    その後「複数の投資家が見つかりました。どちらを意味していますか?」と聞きます。ユーザーが選んだら、その投資家について get_investor を呼び出します。企業名はしばしば共通の語幹を持つため(例:「Index」「Index Ventures」)、最初の検索結果を根拠なく開くと、見当違いなレコードが自信を持って表示されてしまいます。

  • マッチなし → その旨を伝えます。空のビューは表示しません。

ユーザーがIDを直接入力した場合、解決の必要はありません。1回の呼び出しで1つのプロフィールを取得します。

1つのリクエストにつき、最大1つのプロフィールを表示してください。ユーザーが複数の投資家を名前で挙げた場合は、複数のビューを積み重ねるのではなく、どちらを開くかを聞きます。

ステップ3 — リスト表示:検索してテーブルを表示

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

ユーザーがもっと結果を見るよう求めたら、limitを増やしてください。ページネーション(複数ページ表示)には offset を使用します。

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

CRMビューはオーガニゼーション(組織)ごとに有効になり、単一レコードのビューはさらにその上に2番目のフラグが必要です。そのため、上記のいずれかの crm_view_tool 呼び出しが以下のように応答する場合があります:

CRM tool 'search_investors' has no view — call it with crm_call_tool instead. (CRMツール 'search_investors' にはビューがありません。代わりに crm_call_tool で呼び出してください。)

これは通常の応答であり、エラーではありません。このオーガニゼーションはそのビューを有効にしていないということです。その呼び出しを同じ内容で crm_call_tool を通じて再実行し、結果をステップ4のテキスト形式で提示してください。crm_view_toolを再実行しないでください。また、このメッセージをユーザーに報告しないでください。

詳細表示リクエストで、プロフィールカードが利用できない場合も、同じやり方で解決します。ステップ2の crm_call_tool 解決を進め、選択されたレコードをテキストで表示してください。

ステップ4 — 結果を提示

カードが表示された場合、ユーザーはレコード全体を見ています。その項目を改めて述べないでください。ユーザーが聞いたことに答えるか、1行で確認するだけで十分です。

テーブルが表示された場合、ユーザーはすべての行をすでに見ています。テキストで改めて列挙したり、整形し直したり、要約したりしないでください。テーブルと重複します。実際に聞かれた質問に答えるか、1行で確認してください(例:「9人の投資家が見つかりました。IDは最初の列にあり、/update-investorで使用できます。」)。

crm_call_tool にフォールバックした場合、すべての空でない項目を読みやすくまとめて表示し、IDは目立つように示してください。ユーザーが /update-investor を実行するときに必要になります。

投資家が見つからない場合:

「検索に一致する投資家が見つかりません。別の名前またはキーワードをお試しください。」

原文(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 investors in the Carta CRM. A request about one named investor renders that investor'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 investor, or a set?

  • Detail — the user named one investor and wants the record: "full details on Preqin", "tell me about Index Ventures", "more on this investor", "who is Preqin". → Step 2.
  • List — the user wants a set, or filtered or plural results: "investors in my pipeline", "seed-stage investors", "what investors do we have". → Step 3.
  • By ID — the user gave an investor ID → Step 2, skipping the resolve.

A named single investor 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_investors",
  "arguments": { query: "<investor 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_investor", "arguments": { id: "<id>" } })
    
  • Several matches → do NOT guess. Render the candidates as a view and ask which one:
    crm_view_tool({
      "name": "crm:search_investors",
      "arguments": { query: "<investor name>", limit: 10 }
    })
    
    Then ask: "Several investors match — which one did you mean?" When they pick, call get_investor for it. Firms often share a stem ("Index", "Index Ventures"), so opening the top hit unasked shows the wrong record 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 investors, ask which to open rather than stacking views.

Step 3 — List: search and render the table

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

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_investors' 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. "Found 9 investors — the ID is in the first column, for /update-investor.").

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

If no investors are found:

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

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