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-cap-table:6.91.7
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 || trueIf 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 returnsinputSchema: the required and optional parameterscall_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.
2f20566
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.