Agent skill

Cap Table

by 1984vc in 1984vc/cap-table

Model startup cap table ownership — SAFE conversions (cap, discount, post-money), priced rounds, option pool refreshes, and dilution.

MITAuto-check passedBusiness, Finance & HR

Install Cap Table

skills CLI
$ npx skills add 1984vc/cap-table --skill cap-table -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install 1984vc/cap-table cap-table --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/1984vc/cap-table.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cap-table .claude/skills/cap-table && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cap-table
GitHub stars
141
Token cost
~2.1k tokens
SKILL.md length
549 words
Files
3 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Model startup cap table ownership — SAFE conversions (cap, discount, post-money), priced rounds, option pool refreshes, and dilution.

  • Calculating founder ownership percentages
  • SKILL.md covers Transaction-grade semantics, Install, Commands and Input Format, plus 5 more sections
  • Calls npx and npm
  • Converting SAFEs to equity

What it does

Cap Table is an agent skill from 1984vc/cap-table. Model startup cap table ownership — SAFE conversions (cap, discount, post-money), priced rounds, option pool refreshes, and dilution. Use when calculating founder ownership percentages, converting SAFEs to equity, building pre-round or post-round cap tables, or estimating dilution from a Series A/B raise.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `manifest.json` and `references/library-api.md`).

It sits in Business, Finance & HR, covering Financial modeling. The repository describes itself as: Open Source Captable Worksheet. The licence is MIT.

When your agent uses it

  • Calculating founder ownership percentages
  • Converting SAFEs to equity
  • Building pre-round
  • Post-round cap tables

Example prompts

  • “/cap-table”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 400533d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • npmjs.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cap Table loads about 2.1k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 79 tokens; SKILL.md has 549 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~79
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from 1984vc/cap-table at commit 400533d, republished under its MIT licence (© 1984vc). 549 words, ~2,099 tokens.

Download SKILL.mdSave it as .claude/skills/cap-table/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
cap-table
description
Model startup cap table ownership — SAFE conversions (cap, discount, post-money), priced rounds, option pool refreshes, and dilution. Use when calculating founder ownership percentages, converting SAFEs to equity, building pre-round or post-round cap tables, or estimating dilution from a Series A/B raise.
license
MIT
metadata.author
1984 Ventures
metadata.version
0.1.0

Cap Table Calculator

Model startup cap tables: ownership percentages, SAFE conversions, priced rounds, and option pool refreshes.

Transaction-grade semantics

Use seriesInvestors as the canonical priced-round input. Legacy seriesInvestments is accepted, but if both are present their amounts must match in order. yc7p is exactly 7% after all SAFE conversions and before new Series shares and the option-pool increase. MFN elects a complete later post-money package (cap plus discount) at actual conversion, with the earliest package winning a PPS tie. Pro-rata and later pre-money MFN adoption are unsupported and throw a typed CalculationError.

The solver detects repeated rounded states, reconciles an exact integer share identity, and exposes authoritative per-SAFE and per-Series-investor outcomes.

Install

bash
npx skills add 1984vc/cap-table

This installs the skill into your project so coding agents (Claude Code, Cursor, etc.) can use it. The CLI itself runs via npx @1984vc/cap-table — no separate install needed.

Commands

CommandWhen to use
existingJust existing shareholders, no SAFEs or rounds
estimated-pre-roundHave SAFEs but no priced round yet — estimates ownership
pre-roundKnow the priced round valuation — shows pre-money ownership
priced-roundFull priced round with SAFE conversions, series investors, option pool

Input Format

All commands accept a JSON object. You can pass it as an argument, pipe via stdin, or point to a .json file.

bash
# As argument
npx @1984vc/cap-table priced-round '{...}'

# Via stdin
echo '{...}' | npx @1984vc/cap-table priced-round

# From file
npx @1984vc/cap-table priced-round ./input.json

# Founder-facing Markdown report
npx @1984vc/cap-table priced-round ./input.json --format markdown

Use the default JSON to inspect exact values, SAFE conversion outcomes, and ownershipError caveats when reasoning about a result. Present the answer to the founder in Markdown; --format markdown produces a ready-to-share table with estimate notes and links to 1984's founder guides. Never treat a tbd estimate as final ownership.

Input Schema
json
{
  "preMoneyValuation": 12000000,
  "common": [
    { "name": "Founder 1", "shares": 4500000 },
    { "name": "Founder 2", "shares": 4500000 },
    { "name": "Options Pool", "shares": 1000000, "commonType": "unusedOptions" }
  ],
  "safes": [
    {
      "name": "Seed SAFE",
      "investment": 1000000,
      "cap": 10000000,
      "discount": 0,
      "conversionType": "post"
    }
  ],
  "seriesInvestors": [
    { "name": "Lead Investor", "investment": 2000000 }
  ],
  "targetOptionsPct": 0.10
}

Fields:

FieldRequiredDefaultDescription
preMoneyValuationpriced-round, pre-round—Pre-money valuation in dollars
common[].nameyes—Shareholder name
common[].sharesyes—Number of shares
common[].commonTypeno"shareholder"Use "unusedOptions" for unissued option pool
safes[].investmentyes—Dollar amount invested
safes[].capno0Valuation cap (0 = uncapped)
safes[].discountno0Discount as decimal (0.2 = 20%)
safes[].conversionTypeno"post""pre" or "post" money conversion
safes[].sideLettersno—Array: ["mfn"] for Most Favored Nation
seriesInvestors[].investmentyes—Dollar amount invested
targetOptionsPctno0.10Target option pool % post-round
unusedOptionsnoauto-detectedExplicit unused options count

Note: You do NOT need to pass type: "common", type: "safe", etc. The CLI auto-fills these.

Show full SKILL.md (189 more words)Show less
For existing only:
json
{
  "common": [
    { "name": "Founder 1", "shares": 8000000 },
    { "name": "Founder 2", "shares": 2000000 }
  ]
}

Output

existing → Object with common rows, optionsPool, and total
json
{
  "common": [
    { "name": "Founder 1", "shares": 8000000, "ownershipPct": 0.8, "type": "common", "commonType": "shareholder" },
    { "name": "Founder 2", "shares": 2000000, "ownershipPct": 0.2, "type": "common", "commonType": "shareholder" }
  ],
  "optionsPool": { "name": "Options Pool", "shares": 0, "ownershipPct": 0, "type": "optionsPool" },
  "total": { "name": "Total", "shares": 10000000, "investment": 0, "ownershipPct": 1, "type": "total" }
}
estimated-pre-round → Object
json
{
  "common": [...],
  "safes": [...],
  "total": { "name": "Total", "shares": 10666666, "investment": 500000, "ownershipPct": 1 }
}
priced-round / pre-round → Object with conversion + capTable
json
{
  "conversion": {
    "pps": 1.04836,
    "ppss": [0.90001],
    "totalShares": 13354265,
    "newSharesIssued": 3354265,
    "preMoneyShares": 10335426,
    "postMoneyShares": 11111098,
    "convertedSafeShares": 1111098,
    "seriesShares": 1907741,
    "additionalOptions": 335426,
    "totalOptions": 1335426,
    "totalInvested": 3000000
  },
  "capTable": {
    "common": [...],
    "safes": [
      { "name": "Seed SAFE", "investment": 1000000, "ownershipPct": 0.083, "shares": 1111098, "pps": 0.90001 }
    ],
    "series": [
      { "name": "Lead", "investment": 2000000, "ownershipPct": 0.143, "shares": 1907741, "pps": 1.04836 }
    ],
    "optionsPool": { "shares": 1335426, "ownershipPct": 0.1 },
    "total": { "shares": 13354265, "investment": 3000000, "ownershipPct": 1 }
  }
}

Key Concepts

SAFE Conversion

SAFEs convert to equity at a priced round. The investor gets the better of two prices:

  • Cap price: cap / shares (guarantees minimum ownership %)
  • Discount price: (1 - discount) * seriesPPS (discount off round price)

Pre-money SAFEs convert on the pre-money share count. Post-money SAFEs (YC standard) guarantee a fixed ownership % post-money.

MFN (Most Favored Nation)

An MFN SAFE elects the complete later post-money term package producing the lowest conversion PPS. Pass sideLetters: ["mfn"].

Option Pool Refresh

targetOptionsPct controls the post-round option pool size (common: 10-20%). The gap between current unissued pool and target creates additional dilution shared by existing shareholders.

Ownership Percentages

All ownershipPct values are decimals: 0.45 = 45%. Successful solver output has an exact reconciled share identity after legal rounding.

Quick Examples

bash
# Simple existing ownership
npx @1984vc/cap-table existing '{
  "common": [
    {"name": "Alice", "shares": 6000000},
    {"name": "Bob", "shares": 4000000}
  ]
}'

# Pre-round with SAFEs (no priced round)
npx @1984vc/cap-table estimated-pre-round '{
  "common": [
    {"name": "Founder", "shares": 8000000},
    {"name": "Pool", "shares": 2000000, "commonType": "unusedOptions"}
  ],
  "safes": [
    {"name": "Angel 1", "investment": 250000, "cap": 5000000},
    {"name": "Angel 2", "investment": 500000, "cap": 8000000}
  ]
}'

# Full Series A
npx @1984vc/cap-table priced-round '{
  "preMoneyValuation": 20000000,
  "common": [
    {"name": "CEO", "shares": 4000000},
    {"name": "CTO", "shares": 4000000},
    {"name": "Pool", "shares": 500000},
    {"name": "Unissued", "shares": 500000, "commonType": "unusedOptions"}
  ],
  "safes": [
    {"name": "Seed Fund", "investment": 1500000, "cap": 8000000}
  ],
  "seriesInvestors": [
    {"name": "Series A Lead", "investment": 5000000}
  ],
  "targetOptionsPct": 0.15
}'

Error Handling

Invalid input (e.g., SAFE investment >= cap) exits with non-zero code and error to stderr. Always check the exit code.

Advanced

For programmatic TypeScript/JavaScript use: npm install @1984vc/cap-table. See references/library-api.md for the full API, math foundations, and type reference.

© 1984vc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/cap-table of 1984vc/cap-table.

  • SKILL.md
  • manifest.json
  • references/library-api.md

Open the folder on GitHubat commit 400533d

Compare with similar skills

Cap Table next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cap Table compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cap Table this skill1984vc/cap-table141—~2.1kAutomated safety check: PassMIT
Creating Financial ModelsChen-zexi/open-ptc-agent7294 repos~1.3kAutomated safety check: PassMIT
Equity Researcherlzwme/finance-quant-skills4351 repos~4.9kAutomated safety check: PassNone
Equity ResearchrollingSirius/equity-research-skill452—~1.5kAutomated safety check: PassMIT
SaaS Metrics Coachrongxinzy/RongxinAI1542 repos~1.3kAutomated safety check: PassMIT
Startup Financial Modelingnicepkg/auto-company19212 repos~2.8kAutomated safety check: PassNone

Similar skills

  • Creating Financial Models

    Chen-zexi/open-ptc-agent

    This skill provides an advanced financial modeling suite with DCF analysis, sensitivity testing, Monte Carlo simulations, and scenario planning for investment decisions

    729 GitHub starsUsed in 4 repos~1.3k tokens
    Business, Finance & HRAuto-check passed
  • Equity Researcher

    lzwme/finance-quant-skills

    机构级投研报告生成技能。覆盖中国A股、港股、美股上市公司。输出模式:1)投资速览:3-5页,含公司概览、核心财务指标、估值倍数、投资逻辑与风险因素;2)深度研报:≥25页,含行业分析、产业链图谱、三表模型、DCF估值、情景分析与敏感性测试。触发条件:1)直接请求:分析/看看/研究/调研/介绍一下 + 公司名或股票;2)投资询问:你怎么看/能不能买/值得投吗/帮我看看/扒一扒 +…

    435 GitHub starsUsed in 1 repo~4.9k tokens
    Business, Finance & HRAuto-check passed
  • Equity Research

    rollingSirius/equity-research-skill

    撰写机构级个股投资研究报告(二级市场深度研究)。Use whenever the user wants to research, analyze, or value a specific publicly-traded stock — e.g.

    452 GitHub stars~1.5k tokensUpdated 1 mo ago
    Business, Finance & HRAuto-check passed
  • SaaS Metrics Coach

    rongxinzy/RongxinAI

    SaaS financial health advisor. An agent skill from rongxinzy/RongxinAI.

    154 GitHub starsUsed in 2 repos~1.3k tokens
    Business, Finance & HRAuto-check passed
  • Startup Financial Modeling

    nicepkg/auto-company

    This skill should be used when the user asks to "create financial projections", "build a financial model", "forecast revenue", "calculate burn rate", "estimate runway", "model cash flow", or…

    192 GitHub starsUsed in 12 repos~2.8k tokens
    Business, Finance & HRAuto-check passed
  • Stock Value Analyzer

    FunnyKun/stock-value-analyzer

    基于邱国鹭《投资中最简单的事》方法论的股票价值分析器(v2.0 双层架构)。通过"三好原则"(好行业、好公司、好价格)系统评估一只股票是否值得投资。v2.0 在原定性框架之上注入一套可量化、可复现的硬模型层——反向 DCF 反解市场隐含增速、情景概率加权估值、EPV 盈利能力价值、分行业估值路由、杜邦三/五因子分解、ROIC vs WACC、Piotroski F-Score、Beneish…

    140 GitHub stars~3.3k tokensUpdated 3 mo ago
    Business, Finance & HRAuto-check passed

Questions about Cap Table

What does Cap Table do?

Model startup cap table ownership — SAFE conversions (cap, discount, post-money), priced rounds, option pool refreshes, and dilution. Cap Table is an agent skill from 1984vc/cap-table. Model startup cap table ownership — SAFE conversions (cap, discount, post-money), priced rounds, option pool refreshes, and dilution.

When should I use Cap Table?

Cap Table fits situations like: calculating founder ownership percentages; converting SAFEs to equity; building pre-round; post-round cap tables.

How do I install Cap Table in Claude Code?

Run `npx skills add 1984vc/cap-table --skill cap-table -a claude-code`. Or copy the skill folder (skills/cap-table in 1984vc/cap-table) into .claude/skills/cap-table in your project. Claude Code loads it when a task matches its description.

How do I install Cap Table in Codex?

Run `npx skills add 1984vc/cap-table --skill cap-table -a codex`. Or copy the skill folder (skills/cap-table in 1984vc/cap-table) into .agents/skills/cap-table in your project. Codex loads it when a task matches its description.

Can I use Cap Table in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add 1984vc/cap-table --skill cap-table -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cap-table, .gemini/skills/cap-table, .github/skills/cap-table and .opencode/skills/cap-table in your project.

What does Cap Table need to run?

Going by SKILL.md and its folder, Cap Table needs the command-line tools its instructions call (npx and npm). Our summary lists: Node.js.

Does Cap Table access the network?

SKILL.md names 1 domain. As links in the text: npmjs.com. This is read from the text; nothing was executed.

Is Cap Table safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cap Table use?

Cap Table is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cap Table use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.

What are the alternatives to Cap Table?

Skills that share tags, products or a category with Cap Table: Creating Financial Models (Chen-zexi/open-ptc-agent, 729 stars), Equity Researcher (lzwme/finance-quant-skills, 435 stars), Equity Research (rollingSirius/equity-research-skill, 452 stars) and SaaS Metrics Coach (rongxinzy/RongxinAI, 154 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cap Table?

1984vc (a GitHub organization) maintains it in 1984vc/cap-table, which has 141 GitHub stars. The repository was last updated on September 25, 2026.

Source: 1984vc/cap-table on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.