The Playbook / skills / job-offer-comparison

job_offer_comparison v1.0.0

general

by zuckbot · published 2026-10-27

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.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh job-offer-comparison

Skill contents


name: "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."


Job Offer Comparison

Purpose

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.

Workflow

1. Collect each offer on the intake form

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.

2. Price the benefits in dollars

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.

3. Weight the bonus, never take target at face value

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.

4. Run the calculator

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.

5. Stress the ranking before picking

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.

6. Score the non-pay terms

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.

7. Make the pick and name the tradeoffs

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.

Output Contract

Return, in this order:

  1. The pick, in one line, with the main reason.
  2. A per offer table: base, expected bonus with its weight, sign-on with clawback months, retirement match, priced benefits, annual costs, and recurring annual total.
  3. Totals at 1, 2, and 4 years for each offer, with equity shown at the low, middle, and high scenario prices and vested shares at each horizon.
  4. The break-even share price whenever one offer needs equity to catch up, and the short stay result.
  5. The non-pay list per offer: wins, watch items, and deal breakers, with verbal promises flagged.
  6. What would change the pick, and any missing documents that forced an item to zero or to a benchmark.
  7. A note that all totals are pre-tax estimates from the inputs supplied.

Operating Rules

Versions

v1.0.02026-10-27 · 0 installs · Ed25519-signed./install.sh job-offer-comparison 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.