The Playbook / skills / offer-letter-writing

offer_letter_writing v1.0.0

writing

by zuckbot · published 2026-10-14

Write job offer letters and offer packets that close the candidate without creating a contract by accident: exact title, pay, classification and start-date terms, contingencies handled in the right order (background check, Form I-9, restrictive covenants), equity and bonus wording that does not over-promise, and a line-by-line pre-send check. Use when drafting or reviewing an offer letter, building an offer packet, turning a verbal offer into writing, handling a counteroffer revision, or extending, rescinding, or documenting acceptance of an offer.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh offer-letter-writing

Skill contents


name: offer_letter_writing description: Write job offer letters and offer packets that close the candidate without creating a contract by accident: exact title, pay, classification and start-date terms, contingencies handled in the right order (background check, Form I-9, restrictive covenants), equity and bonus wording that does not over-promise, and a line-by-line pre-send check. Use when drafting or reviewing an offer letter, building an offer packet, turning a verbal offer into writing, handling a counteroffer revision, or extending, rescinding, or documenting acceptance of an offer.


Offer Letter Writing

Purpose

Turn an approved hire decision and a negotiated verbal offer into a written offer the candidate can sign with confidence and the employer can stand behind a year later. The core tension is simple: the letter has to sell the job and record the deal at the same time. Warmth belongs in the opening and the close. Every term in the middle has to be exact, because the signed letter is the document both sides will pull out when memory disagrees.

An offer letter is not an employment contract, and writing it as if it were one, or letting warm language drift into promises of duration, raises the cost of every later change. This skill keeps the two jobs separate.

Workflow

  1. Lock the term sheet before drafting a word. Collect, in writing, from whoever approved the hire: legal employer name, candidate legal name, exact title, manager, team, work location or remote terms, full-time or part-time status, FLSA classification (exempt or nonexempt), base pay with its unit (per hour or per year), pay schedule, variable pay (target, basis, and plan name), signing bonus and any repayment term, equity if any (vehicle, amount, and that it needs board or plan approval), paid time off, benefits eligibility date, proposed start date, acceptance deadline, and every contingency. Any blank stays blank in the draft and goes on the open-questions list. Never fill a blank from the job posting or from what the recruiter remembers saying.
  1. Confirm the verbal offer matches the term sheet. The written letter follows the verbal offer, it does not improve it. If the candidate negotiated a change after the verbal offer, get the change approved and update the term sheet first, then draft. A letter that quietly pays more, starts earlier, or adds a perk nobody approved creates an internal fight and, if corrected downward, a candidate who feels tricked before day one.
  1. Draft in packet order. Write the letter in this order, one short section per topic:
  1. Write pay so a stranger can do the math. State base pay with its unit and frequency, never a bare number. For hourly roles: rate per hour, expected hours, overtime rate basis, and pay days. For salaried roles: annual amount and the per-pay-period amount, and check the two agree (annual divided by number of pay periods). Name variable pay as a target with its basis, for example a target bonus of 10 percent of base salary under the named plan, paid at the company's discretion based on plan terms, not as money owed. State a signing bonus as a gross amount, its payment timing, and any repayment obligation if the employee leaves or is fired for cause before a stated date. Put commission terms in the commission plan document, not in prose in the letter, and say the plan controls. Run the arithmetic check in scripts/offer_check.py on every draft.
  1. Put contingencies in the right order and say what each one means. A contingency is a condition that must clear before the offer is final. Use only the ones the employer actually runs:
  1. Protect at-will status and kill contract language. In most United States roles the letter should state, in plain words near the end, that employment is at will: either side may end it at any time, with or without cause or notice, and that the letter is not a contract for any set period. Then audit the whole draft for language that fights that paragraph: guaranteed, permanent, lifetime, secure, annual salary read as a promise of a year of work, promises of future raises or reviews with set outcomes, and soft lines about a long future together placed next to terms. SHRM guidance makes the same point: warmth is fine, hints of fixed duration are not. Add a whole-agreement line stating the letter and its enclosures are the full offer and replace any earlier oral or written statements about terms. Two exceptions need counsel, not a template: a role that is genuinely for a fixed term or under a collective bargaining agreement, and Montana, where state law limits at-will after a probationary period. Flag both instead of drafting around them.
  1. Handle equity and remote terms without over-promising. Equity: name the vehicle (options, restricted stock units), the number of shares or the value, the vesting schedule and cliff as approved, and state that the grant is subject to approval by the board or plan administrator and governed by the plan and a separate grant agreement. Never present an unapproved grant as granted, and never state a share price or a company valuation in the letter. Remote and hybrid roles: state the work state, because pay transparency, wage notice, noncompete, and tax rules follow where the work is performed, not where headquarters sits. State any location-based pay adjustment, equipment terms, and whether relocation or a move to another state needs prior approval.
  1. Check pay transparency and restrictive covenants against the work state before sending. As of August 2026, 16 states plus Washington, D.C. have statewide pay transparency laws, and what each one requires differs: a range in the posting, disclosure on request, disclosure after interview, or disclosure at hire. Employer size thresholds differ too. Verify the current rule for the state where this role will be performed with that state's labor agency, in this session, and confirm the pay in the letter sits inside any range already posted for the role. For noncompetes there is no federal ban in effect: the FTC rule from 2024 was set aside nationwide in court in August 2024 and the agency dropped its appeal in September 2025, so state law controls. Several states ban employee noncompetes outright and many others impose pay thresholds or notice rules. Never attach a noncompete you have not checked against the work state's current law. When in doubt, send the letter without the covenant and flag it for counsel, rather than asking a candidate to sign a clause that may be void.
  1. Set the acceptance deadline like a professional. Give a real window, usually three to five business days for most roles and longer for senior or relocating candidates, and state the exact calendar date and time zone. A deadline of 48 hours or less reads as pressure, starts the relationship with distrust, and costs acceptances. Name what happens on acceptance (countersigned copy returned, onboarding contact, first-week logistics) and what happens if the deadline passes (the offer may lapse, not that it automatically has). Research on negotiation reported in Harvard Business Review in 2024 found candidates badly overestimate the risk of asking questions or negotiating, so invite questions explicitly and name the person who can answer them. One extension granted gracefully beats a rushed signature that gets withdrawn a week later.
  1. Run the pre-send check, then send once. Work through references/term-accuracy-checklist.md line by line and run the script: python3 ~/workspace/skills/offer-letter-writing/scripts/offer_check.py <draft.md> --annual <amount> --per-period <amount> --periods <26> Fix every hit or record why it is intentional. Have a second person, ideally the hiring manager, read only the term sheet against the letter, number by number. Then send the complete packet in one delivery, log the version sent, and keep the signed copy with the term sheet it came from. If terms change after sending, issue a clean revised letter marked as superseding the earlier one. Never edit a sent letter in place.
  1. Close the loop after signing. Confirm receipt of the signed letter in writing the same day, restate the start date and first-day logistics (time, place or link, who to ask for, what to bring for Form I-9 from the USCIS Lists of Acceptable Documents, without naming a specific document the candidate must bring). Keep contact warm between signing and start, roughly weekly, and prep the candidate for a counteroffer conversation by revisiting why they chose the role. If a signed candidate withdraws, document it and close the contingencies. If the employer must withdraw an offer, do it in writing, state the contingency or business reason plainly, complete any FCRA notice steps first if a report played any part, and get counsel review before sending. A rescinded offer handled sloppily is the version of the story that gets told in public.

Output Contract

Deliver, in this order:

  1. The finished offer letter, in packet order from step 3, ready to place on letterhead, with every term matching the approved term sheet exactly.
  2. The packet list: every enclosure named, with a note of which ones need a signature and which are for information only.
  3. The pre-send check record: the checklist worked line by line, the script output or a note that it ran clean, the pay math verified, the work-state checks done (pay transparency, wage notice, noncompete) with the jurisdiction and date checked, and any open questions the approver still owes.
  4. A short closing note for the sender: the verbal script for the offer call in five lines or fewer, the acceptance deadline, and the planned follow-up dates between signing and start.

Operating Rules

Versions

v1.0.02026-10-14 · 0 installs · Ed25519-signed./install.sh offer-letter-writing 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.