特定のグラント(給付)または保有者1名分の権利確定スケジュール(段階的に権利が確定する予定)を取得できます。対応する報酬形態は、ISO(インセンティブ・ストック・オプション)/NSO(非適格ストック・オプション)、RSU(制限付き株式ユニット)、SAR(株価変動権)、CBU(キャッシュ・ボーナス・ユニット)です。 **次のような場合に使用:** - 「[名前]は今までどのくらい権利が確定したか」 - 「[名前]の権利確定開始日(cliff date)はいつか」 - 「[名前]の権利確定状況の進捗」 - クリフ日(権利確定が一気に進む日)、決済日、未確定の株式に関する確認 **使用できない場合:** ポートフォリオ全体や全従業員を集計した権利確定情報の照会には対応していません。
Fetch the vesting schedule for ONE specific grant or holder — options (ISO/NSO), RSUs, SARs, or CBUs. Use for "how much has [name] vested", "when does [name]'s cliff hit", "vesting progress for [name]", cliff dates, settlement, or unvested shares. NOT for portfolio-level / all-employees aggregate vesting.
株式選択肢(オプション)、制限付き株式ユニット(RSU)、株価変動権(SAR)、現金決済ユニット(CBU)といった付与株式のベスティングスケジュール(企業が従業員に段階的に付与する株式の取得予定表)全体を取得し、単なるデータ表ではなく、有用なコンテキストとともに表示します。
このスキルは特定の1つの付与株式または保有者に限定したベスティングに関する質問に使用してください:
言い方は違っても同じ意図の質問(同じ意味、異なる表現 — すべて特定の付与株式または保有者のベスティング質問に該当):
ポートフォリオレベル・全従業員集計のベスティングには使用しないでください。 これらの質問は1つの付与株式または保有者に限定されます(「〜向け」「このオプション向け」「オプション#〜向け」)。「従業員のエクイティのうちどのくらいがベストしたか」や「オプションプール全体でベストした合計」といった質問はポートフォリオレベルです。代わりにステークホルダー/ポートフォリオ/所有権スキルに任せてください。複数の付与株式にまたがる質問の場合は、データを取得する前にワークフロー内の「複数の付与株式」ブランチを参照してください。
次の情報が必要です:
corporation_id(企業ID)— ない場合は list_accounts から取得してくださいgrant_id(付与ID)— 関連する付与タイプのリストコマンドを使って特定してください(下記参照)AskUserQuestion で確認してください。ゲートウェイはリストコマンドで
detail=summaryをデフォルトとしますが、このスキルは個別レコードが必要なため、"detail": "minimal"を明示的に渡します。
ベスティング詳細用の2つのエンドポイントが存在しており、相互互換性はありません:
| 付与タイプ | リストコマンド | ベスティング詳細コマンド |
|---|---|---|
| オプション(ISO/NSO) | cap_table:list:grants |
cap_table:get:grant_vesting |
| RSU | cap_table:list:rsus |
cap_table:get:rsu_vesting |
| SAR | cap_table:list:sars |
(なし — 注釈参照) |
| CBU | cap_table:list:cbus |
(なし — 注釈参照) |
重要: cap_table:get:grant_vesting はオプション専用で、RSU/SAR/CBU IDに対しては500エラーを返します。上の表を参照し、複数のタイプ間でコマンドを再利用しないでください。
call_tool({"name": "<list tool>", "arguments": {"corporation_id": corporation_id, "search": "<holder name>", "detail": "minimal"}})
次に、オプションまたはRSUの場合:
call_tool({"name": "<vesting detail tool>", "arguments": {"corporation_id": corporation_id, "grant_id": grant_id}})
SARとCBUについては、リストレコードの vested_shares_quantity のみが利用可能な信号です。まだイベントレベルの詳細エンドポイントはありません。
ベスティング詳細コマンドはやや異なる形式でデータを返します:
cap_table:get:grant_vesting(オプション):
total_shares、vested_shares、unvested_sharesgrant_date、cliff_summaryvesting_events[] — それぞれ date、amount、cumulative、has_vested を含むcap_table:get:rsu_vesting(RSU):
awarded、vested_shares、unvested_shares、settled、eligible_for_settlementvesting_start_date、vesting_type、primary_vesting_title/descriptionhas_additional_condition、additional_vesting_title/descriptionacceleration_terms、termination_datetranches[] — それぞれ vest_date、awarded、eligible_for_settlement、settled、status、vesting_status、milestone_name、additional_condition_*、vesting_type を含むcap_table:list:grants(および他のリストコマンド)には実際の corporation_id が必須です。企業名(例:「meetly」)を corporation_id として渡さないでください — これはIDではなく、呼び出しは失敗します。
企業名しかない場合は、リスト/データ呼び出しの前に corporation_id に変換してください:
list_accounts({"search": "<company name>"}) # 一致するアカウントに絞り込み
# 各アカウントの `id` は `corporation_pk:<numeric id>` という形式です。その数値IDを抽出してください
# — これがすべてのcap_tableツールに必要な `corporation_id` です。
# 複数のアカウントが似た名前を持つ場合は、続行する前に AskUserQuestion で確認してください
# — ユーザーの意図を推測してはいけません。
set_context({...}) # 該当する場合、アクティブな企業コンテキストを設定
search パラメータなしで list_accounts を呼び出すと全アカウント一覧が返されますが、複数企業インスタンスではアカウントを間違える危険があるため、常に企業名を渡してください。解決した corporation_id を後続のすべての cap_table__* 呼び出しに引き継いでください。確認してから初めてステップ1に進んでください。
grant_id が既に前後の会話コンテキストから判明している場合(例:ユーザーがグラント一覧を表示したばかり)、ステップ2にスキップしてください。
それ以外の場合は、付与タイプに基づいてリストコマンドを選択してください:
cap_table:list:grants を試します(オプションが最も一般的)。保有者が見つからない場合は、list:rsus、list:sars、list:cbus を順に試してください。4つすべてをチェックするまで、ベスティングデータが利用できないと結論付けないでください。call_tool({"name": "<list tool>", "arguments": {"corporation_id": corporation_id, "search": "<holder name>", "detail": "minimal"}})
複数の付与株式が返された場合は、ユーザーに選ぶように尋ねるか、コンテキストに基づいて最も関連性の高いものを選択してください。
ユーザーが**「すべての付与株式」、「それぞれの付与株式」**、複数の付与株式、または保有者の全付与株式について尋ねた場合は、付与株式ごとに1つの cap_table:get:grant_vesting(または rsu_vesting)呼び出しをしないでください。 保有者や企業は数十から数百の付与株式を保有でき、N件の詳細取得は遅く、非効率です。代わりに:
vested/unvested/quantity シグナルを含む)そのサマリーテーブルを表示します。ユーザーが特定の付与株式に絞った場合だけ、付与株式ごとのベスティング詳細(ステップ2)を取得してください。
付与タイプに基づいて詳細コマンドを選択してください:
call_tool({"name": "cap_table__get__grant_vesting", "arguments": {"corporation_id": ..., "grant_id": ...}})call_tool({"name": "cap_table__get__rsu_vesting", "arguments": {"corporation_id": ..., "grant_id": ...}})vested_shares_quantity と quantity フィールドを使用して利用可能な情報を表示します。テーブルを表示する前に、わかりやすい1文のサマリーで始めてください(「表示」セクション参照)。
必須入力:corporation_id、grant_id、付与タイプ(オプション、RSU、SAR、CBU)。
企業名しかない場合は、最初に corporation_id に変換してください(ステップ0)— 名前文字列を corporation_id として渡さないでください。
付与タイプが不足または曖昧な場合は、実行前に AskUserQuestion を呼び出してください(carta-interaction-reference §4.1参照)。
grant_id が不明な場合は、ワークフローのステップ1を使って保有者名で検索してください。
AI計算:いいえ — このスキルはCartaデータを直接表示します。
形式:サマリー文 + ベスティングイベント/トランシェ表現
要点先制(BLUF): テーブルを表示する前に、ベスティング状況をわかりやすい1文で先制してください。
並べ替え順:ベスティング日時昇順(時間順)。
日付形式:MMM d, yyyy(例「Jan 15, 2026」)。
ベスティング状況に応じてサマリーをカスタマイズしてください:
ツールが返すようにベスティングイベント/トランシェテーブルとして形式化し、ベスティング日時の昇順(時間順)でソートしてください。
時間的に重大な項目にフラグを立ててください:
grant_expiration_date < 今日 かつ vested_shares > exercised_shares の場合、目立つようにフラグを立ててください — 保有者はベス<!-- 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>
<!-- Part of the official Carta AI Agent Plugin -->
Fetch the full vesting schedule for a grant — options, RSUs, SARs, or CBUs — and present it with useful context, not just the raw table.
Use this skill for vesting questions scoped to a single grant or holder:
Wrong-vocab synonyms (same intent, different words — all map to vesting for a single grant/holder):
Do NOT use for portfolio-level / all-employees aggregate vesting. These triggers stay scoped to one grant or holder ("for [name]", "for this grant", "for grant #"). Questions like "how much of my employees' equity has vested" or "total vested across the whole option pool" are portfolio-level — defer to a stakeholder/portfolio/ownership skill instead. If a request spans more than one grant, see the "Multiple grants" branch under Workflow before fetching anything.
You need:
corporation_id — get from list_accounts if you don't have itgrant_id — identify via the list command for the relevant grant type (see below)AskUserQuestion before searching.The gateway defaults to
detail=summaryfor list commands. This skill needs individual records, so"detail": "minimal"is passed explicitly.
Two endpoints exist for vesting detail and they are not interchangeable:
| Grant type | List command | Vesting detail command |
|---|---|---|
| Options (ISO/NSO) | cap_table:list:grants |
cap_table:get:grant_vesting |
| RSUs | cap_table:list:rsus |
cap_table:get:rsu_vesting |
| SARs | cap_table:list:sars |
(none — see Caveats) |
| CBUs | cap_table:list:cbus |
(none — see Caveats) |
Important: cap_table:get:grant_vesting is options-only and returns 500 for RSU/SAR/CBU ids. Use the table above; do not reuse a command across types.
call_tool({"name": "<list tool>", "arguments": {"corporation_id": corporation_id, "search": "<holder name>", "detail": "minimal"}})
Then, for options or RSUs:
call_tool({"name": "<vesting detail tool>", "arguments": {"corporation_id": corporation_id, "grant_id": grant_id}})
For SARs and CBUs, the list-record vested_shares_quantity is the only available signal — there is no per-event detail endpoint yet.
The vesting detail commands return slightly different shapes:
cap_table:get:grant_vesting (options):
total_shares, vested_shares, unvested_sharesgrant_date, cliff_summaryvesting_events[] — each with date, amount, cumulative, has_vestedcap_table:get:rsu_vesting (RSUs):
awarded, vested_shares, unvested_shares, settled, eligible_for_settlementvesting_start_date, vesting_type, primary_vesting_title/descriptionhas_additional_condition, additional_vesting_title/descriptionacceleration_terms, termination_datetranches[] — each with vest_date, awarded, eligible_for_settlement, settled, status, vesting_status, milestone_name, additional_condition_*, vesting_typecap_table:list:grants (and the other list commands) require a real corporation_id. Never pass a company name (e.g. "meetly") as corporation_id — it is not an ID and the call will fail.
If you only have a company name, resolve it to a corporation_id before any list/data call:
list_accounts({"search": "<company name>"}) # narrow to the matching account(s)
# Each account's `id` is shaped `corporation_pk:<numeric id>`. Extract that numeric
# id — it is the `corporation_id` every cap_table tool needs.
# If several accounts share a similar name, call AskUserQuestion to disambiguate
# before continuing — never guess which one the user meant.
set_context({...}) # set the active corporation context, if applicable
Calling list_accounts with no search returns the full account list; on a multi-company instance that risks matching the wrong account, so always pass the name. Carry the resolved corporation_id into every subsequent cap_table__* call. Only once it is resolved do you proceed to Step 1.
If grant_id is already known from prior conversation context (e.g. the user just viewed a grants list), skip directly to Step 2.
Otherwise, pick the list command based on grant type and search:
cap_table:list:grants first (options are most common). If the holder is not found, try list:rsus, then list:sars, then list:cbus. Do not conclude vesting data is unavailable until all four have been checked.call_tool({"name": "<list tool>", "arguments": {"corporation_id": corporation_id, "search": "<holder name>", "detail": "minimal"}})
If multiple grants are returned, ask the user which one, or pick the most relevant based on context.
If the user asks about "all grants", "each grant", multiple grants, or every grant for a holder, do NOT fan out to one cap_table:get:grant_vesting (or rsu_vesting) call per grant. A holder or company can have dozens-to-hundreds of grants, and N detail fetches is slow and wasteful. Instead:
vested/unvested/quantity signals) and present that summary table.Only fetch the per-grant vesting detail (Step 2) once the user has narrowed to a specific grant.
Pick the detail command based on grant type:
call_tool({"name": "cap_table__get__grant_vesting", "arguments": {"corporation_id": ..., "grant_id": ...}})call_tool({"name": "cap_table__get__rsu_vesting", "arguments": {"corporation_id": ..., "grant_id": ...}})vested_shares_quantity and quantity fields and surface what's available.Lead with a one-sentence plain-English summary before showing the table (see Presentation section).
Required inputs: corporation_id, grant_id, and grant type (options, RSU, SAR, or CBU).
If you only have a company name, resolve it to a corporation_id first (Step 0) — never pass a name string as corporation_id.
If grant type is missing or ambiguous, call AskUserQuestion before proceeding (see carta-interaction-reference §4.1).
If grant_id is unknown, use Step 1 of the Workflow to search by holder name.
AI computation: No — this skill presents Carta data directly.
Format: Summary sentence + vesting events / tranches table
BLUF lead: Lead with a one-sentence plain-English summary of the vesting state before showing the table.
Sort order: By vesting date ascending (chronological).
Date format: MMM d, yyyy (e.g. "Jan 15, 2026").
Tailor the summary based on vesting state:
Format as the vesting events / tranches table returned by the tool, sorted by vesting date ascending (chronological).
Flag anything time-sensitive:
grant_expiration_date < today AND vested_shares > exercised_shares, flag it prominently — the holder has vested-but-expired-unexercised shares that may already be forfeited. This is distinct from (and more urgent than) the "expiring soon" flag above, which warns about a future date; here the window has already closed.eligible_for_settlement exceeds settled, note how many shares are awaiting settlement and flag if a termination_date is imminent — RSUs typically have a hard window to settle after termination.Then show the formatted table from the tool.
grant_id is required and must be resolved first — if the user provides a name, search the appropriate list command (see Data Retrieval) to find the matching ID before fetching vesting data.cap_table:list:grants excludes RSUs, SARs, and CBUs. A "not found" result there does not mean the grant has no vesting data — check the other three list commands.cap_table:get:grant_vesting is options-only and returns 500 for RSU/SAR/CBU grant ids. Always route by grant type; do not pass an RSU id to it.vested_shares_quantity and quantity are the only reliable signals — say so plainly rather than fabricating tranche detail.原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。