From carta-investors
Downloads tear sheets for portfolio companies and funds on Carta. Supports single, bulk, and all-portco downloads with async ZIP packaging.
How this skill is triggered — by the user, by Claude, or both
Slash command
/carta-investors:carta-download-tearsheethaikuThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- Part of the official Carta AI Agent Plugin -->
Download tear sheets for your portfolio companies and funds on Carta.
The skill presents available templates and portfolio companies interactively, then routes to the appropriate workflow based on the selection:
list_contexts then set_context with the target firm_id before any other call.fa:list:tearsheet_templates and fa:list:portfolio_companies.| MCP Command | Purpose |
|---|---|
call_tool({"name": "fa__list__tearsheet_templates", "arguments": {}}) | List available PDF templates for the firm |
call_tool({"name": "fa__list__portfolio_companies", "arguments": {}}) | List all portfolio companies with their fund groupings |
call_tool({"name": "fa__mutate__download_all_tearsheets", "arguments": {...}}) | Start an async job for all portcos (fast path) |
call_tool({"name": "fa__mutate__start_tearsheet_download", "arguments": {...}}) | Start an async bulk job for a specific portco subset |
call_tool({"name": "fa__get__tearsheet_download_status", "arguments": {}}) | Poll for async job completion; returns "pending" or a download URL |
Ensure a firm context is active. If this is your first MCP call in the session, or if subsequent calls fail with a firm/context error:
list_contexts to see which firms are accessible.set_context with the target firm_id.You do not need to ask the user for a firm UUID — the MCP session tracks the active firm.
Call:
call_tool({"name": "fa__list__tearsheet_templates", "arguments": {}})
If the user mentioned a document name (e.g. "Investment Summary", "Fund Summary",
"Tear Sheet"): match it against the template name field (case-insensitive, partial match).
Match found: Confirm with the user:
"Found template 'Investment Summary' — is this the one you want?"
If yes, store it and continue. If no, show the full table.
No match found: Tell the user, then show the full table:
"No template named 'Investment Summary' was found for this firm. Here are the available templates — which one would you like to use?"
If no document name was mentioned:
One template: Confirm with user before proceeding.
Multiple templates: Show table, ask user to select by number:
| # | id | Name | Orientation | Grain Level | Description |
|---|----|------|-------------|-------------|-------------|
| 1 | aaa-... | Q4 2024 Standard | landscape | fund | — |
| 2 | bbb-... | Annual Summary | portrait | company | Annual LP report |
Store as TEMPLATE_UUID (the template id) and TEMPLATE_NAME.
Call:
call_tool({"name": "fa__list__portfolio_companies", "arguments": {}})
The command returns an array of portfolio companies. Each item includes name,
entity_link_id, and fund_uuid.
Group them by fund_uuid and display a numbered table:
## Acme Fund I
| # | Company Name | entity_link_id | fund_uuid |
|---|--------------|----------------|-----------|
| 1 | Portco Alpha | el-uuid-1 | fund-uuid-1 |
| 2 | Portco Beta | el-uuid-2 | fund-uuid-1 |
## Acme Fund II
| # | Company Name | entity_link_id | fund_uuid |
|---|--------------|----------------|-----------|
| 3 | Portco Gamma | el-uuid-3 | fund-uuid-2 |
Ask the user to choose:
After the user selects portcos:
FUND_BREAKDOWNS and proceed to Bulk Flow.Present a confirmation summary before starting — never proceed without explicit user approval:
Ready to generate tearsheets for all portfolio companies:
Template: <TEMPLATE_NAME> (<TEMPLATE_UUID>)
Scope: All portcos across all funds
Proceed? (yes/no)
Start the bulk job using the download-all command:
call_tool({"name": "fa__mutate__download_all_tearsheets", "arguments": {
"template_uuid": "<TEMPLATE_UUID>"
}})
Tell the user the job has started and polling will begin.
Poll for completion — call call_tool({"name": "fa__get__tearsheet_download_status", "arguments": {}}) every 30 seconds, up to
10 attempts (5 minutes total):
"pending" → print progress ("Still processing... (attempt N/10)") and wait.DOWNLOAD_URL.On timeout (10 attempts exhausted): Tell the user the job may still be running and they can check manually by asking: "Check tearsheet download status".
On success: Present the download link:
Your tear sheets are ready!
[Download Your Tear Sheets](<DOWNLOAD_URL>)
> Note: this link is temporary and will expire — download it soon.
Build FUND_BREAKDOWNS — group entity_link_ids by fund_uuid:
[
{"fund_uuid": "fund-uuid-1", "entity_link_ids": ["el-uuid-1", "el-uuid-2"]},
{"fund_uuid": "fund-uuid-2", "entity_link_ids": ["el-uuid-3"]}
]
Present a confirmation summary before starting — never proceed without explicit user approval:
Ready to generate bulk tearsheets:
Template: Q4 2024 Standard (aaa-...)
Portcos: 3 companies across 2 funds
Acme Fund I
- Portco Alpha
- Portco Beta
Acme Fund II
- Portco Gamma
Proceed? (yes/no)
Start the bulk job:
call_tool({"name": "fa__mutate__start_tearsheet_download", "arguments": {
"template_uuid": "<TEMPLATE_UUID>",
"fund_breakdowns": <FUND_BREAKDOWNS>
}})
Tell the user the job has started and polling will begin.
Poll for completion — call call_tool({"name": "fa__get__tearsheet_download_status", "arguments": {}}) every 15 seconds, up to
20 attempts (5 minutes total):
"pending" → print progress ("Still processing... (attempt N/20)") and wait.DOWNLOAD_URL.On timeout (20 attempts exhausted): Tell the user the job may still be running and they can check manually by asking: "Check tearsheet download status".
On success: Present the download link:
Your tear sheets are ready!
[Download Your Tear Sheets](<DOWNLOAD_URL>)
> Note: this link is temporary and will expire — download it soon.
list_contexts and set_context to re-establish context.npx claudepluginhub anthropics/claude-plugins-official --plugin carta-investorsGenerates audience-specific company tear sheets using S&P Capital IQ data, formatted as professional Word documents. Supports equity research, M&A, corporate development, and sales/BD audiences.
Interactive 5-minute walkthrough of the carta-investors plugin. Covers overview, setup verification, and demos: fundraising benchmarks, LP tear sheets, LP meeting prep. Also handles meta/glossary questions.
Generates customized cap table reports from Carta data — grants, SAFEs, stakeholders, vesting schedules, round history, and more. Supports filtering, sorting, and formatting without SQL.