Equity Reconciliation (Carta MCP)
What this does
Connects to your Carta account via the Carta MCP server, pulls your cap table
live, and reconciles it against your HRIS export employee by employee. It
surfaces the gaps: people whose termination date does not match, terminated
employees who still show active grants or a lapsed exercise window, and grants
missing their source documents. Exceptions are ranked by severity. Nothing is
changed in either system.
When to use it
On demand when you want a clean picture, on a schedule (quarterly is common),
and always before a capital raise, 409A valuation, or audit.
MCP dependency
This skill requires a live connection to the Carta MCP server.
| Field |
Value |
| Server |
Carta |
| URL |
https://mcp.app.carta.com/mcp |
| Transport |
HTTP |
| Auth |
OAuth (Carta Cap Table plugin) |
Setup: Add the Carta MCP server to your client (Claude Desktop, Claude Code,
Cursor, or any MCP-compatible client). When prompted, authenticate with your
Carta account. The skill needs read access to the Cap Table plugin only.
If the Carta MCP connection is unavailable or authentication fails, the skill
cannot run. Use the platform-agnostic version (equity-reconciliation) with
CSV exports instead.
Inputs
From Carta (pulled live via MCP):
- Stakeholder list (all people on the cap table)
- Securities and grants per stakeholder (options, RSUs, RSAs, warrants,
convertible notes, certificates)
- Grant status, grant dates, vesting schedules, exercise windows
- Transaction history per security
- Source documents attached to each grant
- Fair market value / 409A valuation data (for exercise-window calculations)
From the operator (file upload):
- HRIS export: CSV or spreadsheet listing each employee with at minimum:
employee ID, email, name, employment status, termination date.
Drag the HRIS file in, paste it, or attach it. This is a suggested minimum
field set. In plan mode, confirm these columns are present or replace them with
what your HRIS actually provides.
Notes on messy inputs:
- If a name appears differently between Carta and the HRIS (Chris vs
Christopher, a maiden name, a trailing space, a hyphen), do not assume they
are the same person. Flag it for review.
- If a value from either source is missing or unreadable, mark it
"not found / unclear -- confirm" rather than guessing.
Steps
- Plan mode. Confirm the HRIS export fields are present. Confirm or set
the match keys, name-change handling rules, and severity tiers (see Rules
below). Verify the Carta MCP connection is live and authenticated.
- Pull cap-table data from Carta. Use the Carta MCP tools to retrieve:
- The full stakeholder list.
- All securities (grants) per stakeholder, including status, type, dates,
and vesting schedule.
- Transaction history to determine current exercise-window state.
- Source documents attached to each grant.
- Current 409A FMV for exercise-window expiry calculations.
- Parse the HRIS export. Extract employee records with the confirmed
field set.
- Match employees across both systems on the agreed match keys.
- Flag termination-date mismatches, categorized by severity tier.
- Flag terminated employees with active grants or lapsed exercise windows.
Use the 409A FMV and transaction history to determine whether an exercise
window has expired.
- Check source documents for every grant. Confirm each grant has its
required documents (offer letter, grant letter, signed agreement, vesting
schedule). List any that are missing.
- Assemble the reconciliation report: exceptions by severity, plus the
source-document gap list and the ambiguous-match list.
Rules (confirm in the plan)
These are the operator's calls. Fill them in during plan mode, before the first
run.
- Match keys: _____ (e.g. email address across both systems, employee ID,
or name -- which is authoritative, and the fallback order).
- Name changes: _____ (how to treat a maiden name, a legal name change, a
nickname -- match or flag).
- Severity tiers: _____ (what counts as high vs medium vs low -- e.g. an
active grant for a terminated employee vs a one-day date discrepancy).
- Exercise-window grace period: _____ (how many days past termination before
a lapsed window is flagged as high severity).
Output
A reconciliation report:
- Exceptions grouped by severity tier, highest first. Each exception cites the
Carta record (stakeholder + security details) and the HRIS row it was
compared against.
- A source-document gap list: every grant missing one or more required
documents, with the specific missing document named.
- An ambiguous-match list: every name that could not be confidently matched,
flagged for a human.
- A data-freshness note: the timestamp of the Carta MCP pull and the HRIS
export date (if available).
Error handling
- Never edit either system. The skill reads from Carta via MCP and reads the
HRIS file. It does not write back to Carta or modify the HRIS.
- If the Carta MCP connection drops mid-run, stop and report what was completed.
Do not use cached or partial data without flagging it.
- Cite the source for every value (the Carta record and the HRIS row). If a
value is absent or ambiguous, write "not found / unclear -- confirm."
- If a match is ambiguous (name differs, extra space, maiden name, nickname),
do not assume. Flag it.
- Treat the output like work from a smart intern who is right about 90% of the
time. Audit it. Read the run carefully the first week.
- The decision stays human. The skill drafts and flags; a person reviews each
exception and acts in the system of record.
Eval contract
- Spec: A correct run connects to Carta via MCP, pulls stakeholder and
securities data, parses the HRIS export, and produces a reconciliation report
that surfaces termination-date mismatches and active-grant-for-terminated-
employee exceptions ranked by severity, with each exception citing the Carta
record and the HRIS row, ambiguous name matches flagged rather than assumed,
and source-document gaps listed. It changes nothing in either system.
- Rubric (hard-fail gates in bold):
- Every exception cites the Carta record (stakeholder + security) and the
HRIS row; an exception with no cite is an automatic fail.
- No fabricated or inferred values; anything absent or unreadable is marked
"not found / unclear -- confirm", not guessed.
- Exceptions are ranked by severity tier, not presented as a flat list.
- Every grant is checked for source documents; any grant missing a required
document appears in the gap list with the specific document named. A
missing-document grant absent from the gap list is an automatic fail.
- Neither system is edited; ambiguous name matches are flagged for review,
never resolved by assumption. Two records that share a name but carry
different IDs are surfaced as distinct people, never merged.
- The skill uses Carta MCP tool calls for cap-table data retrieval, not
file parsing. If the MCP connection is unavailable, the skill stops and
reports the failure rather than falling back to fabricated data.
- Self-tests:
- Termination mismatch + active grant: A synthetic HRIS file with one
employee terminated several months ago and a Carta MCP response showing that
employee with an active grant. A second employee has a termination date that
differs by months between the two sources. Output MUST surface both
exceptions ranked by severity, each citing the Carta record and the HRIS
row. Output MUST NOT present them as an unranked flat list.
- Ambiguous name match: Carta stakeholder is "Chris Park"; HRIS lists
"Christopher Park" with no shared ID or email. Output MUST flag the pair
as an ambiguous match for human review. Output MUST NOT assume they are
the same person.
- Missing source document: A grant in Carta is missing a vesting schedule
while its other documents are present. Output MUST surface that grant in
the source-document gap list, naming the specific missing document.
- Same name, different IDs: Two Carta stakeholders share the name
"Taylor Reed" but carry different IDs. Output MUST surface BOTH as
distinct people. Output MUST NOT merge them.
- MCP connection failure: The Carta MCP server is unreachable. Output MUST
report the connection failure and stop. Output MUST NOT fabricate cap-table
data or silently fall back to an empty dataset.
- Version: 1.0.0
Variant note
This is the Carta MCP-native variant. A platform-agnostic version that works
with any cap-table system via CSV export is available at:
https://skillsandagents.co/skills/equity-reconciliation/
Learn more: https://skillsandagents.co/skills/equity-reconciliation-carta/
1---2name: equity-reconciliation-carta3description: Live equity reconciliation powered by the Carta MCP server. Pulls cap-table data directly from Carta, compares it against your HRIS export, and surfaces termination-date mismatches, active grants for terminated employees, lapsed exercise windows, and missing source documents. Use periodically and before any capital raise or audit.4---56# Equity Reconciliation (Carta MCP)78## What this does910Connects to your Carta account via the Carta MCP server, pulls your cap table11live, and reconciles it against your HRIS export employee by employee. It12surfaces the gaps: people whose termination date does not match, terminated13employees who still show active grants or a lapsed exercise window, and grants14missing their source documents. Exceptions are ranked by severity. Nothing is15changed in either system.1617## When to use it1819On demand when you want a clean picture, on a schedule (quarterly is common),20and always before a capital raise, 409A valuation, or audit.2122## MCP dependency2324This skill requires a live connection to the **Carta MCP server**.2526| Field | Value |27|-----------|-----------------------------------|28| Server | Carta |29| URL | `https://mcp.app.carta.com/mcp` |30| Transport | HTTP |31| Auth | OAuth (Carta Cap Table plugin) |3233**Setup:** Add the Carta MCP server to your client (Claude Desktop, Claude Code,34Cursor, or any MCP-compatible client). When prompted, authenticate with your35Carta account. The skill needs read access to the Cap Table plugin only.3637If the Carta MCP connection is unavailable or authentication fails, the skill38cannot run. Use the platform-agnostic version (`equity-reconciliation`) with39CSV exports instead.4041## Inputs4243**From Carta (pulled live via MCP):**44- Stakeholder list (all people on the cap table)45- Securities and grants per stakeholder (options, RSUs, RSAs, warrants,46 convertible notes, certificates)47- Grant status, grant dates, vesting schedules, exercise windows48- Transaction history per security49- Source documents attached to each grant50- Fair market value / 409A valuation data (for exercise-window calculations)5152**From the operator (file upload):**53- HRIS export: CSV or spreadsheet listing each employee with at minimum:54 employee ID, email, name, employment status, termination date.5556Drag the HRIS file in, paste it, or attach it. This is a suggested minimum57field set. In plan mode, confirm these columns are present or replace them with58what your HRIS actually provides.5960Notes on messy inputs:61- If a name appears differently between Carta and the HRIS (Chris vs62 Christopher, a maiden name, a trailing space, a hyphen), do not assume they63 are the same person. Flag it for review.64- If a value from either source is missing or unreadable, mark it65 "not found / unclear -- confirm" rather than guessing.6667## Steps68691. **Plan mode.** Confirm the HRIS export fields are present. Confirm or set70 the match keys, name-change handling rules, and severity tiers (see Rules71 below). Verify the Carta MCP connection is live and authenticated.722. **Pull cap-table data from Carta.** Use the Carta MCP tools to retrieve:73 - The full stakeholder list.74 - All securities (grants) per stakeholder, including status, type, dates,75 and vesting schedule.76 - Transaction history to determine current exercise-window state.77 - Source documents attached to each grant.78 - Current 409A FMV for exercise-window expiry calculations.793. **Parse the HRIS export.** Extract employee records with the confirmed80 field set.814. **Match employees across both systems** on the agreed match keys.825. **Flag termination-date mismatches**, categorized by severity tier.836. **Flag terminated employees with active grants or lapsed exercise windows.**84 Use the 409A FMV and transaction history to determine whether an exercise85 window has expired.867. **Check source documents for every grant.** Confirm each grant has its87 required documents (offer letter, grant letter, signed agreement, vesting88 schedule). List any that are missing.898. **Assemble the reconciliation report:** exceptions by severity, plus the90 source-document gap list and the ambiguous-match list.9192## Rules (confirm in the plan)9394These are the operator's calls. Fill them in during plan mode, before the first95run.9697- **Match keys:** _____ (e.g. email address across both systems, employee ID,98 or name -- which is authoritative, and the fallback order).99- **Name changes:** _____ (how to treat a maiden name, a legal name change, a100 nickname -- match or flag).101- **Severity tiers:** _____ (what counts as high vs medium vs low -- e.g. an102 active grant for a terminated employee vs a one-day date discrepancy).103- **Exercise-window grace period:** _____ (how many days past termination before104 a lapsed window is flagged as high severity).105106## Output107108A reconciliation report:109- Exceptions grouped by severity tier, highest first. Each exception cites the110 Carta record (stakeholder + security details) and the HRIS row it was111 compared against.112- A source-document gap list: every grant missing one or more required113 documents, with the specific missing document named.114- An ambiguous-match list: every name that could not be confidently matched,115 flagged for a human.116- A data-freshness note: the timestamp of the Carta MCP pull and the HRIS117 export date (if available).118119## Error handling120121- Never edit either system. The skill reads from Carta via MCP and reads the122 HRIS file. It does not write back to Carta or modify the HRIS.123- If the Carta MCP connection drops mid-run, stop and report what was completed.124 Do not use cached or partial data without flagging it.125- Cite the source for every value (the Carta record and the HRIS row). If a126 value is absent or ambiguous, write "not found / unclear -- confirm."127- If a match is ambiguous (name differs, extra space, maiden name, nickname),128 do not assume. Flag it.129- Treat the output like work from a smart intern who is right about 90% of the130 time. Audit it. Read the run carefully the first week.131- The decision stays human. The skill drafts and flags; a person reviews each132 exception and acts in the system of record.133134## Eval contract135136- **Spec:** A correct run connects to Carta via MCP, pulls stakeholder and137 securities data, parses the HRIS export, and produces a reconciliation report138 that surfaces termination-date mismatches and active-grant-for-terminated-139 employee exceptions ranked by severity, with each exception citing the Carta140 record and the HRIS row, ambiguous name matches flagged rather than assumed,141 and source-document gaps listed. It changes nothing in either system.142- **Rubric** (hard-fail gates in bold):143 1. **Every exception cites the Carta record (stakeholder + security) and the144 HRIS row; an exception with no cite is an automatic fail.**145 2. **No fabricated or inferred values; anything absent or unreadable is marked146 "not found / unclear -- confirm", not guessed.**147 3. Exceptions are ranked by severity tier, not presented as a flat list.148 4. **Every grant is checked for source documents; any grant missing a required149 document appears in the gap list with the specific document named. A150 missing-document grant absent from the gap list is an automatic fail.**151 5. **Neither system is edited; ambiguous name matches are flagged for review,152 never resolved by assumption. Two records that share a name but carry153 different IDs are surfaced as distinct people, never merged.**154 6. **The skill uses Carta MCP tool calls for cap-table data retrieval, not155 file parsing. If the MCP connection is unavailable, the skill stops and156 reports the failure rather than falling back to fabricated data.**157- **Self-tests:**158 - *Termination mismatch + active grant:* A synthetic HRIS file with one159 employee terminated several months ago and a Carta MCP response showing that160 employee with an active grant. A second employee has a termination date that161 differs by months between the two sources. *Output MUST* surface both162 exceptions ranked by severity, each citing the Carta record and the HRIS163 row. *Output MUST NOT* present them as an unranked flat list.164 - *Ambiguous name match:* Carta stakeholder is "Chris Park"; HRIS lists165 "Christopher Park" with no shared ID or email. *Output MUST* flag the pair166 as an ambiguous match for human review. *Output MUST NOT* assume they are167 the same person.168 - *Missing source document:* A grant in Carta is missing a vesting schedule169 while its other documents are present. *Output MUST* surface that grant in170 the source-document gap list, naming the specific missing document.171 - *Same name, different IDs:* Two Carta stakeholders share the name172 "Taylor Reed" but carry different IDs. *Output MUST* surface BOTH as173 distinct people. *Output MUST NOT* merge them.174 - *MCP connection failure:* The Carta MCP server is unreachable. *Output MUST*175 report the connection failure and stop. *Output MUST NOT* fabricate cap-table176 data or silently fall back to an empty dataset.177- **Version:** 1.0.0178179## Variant note180181This is the Carta MCP-native variant. A platform-agnostic version that works182with any cap-table system via CSV export is available at:183https://skillsandagents.co/skills/equity-reconciliation/184185Learn more: https://skillsandagents.co/skills/equity-reconciliation-carta/