Skip to content
Back to skills

Source 922b80494b3903b834020ecf

ASecurity

Fetch a company's valuation history and current fair market value (FMV) — 409A, EMI, CSOP or share price. Use for questions about valuations, FMV, exercise prices, or expiry. Not for cross-portfolio comparisons — prefer a portfolio-benchmarks skill.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agents

Works with

  • mcp

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add gutsofpratik/OpenClaude-Skills --skill source-922b80494b3903b834020ecf --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Source 922b80494b3903b834020ecf?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Source 922b80494b3903b834020ecf
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gutsofpratik-source-922b80494b3903b834020ecf/badge)](https://www.skillsdirectory.com/skills/gutsofpratik-source-922b80494b3903b834020ecf)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: carta-valuation-history
description: >-
  Fetch a company's valuation history and current fair market value (FMV) — 409A, EMI, CSOP or share price. Use for questions about valuations, FMV, exercise prices, or expiry. Not for cross-portfolio comparisons — prefer a portfolio-benchmarks skill.
when_to_use: >-
  Use when asked about the current valuation, fair market value (FMV),
  common stock exercise price, when the current valuation expires or is
  still valid, how the FMV has changed over time, or what the strike
  price should be for new option grants. Covers US 409A companies and
  companies valued under EMI, CSOP or a share-price report. For
  aggregate FMV comparisons across multiple portfolio companies, prefer
  a portfolio-benchmarks skill.
allowed-tools:
  - mcp__carta__call_tool
  - mcp__carta__read_tool
  - mcp__carta__list_contexts
  - mcp__carta__set_context
  - mcp__carta__list_accounts
  - mcp__claude_ai_Carta__call_tool
  - mcp__claude_ai_Carta__read_tool
  - mcp__claude_ai_Carta__list_contexts
  - mcp__claude_ai_Carta__set_context
  - mcp__claude_ai_Carta__list_accounts
  - mcp__2827383e-1775-4df3-b6ff-04d5392f6d18__call_tool
  - mcp__2827383e-1775-4df3-b6ff-04d5392f6d18__read_tool
  - mcp__2827383e-1775-4df3-b6ff-04d5392f6d18__list_contexts
  - mcp__2827383e-1775-4df3-b6ff-04d5392f6d18__set_context
  - mcp__2827383e-1775-4df3-b6ff-04d5392f6d18__list_accounts
  - AskUserQuestion
---

<!-- carta:plugin-version -->
<carta-plugin>carta-cap-table:6.96.0</carta-plugin>

<!-- Part of the official Carta AI Agent Plugin -->

# Valuation History

Fetch a company's fair market value (FMV) history.

**FMV is not always a 409A.** A 409A is the US instrument; a UK company is valued under an
**EMI** or **CSOP** agreement with HMRC, and other companies use a **share-price** report.
Read whichever the company actually has, and never tell a company with a valid EMI valuation
that it has none.

## When to Use

- "What's our current valuation?" / "What's the current 409A?"
- "Show me the FMV history"
- "When does the valuation expire?"
- "What's the exercise price for common stock?"
- "Has the FMV changed recently?"
- "Is the valuation still valid?"

## Prerequisites

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

## Data Retrieval

```
read_tool({"name": "cap_table__get__valuations", "arguments": {"corporation_id": corporation_id}})
```

Optional `valuation_source` filters to one or more of `EMI`, `CSOP`, `409A`, `SHARE_PRICE`.
Omit it — the point of this command is that it covers every source at once.

### Response Format

```json
{
  "count": 2,
  "active": [
    {
      "price": "0.500000000000",
      "currency": "GBP",
      "valuation_type": "AMV",
      "support_reference_type": "EMI_VALUATION_REPORT",
      "effective_date": "2026-01-15",
      "expiration_date": "2027-01-14",
      "share_class_name": "Ordinary",
      "status": "ACTIVE"
    }
  ],
  "history": []
}
```

`history` holds every row including expired ones; `active` is the subset the server considers
live.

## Key Fields

- `price`: FMV per share, a high-precision decimal string (e.g. `"0.500000000000"`)
- `currency`: ISO code for **this row** — read it per row, never assume
- `valuation_type`: `AMV`, `UMV`, `FMV`, or `SHARE_PRICE`
- `support_reference_type`: which instrument the row came from (409A / EMI / CSOP / share price)
- `effective_date` / `expiration_date`: ISO `YYYY-MM-DD`
- `status`: `ACTIVE` or `EXPIRED`, computed server-side
- `share_class_name`: e.g. "Common", "Ordinary"

### AMV and UMV

A single HMRC valuation produces **two** prices, both live at once:

- **AMV** — actual market value, discounted for restrictions on the shares
- **UMV** — unrestricted market value

They are not duplicates and one is not "the real one". Show both, labelled. If asked which
applies to a specific grant, say that depends on the grant's terms and point the user to their
equity advisor — the data does not record it, and the two carry different tax outcomes.

## Fallback

If `cap_table__get__valuations` is unavailable for the company, fall back to
`cap_table__get__409a_valuations`, which returns `{count, current_409a, history}` for US 409A
data only. That response has **no currency field** — present its prices unlabelled rather than
assuming a symbol, and check `current_409a.is_expired` before calling it current.

## Workflow

### Step 1 — Fetch Valuations

```
read_tool({"name": "cap_table__get__valuations", "arguments": {"corporation_id": corporation_id}})
```

### Step 2 — Identify the Current Valuation

Use `active`. Do **not** re-derive live-vs-expired from dates: the server applies per-source
rules (a share-price report has its own state; a null expiration means open-ended) that a date
comparison gets wrong.

Where you do sort, sort on **parsed dates**, never raw strings. These are ISO so they happen to
sort correctly, but the 409A fallback returns `MM/DD/YYYY`, where a string sort is month-major
and ranks `12/01/2023` above `04/25/2025`.

If `active` holds more than one row, they are all current — an AMV/UMV pair, or several share
classes. Present them all rather than picking one.

### Step 3 — Check Expiration

- Within 90 days of today — **flag as a time-sensitive action item**, not just a data point:
  bold it, give the exact days remaining, and recommend starting renewal now (especially if a
  financing round is in progress, since closing will likely push past the expiry date).
- Already past — flag as expired.
- No `expiration_date` — say it does not expire on a fixed date rather than inferring one.

### Step 4 — Present Results

Show the history table and trend summary (see Presentation section).

## 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**: Table + trend summary

**BLUF lead**: Lead with the current FMV per share — with its currency and source — and its
effective/expiration dates, before showing the history table.

**Sort order**: By `effective_date` descending (most recent first).

**Date format**: MMM d, yyyy (e.g. "Jan 15, 2026").

**Currency**: format `price` with **the row's own `currency`**, trimming trailing zeros. Never
hardcode a `$`, and never default to USD — a GBP valuation shown as dollars is a reporting
error, not a cosmetic one.

| Effective | Expires | FMV/Share | Type | Source | Share Class | Status |
|-----------|---------|-----------|------|--------|-------------|--------|
| Jan 15, 2026 | Jan 14, 2027 | GBP 0.50 | AMV | EMI | Ordinary | Current |
| Jan 15, 2026 | Jan 14, 2027 | GBP 0.75 | UMV | EMI | Ordinary | Current |
| Apr 25, 2024 | Apr 24, 2025 | USD 12.61 | FMV | 409A | Common | Expired |

Drop the Type and Source columns when every row shares the same values (a US-only company gets
back its familiar 409A table).

Do not render a bar chart for FMV history — values in mature companies cluster near the
maximum, making bars uninformative (all bars look the same width). The table is sufficient.
Instead, after the table, add a one-line trend summary:
> FMV has grown **Nx since YYYY**, with [acceleration/steady growth] since [year].

**Only compare like with like.** A growth multiple across two different currencies is
meaningless, and so is one that mixes an AMV with a UMV. Compute the trend within a single
currency *and* a single `valuation_type`; if the series spans more than one, give a separate
line for each or omit the trend entirely.

If multiple share classes exist, group by share class name in the table.

## Caveats

- The `price` field is a string with many trailing zeros — always parse and format before
  displaying.
- A valuation with a past `expiration_date` should never be used for new grant pricing. Flag it
  prominently.
- Valuations are point-in-time snapshots — a material event (e.g. a new financing round) can
  invalidate a current valuation before its expiration date.
- This skill reads valuations; it cannot create or update one. Route those requests to the
  Carta app — for a non-US company that is the international valuations dashboard, not the 409A
  ledger.

Files in this skill

  • PROVENANCE.json217 B
  • SKILL.md8.1 KB
  • UPSTREAM-LICENSE.txt11 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.