**メタディスカバリーのみ** — ユーザーが「どのような株主構成管理(企業の株式や所有権の分配を追跡・管理するツール)のツールやコマンドが使えるのか」と困っているときに、利用可能な機能を説明するスキルです。 株主構成管理に関するトピック(利害関係者、資金配分、権利確定スケジュール、SAFE契約、約束手形、企業評価、所有権、配分構造、資金調達、保有状況など)が名指しされたリクエストには、**絶対にこのスキルを使わないでください**。ユーザーの表現があいまいであっても、これらは常に直接的なデータ請求です。該当する専門スキルが優先されます。
META-DISCOVERY ONLY — answers the question "what cap-table tools or commands exist?" when the user is lost about what's available. NEVER use this skill for any request that names a cap-table topic (stakeholders, grants, vesting, SAFEs, notes, valuations, ownership, waterfall, financing, exposure, etc.) — those are always direct data requests, even if the user phrases them vaguely. The matching specialist skill wins every time over this one.
<!-- carta:plugin-version --> <carta-plugin>carta-cap-table:6.89.2</carta-plugin>
<!-- 公式Carta AIエージェントプラグインの一部 -->
ユーザーのリクエストに対応する特定のスキルがない場合、コマンドレジストリ(利用可能なコマンド一覧)を使用して利用できるコマンドを探します。このプラグイン環境で過去にdiscoverコマンドを実行した際のデータはディスクにキャッシュされています。そのキャッシュを最初に確認し、必要な場合のみネットワークにアクセスしてください。
プラグインのPostToolUseフック(処理の後段)は、discoverコマンド実行後に完全なコマンドレジストリを${CLAUDE_PLUGIN_DATA}/cache/commands.jsonに保存します。MCPコマンドを実行する前に、必ずこのファイルを読み込んでください:
cat "${CLAUDE_PLUGIN_DATA}/cache/commands.json" 2>/dev/null || true
ファイルが存在して有効な場合、これをコマンドリストとして扱い、使用前に以下を確認してください:
cached_atというISO形式のタイムスタンプが含まれています。このタイムスタンプが24時間以上前の場合、キャッシュは古いと判断してステップ1に進んでください(これはウェルカム画面やアカウント情報のキャッシュと同じ24時間の有効期限です)。plugin_versionが含まれています。セッション開始時に挿入される<carta-plugin version=…/>タグで示されるプラグインのバージョンと一致しない場合、キャッシュは古いと判断してステップ1に進んでください。commandsキー(配列)の直下にあります。ファイルが空、解析不可能、またはcommandsが存在しないか空の場合、ステップ1に進んでください。キャッシュが有効で新しい場合、ステップ1・2のネットワークアクセスをスキップ — キャッシュのcommands配列から最適なコマンドを直接選択してください(ライブのsearch_tools結果と同じname(コマンド名)・description(説明)・inputSchema(入力パラメータ)フィールドを使用)。その後ステップ3に進んでください。これにより、一度使用した後のセッションでネットワーク通信を1往復削減できます。
search_tools({"query": "<ユーザーのリクエストから抽出したキーワード>"})
ユーザーの意図を捉えたキーワードを使用してください(例:「評価」「ストックオプション」「SAFE(簡易株式引受状」「利害関係者」)。
返されたツールを確認してください。各ツールは以下の情報を持っています:
name:call_toolに渡すツール名(例:cap_table__get__stakeholders)description:そのツールが返すデータの説明inputSchema:必須および任意のパラメータcall_tool({"name": "<ツール名>", "arguments": { ...パラメータ }})
ほとんどのコマンドにはcorporation_id(法人ID)が必要です。お持ちでない場合はlist_accountsから取得してください。
<!-- carta:plugin-version --> <carta-plugin>carta-cap-table:6.93.3</carta-plugin>
<!-- Part of the official Carta AI Agent Plugin -->
Use the command registry to find available commands when no specific skill covers the user's request. A prior discover call in this environment caches the full registry to disk — read that cache first and only hit the network on a miss.
The plugin's PostToolUse hook writes the full command registry to ${CLAUDE_PLUGIN_DATA}/cache/commands.json after any discover call. Read it before making any MCP call:
cat "${CLAUDE_PLUGIN_DATA}/cache/commands.json" 2>/dev/null || true
If the file exists and is valid, treat it as the command list and validate it before use:
cached_at ISO timestamp. If cached_at is more than 24 hours old, treat the cache as stale and fall through to Step 1 (this matches the 24h TTL the welcome/accounts caches use).plugin_version. If it does not match the running plugin version (see the <carta-plugin version=… /> tag injected at session start), treat the cache as stale and fall through to Step 1.commands key (an array). If the file is empty, unparseable, or commands is missing/empty, fall through to Step 1.When the cache is valid and fresh, skip Steps 1–2's network call — pick the best-matching command directly from the cached commands array (same name / description / inputSchema fields as the live search_tools result) and go straight to Step 3. This removes a network round-trip on warm sessions.
search_tools({"query": "<keyword from user's request>"})
Use a keyword that captures the user's intent (e.g. "valuation", "grant", "safe", "stakeholder").
Review the returned tools. Each has:
name: the tool name to pass to call_tool (e.g. cap_table__get__stakeholders)description: what it returnsread_only: true if the tool only reads dataOnly the top results also have inputSchema (the required and optional parameters). The others have required_params and optional_params (parameter names only), which are usually enough to call the tool. If you need a parameter's type or allowed values, call search_tools({"query": "<tool name>"}) with its exact name: that tool comes back first, with its inputSchema.
call_tool({"name": "<tool_name>", "arguments": { ...params }})
You still need corporation_id for most commands — get it from list_accounts if you don't have it.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。