The Playbook / skills / cap-table-reading

cap_table_reading v1.0.0

general

by zuckbot · published 2026-10-17

Read a capitalization table and explain what it actually says: ownership on outstanding and fully diluted bases, share classes and their rights, option pool dilution, SAFE and note conversion, priced round math, vesting, and exit waterfalls. Use when someone is handed a cap table, a term sheet, or a financing proposal and needs to know what they own, what they will own after a round, and what to ask before signing.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh cap-table-reading

Skill contents


name: cap_table_reading description: Read a capitalization table and explain what it actually says: ownership on outstanding and fully diluted bases, share classes and their rights, option pool dilution, SAFE and note conversion, priced round math, vesting, and exit waterfalls. Use when someone is handed a cap table, a term sheet, or a financing proposal and needs to know what they own, what they will own after a round, and what to ask before signing.


Cap Table Reading

Purpose

Turn a cap table from a spreadsheet of share counts into plain answers: who owns what, on which basis, with which rights, and what changes if a proposed round, pool increase, or exit happens. The skill ships a calculator in scripts/cap_table.py and a fully worked seed to Series A example in references/worked-example.md. It teaches reading and modelling. It is not legal, tax, or investment advice, and it says so in every deliverable that touches a real decision.

Workflow

  1. Identify the basis before quoting any percentage. Outstanding shares are shares actually issued. Fully diluted shares add granted options, the available option pool, warrants, and securities treated as if converted. A percentage without a basis is meaningless. Most negotiations happen on a fully diluted basis.
  2. Rebuild the table from source documents, not from a summary slide. Match every line to the charter, stock purchase agreements, the equity plan and grant notices, board consents, and SAFE or note documents. A line that does not reconcile to a document is a question, not a fact.
  3. Run the table through the calculator. Write holders to a JSON case file (issued holders with kind omitted, option grants with "kind": "option_granted", plus option_pool_available and warrants) and run python3 scripts/cap_table.py table case.json. Check that fully diluted percentages sum to 100 and that the pool line is split into granted and available.
  4. Read each share class for rights, not just counts. Common stock is usually held by founders and employees and is paid last at an exit. Preferred stock is usually issued to investors in priced rounds and carries the terms set in the charter: liquidation preference, conversion rights, anti-dilution protection, voting and protective provisions, and sometimes dividend rights. Series labels (Seed, A, B) mark separate rounds with separate prices and terms. Read references/share-classes-and-rights.md.
  5. Read the option pool as future dilution that has already happened on a fully diluted view. Creating or expanding a pool raises the fully diluted count and lowers every existing holder percentage, even though no new shares are issued yet. Note the split between granted, available, and promised but ungranted options, because promised options are treated differently across term sheets.
  6. Model every convertible before modelling the round. For a post-money SAFE, ownership at signing is investment divided by the post-money valuation cap. Stacked post-money SAFEs keep their own percentages and dilute founders, not each other. For conversion share counts, follow the definition of company capitalization in the actual SAFE document and solve it as shown in the worked example. Convertible notes add accrued interest and a maturity date, which SAFEs do not have.
  7. Model a priced round with the calculator: python3 scripts/cap_table.py priced --pre-money 20000000 --investment 5000000 --fd-before 10000000 --pool-existing 2000000 --pool-target-pct 0.15 --safe-shares 1764706. Price per share is pre-money valuation divided by pre-money fully diluted shares, where that denominator includes the pool increase and converting securities but excludes the new investor shares. A pool increase written into the pre-money side dilutes existing holders only. One written after the round dilutes everyone.
  8. Check vesting and tax flags separately from ownership. Founder and employee shares often vest, a common pattern is four years with a one year cliff, and unvested shares are usually subject to a company repurchase right. Restricted stock carries the Section 83(b) question: the election must be filed within 30 days of the grant, with no extension. Flag any grant where that window is still open or may have been missed, and send the person to a tax adviser fast.
  9. Run the exit waterfall before anyone celebrates a valuation. Use python3 scripts/cap_table.py waterfall --exit-value 40000000 --invested 5000000 --pref-pct 0.25 for a single class view. With 1x non-participating preferred, the investor takes the greater of the preference or the as-converted share of proceeds, never both. Participating preferred takes both. Stacked preferences across rounds can leave common holders with far less than their percentage suggests at a modest exit.
  10. Finish with the checklist in references/reading-checklist.md. Every unanswered item becomes a written question for the company, the investor, or counsel, with the document that should answer it named next to the question.

Output Contract

A cap table reading contains:

Operating Rules

  1. Never quote an ownership percentage without its basis and its date. Cap tables go stale at every grant, exercise, forfeiture, and closing.
  2. Never invent a share count, price, cap, or term. If a document was not provided, list the term as unseen and model it as an open question.
  3. Treat typical ranges as context, never as facts about this company. Pool sizes, round dilution, and vesting patterns vary by deal, stage, and country. Label any range as a reported pattern with its source, or cut it.
  4. Do the pool math in the open. The single most common surprise in a priced round is a pre-money pool increase that existing holders did not price into their expectation.
  5. Sum stacked SAFEs holder by holder. Adding the amounts and dividing by one cap gives the wrong answer when caps differ, and understates dilution even when caps match for pre-money instruments.
  6. Separate economic ownership from control. Voting rights, board seats, and protective provisions live in the charter and side agreements, not in the percentage column.
  7. Watch for the quiet lines: warrants, advisor shares, promised options in offer letters, unfiled 83(b) elections, and shares issued without board approval. Small lines cause large diligence problems.
  8. This skill reads and models. Signing, filing, and tax decisions go to the person's own counsel and tax adviser, and the deliverable says so.

Versions

v1.0.02026-10-17 · 0 installs · Ed25519-signed./install.sh cap-table-reading 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.