From carta-cap-table
Surface time-based BD triggers across the portfolio. Use when asked about client outreach, which clients closed a round recently, stale cap tables, pending grants, tombstones, weekly deals, or BD triggers.
How this skill is triggered — by the user, by Claude, or both
Slash command
/carta-cap-table:client-triggersThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scan the portfolio for actionable outreach triggers: recent round closes, expiring 409As, and companies with pending grants but no current valuation.
Scan the portfolio for actionable outreach triggers: recent round closes, expiring 409As, and companies with pending grants but no current valuation.
No inputs required — this skill loops the full portfolio automatically. Cap at 20 companies.
list_accounts — get all portfolio companiesfetch("cap_table:get:financing_history", {"corporation_id": corporation_id}) — financing history per companyfetch("cap_table:get:409a_valuations", {"corporation_id": corporation_id}) — 409A status (optional)From financing history:
issue_date: date of issuanceround_name: name of the round (e.g. "Series A")is_grant: true if this is a grant issuance (not a priced round)From 409A FMVs:
expiration_date: when the valuation expiresprice: FMV per shareSee Step 4 below. Group by trigger type. Omit sections with no results.
Call list_accounts. Filter to accounts where id starts with corporation_pk:. Extract the numeric corporation IDs (up to 20).
For each company, fetch in sequence:
Financing history:
fetch("cap_table:get:financing_history", {"corporation_id": corporation_id})issue_date, round_name, is_grantround_name, find max issue_date per round → "last round date"409A status (optional, only if checking valuation triggers):
fetch("cap_table:get:409a_valuations", {"corporation_id": corporation_id})expiration_date, price (FMV per share)effective_date desc)Companies whose last round closed within N days (default 90, or user-specified):
last_round_date ≥ today - N daysCompanies with an expired or near-expiry 409A (within 60 days):
expiration_date ≤ today + 60 days or no 409A on fileCompanies that issued grants recently (within 90 days) but have no valid 409A:
is_grant=true entry + no active 409AGroup output by trigger type. Example:
Recent Closes (last 90 days)
| Company | Round | Close Date | Days Ago |
|---|---|---|---|
| Acme Inc | Series B | 2026-01-15 | 63 days |
Stale or Expiring 409As
| Company | Last 409A | Expiration | Status |
|---|---|---|---|
| Beta Corp | $2.50 | 2026-04-01 | Expiring soon |
| Gamma LLC | — | — | No 409A on file |
Grants Issued Without Current 409A
| Company | Last Grant Date | 409A Status |
|---|---|---|
| Delta Co | 2026-02-20 | Expired |
If no triggers found in a category, omit that section.
If the user specifies a time window (e.g., "last 60 days", "last 6 months"), use that instead of the default 90 days.
npx claudepluginhub carta/plugins --plugin carta-cap-tableCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.