---
name: mohitagw15856/offer-comparison
source: https://app.decimal.ai/s/mohitagw15856-offer-comparison@1/SKILL.md
source_sha256: c4a74739ceff
---

# Offer Comparison Skill

Offers are quoted as feelings — "the startup has more upside" — but they resolve to numbers with dates on them. This skill computes the curves: what each offer pays in each of the next four years, where the lines cross, and which lever in the weaker offer would actually move it.

## What This Skill Produces

- **The comp table** — per-year and cumulative totals per offer, from the script
- **The crossover analysis** — which offer leads when, and what assumption that ranking is hostage to
- **The risk translation** — private equity restated honestly rather than at face value
- **Negotiation levers** — ranked by dollar impact per unit of asking-awkwardness

## Required Inputs

Ask for these if not provided:
- **Per offer:** base, bonus %, equity grant value, vest years, cliff months, vest frequency, 401(k) match (% and cap), any promised refreshers
- **The user's horizon** — expecting to stay 2 years or 4 changes the answer, because cliffs do
- **Equity risk view** — public RSUs count at face; for private equity, agree a discount with the user (e.g. 50–75% haircut pre-Series B) and pass the discounted number to the script *labeled as such*

## Programmatic Helper

```bash
python3 scripts/offer_comparison.py offers.json
cat offers.json | python3 scripts/offer_comparison.py - --json
```

Input shape in the script docstring. The script computes vesting month-by-month (a 12-month cliff releases the accrued year), bonuses and match annually, and reports the cumulative leader and crossover year. **It values equity at exactly the number you give it** — the risk adjustment is your input, visible, never a hidden assumption.

## Framework: The Judgment Around the Math

- **The cliff vs the horizon** — an 18-month expected stay makes year-4 equity fiction; compare at the user's actual horizon, not the grant's
- **A risky dollar ≠ a salary dollar** — never compare private paper to cash 1:1; show the comparison at 2–3 discount levels if the user resists picking one
- **Refreshers are policy, not promise** — model them only if written down; otherwise mention them as upside outside the table
- **Levers, ranked:** base (compounds into bonus and match) → equity grant → signing bonus (one-time, easiest yes) → cliff/start-date adjustments

## Output Format

---

# Offer Comparison: [A] vs [B]

## The Curves
[Script output: per-year, cumulative, leader, crossover]

## What the Ranking Is Hostage To
[The 1–2 assumptions that flip the answer — usually the private-equity discount and the stay-horizon — each shown with the flipped result.]

## Negotiation Levers
| Lever | Applied to | Moves 4-yr total by | Ask difficulty |
|---|---|---|---|

*Educational model, not financial advice — verify with a licensed professional before acting on it.*

---

## Quality Checks

- [ ] Equity discount for private companies is explicit and the user agreed to it
- [ ] The comparison is shown at the user's stated horizon, not only at 4 years
- [ ] The hostage-assumptions section shows the flipped ranking, not just names the risk
- [ ] Levers carry dollar impacts computed from the actual offers
- [ ] The disclaimer line appears in the artifact

## Anti-Patterns

- [ ] Do not compare a risky equity dollar to a salary dollar 1:1 — the discount is the analysis
- [ ] Do not hide the vesting cliff inside annual averages — year 1 with a cliff is its own story
- [ ] Do not model unwritten refreshers as income
- [ ] Do not declare a winner without naming what assumption the win depends on
- [ ] Do not present the model's output without its assumptions attached