Compare two or more job offers on total compensation: salary, expected bonus, equity valued at scenario prices with vesting cliffs applied, benefits priced in dollars, and the non-pay terms, ending in a clear pick with the tradeoffs named. Ships a total compensation calculator with equity scenarios and vesting cliffs, a benefits valuation sheet, and a worked two-offer comparison. Triggers on comparing job offers, weighing a counteroffer, deciding between a startup and an established company, valuing RSUs or options in an offer, or asking whether a higher salary beats better benefits or equity.
./install.sh job-offer-comparisonname: "job_offer_comparison" description: "Compare two or more job offers on total compensation: salary, expected bonus, equity valued at scenario prices with vesting cliffs applied, benefits priced in dollars, and the non-pay terms, ending in a clear pick with the tradeoffs named. Ships a total compensation calculator with equity scenarios and vesting cliffs, a benefits valuation sheet, and a worked two-offer comparison. Triggers on comparing job offers, weighing a counteroffer, deciding between a startup and an established company, valuing RSUs or options in an offer, or asking whether a higher salary beats better benefits or equity."
Turn a stack of offer letters into one honest comparison. Salary alone misleads: benefits run near 30 percent of total compensation cost for private industry workers on average, bonuses pay below target in bad years, and private equity can be worth a lot or zero. This skill prices each piece the same way for every offer, applies the vesting schedule before valuing any equity, tests the ranking at more than one share price and more than one stay length, then makes a pick and names what the pick gives up.
Fill assets/offer-intake.md once per offer, from the offer letter, the benefits guide, and the grant document. Chase the items letters love to leave vague: bonus eligibility and proration, the match formula, the employee share of the health premium, equity strike and vesting start, the post-termination exercise window, and every clawback window. Mark anything supplied verbally as verbal. Verbal items count at zero in the headline total and appear in the report as unconfirmed.
Work references/benefits-valuation.md line by line and record the result on assets/benefits-valuation-sheet.md. Health value is total premium minus the employee share. Retirement value is the match in dollars at this salary, with its vesting schedule noted. HSA employer money and stipends the person would otherwise spend count at face value. Value only the PTO difference between offers, as a memo line, because salary already pays for time off. Put the costs the job adds, such as parking or a coverage change for a partner, in annual costs.
Set expected bonus as target times a probability weight between 0 and 1. Base the weight on stated payout history, whether the target is team or company based, and how much of the plan the employer can change at will. Write the reason for the weight next to the number. Run a low weight in a sensitivity check when payout history is missing.
Put the offers in a JSON file in the shape of assets/example-offers.json and run bin/compare.py. The calculator returns the recurring annual total for each offer, the year 1 total with the sign-on counted once, totals at 1, 2, and 4 years, vested shares at each horizon with the cliff applied, equity value at each scenario price, and a ranking per scenario. Options are valued at intrinsic value, scenario price minus strike floored at zero. A sign-on inside its clawback window at a leave horizon counts as repaid. Use --json for machine readable output and --horizon-years to change the main horizon.
Read three checks before naming a winner. First, the scenario check: if the ranking flips between the low and high share price, the leader at the high price is an equity bet, and the report must compute the break-even share price the way references/worked-example.md does. Second, the short stay check: compare the 1 and 2 year totals, where cliffs, unvested match money, and clawbacks punish offers that look rich at 4 years. Third, the certainty check: split each total into pay that is close to certain, salary and priced benefits, and pay that depends on a bonus plan, a share price, or staying put.
Walk references/non-pay-terms-checklist.md for each offer: title and level, manager and team, review timing, location and travel, noncompete and nonsolicit scope under the governing state law, invention assignment with the prior inventions list attached, arbitration, severance if written, and the cash needed to exercise options after leaving. List wins, watch items, and deal breakers per offer. A deal breaker the person named beats a money gap.
State the pick in the first line of the report. Follow with the money table, the scenario spread, the short stay result, and the non-pay list. Name what the pick gives up in dollars and in terms. Close with the two or three facts that would change the pick, such as a written refresh policy, a shorter cliff, proof that a bonus pays below target, or a written answer on a noncompete. When the person wants to negotiate, turn the gap into one specific ask aimed at the weaker offer, priced from the same sheet.
Return, in this order:
publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
No ratings yet — be the first to rate it.