You do not need a new prompt for every task. You need 10 variables you fill once.

The 10 variables:

{{product}} · {{audience}} · {{tone}} · {{goal}} · {{cta}} · {{platform}} · {{length}} · {{problem}} · {{benefit}} · {{promo}}

Why Variables Beat One-Off Prompts

A one-off prompt hides the brief inside a paragraph. Next week you rewrite the paragraph and change three things by accident.

A variable-based prompt separates what stays stable from what changes.

StableChanges each run
Prompt structure (role, task, rules)Product, audience, offer
“Write one version for this platform”Platform name
“Do not invent discounts”Promo value, or none

Fill the 10 variables. Keep the wrapper. The draft stays on-brief even when the product changes.

How a Prompt Framework Uses the Variables

Use this order: Role -> Context -> Task -> Constraints -> Format

Framework partVariables that belong hereWhat the framework does
Roletone, light use of audienceForces the model to speak as a specific writer, not a generic assistant
Contextproduct, audience, problem, benefit, promoTreats these as facts, not suggestions
Taskgoal, cta, platformDefines the job and the single next step
Constraintslength, tone, promo, ctaTurns values into rules (caps, one CTA, no invented offer)
Formatplatform, length, ctaShapes output: blog vs ad vs email vs readout

Without a framework, all 10 values get dumped in one block and the model picks favorites. With a framework, each value has a job.

One Value Per Variable, Not a List

If you write {{platform}} in the prompt, store one platform in that variable.

Stored valueWhat the model does
LinkedInWrites for LinkedIn
Facebook, InstagramWrites a hybrid that fits neither
FB, IG, X, LinkedInWrites a generic “social post”

Use platform (singular) for one run. Use platforms (plural) only if the prompt says: “Write a separate version for each item. Label each version.”

Same rule for promo and CTA. One offer. One next step.

The 10 Variables

1. {{product}}

What you are talking about. Name plus one-line description. Give the model a thing, not a category.

ExampleBrief
AI meeting notes app that turns standups into action itemsSoftware that captures the meeting and outputs owners and tasks
Organic protein powder for daily shakesConsumable product with a clear use occasion
B2B cybersecurity platform for mid-market IT teamsEnterprise tool sold on risk reduction, not lifestyle

2. {{audience}}

Who must care. Role, context, and situation beat age ranges.

ExampleBrief
Product managers at Series B startupsJob + company stage, so the pain is operational
Busy moms 28–42 who lift 3x/weekLife context + habit, not just “women 25–40”
IT directors at companies with 200–2,000 employeesBuyer title + company size for B2B targeting

If the audience is vague, the problem and benefit become slogans.

3. {{tone}}

How it should sound. One clear voice, not five adjectives.

ExampleBrief
Direct, slightly dry, no cheerleadingShort sentences, no hype words
Warm and encouragingSupportive, human, still specific
Authoritative, no fluffExpert voice; claims must sound defensible

4. {{goal}}

What success looks like for this piece. Goal is not the same as CTA. Goal is the business outcome. CTA is the click.

ExampleBrief
Get qualified demo bookingsContent should create sales conversations
Drive first-time product purchaseContent should push a first order
Generate sales-qualified leadsContent should hand sales a ready buyer

If you skip goal, the model optimizes for sounding complete instead of moving a number.

5. {{cta}}

The one next step. Not three links.

ExampleBrief
Book a 10-min demoLow-friction meeting, time-boxed
Shop the chocolate flavorSpecific SKU, not a generic “shop now”
Request a security assessmentDiagnostic offer that fits B2B buying

6. {{platform}}

Where this will run. One platform per draft unless you explicitly ask for split versions.

ExampleBrief
Personal BlogLong-form; room for story and proof
Instagram ReelsShort spoken-or-caption copy, visual-first
Google Search descriptionTight character limits; intent is already high

Platform changes format more than any other variable. A blog CTA can live in the last section. A search ad CTA has to fit in the description.

7. {{length}}

A hard cap. Word count or character count. Soft words like “short” get ignored.

ExampleBrief
900–1,100 wordsFull blog range; enough for problem → proof → CTA
80-character headline + 125-character bodySocial/ad pairing that fits common creative limits
Headline under 30 characters, description under 90Search-ad limits so the draft is usable as-is

Match length to platform. Do not ask for 1,000 words and then paste it into a Reel.

8. {{problem}}

The pain you open with. Specific beats generic.

ExampleBrief
Cleaning standup notes takes 2 hoursMeasurable time waste after a meeting
Shakes taste like chalk and energy crashes by 3pmSensory + energy failure, easy to picture
Fear of the next ransomware headline hitting the boardExecutive-level risk, not a feature gap

“Save time” is not a problem. A number, a moment, or a feared headline is.

9. {{benefit}}

The outcome if they use the product. Benefit is not a feature list.

ExampleBrief
Action items ready in 30 secondsSpeed from conversation to assigned work
Clean 25g protein that tastes like dessertResult they can taste and measure
Detects threats 4 hours faster than current toolsConcrete improvement versus status quo

If the benefit could apply to any competitor, tighten it until it could not.

10. {{promo}}

The offer, or none. Empty is better than an invented discount.

ExampleBrief
14-day Pro trial, no credit cardLow-risk test window
20% off first tub + free shakerFirst-purchase incentive with a bonus
Free 48-hour threat auditService-style offer that starts the sales process

Put promo late. If it leads the piece, the draft becomes an ad even when you asked for a blog.

Writing Prompt Example With {{variable}}

Prompt Example
Role: You are a senior B2B writer. Context: - Product: {{product}} - Audience: {{audience}} - Problem: {{problem}} - Benefit: {{benefit}} - Promo: {{promo}} Task: Write a {{platform}} article whose goal is {{goal}}. Constraints: - Tone: {{tone}} - Length: {{length}} - Mention {{promo}} once, late - One CTA only: {{cta}} - Do not invent features, proof, or discounts Format: Title, short sections, close with {{cta}}.

Rules That Keep the System Reusable

  1. Singular names for singular jobs. platform, not Facebook, Instagram inside {{platform}}.
  2. Promo may be none. Write that rule into Constraints so the model cannot invent 20% off.
  3. CTA is one action. If you need two actions, run two prompts.
  4. Problem must be observable. Time, taste, risk, cost, or a specific failure.
  5. Length must match platform. Blog words. Ad characters. Email word cap.
  6. Do not overload product. Name + one line. Put proof and features in extra variables later if you need them.
  7. Reuse the row for a week. Change only platform or length when you adapt the same campaign.

Fast Checklist Before You Hit Run

Checklist
Can a stranger identify the product from `{{product}}` alone?
Would two different people in `{{audience}}` share the same `{{problem}}`?
Does `{{benefit}}` describe an outcome, not a feature?
Does `{{platform}}` contain one place?
Does `{{cta}}` match `{{goal}}`?
Is `{{promo}}` real, or should it be `none`?

If any answer is no, fix the variable. Do not add more noise to the prompt.

Conclusion

The point is not to have a super long prompt. The point is to have a prompt you can reuse without rewriting the prompt.