Cold outreach has a new smell.
Not "salesy." Not "spammy." Something worse: smooth, grammatical, and dead inside. The kind of message that looks like it was poured from the same template bucket as everyone else's. Your prospect might not think "ChatGPT wrote this," but they'll feel the same thing: "I've seen this 50 times. Archive."
Here's what's interesting: research on AI-generated text keeps finding that models produce detectable stylistic regularities even when the writing is fluent. You see more structural uniformity, more content-word density, fewer pronouns and auxiliaries, and a general tendency toward "informational prose" over lived voice [1]. Detection work also frames the problem as "predictability": AI outputs often lean toward statistically likely phrasing, which reads neutral and impersonal at human scale [2].
So if you want cold outreach that doesn't sound AI-generated, you don't start by telling the model "sound human." You start by designing prompts that force the model away from its default, high-probability, brochure-ish language and toward the messy specifics that humans naturally include: perspective, uncertainty, constraints, and real observations.
I'm going to show you a workflow I use to do exactly that.
The real problem isn't "AI tone." It's missing evidence.
Most AI-written outreach fails for a boring reason: the model wasn't given anything worth saying.
When you prompt "Write a cold email to a VP of Engineering about our platform," the model has to invent: what you noticed about them, what you're referencing, what you're actually offering, and what you can credibly ask for. It compensates by doing what LLMs do best: generic structure, safe claims, polished transitions.
And those transitions are part of the "AI smell." Research comparing human vs. model writing flags things like formulaic scaffolding and uniform openings/closings [1]. In cold outreach, that looks like: "I hope this finds you well," "I noticed your company is doing exciting things," "I'd love to schedule 15 minutes."
Your prompt's job is to prevent the model from having to "fill in" with default corporate language. You do that by pushing the model into a constrained writing situation where it must stick to concrete inputs, and where it's allowed to be small, uncertain, and specific.
A prompt pattern that consistently works: constrain first, then write
I like building cold outreach prompts in two passes.
First pass is not "write the message." It's "extract the raw ingredients." Second pass is "write from only those ingredients."
That sounds pedantic, but it changes the output dramatically because you're reducing the model's need to hallucinate relevance.
Here's the exact two-step prompt pair.
STEP 1 - INGREDIENTS (do not draft)
You are a cold outreach assistant. Your job is to extract ONLY concrete, verifiable angles.
Inputs:
- Prospect: {name, role, company}
- Channel: {email | LinkedIn | X DM}
- What I sell: {one sentence}
- Proof I can claim: {metrics, customers, case study facts I can verify}
- Prospect signals (paste): {3-10 bullets from LinkedIn posts, job description, product pages, recent news, GitHub, etc.}
Task:
1) List 5 outreach angles. Each angle must cite exactly ONE prospect signal bullet.
2) For each angle, write:
- "Observation" (what I noticed, 1 sentence, must be traceable to the signal)
- "Hypothesis" (what might matter to them, 1 sentence, explicitly uncertain)
- "Low-friction question" (1 short question a busy person can answer)
3) If the prospect signals are too thin, say "NEED MORE SIGNALS" and ask me for 3 specific missing details.
Output format: a numbered list. No drafting. No compliments.
Then the drafting prompt:
STEP 2 - DRAFT (use only chosen angle)
Write a cold message using ONLY the angle #{n} from Step 1.
Constraints:
- Length: {channel-specific: 60-120 words email, 35-70 words DM}
- Voice: plainspoken, slightly informal, no hype
- Must include: the Observation and the Low-friction question verbatim or near-verbatim
- Must NOT include:
- "hope you're well", "quick question", "circle back", "touch base"
- any claim not in "Proof I can claim"
- broad statements about their company ("innovative", "leading", "exciting")
- CTA: a single question only. No meeting ask in the first message.
Return 3 variants. Each variant should feel like a different human wrote it.
Why this works: it attacks the exact features that make model text feel model-y. You're forcing pronouns, perspective, and uncertainty ("hypothesis"), you're reducing content-word density by insisting on short conversational questions, and you're removing the default "discourse scaffolding" that reads like a template [1].
Use "small asks" to avoid the AI's urge to over-explain
Models love being comprehensive. Cold outreach should be the opposite.
A practical trick is to explicitly prompt for a micro-commitment: one question that costs almost nothing to answer. Community experiments around "foot-in-the-door" style outreach tend to converge on the same shape: no pitch, no meeting ask, just a curiosity-driven question that invites a one-word reply [3]. Even if you don't buy the psychology framing, the writing constraint is gold because it shrinks the message and prevents the model from stuffing in generic credibility padding.
Here's a prompt I actually use when I want a "tiny" first touch:
Write an ultra-short cold email (max 45 words).
Context:
- Prospect: {name, role, company}
- Observation: {one sentence from a real source}
- My hypothesis: {one sentence, uncertain}
Rules:
- No introduction. No "I'm {name} from…"
- No product mention.
- Ask one curiosity-driven question.
- End with: "One-word answer is totally fine."
Short messages don't automatically feel human. But they remove the space where the model usually reveals itself: over-structured paragraphs, over-polite transitions, and inflated claims.
The "anti-AI" style checklist (based on what detection research finds)
If you've ever edited AI outreach, you already know the vibe you're fighting. Research just gives you a vocabulary for it.
Studies comparing AI and human text repeatedly point to differences in part-of-speech balance (more nouns, fewer pronouns/auxiliaries), lexical density (more "difficult" content words), and uniform structure [1]. Detection work also notes that AI text can be more predictable because it sticks to statistically likely phrasing [2].
So in prompts, I explicitly ask for the opposite:
Write with more pronouns and reference chains. Prefer "I saw / you mentioned / I'm curious" over noun stacks like "enterprise-grade optimization initiatives." Use auxiliaries and modality ("might," "could," "seems") when you're making an inference. Humans hedge; brochures don't.
And break the symmetry. Make the model generate multiple variants that differ structurally, not just swap synonyms. If every email has the same 3-part rhythm, it will feel generated even if every sentence is fine.
A simple instruction that helps:
When producing variants, vary the structure, not just the wording:
- Variant A: starts with Observation
- Variant B: starts with a question
- Variant C: starts with a candid assumption ("I might be off…")
Practical example: B2B SaaS outreach that reads like a person
Let's say you sell an error monitoring tool to engineering leaders. You scraped three real signals from a prospect: a post about on-call fatigue, a job listing mentioning OpenTelemetry, and a release note about performance improvements.
First you run Step 1 (ingredients). Then you pick an angle and draft.
A good output you should be aiming for looks like this shape:
Hey {Name} - saw your post about on-call load creeping up after the last product push.
Might be off, but when teams adopt OTel fast, I've seen alert volume spike before the traces/ownership model catches up.
Are you already doing anything to reduce "non-actionable" pages, or is that not a priority right now?
Notice what's missing: no "excited," no "industry-leading," no generic value prop. It's anchored to a specific observation, contains uncertainty, and ends with an easy question.
That's "not sounding AI-generated" in practice: not a magic style filter, but a prompt that forces specificity and restraint.
The takeaway I'd actually bet on: prompt for constraints, not "human"
If you try to prompt "make it sound human," you'll get a caricature of human. If you prompt for constraints that humans naturally operate under-limited knowledge, real evidence, small asks, and uncertainty-you get messages that feel like they came from a person doing real work.
The best part is it scales. You can turn this into a repeatable outreach system: one template for extraction, one template for drafting, and a library of "banned phrases" and CTA patterns that match your market.
Try it on your next 20 prospects. If the replies don't improve, it won't be because the model can't write. It'll be because you didn't give it anything real to say.
References
Documentation & Research
- Differentiating Between Human-Written and AI-Generated Texts Using Automatically Extracted Linguistic Features - arXiv cs.CL. https://arxiv.org/abs/2407.03646
- On the Effectiveness of LLM-Specific Fine-Tuning for Detecting AI-Generated Text - arXiv cs.CL. https://arxiv.org/abs/2601.20006
Community Examples
3. heres a CIA technique that works insanely well on getting people to actually respond to your emails using claude - r/ChatGPTPromptGenius. https://www.reddit.com/r/ChatGPTPromptGenius/comments/1qq6gp6/heres_a_cia_technique_that_works_insanely_well_on/
4. I tested 600+ AI prompts across 12 categories over 3 months. Here are the 5 frameworks that changed my results the most. - r/PromptEngineering. https://www.reddit.com/r/PromptEngineering/comments/1rncj1n/i_tested_600_ai_prompts_across_12_categories_over/
-0181.png&w=3840&q=75)

-0204.png&w=3840&q=75)
-0202.png&w=3840&q=75)
-0197.png&w=3840&q=75)
-0196.png&w=3840&q=75)