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
Model startup cap table ownership — SAFE conversions (cap, discount, post-money), priced rounds, option pool refreshes, and dilution.
$ npx skills add 1984vc/cap-table --skill cap-table -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install 1984vc/cap-table cap-table --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "cap-table" agent skill from https://github.com/1984vc/cap-table/tree/main/skills/cap-table into .claude/skills/cap-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cap-table", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/1984vc/cap-table/tree/main/skills/cap-tableType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add 1984vc/cap-table --skill cap-table -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install 1984vc/cap-table cap-table --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/1984vc/cap-table.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cap-table .agents/skills/cap-table && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cap-table" agent skill from https://github.com/1984vc/cap-table/tree/main/skills/cap-table into .agents/skills/cap-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cap-table", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 1984vc/cap-table --skill cap-table -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install 1984vc/cap-table cap-table --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/1984vc/cap-table.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cap-table .cursor/skills/cap-table && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cap-table" agent skill from https://github.com/1984vc/cap-table/tree/main/skills/cap-table into .cursor/skills/cap-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cap-table", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/1984vc/cap-table.git --path skills/cap-table--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add 1984vc/cap-table --skill cap-table -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install 1984vc/cap-table cap-table --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/1984vc/cap-table.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cap-table .gemini/skills/cap-table && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cap-table" agent skill from https://github.com/1984vc/cap-table/tree/main/skills/cap-table into .gemini/skills/cap-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cap-table", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install 1984vc/cap-table cap-tableInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add 1984vc/cap-table --skill cap-table -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/1984vc/cap-table.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cap-table .github/skills/cap-table && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cap-table" agent skill from https://github.com/1984vc/cap-table/tree/main/skills/cap-table into .github/skills/cap-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cap-table", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 1984vc/cap-table --skill cap-table -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install 1984vc/cap-table cap-table --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/1984vc/cap-table.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cap-table .opencode/skills/cap-table && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cap-table" agent skill from https://github.com/1984vc/cap-table/tree/main/skills/cap-table into .opencode/skills/cap-table/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cap-table", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cap-tableModel 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. 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.
Read from SKILL.md and the folder at commit 400533d. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npxnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
npmjs.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from 1984vc/cap-table at commit 400533d, republished under its MIT licence (© 1984vc). 549 words, ~2,099 tokens.
.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.Model startup cap tables: ownership percentages, SAFE conversions, priced rounds, and option pool refreshes.
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.
npx skills add 1984vc/cap-tableThis 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.
| Command | When to use |
|---|---|
existing | Just existing shareholders, no SAFEs or rounds |
estimated-pre-round | Have SAFEs but no priced round yet — estimates ownership |
pre-round | Know the priced round valuation — shows pre-money ownership |
priced-round | Full priced round with SAFE conversions, series investors, option pool |
All commands accept a JSON object. You can pass it as an argument, pipe via stdin, or point to a .json file.
# 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 markdownUse 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.
{
"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:
| Field | Required | Default | Description |
|---|---|---|---|
preMoneyValuation | priced-round, pre-round | — | Pre-money valuation in dollars |
common[].name | yes | — | Shareholder name |
common[].shares | yes | — | Number of shares |
common[].commonType | no | "shareholder" | Use "unusedOptions" for unissued option pool |
safes[].investment | yes | — | Dollar amount invested |
safes[].cap | no | 0 | Valuation cap (0 = uncapped) |
safes[].discount | no | 0 | Discount as decimal (0.2 = 20%) |
safes[].conversionType | no | "post" | "pre" or "post" money conversion |
safes[].sideLetters | no | — | Array: ["mfn"] for Most Favored Nation |
seriesInvestors[].investment | yes | — | Dollar amount invested |
targetOptionsPct | no | 0.10 | Target option pool % post-round |
unusedOptions | no | auto-detected | Explicit unused options count |
Note: You do NOT need to pass type: "common", type: "safe", etc. The CLI auto-fills these.
existing only:{
"common": [
{ "name": "Founder 1", "shares": 8000000 },
{ "name": "Founder 2", "shares": 2000000 }
]
}existing → Object with common rows, optionsPool, and total{
"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{
"common": [...],
"safes": [...],
"total": { "name": "Total", "shares": 10666666, "investment": 500000, "ownershipPct": 1 }
}priced-round / pre-round → Object with conversion + capTable{
"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 }
}
}SAFEs convert to equity at a priced round. The investor gets the better of two prices:
cap / shares (guarantees minimum ownership %)(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.
An MFN SAFE elects the complete later post-money term package producing the
lowest conversion PPS. Pass sideLetters: ["mfn"].
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.
All ownershipPct values are decimals: 0.45 = 45%. Successful solver output
has an exact reconciled share identity after legal rounding.
# 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
}'Invalid input (e.g., SAFE investment >= cap) exits with non-zero code and error to stderr. Always check the exit code.
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
SKILL.md and 2 other files (references) in skills/cap-table of 1984vc/cap-table.
Open the folder on GitHubat commit 400533d
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cap Table this skill1984vc/cap-table | 141 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Creating Financial ModelsChen-zexi/open-ptc-agent | 729 | 4 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Equity Researcherlzwme/finance-quant-skills | 435 | 1 repos | ~4.9k | Automated safety check: Pass | None | |
| Equity ResearchrollingSirius/equity-research-skill | 452 | — | ~1.5k | Automated safety check: Pass | MIT | |
| SaaS Metrics Coachrongxinzy/RongxinAI | 154 | 2 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Startup Financial Modelingnicepkg/auto-company | 192 | 12 repos | ~2.8k | Automated safety check: Pass | None |
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
lzwme/finance-quant-skills
机构级投研报告生成技能。覆盖中国A股、港股、美股上市公司。输出模式:1)投资速览:3-5页,含公司概览、核心财务指标、估值倍数、投资逻辑与风险因素;2)深度研报:≥25页,含行业分析、产业链图谱、三表模型、DCF估值、情景分析与敏感性测试。触发条件:1)直接请求:分析/看看/研究/调研/介绍一下 + 公司名或股票;2)投资询问:你怎么看/能不能买/值得投吗/帮我看看/扒一扒 +…
rollingSirius/equity-research-skill
撰写机构级个股投资研究报告(二级市场深度研究)。Use whenever the user wants to research, analyze, or value a specific publicly-traded stock — e.g.
rongxinzy/RongxinAI
SaaS financial health advisor. An agent skill from rongxinzy/RongxinAI.
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…
FunnyKun/stock-value-analyzer
基于邱国鹭《投资中最简单的事》方法论的股票价值分析器(v2.0 双层架构)。通过"三好原则"(好行业、好公司、好价格)系统评估一只股票是否值得投资。v2.0 在原定性框架之上注入一套可量化、可复现的硬模型层——反向 DCF 反解市场隐含增速、情景概率加权估值、EPV 盈利能力价值、分行业估值路由、杜邦三/五因子分解、ROIC vs WACC、Piotroski F-Score、Beneish…
Categories
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.
Cap Table fits situations like: calculating founder ownership percentages; converting SAFEs to equity; building pre-round; post-round cap tables.
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.
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.
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.
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.
SKILL.md names 1 domain. As links in the text: npmjs.com. This is read from the text; nothing was executed.
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.
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.
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.
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.
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.