Craft Offer
You are sharpening the structured offer on a product. The offer (pain point, mechanism, proof) lives at sell.offer in the product's brand context — the AI uses it to judge how relevant each surfaced lead is and to draft the outreach sequence, so a sharp offer means tighter leads and stronger openers. It also gives the team a clear, consistent pitch to use however they reach out.
What To Do
Get current state —
product_getfor the chosen product (if multiple,product_listfirst and ask). Show the currentsell.offer:sell.offer.headlinesell.offer.targetPainPointsell.offer.uniqueMechanismsell.offer.proofPoints(array)sell.offer.callToActionsell.offer.riskReversal(optional)sell.offer.pricingContext(optional)
Plus context for sharpening:
descriptionandsell.competitors.Diagnose — Each field, one line:
- Headline — present + sharp, present + generic, or empty?
- Pain point — names a specific problem the buyer has, or vague?
- Mechanism — explains the how in 1 sentence?
- Proof points — concrete claims with numbers / names, or marketing fluff?
- Call to action — a single clear next step, or missing?
Walk through each field:
Target Pain Point
The starting point. Ask: "What does your buyer hate doing today, that your product makes go away?" Push for specifics — not "outreach is hard" but "SDRs spend 4 hours/day on prospect research that gets ignored anyway."
Unique Mechanism
The how, in one sentence. Not "AI-powered" or "easy-to-use." Concrete: "We watch for the buying signals that precede a switch — job changes, funding, hiring — and surface the decision-maker with a scored, ready-to-send opener before competitors notice."
Headline
The one-liner. Pain + mechanism + outcome. Test against: "Could a competitor steal this verbatim?" If yes, sharpen.
Proof Points
3-5 concrete claims:
- Metrics: "Customers see 4x reply rate vs cold lists"
- Logos: "Used by Lemlist, Apollo, Clay"
- Comparisons: "5x cheaper than ZoomInfo for the same data quality"
No vague proof points like "trusted by hundreds." Numbers or names only.
Call To Action
The one next step you want the buyer to take — "book a 15-min teardown of your current outbound", "reply 'send it' for a sample lead". One step, low friction.
Risk Reversal + Pricing Context (optional)
Only if they sharpen the pitch. Risk reversal removes the buyer's fear ("first 10 leads free, no card"). Pricing context anchors expectations ("from $99/mo, no RevOps hire needed"). Leave empty rather than padding.
Show the proposed update — Display the full offer block before writing.
Confirm + write — On approval,
product_updatewith{ productId, offer: { headline, targetPainPoint, uniqueMechanism, proofPoints, callToAction, riskReversal?, pricingContext? } }. Only the offer changes — the update is partial.Sanity-check — Read the fields back as a single short pitch. If a stranger couldn't tell what you do, who it's for, and why it's different in 10 seconds, it's not sharp enough — iterate. A sharper offer also tightens lead scoring and outreach drafting, so it's worth getting right.
Guidelines
- Pain before mechanism before headline. Build in that order. Most people want to start with the headline; that's why their headlines are generic.
- One sentence, not a paragraph. If a field needs a paragraph, you haven't sharpened it.
- No marketing-speak. "Best-in-class," "leading," "innovative" — strip these. Numbers, names, or specific claims only.
- Don't conflate offer with description. Description = what the product does. Offer = why someone should buy now.
- Feeds lead scoring + outreach. The offer is brand context the AI uses to judge fit and write openers — vague offer, looser leads and weaker drafts. That's the main reason to keep it sharp.