Free tool · LAUNCH · Day 1

Offer Lab

Turn real buyer complaints into one scored, priced offer you can test with ten real people this week.

Keyword

OFFER

First result
90 min
Track
LAUNCH
Challenge
Day 1

Prompt chain (7 prompts) + scoring sheet (CSV) + Offer Card template

No email, no account. Last reviewed · written for current Claude and ChatGPT models.

What it does

What you get

  1. The 7-prompt chain on this page. Each prompt has a purpose, the exact inputs to paste, a fixed output format the next prompt reads, a "reject the output if" list, and an instruction to stop and ask you questions when your inputs are thin.
  2. scoring-sheet.csv: the scoring matrix as a clean CSV. Import it into Google Sheets or Excel. The first three rows are a labelled fictional example; the next three are yours to fill.
  3. offer-card-template.md: the one-page Offer Card, with field-by-field guidance and the validation log you fill after each conversation.

Pick a problem people already pay to solve, before you pick a tool. Offer Lab is a 7-prompt chain that takes the words real buyers use in reviews, forums and job posts, and turns them into one offer you can describe in a sentence, price as a testable hypothesis and put in front of ten real people this week.

Your first result: a scored shortlist of three offers after about 40 minutes of prompting (Prompts 1 to 4, including a 10-minute check of the obvious alternatives), once your evidence is logged. Allow 30 to 60 minutes to collect that evidence first. The full card, with price hypothesis, outreach messages, call script and kill criteria, takes about 35 minutes more. Plan on 1.5 to 2.5 hours in total before your first conversation. Inside AI Business Build Week, Day 1 runs a 40-minute sprint version of this method (a 15-minute evidence hunt, five shorter prompts, a v1 card to test); this page is the full version.

90 minutes to a first result.

What you’ll need
  • An AI chat account (Claude or ChatGPT); run the whole chain in one conversation
  • Google Sheets or Excel to import the scoring sheet
  • 10-20 pieces of real buyer language (reviews, forum posts, group posts, job posts), anonymised
  • A short note on your edge (skills and jobs you have actually done) and your reach (audiences you can message this week, types and counts, no names)
  • Your constraints: hours per week, languages, things you won't do
What it costs
  • AI chat: free tiers can run the chain; paid plans are about $20/month in the US for Claude or ChatGPT at the time of writing (check your local price)
  • Google Sheets: free with a Google account
  • Evidence sources: free to read; respect each site's terms
  • Time: 30-60 min collecting evidence, about 75 min running the chain (incl. a 10-min check of existing alternatives), then 10 conversations; 1.5-2.5 hours before the first conversation
What the output looks like (fictional preview)Fictional example

This is the end state for Nadia, a fictional former clinic front-desk manager. The full worked example is further down.

CandidateTotal /30Evidence-backed /3Gate
C1 AI social posts for clinics151THIN
C2 Reschedule and Waitlist Kit273IN
C3 Posture course, remote workers131OUT
Example6 lines
Offer name: Reschedule and Waitlist Kit          [DECISION]
Who: owner-run physio clinics, 2-6 practitioners [FACT: R1, R2]
Promise: reschedule + waitlist routine set up in
  your own tools in 10 working days; I don't
  answer patients for you                        [DECISION]
Riskiest: owners pay an outsider for this        [ASSUMPTION]

Ready? Go to Prompt 1. First time? Read "Before you start" and "How to run it" below; they take three minutes.

The tool · free, ungated

Offer Lab, in full

Read it here, copy any prompt with one tap, or download the files and keep them. Three files, one tab each.

Download · 49 KB

index.md · Offer Lab guide and 7-prompt chain

Before you start

Prerequisites

  • An AI chat account (Claude or ChatGPT). Run the whole chain in one conversation so each prompt can read the previous output.
  • Google Sheets or Excel, to import the scoring sheet.
  • 10 to 20 pieces of real buyer language (see below). Below 8, the chain will stop and ask you to collect more. That's deliberate.
  • Two short notes about yourself: your edge (jobs held, skills people ask you for, industries you know from the inside, things you've done a hundred times) and your reach (groups, communities, past colleagues or clients you could message this week, as types and rough counts, no names).
  • Your constraints: hours per week, languages, anything you won't do (calls, cold outreach, weekends).

Costs

  • AI chat: the free tiers of Claude and ChatGPT can run this chain. Long evidence pastes work better on a paid plan, about $20 a month in the US for either at the time of writing. Check the current price where you live.
  • Sheets: free with a Google account.
  • Evidence sources: free to read. Respect each site's terms, quote words rather than people, and don't scrape anything behind a login unless you're allowed to.
  • Your time: 30 to 60 minutes collecting evidence, about 75 minutes running the chain (including the alternatives check), then the conversations themselves.

Where to find buyer language

Look for places where your future buyers complain, ask for help or pay someone to fix the problem. The best evidence names a consequence (a lost customer, a fine, a weekend gone) or a spend (a hire, a tool, an agency).

SourceWhat to searchWhat it tells you
Google Maps / Trustpilot / G2 / app store reviews1 to 3 star reviews of the businesses or tools your buyers useWhat the current solution gets wrong, in the customer's words
Reddit and niche forumssite:reddit.com "{{TRADE}}" "how do you handle" or "{{TRADE}}" "drives me crazy"Recurring problems and the workarounds people already use
Facebook / LinkedIn / WhatsApp groups you belong toPosts asking for recommendations or ventingWho has the problem, how often, how emotional it is
Job boards (Upwork, local job sites)Job posts for the task you'd take overProof that someone already pays to have it done, and roughly what for
Your own past workComplaints you heard repeatedly from clients, colleagues or managersPain only an insider sees (strong edge signal)
Pricing pages and help centres of the tools your buyers already useThe feature that would solve the problem (for example "waitlist", "auto-reply", "reminders")Whether the problem is already solved, on which plan, and what it doesn't cover

Paste each item in this format, one per line block:

E1 | source type (review / forum / group post / job post / heard at work) | date if known
"exact words, copied, not reworded"

Privacy rule: strip names, emails, phone numbers, handles and business names from anything you paste. Never paste a current or former employer's confidential material. The model needs the words, not the person.

How to run it

Step 1: Collect and log evidence (30 to 60 min, before you open the AI)

Gather 10 to 20 items, from at least two different sites or threads. Give each an ID. Paste nothing that identifies a person.

Step 2: Prompts 1 and 2: mine the problems and cluster them (15 min)

Read the clusters yourself. If the top cluster surprises you, go back to the evidence before moving on.

Step 3: Check the obvious alternatives, then Prompts 3 and 4 (25 min)

Before Prompt 4, spend 10 minutes at your desk on the alternatives your buyer already has: the features of the tools they use (pricing pages, help centres), one search for "{{problem}} software" and "{{problem}} service", and one freelancer marketplace. Write each down with where you saw it. That list is {{ALTERNATIVES_I_CHECKED}} in Prompt 4. A kill condition you can check in ten minutes shouldn't cost you ten conversations.

Then import scoring-sheet.csv, paste the model's rows in using the paste steps under Prompt 4, and change every score you know is wrong. The model can't see your network or your energy. You make the decision; the model drafts it.

Step 4: Prompts 5 and 6: write the Offer Card and the price hypothesis (20 min)

Copy the result into your own offer-card.md using offer-card-template.md.

Step 5: Prompt 7: outreach, call script and kill criteria (15 min)

Send the first message the same day. An Offer Card nobody sees is a document, not a test.

The prompt chain

Replace every {{PLACEHOLDER}} before sending a prompt. If you can't fill one, write unknown. Never leave it blank and never guess: the prompts are written to treat unknown as a gap and ask you about it.

Prompt 1: Problem mining

Purpose: turn your raw evidence, edge and reach into three clean tables, and make the model tell you what's missing before it reasons about anything. This prompt also sets the rules for the whole conversation.

Inputs to paste: {{MY_EDGE}}, {{MY_REACH}}, {{MY_IDEAS}} (0 to 3 rough ideas), {{CONSTRAINTS}}, {{EVIDENCE}} (your E1, E2... items).

PromptPrompt 1 — Problem mining57 lines
ROLE AND RULES FOR THIS WHOLE CONVERSATION
You are a sceptical offer strategist working with a solo founder who will
deliver with AI. Across every step in this conversation:
- Work only from what I paste. Never invent quotes, prices, market sizes,
  statistics, counts or competitors.
- Copy quotes exactly. Never reword a quote.
- Label every inference "ASSUMPTION:". Label every missing input "GAP:".
- Keep IDs stable (E1, K1, C1) so later steps can refer back.
- Prefer a short, correct table to a long, confident paragraph.
- No income, revenue, ROI or time-saved promises in anything you write.
Today's step is intake only. Do not recommend or rank offers yet.

MY EDGE (jobs, skills, industries I know from the inside, proof):
{{MY_EDGE}}

MY REACH (audience types, rough counts, channels; no names):
{{MY_REACH}}

MY OFFER IDEAS (0 to 3, rough):
{{MY_IDEAS}}

MY CONSTRAINTS (hours per week, languages, things I won't do):
{{CONSTRAINTS}}

BUYER EVIDENCE (ID | source type | date, then the exact words):
{{EVIDENCE}}

STEP 1 — CHECK INPUTS. If ANY of these is true, ask me up to 4 short,
specific questions and STOP. Do not produce tables until I answer.
- fewer than 8 evidence items;
- more than half the items come from the same site or the same thread
  (ask me where each item came from if I didn't say);
- no reach information, or reach is only "social media";
- my edge does not name one concrete skill or job I have actually done;
- an item contains a name, email, phone number or handle (tell me which
  ID so I can remove it).

STEP 2 — PRODUCE THREE TABLES.
TABLE A — EDGE: K-ID | skill or experience | proof (what I actually did,
  where, how long) | strength 1-5 | ASSUMPTION or FACT
TABLE B — REACH: R-ID | audience type | approx. count (only if I gave it)
  | channel | can I message 10 of them this week? (yes / no / unsure)
TABLE C — PROBLEM LOG: E-ID | source type | exact quote (max 40 words,
  trimmed with "..." if needed, never reworded) | who is speaking (role
  and situation) | trigger (what had just happened) | consequence named
  (verbatim or "none") | current workaround (verbatim or "none") | spend
  signal (hire, tool, agency, price mentioned, or "none") | intensity 1-3

STEP 3 — EXCLUSIONS. List items you left out of Table C and why
(vague, promotional, duplicate, not a buyer, personal data).

STEP 4 — GAPS. Up to 5 missing facts that would change the decision,
each with where I could find it in under 15 minutes.

If I gave fewer than 3 ideas, add up to 3 at the overlap of my strongest
edge (Table A) and my best reach (Table B). Label each "AI SUGGESTION"
with a one-line reason that cites a K-ID and an R-ID.

What you get back: either up to four questions and nothing else, or Tables A, B and C, a list of exclusions, gaps, and any AI-suggested ideas, clearly labelled.

Reject the output if:

  • A quote in Table C differs from what you pasted. Check three at random against your notes.
  • Reach counts or proof appear that you never gave it.
  • It ranks or recommends an offer at this stage.
  • It produced tables even though you had fewer than 8 items, or most items came from one site or thread.
  • A "consequence" or "spend signal" is filled in where the quote says nothing about it.

Prompt 2: Pain clusters

Purpose: group the evidence into distinct problems and see which ones are frequent, consequential and already being paid for. This is where weak ideas usually die, cheaply.

Inputs to paste: nothing new. Add {{EXTRA_EVIDENCE}} only if you found more after Prompt 1 (same format).

PromptPrompt 2 — Pain clusters29 lines
Using TABLE C above, plus any extra evidence: {{EXTRA_EVIDENCE}}

Cluster the problems. A cluster needs at least 2 evidence items from at
least 2 different sources (different sites or threads); anything weaker
goes under SINGLE SIGNALS.

OUTPUT 1 — CLUSTER TABLE, strongest first:
P-ID | cluster name (in the buyer's words, never the name of a solution)
| who has it (role + 3 observable traits) | who pays to fix it (same
person or not?) | E-IDs | count | frequency signal (E-ID or ASSUMPTION)
| consequence (E-ID or ASSUMPTION) | current workaround and spend (E-ID
or "none seen") | sits near money? (revenue, cost, compliance, or no)
| edge fit (K-ID or "none") | reach fit (R-ID or "none")

OUTPUT 2 — TOP 3: the three clusters with the best mix of consequence,
frequency, spend signal, edge fit and reach fit. One sentence each,
citing IDs.

OUTPUT 3 — WEAK OR FAKE PAIN: clusters that look like complaints but
show no sign anyone would pay or change behaviour, with the reason.

OUTPUT 4 — CONTRADICTIONS: evidence items that disagree with each other
(e.g. one buyer says the problem is price, another says it is speed).

OUTPUT 5 — MY IDEAS MAPPED: each of my ideas -> the P-ID it solves, or
"no evidence yet".

If fewer than 2 clusters qualify, say so plainly, tell me what kind of
evidence to collect next, and STOP.

What you get back: a cluster table with IDs on every row, a top three, the weak signals, contradictions, and your own ideas mapped to evidence or flagged as unsupported.

Reject the output if:

  • A cluster is named after a solution ("needs a chatbot", "needs automation").
  • "Who has it" could describe millions of people ("small business owners", "entrepreneurs").
  • One loud complaint is treated as a pattern.
  • "Who pays" is missing, or it assumes the person complaining always holds the budget.
  • Your favourite idea is mapped to a cluster with no matching evidence.

Prompt 3: Three offers

Purpose: shape three genuinely different offers from the strongest clusters, each in the same comparable format, so scoring compares like with like.

Inputs to paste: {{CLUSTERS_TO_USE}} (the P-IDs you want to build on, usually your top 2 or 3, or "your choice") and {{OFFER_SHAPES_I_WONT_DO}} (for example "no ongoing retainers" or "no live calls"; write "none" if none).

PromptPrompt 3 — Three offers32 lines
Build exactly 3 offer candidates from these clusters: {{CLUSTERS_TO_USE}}
Shapes I won't do: {{OFFER_SHAPES_I_WONT_DO}}
Include my own ideas from earlier if they mapped to a cluster.

The three must differ in buyer, problem or delivery shape, not only in
wording. Use at least two different shapes from: one-off setup (done for
you), short sprint (done with you), fixed monthly service, productised
audit, template or kit with a handover call.

For EACH candidate (C1, C2, C3) output this block:
C-ID:
Name (plain words, no hype):
One line: "For [specific buyer] who [problem in their words], I deliver
  [concrete outcome I control] in [timeframe], using [mechanism, incl.
  where AI does the work]."
Built on: P-ID(s) and the 2 strongest E-IDs
Buying trigger (the moment they would look for this, E-ID or ASSUMPTION):
Deliverables (3-5 things the buyer could point at):
Delivery steps (4-6 steps, each tagged AI / ME / BUYER, with my quality
  check marked CHECK):
Boundary (what I explicitly do not do or promise):
Delivery estimate (my hours per client + tool costs, ASSUMPTION unless I
  told you):
Delivery risk (the step most likely to go wrong and why):
What the buyer is paying for: the outcome (good) or "AI" itself (weak)?

Rules:
- The outcome must be something I control (a working system, a set of
  templates, a document), never the buyer's revenue, bookings or growth.
- No tool names as the outcome ("an AI agent" is a mechanism, not a
  result).
- If a cluster can't support a credible offer, say so and use the next one.

What you get back: three blocks, C1 to C3, with a one-line offer, deliverables, delivery steps showing where AI works and where you check, a boundary and a delivery risk.

Reject the output if:

  • Two candidates are the same offer worded differently.
  • An outcome is something you can't control ("more patients", "double your leads").
  • Every delivery step is tagged AI with no CHECK step.
  • The delivery estimate looks like a fact when you never gave it one.

Prompt 4: Scoring matrix and sceptic pass

Purpose: score the three candidates against the same five criteria, with fixed anchors so a 4 means the same thing every time, then attack the top two before you commit.

Inputs to paste: {{ALTERNATIVES_I_CHECKED}}: the tools, features or services your buyer could use instead, each with where you saw it (a pricing page, a help article, a marketplace listing). If you skipped the check, write none checked; the prompt will flag it as a gap.

PromptPrompt 4 — Scoring matrix and sceptic pass70 lines
Score C1, C2 and C3. Use ONLY these anchors. PAIN, FREQUENCY and PAY
must each cite an E-ID or be marked ASSUMPTION. REACH cites an R-ID and
EDGE cites a K-ID, or ASSUMPTION.

ALTERNATIVES I CHECKED (what the buyer could use instead, and where I
saw it): {{ALTERNATIVES_I_CHECKED}}

PAIN (how much it hurts)
1 = mild annoyance, no consequence named
3 = recurring frustration with a named consequence (rework, lost time,
    an unhappy customer) in 2+ items
5 = consequence costs money, customers or compliance, in the buyer's own
    words, in 3+ items
FREQUENCY (how often it recurs for one buyer)
1 = once a year or a one-off life event
3 = monthly or quarterly
5 = weekly or continuous
PAY (ability and habit of paying to fix it)
1 = no budget signal, or evidence says they expect it free
3 = business buyer with spend on adjacent tools or services
5 = they already pay someone (staff hours, agency, software) for this,
    visible in the evidence
REACH (can I get 10 conversations this week?)
1 = no list, no community, no access
3 = I can reach 10 through public communities with cold messages
5 = I personally know 10+ or I'm an active member where they gather
EDGE (why me rather than a random freelancer)
1 = nothing distinguishes me
3 = relevant skill or adjacent experience
5 = I've done this job inside this industry and can show it

TOTAL = PAIN + FREQUENCY + PAY + (REACH x 2) + EDGE, out of 30.
EVIDENCE-BACKED = how many of PAIN, FREQUENCY and PAY cite an E-ID
(0-3). REACH and EDGE come from my own notes about myself, so they
never count towards it.
GATE = "OUT" if PAIN, PAY or REACH is 1. Otherwise "THIN" if
EVIDENCE-BACKED is below 2. Otherwise "IN".

OUTPUT 1 — SCORING ROWS for my spreadsheet. Put them in one plain-text
code block, one row per candidate, no header row. Separate columns with
a single TAB character, never commas. No quotation marks, tabs or line
breaks inside any field. Exactly 17 columns, in this order:
row_label | candidate_id | candidate | one_line_offer | pain |
frequency | pay | reach | reach_x2 | edge | total_30 | evidence_backed |
gate | evidence_ids | key_assumption | what_would_change_my_mind |
decision
Use row_label MINE. Separate IDs inside evidence_ids with "; ".
Leave decision empty (the row ends with a TAB).

OUTPUT 2 — SCORE JUSTIFICATION: for each candidate, one line per
criterion: score | ID or ASSUMPTION | the reason in under 15 words.

OUTPUT 3 — SCEPTIC PASS on the two highest-scoring candidates that are
not OUT. Play three people in turn:
(a) a buyer matching the "who has it" description, on a busy day;
(b) the provider of one alternative from ALTERNATIVES I CHECKED, arguing
    only from what I wrote about it. Never name or describe an
    alternative I didn't list. If I wrote "none checked", skip (b),
    write "GAP: no alternatives checked", and list the 3 kinds of
    alternative I should check in 10 minutes before going further;
(c) me, three months from now, delivering this to client number five.
Give the 2 strongest objections from each. For each: the objection in
their voice | what it reveals | a fix to the offer, or "accept the risk"
and why.

OUTPUT 4 — RECOMMENDATION in 3 sentences, plus the single fact that
would flip it. Remind me that I make the final call.

Be harsh on generic buyers: they score low on REACH and EDGE unless
TABLE B proves otherwise. Do not round scores up to be encouraging.

What you get back: three tab-separated rows that match scoring-sheet.csv, a justification line per score, six objections per top candidate (or a gap flag if you checked no alternatives), and a recommendation you can argue with.

Paste the rows into your sheet:

  • Use the copy button on the model's code block, click cell A5 (the first MINE row) and paste. Google Sheets and Excel split tab-separated text into columns on their own.
  • If a whole row lands in column A, select those cells and split them: in Sheets, Data, Split text to columns, separator Tab; in Excel, Data, Text to Columns, Delimited, Tab. Never split on commas: the one-line offer contains commas.
  • Check before you go on: column D holds the whole one-line offer, columns E to H hold single numbers from 1 to 5, and column Q (decision) is empty.
  • Note the model's total_30, then restore the formulas: copy I2, K2 and M2 (see "The scoring sheet" below) into I5 to I7, K5 to K7 and M5 to M7. If the sheet's total differs from the model's, the model added wrong. Trust the sheet.

Reject the output if:

  • A total doesn't add up. Check one row by hand: Pain + Frequency + Pay + Reach x2 + Edge.
  • Columns shifted after paste: anything other than the full one-line offer in column D, or a word where E to H should hold a number. Ask the model to redo Output 1 with tabs.
  • An OUT candidate is recommended.
  • evidence_backed counts a Reach or Edge score, or the gate says IN with fewer than 2 of Pain, Frequency and Pay citing an E-ID.
  • A generic buyer gets 4 or 5 on Reach without reach data behind it.
  • The competitor voice names a tool, price or feature you didn't list in {{ALTERNATIVES_I_CHECKED}}.
  • The objections are soft ("some buyers may want more information").

Your decision (not the model's): change every score you know is wrong, update evidence_backed and let the sheet recalculate, write CHOSEN, RUNNER-UP or DROPPED in the decision column, and note why in one line. If you never change a score, you probably haven't read them.

Prompt 5: The Offer Card

Purpose: turn the chosen candidate into a one-page card that's specific enough to be wrong. Every field is tagged as your decision, a fact, an assumption or a gap, so you know exactly what the conversations need to test.

Inputs to paste: {{CHOSEN_ID}}, {{WHY_I_CHOSE_IT}} (one or two sentences, including scores you changed), {{FIXES_I_ACCEPT}} (which sceptic-pass fixes to apply, or "all" or "none").

PromptPrompt 5 — The Offer Card42 lines
I chose {{CHOSEN_ID}}.
Why: {{WHY_I_CHOSE_IT}}
Sceptic-pass fixes to apply: {{FIXES_I_ACCEPT}}

If "who has it" for this candidate is still generic, or the buyer and
the payer are different people and you don't know which one I'm selling
to, ask me up to 3 questions and STOP.

Otherwise fill this card. After every field, add ONE tag:
[DECISION] = a choice I make (offer name, promise, boundary, price,
  structure). Decisions are never facts, however sure I am.
[FACT: IDs] = backed by the E-, K- or R-IDs you list in the tag.
[ASSUMPTION] = a belief nobody has checked yet.
[GAP] = unknown; I need to find out.
Price comes in the next step: leave it as "see Prompt 6".

OFFER CARD v1
Offer name (plain words):
Who exactly (3+ observable traits; where I find 10 of them this week):
Who pays (if different from who has the problem):
Their problem, in their words (1-2 quotes + E-IDs):
Buying trigger (when they'd look for this):
Alternatives they have today (only from ALTERNATIVES I CHECKED):
Promise (outcome I control + timeframe + boundary):
What they receive (3-5 deliverables they could point at):
How I deliver it (4-6 steps, tagged AI / ME / BUYER, CHECK steps marked):
What I need from the buyer (access, material, time; be specific):
Why me (edge + proof, K-IDs):
What I do NOT do:
Price: see Prompt 6
Scores (from my sheet, after my changes):
Runner-up and why it lost:
Top 3 assumptions to test, riskiest first:

Rules:
- The promise must not mention income, revenue, ROI, bookings or time
  saved for the buyer. Promise the deliverable and the timeframe.
- No superlatives (best, only, fastest, guaranteed).
- Deliverables are things, not feelings ("12 reply templates", not
  "peace of mind").
- If more than half the fields are [ASSUMPTION] or [GAP], say so at the
  top of the card.

What you get back: a complete card with every field tagged, and three ranked assumptions that become the backbone of your conversations.

Reject the output if:

  • The name, promise or boundary is tagged [FACT]. Those are your decisions; tagging them as facts hides what you're betting on.
  • A [FACT] tag cites no ID.
  • The promise contains a revenue, ROI, bookings or time-saved claim.
  • A deliverable is vague ("strategy", "support", "an AI solution").
  • "What I need from the buyer" is empty. Every real offer needs something from the buyer.
  • More than half the fields are [ASSUMPTION] or [GAP] and the model didn't say so. That means you need more evidence, not more prompting.

Prompt 6: Price hypothesis

Purpose: set a price you can defend and test, reasoned from what the buyer does or pays today, checked against what delivery costs you. Not from your hourly rate, and never from numbers the model makes up.

Inputs to paste: {{BUYER_ALTERNATIVES}} (what they do or pay today: staff hours, an agency, software, doing it themselves; cite E-IDs or write "unknown"), {{MARKET_REFERENCES}} (prices you've actually seen for similar services, with where you saw them, or "none"), {{MY_HOURS}} (per client, including onboarding, handover and your share of sales calls), {{MY_MINIMUM_RATE}} (the lowest hourly figure you'd accept, used only as a floor), {{TOOL_COSTS_PER_CLIENT}}, {{PAYMENT_FEES}} (your payment provider's fee, "bank transfer, none", or "unknown"), {{CURRENCY}}, {{VAT_STATUS}} (whether you charge VAT or sales tax; prices are always stated excluding it).

PromptPrompt 6 — Price hypothesis48 lines
Build a price hypothesis for the Offer Card above.

What buyers do or pay today: {{BUYER_ALTERNATIVES}}
Prices I've actually seen for similar offers (with source): {{MARKET_REFERENCES}}
My hours per client (incl. onboarding, handover, share of sales calls): {{MY_HOURS}}
My minimum acceptable hourly figure (floor only): {{MY_MINIMUM_RATE}}
Tool costs per client: {{TOOL_COSTS_PER_CLIENT}}
Payment fees: {{PAYMENT_FEES}}
Currency: {{CURRENCY}}
VAT / sales tax status: {{VAT_STATUS}}

If BUYER_ALTERNATIVES is "unknown" AND MARKET_REFERENCES is "none",
do NOT propose a number. Instead give me 5 questions to ask buyers about
past spend, and 3 places to find real price references, then STOP.

Otherwise:
STEP 1 — FLOOR: (hours x minimum rate) + tool costs + payment fees,
then + 20% buffer for revisions. If my hours look like delivery only
(no onboarding, handover or sales time), ask me before going on. If
PAYMENT_FEES is "unknown", write GAP and show the floor without it.
State every price in this output excluding VAT or sales tax, and say
so once. Show the arithmetic.
STEP 2 — ALTERNATIVE CEILING: what the buyer's current alternative costs
them, from my inputs only. If it's a staff cost or a loss I didn't
quantify, say "unquantified" and do not estimate it.
STEP 3 — MARKET ANCHORS: only from MARKET_REFERENCES. If none, write
"none supplied". Never quote typical market rates from memory.
STEP 4 — THREE TEST PRICES: LOW / ANCHOR / HIGH. Every price must be at
or above the floor. Give each a one-line basis: the floor, the ceiling,
a market anchor, or an E-ID. If the ceiling is unquantified AND there
are no market anchors, label ANCHOR and HIGH "PLACEHOLDER, not
evidence", and name the Step 7 question whose answers will replace
them. If the floor sits above the ceiling, say clearly that the offer
doesn't work at this delivery effort, and suggest what to cut.
STEP 5 — STRUCTURE: one-off or monthly; deposit or full upfront; what's
included; what costs extra; a pilot version if useful (smaller scope,
not a discount on the full scope). A pilot gets its own floor, worked
out exactly as in Step 1 with its own hours, and its price must sit at
or above that floor.
STEP 6 — REASONING: 4 sentences a buyer would find fair, tying the price
to the problem they described and to what they pay today. No ROI claims.
STEP 7 — PRICE QUESTIONS for my calls: 4 numbered questions about past
spend and past decisions (what they paid, who approved it, what made it
worth it). No "would you pay X?" questions.

OUTPUT: a table (floor | ceiling | anchors | low | anchor | high | basis
for each, with E-IDs, ASSUMPTION or PLACEHOLDER), then Steps 5-7 as
short sections.

What you get back: a floor with visible arithmetic, a ceiling from real alternatives (or "unquantified"), three test prices each with a stated basis, a payment structure with a pilot that clears its own floor, plain-language reasoning and four price questions for your calls. Copy the result into the Price section of your Offer Card.

Reject the output if:

  • A market rate appears that you didn't supply.
  • The price is your hourly rate multiplied by your hours, with no reference to the buyer's alternatives.
  • A test price, or the pilot price, sits below its floor without a warning.
  • A test price has no basis line, or a number with no ceiling or anchor behind it isn't labelled PLACEHOLDER.
  • The pilot has no floor of its own.
  • Prices don't say whether VAT is included.
  • The reasoning promises a return ("pays for itself", "more revenue").
  • A price question is hypothetical.

Prompt 7: Validation messages, call script and kill criteria

Purpose: write everything you need to run ten conversations this week, and the rules that decide, in advance, whether you continue, reshape or kill the offer.

Inputs to paste: {{CHANNELS}} (where you'll reach people: DM, email, a group you belong to, in person), {{LANGUAGE}}, {{DEADLINE}} (the date your ten conversations must be done by, usually 7 to 10 days out).

PromptPrompt 7 — Validation messages, call script and kill criteria57 lines
Write a validation kit for the Offer Card and price above.
Channels: {{CHANNELS}}. Language: {{LANGUAGE}}. Deadline: {{DEADLINE}}.

PART 1 — FIRST MESSAGES (no pitch, no link, no price):
(a) WARM: someone who knows me. Max 60 words.
(b) COMMUNITY: a member of a group I belong to. Max 60 words. Respect
    group rules; offer to share a summary of what I learn.
(c) COLD WITH EVIDENCE: someone I don't know, opening with something
    specific and public about their situation. Max 70 words.
Each one says who I am, why I'm asking, asks for a 20-minute
conversation (the length of the script below), and says plainly that
I'm not selling on this call.
Then ONE follow-up for no reply after 3 days, max 30 words.

PART 2 — CALL SCRIPT (20 minutes, never longer than I asked for):
- Opening (30 seconds, in my words, sets expectations).
- 7 questions about PAST behaviour, in this order: (1) the last time it
  happened; (2) how many times it happened in the last month; (3) what
  they did about it; (4) what it cost them (time, money, a customer);
  (5) what they've tried or paid for; (6) who decided; (7) what made
  them stop or keep using it. Include one follow-up probe for each.
- The reveal: how to describe the Offer Card in 3 sentences, only after
  the problem is confirmed.
- Price moment: say the ANCHOR price once, then stop talking. Note the
  reaction word for word.
- Commitment ladder, ask for the highest step that fits the call:
  share real material (anonymised) / introduce one peer / book a pilot
  / pay a deposit.
- Close: thank, confirm any next step, offer the promised summary.

PART 3 — CONVERSATION LOG ROW (columns, for my sheet):
date | channel | buyer type | problem confirmed unprompted (Y/N) |
instance in the last 30 days (Y/N) | current workaround or spend |
reaction to anchor price (verbatim) | highest commitment given
(none / material / intro / pilot / deposit) | quote worth keeping

PART 4 — KILL CRITERIA, written now, checked on {{DEADLINE}}:
5 to 7 countable conditions with numbers. Each maps to exactly ONE
decision, never "X or Y": KILL (drop the offer), RESHAPE (change buyer,
scope or price, then run 10 more), or CONTINUE (build delivery, start
selling). At least one must test each of my top 3 assumptions. Include
a rule for "people liked it but nobody committed to anything".
Then write the ORDER OF PRECEDENCE, and list the criteria in that order:
1. First: "fewer than 10 conversations by the deadline". If it fires,
   make no other decision; re-score REACH and finish the conversations
   within 7 days.
2. Then any KILL that fires beats any RESHAPE.
3. Any RESHAPE that fires beats CONTINUE.
4. CONTINUE applies only when no KILL or RESHAPE condition fired.

PART 5 — SIGNAL WEIGHTS: rank what counts as evidence, from
compliments (worth nothing) to money or material handed over.

Rules: no fake familiarity, no invented mutual connections, no urgency
tricks, no false scarcity. Follow each platform's rules on unsolicited
messages and the email rules where I live. If my channels include cold
email, remind me what consent or opt-out the law there requires.

What you get back: three first messages and a follow-up, a 20-minute script built on seven past-behaviour questions, a log row for your sheet, countable kill criteria listed in the order you check them, and a ranking of which signals count.

Reject the output if:

  • A question asks about the future ("would you buy...", "how much would you pay...").
  • A first message pitches, links, mentions the price, asks for a different length of call than the script, or runs over the word limit.
  • A kill criterion can't be counted ("if it doesn't feel right", "if interest is low").
  • A criterion maps to two decisions, or the kit has no order of precedence.
  • The criteria don't cover all three of your top assumptions.
  • Compliments are treated as validation anywhere in the kit.

Default kill criteria (use these if you're unsure)

These are starting thresholds, not laws. Adjust them to your market, but write them down before your first conversation and don't move them afterwards.

Check them in this order, top to bottom. Row 1 is a gate: if it fires, stop there. After it, any KILL that fires beats any RESHAPE, and CONTINUE only counts when no KILL or RESHAPE row fired. That's what stops you picking the result you like on the deadline.

CheckOn the deadlineDecision
1Fewer than 10 conversations happenedSTOP. Your Reach score was wrong. Re-score it honestly, then hold the missing conversations within 7 days before reading any other row. If you can't, treat it as RESHAPE: pick a buyer you can actually reach.
2Fewer than 4 describe the problem happening in the last 30 days, without promptingKILL. The pain isn't frequent or sharp enough.
3Nobody moves past compliments: no material shared, no intro, no pilot, no depositKILL. Liking an idea costs nothing.
43 or more say a tool they already pay for solves it, and they actually use that toolKILL. Setting up that tool for others is a different offer: write a new card for it.
54 or more confirm the problem, but none currently spends money or staff time on itRESHAPE. Look for the buyer who already pays (often a different role or a bigger business).
6Most react to the anchor price with "that's a lot for..." and none accepts the pilotRESHAPE the scope or the price, then run 10 more.
72 or more commit to a pilot or deposit, and no row above firedCONTINUE. Build delivery for those buyers first.

If people committed to a pilot but a KILL or RESHAPE row also fired, deliver what you agreed with them, as agreed. Then follow the decision: no new selling until the next card version is written and tested.

The scoring sheet

Import scoring-sheet.csv into Google Sheets (File, Import, Upload, "Insert new sheet") or open it in Excel. The CSV holds values only. Add these formulas in row 2 and drag them down to row 7 so your own rows calculate as you edit. Blank rows stay blank instead of showing OUT.

ColumnHeaderFormula (row 2)
Ireach_x2=IF(H2="","",H2*2)
Ktotal_30=IF(E2="","",E2+F2+G2+I2+J2)
Mgate=IF(E2="","",IF(OR(E2<=1,G2<=1,H2<=1),"OUT",IF(L2<2,"THIN","IN")))

If your spreadsheet is set to a locale that uses commas for decimals (much of Europe), type ; instead of , between the arguments of IF and OR.

Column L, evidence_backed, is the number of your Pain, Frequency and Pay scores that cite an evidence ID (E1, E2...), from 0 to 3. Count it yourself; it's the honesty column. Reach and Edge never count, because they come from your own notes about yourself. Pain, Frequency and Pay are the market's side of the score, and they need the market's words behind them. Below 2, the gate says THIN however high the total is: a 26 out of 30 with one piece of outside evidence is weaker than a 22 with three.

Add a second tab for the conversation log, with the columns from Prompt 7 Part 3, and a third for the evidence log (ID, source type, date, exact quote). Your Offer Card should point at both.

Why I built it this way

I've managed 45+ digital projects. The expensive mistakes almost never happened in the build. They happened in the brief: a problem nobody was urgently trying to fix, a buyer described as "small businesses", a price picked because it felt fair. AI makes that mistake cheaper to build and faster to repeat. It multiplies a good offer; it doesn't create one. So the chain runs on three rules.

Evidence before opinion. The model only works from text you paste. Every market-facing score points at an evidence ID or is marked as an assumption, and a high score built on assumptions is flagged THIN, not celebrated.

Reachability counts double. For a solo founder in month one, "can I have ten real conversations this week?" decides more than "how big is this market?". A 1 on pain, ability to pay or reach removes the offer, whatever the total.

Write the offer so the market can reject it. The output is a hypothesis with a price range and ordered kill criteria, written before you talk to anyone, so ten polite conversations can't talk you into a weak idea.

Worked example (fictional)

Nadia is a fictional person. Every name, quote, count, tool and price below is invented to show the method, and none of it describes a real business, a real product or a real result.

Nadia spent eight years as front-desk manager at two independent physiotherapy clinics in Portugal. Her reach: about 25 clinic owners and managers she knows from her old job, plus a regional clinic owners' WhatsApp group where she's an active member. She works 15 hours a week on this and won't do cold calls.

Evidence (4 of her 14 items)

14 lines
E3 | review | 2026
"Called three times to move my appointment, nobody picked up, so I just
didn't go."

E6 | group post | 2026
"Every Monday I'm rebuilding the schedule by hand because of Friday
cancellations. Is there a better way?"

E9 | job post | 2026
"Part-time receptionist, 20h/week. Must manage waitlist and reschedules."

E12 | heard at work
"Half my cancellations come by WhatsApp at night and nobody sees them
until the morning."

Clusters (top 2 from Prompt 2)

P-IDCluster (buyer's words)E-IDsNear money?Edge / reach fit
P1"rebuilding the schedule by hand" after cancellationsE2, E6, E9, E11, E12Yes: empty slots and paid staff hoursK1 (8 years front desk) · R1, R2
P2"nobody picked up" when patients try to rescheduleE3, E5, E8Yes: patients lost to no-showsK1 · R1

Alternatives she checked (10 minutes, before Prompt 4)

7 lines
ALTERNATIVES_I_CHECKED (fictional tools):
- Booking tool A (used at one of her old clinics): waitlist feature on
  its top plan only; nothing about WhatsApp. Seen on its pricing page.
- Booking tool B (the other clinic): no waitlist feature in its help
  centre.
- Freelance virtual receptionists: listed on a freelancer marketplace,
  paid hourly, they answer patients for you.

Ten minutes at her desk turned a vague worry ("maybe their booking tool already does this") into a narrow question only the calls can answer: on tool A, is the waitlist switched on, and does it catch WhatsApp cancellations? In the sceptic pass, the competitor voice argued as a virtual receptionist service, from her list and nothing else.

Scores (from Prompt 4, after Nadia's changes)

CandidatePainFreqPayReachx2EdgeTotal /30Evidence-backed /3Gate
C1 AI social media posts for health clinics232362151THIN
C2 Reschedule and Waitlist Kit for independent physio clinics4535105273IN
C3 Online posture course for remote workers331242131OUT

C2's Pain (E6, E12), Frequency (E6, "every Monday") and Pay (E9) each cite buyer evidence, so it scores 3 of 3. Its Reach and Edge cite R1 and K1, but those come from Nadia's notes about herself, so they don't count. C1's Pain cites E4; its Frequency and Pay are assumptions, so it's THIN.

The model first gave C2 a 4 on Pay. Nadia cut it to 3: clinics pay receptionists (E9), but she has no evidence they've ever paid an outsider to set up a process. That became her riskiest assumption. These three rows are the fictional example rows in scoring-sheet.csv.

Offer Card (key lines)

23 lines
Offer name: Reschedule and Waitlist Kit  [DECISION]
Who exactly: independent physio clinics, 2-6 practitioners, owner still
  involved in the schedule, bookings via phone and WhatsApp, no
  dedicated scheduling coordinator. I find 10 via my old colleagues and
  the regional owners' group.  [FACT: K1, R1, R2]
Their problem (E6): "Every Monday I'm rebuilding the schedule by hand
  because of Friday cancellations."  [FACT: E6]
Alternatives today: tool A's waitlist (top plan, no WhatsApp), extra
  receptionist hours (E9), virtual receptionists.  [FACT: E9 + my
  alternatives check]
Promise: in 10 working days I set up a reschedule and waitlist routine
  in the booking tool and WhatsApp account you already use: message
  templates drafted by AI from your own past replies and approved by you,
  a waitlist sheet, and a one-page front-desk procedure. I hand it over
  in a 45-minute training call. I don't answer patients for you.
  [DECISION]
What I need from you: an export of last month's cancellations (patient
  names removed), 20 past replies, admin access to the booking tool for
  the setup week.  [ASSUMPTION: owners will share this]
Top assumptions: (1) owners will pay an outsider to fix this, not only
  staff; (2) clinics on tool A haven't switched its waitlist on, or it
  misses WhatsApp cancellations; (3) they'll share anonymised
  cancellation data.  [ASSUMPTION]

Price hypothesis (from Prompt 6)

19 lines
All prices excl. VAT. Paid by bank transfer: payment fees EUR 0.
Floor: 12 h (incl. onboarding, the handover call and about 2 h of
  sales calls) x EUR 35 = EUR 420, + EUR 0 tools, + 20% = EUR 504
Ceiling: extra receptionist hours (E9) -- unquantified; ask in calls
Market anchors: none supplied

LOW    EUR 590    basis: floor + about 15%; the lowest she'll take
                  for the full scope
ANCHOR EUR 890    PLACEHOLDER, not evidence: no ceiling or anchor yet.
                  Replaced after her first 3 calls by the answers to
                  price question 1 (what last month's extra
                  receptionist hours cost)
HIGH   EUR 1,290  PLACEHOLDER: tested only if 3 or more owners hear the
                  anchor without pushback

Structure: one-off, 50% upfront, 50% at handover
Pilot: waitlist sheet + templates only, no booking-tool setup
  Pilot floor: 6 h x EUR 35 = EUR 210, + 20% = EUR 252
  Pilot price: EUR 390, above its floor (smaller scope, not a discount)

First message (community, from Prompt 7)

5 lines
Hi, it's Nadia from the group. I ran the front desk at two physio
clinics for eight years and I'm looking into how owner-run clinics
handle cancellations and reschedules. Could I ask you a few questions on
a 20-minute call this week? I'm not selling anything on the call, and
I'll share a summary of what other clinics tell me.

Nadia's kill criteria (checked on her deadline, in this order)

The first line is a gate. After it, any KILL beats any RESHAPE, and CONTINUE only counts if nothing above it fired.

  • Fewer than 10 conversations by the deadline: STOP, re-score Reach, and hold the rest within 7 days before reading any other line.
  • Fewer than 4 of 10 owners describe rebuilding the schedule in the last 30 days, unprompted: KILL.
  • 3 or more already use their booking tool's waitlist and it catches WhatsApp cancellations: KILL (setting that feature up for clinics would be a new card).
  • Fewer than 2 agree to share an anonymised cancellation export: RESHAPE (the data access assumption failed).
  • Nobody accepts the EUR 390 pilot or a deposit at EUR 590 or above: RESHAPE (try multi-site clinics, or cut the scope).
  • 2 or more accept a pilot or deposit, and nothing above fired: CONTINUE and deliver to them first.

Nadia's next step is the conversations. What happens in them is the actual test, and this example doesn't pretend to know the answer.

Failure modes I'd watch for

The model agrees with you. Language models lean towards whatever you seem to want. That's why the sceptic pass exists and why the chain tells it not to round up. Trust Prompt 4's objections more than Prompt 3's enthusiasm.

Quotes drift. In long conversations, models start paraphrasing "quotes". Spot-check three against your evidence log after Prompts 1 and 5.

Thin evidence produces confident nonsense. With five forum posts, you'll still get a polished card. The input checks stop the chain below 8 items. Don't work around them.

Self-description passing as evidence. Your edge and reach notes are honest, but they're yours. That's why only Pain, Frequency and Pay count towards evidence_backed.

Generic buyers sneak back in. "Clinics" becomes "healthcare businesses" by Prompt 5. If the card's buyer is wider than the cluster's, send it back.

Decisions dressed as facts. Your offer name and promise are choices. Tag them [DECISION]; keep [FACT] for things an ID backs up.

Price from thin air. If a market rate appears that you didn't supply, delete it. Models produce plausible numbers from memory; plausible isn't evidence. A number you picked yourself is fine as long as it says PLACEHOLDER and you know which call question will replace it.

Skipping the desk check. If an existing tool might already solve the problem, find out in ten minutes before you spend ten conversations on it.

Validating with friends. Warm contacts are kind. Count only behaviour (material, intros, pilots, deposits), never "I'd totally use that".

Moving the goalposts. If you change the kill criteria or their order after the conversations, you didn't run a test. Write a new card and a new round instead.

When not to use this

  • You already have paying clients for an offer. Talk to them instead: ask what they'd pay for next.
  • You're selling into a regulated activity (medical, legal, financial advice). The chain doesn't check licensing or liability; get qualified advice first.
  • You need a product with years of build before the first sale. This chain is tuned for productised services you can deliver in weeks.

Quality checklist

  • I collected at least 8 pieces of real buyer language, from at least 2 different sites or threads, with no personal data.
  • Every cluster I used has 2 or more evidence items from 2 or more sources.
  • I checked the obvious alternatives before scoring, and wrote down where I saw each one.
  • My three candidates differ in buyer, problem or delivery shape.
  • My scoring rows pasted into the right columns, and the sheet's formulas are back in place.
  • I changed at least one score myself, or wrote down why I agree with each.
  • My chosen offer is IN: at least 2 of Pain, Frequency and Pay cite buyer evidence, and nothing scores 1 on Pain, Pay or Reach.
  • My name, promise and boundary are tagged [DECISION], not [FACT].
  • The promise names an outcome I control, a timeframe and a boundary, with no income, revenue, bookings or time-saved claim.
  • Every deliverable is something the buyer could point at.
  • The delivery steps show where AI works and where I check it.
  • The price has a floor (excluding VAT, with fees and sales time), a basis for every test price, and no invented market rates; any pilot clears its own floor.
  • My kill criteria are countable, cover my top three assumptions, and are listed in the order I'll check them.
  • Every interview question is about past behaviour.
  • I've sent the first message.

Security and privacy

No passwords, API keys, client data or patient data belong in any prompt or file in this kit. Anonymise evidence before you paste it, and anonymise anything a buyer shares with you before it goes into an AI tool. If a buyer's material includes personal data about their customers, ask them to remove it first.

Animated artwork of Aymane at his desk, smiling at the camera.My animated double (AI-generated)
Aymane Hitmi · Labgenz

Who’s behind this

I’m Aymane. I used to build with a team. Now I build with AI.

I’ve managed 45+ digital projects. I was CTO of a US marketing agency, where I led a team of 12 developers. Today I work solo, with AI as my team, and I build in public from Bali.

Right now that means Misclo, my own app in development (launch set for 1 January 2027), and Theo, a 3D character I built from a Tripo AI mesh and rigged and animated in Blender with AI-written tools. Every tool in this library uses the same habits those builds run on: the owner’s words kept verbatim, one change at a time, checks before anything is shown, and a rollback kept until I approve the new version.

  • 45+digital projects managed
  • 12developers in the team I led

The face on the Labgenz Instagram reels is an AI version of me, and it’s always labelled. Read how I use it