CtrlK
BlogDocsLog inGet started
Tessl Logo

carta-ownership

Voting, governance, and seniority analysis for a company — which corporate decisions require shareholder approval, which holders carry protective provisions or blocking rights, where preferred share classes sit in the liquidation stack, and who holds preferred stock (optionally as of a historical date).

Invalid
This skill can't be scored yet
Validation errors are blocking scoring. Review and fix them to unlock Quality, Impact and Security scores. See what needs fixing →
SKILL.md
Quality
Evals
Security

Ownership Structure

Surface which preferred stockholders hold voting power and would typically need to consent for major corporate actions (financing rounds, M&A, charter amendments).

Prerequisites

You need the corporation_id. Get it from list_accounts if you don't have it.

Data Retrieval

The gateway defaults to detail=summary for list commands. This skill needs individual records, so "detail": "full" is passed explicitly.

  1. fetch("cap_table:get:rights_and_preferences", { corporation_id })
  2. fetch("cap_table:get:cap_table_by_stakeholder", { corporation_id, "detail": "full" })

Key Fields

From share classes:

  • name: class name (e.g. "Series A Preferred")
  • stock_type: "PREFERRED" or "COMMON"
  • votes_per_share: voting weight (0 = non-voting)
  • seniority: liquidation seniority rank (higher = senior)

From cap table by stakeholder:

  • Per-stakeholder share counts and ownership % broken down by share class

Workflow

Step 1 — Fetch Share Classes

fetch("cap_table:get:rights_and_preferences", { corporation_id })

Step 2 — Fetch Cap Table by Stakeholder

fetch("cap_table:get:cap_table_by_stakeholder", { corporation_id, "detail": "full" })

This returns per-stakeholder ownership broken down by share class.

If the user's question is anchored to a specific date (e.g. "who had voting control at Q1 close", "preferred holders on 3/31"), add as_of_date (ISO YYYY-MM-DD or MM/DD/YYYY):

fetch("cap_table:get:cap_table_by_stakeholder", { corporation_id, "detail": "full", "as_of_date": "2026-03-31" })

Note: cap_table:get:rights_and_preferences does not support as_of_date — it returns the current share class structure. Flag this to the user if the question hinges on historical share class terms.

Step 3 — Identify Preferred Holders

From the share class data, identify preferred classes (stock_type = "PREFERRED" or votes_per_share > 0).

From the cap table, identify stakeholders holding preferred shares. Sort by:

  1. Seniority (most senior first)
  2. Fully diluted ownership % (descending)

Step 4 — Present Results

Format as tables (see Presentation).

Gates

Required inputs: corporation_id. If missing, call AskUserQuestion before proceeding (see carta-interaction-reference §4.1).

AI computation: No — this skill presents Carta data directly.

Presentation

Format: Two tables (preferred holders, common holders)

BLUF lead: Lead with the total number of preferred holders and the most senior share class before showing the tables.

Sort order: By seniority (most senior first), then by fully diluted ownership % descending.

Preferred Stockholders with Voting Rights

HolderShare ClassSharesFD %Votes/ShareSeniority
..................

Common Stockholders (if relevant — founders, employees)

Sort by fully diluted ownership % descending.

HolderSharesFD %
.........

Caveats

  • Carta surfaces share ownership and voting structure, but does not expose actual consent thresholds or protective provision terms — those live in the Stockholders' Agreement and Certificate of Incorporation. This data identifies who holds voting preferred shares; an attorney must interpret what approvals are required and at what thresholds.
  • If the user asks about specific thresholds (e.g., "do we need 60% of Series A to approve?"), acknowledge the limitation and recommend reviewing the governing documents.
Repository
carta/plugins
Last updated
Created

Is this your skill?

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.