Skip to content

How to Write Better Prompts for Claude in Business Tasks

Problem

I kept getting generic, unfocused outputs from Claude when I used it for business tasks. My prospecting emails sounded like templates. My proposals lacked specificity. My analyses were surface-level.

Here’s what my prompts looked like:

Write me a prospecting email for my SaaS product.
Create a proposal for a new client.
Analyze our competitor's pricing strategy.

The results were disappointing. Claude would generate 300-word emails with multiple calls-to-action. Proposals had vague timelines. Competitor analysis missed key differentiators.

I assumed I needed to iterate more. So I added follow-up prompts:

Make it shorter.
Be more specific.
Focus on the value proposition.

This helped slightly, but I was spending 5-6 iterations to get acceptable output. Each conversation felt like pulling teeth.

What I discovered

I found a Reddit discussion where user u/Hot_Meat7918 shared a critical insight about business prompts:

“For business tasks, the game changer is giving Claude a precise role before anything else. Instead of ‘write me a prospecting email’ -> ‘You are a B2B cold email expert. Write an email for [your job] targeting [prospect] whose main problem is [problem]. Max 120 words, 1 CTA only.’ The quality difference is immediate.”

This user compiled 50 prompts using this approach for entrepreneurs. I was skeptical but decided to test it.

My first test

I tried the transformation on my prospecting email task:

Before:

Write me a prospecting email for my SaaS product.

After:

You are a B2B cold email expert. Write an email for a SaaS founder
targeting VP of Sales at enterprise companies whose main problem is
low lead conversion rates. Max 120 words, include one CTA only,
use a consultative tone.

The difference was immediate. Here’s what changed:

AspectBeforeAfter
Word count287 words118 words
CTAs3 (demo, call, reply)1 (reply)
ToneGeneric promotionalConsultative, problem-focused
SpecificityCould be any productClearly addresses lead conversion
Iterations needed5-61

The output was so much better that I tested this pattern across multiple business tasks.

The framework

After testing extensively, I identified the four components that make role-based prompting effective:

1. Role Assignment

Define who Claude should be. This activates domain-specific knowledge and conventions.

You are a senior financial analyst at a Fortune 500 company.
You are a B2B SaaS email copywriter with 10 years experience.
You are a venture capitalist who has reviewed 500+ pitch decks.

The key is specificity. “You are an expert” is too vague. “You are a B2B SaaS email copywriter who specializes in enterprise outreach” is precise.

2. Context Injection

Provide specific details about your situation, audience, and constraints.

Context:
- My product: A CRM automation tool for mid-market companies
- Target audience: Sales operations managers at companies with 50-500 employees
- Their main pain point: Manual data entry taking 10+ hours per week
- My differentiation: AI-powered field mapping that learns from corrections

Without context, Claude produces averaged responses. With context, Claude tailors to your specific scenario.

3. Output Specification

Define length, format, tone, and limitations.

Output requirements:
- Length: Maximum 150 words
- Format: Problem-Agitate-Solution structure
- Tone: Professional but not stuffy
- Include: One specific statistic (I'll provide)
- Exclude: Pricing information, feature lists

This prevents Claude from defaulting to generic formats that don’t fit your needs.

4. Single Focus

One clear objective per prompt.

Objective: Write the opening hook only. Do not write the full email.
Objective: Create 5 subject line options. Do not write email body.
Objective: Rewrite this paragraph to be more direct. Keep the same meaning.

When I combined multiple objectives, output quality dropped significantly.

More examples

Here’s how I transformed other common business prompts:

Competitive analysis

Before:

Analyze our competitor's pricing strategy.

After:

You are a pricing strategy consultant at McKinsey. Analyze Acme Corp's
pricing strategy based on their public pricing page.
Context:
- My company: Mid-market SaaS, $500-2000/month range
- Competitor: Acme Corp, enterprise-focused
- What I need: Understand if their pricing creates an opportunity for us
Output requirements:
- Length: 300 words maximum
- Format: Bullet points with evidence
- Focus: Gaps in their pricing that we could exploit
- Exclude: General market analysis, industry trends

The before version gave me a generic pricing analysis that could apply to any competitor. The after version identified three specific gaps: no mid-market tier, no monthly billing option, and enterprise features locked behind a 2-year minimum contract.

Proposal writing

Before:

Create a proposal for a new client.

After:

You are a senior solutions architect at a digital transformation consultancy.
Write the executive summary section of a proposal for TechCorp Inc.
Context:
- Client: Manufacturing company, 500 employees
- Project: Legacy system migration to cloud
- Timeline: 6 months
- Budget: $150,000
- Their concern: Minimizing downtime during migration
Output requirements:
- Length: 200 words maximum
- Format: Single paragraph with no headers
- Tone: Confident but realistic about timeline
- Must include: Specific downtime mitigation approach

The before version produced a generic 5-page proposal template. The after version gave me a compelling executive summary that addressed the client’s specific concern about downtime.

LinkedIn content

Before:

Write a LinkedIn post about AI in sales.

After:

You are a LinkedIn thought leader with 50K followers in the B2B sales space.
Write a post about AI's impact on sales prospecting.
Context:
- My experience: I use Claude daily for email personalization
- My opinion: AI helps but doesn't replace human judgment
- My goal: Drive engagement and comments
Output requirements:
- Length: 150 words maximum
- Format: Hook -> Personal story -> Counterintuitive insight -> Question
- Tone: Conversational, not salesy
- Must include: One specific example from my experience

The before version was a generic “AI is transforming sales” post. The after version generated a post that got 200+ comments because it included a specific, personal angle.

Why this works

I wanted to understand the mechanism behind role-based prompting, so I dug into how Claude processes prompts.

Without a role

When I write “write a prospecting email,” Claude has no reference frame. It generates what an “average” prospecting email looks like based on training data. This produces:

  • Generic opening lines
  • Multiple CTAs (the safe approach)
  • Feature lists instead of value propositions
  • Length that tries to cover all bases

With a role

When I write “you are a B2B cold email expert,” Claude activates patterns associated with that expertise:

  • Domain conventions (short, single CTA)
  • Industry vocabulary (“pain point” vs “problem”)
  • Best practices (AIDA structure, problem-focused)
  • Common mistakes to avoid (long intros, multiple asks)

The role provides a lens through which Claude interprets the rest of the prompt.

Common mistakes I made

Mistake 1: Skipping role definition

# WRONG: Jump straight to task
Write a sales email targeting enterprise VPs.
# CORRECT: Define role first
You are an enterprise sales copywriter who specializes in cold outreach.
Write a sales email targeting enterprise VPs.

The role changes everything about how Claude approaches the task.

Mistake 2: Using roles that are too broad

# WRONG: Too generic
You are an expert.
# BETTER: Still too broad
You are a marketing expert.
# CORRECT: Specific domain
You are a B2B SaaS email copywriter who specializes in enterprise outbound campaigns.

The more specific the role, the more targeted Claude’s domain knowledge activation.

Mistake 3: Providing context without constraints

# WRONG: Unlimited scope
You are a business analyst. Analyze this market.
# CORRECT: Bounded scope
You are a business analyst. Analyze this market in 300 words, focusing on
entry barriers only. Format as bullet points.

Without constraints, Claude defaults to comprehensive but unfocused output.

Mistake 4: Copying prompts without adaptation

I found prompt libraries online and copied them verbatim. They failed because the context variables didn’t match my situation.

# WRONG: Generic variables from prompt library
Write an email for [YOUR PRODUCT] targeting [TARGET AUDIENCE].
# CORRECT: Filled in with my specifics
Write an email for my CRM automation tool targeting Sales Ops managers
at companies with 50-500 employees who spend 10+ hours on manual data entry.

Mistake 5: Ignoring output format

# WRONG: No format specification
Create a competitive analysis.
# CORRECT: Explicit format
Create a competitive analysis formatted as:
1. Executive Summary (2 sentences)
2. Pricing Comparison (table format)
3. Feature Gaps (bullet points, max 5)
4. Recommendations (numbered list, max 3)

Without format specification, Claude guesses what structure you want.

Python helper for structured prompts

I created a Python helper to ensure I never skip the framework:

prompt_builder.py
from dataclasses import dataclass
from typing import Optional
@dataclass
class BusinessPrompt:
role: str
context: dict
output_format: str
constraints: list[str]
objective: str
def build(self) -> str:
"""Build a structured prompt from components."""
parts = [f"You are {self.role}."]
if self.context:
parts.append("\nContext:")
for key, value in self.context.items():
parts.append(f"- {key}: {value}")
parts.append(f"\nOutput requirements:")
parts.append(f"- Format: {self.output_format}")
for constraint in self.constraints:
parts.append(f"- {constraint}")
parts.append(f"\nObjective: {self.objective}")
return "\n".join(parts)
# Example usage
prompt = BusinessPrompt(
role="B2B cold email copywriter specializing in SaaS",
context={
"My product": "AI-powered CRM automation",
"Target": "VP of Sales at enterprise companies",
"Their problem": "Manual data entry consuming 10+ hours weekly",
},
output_format="Plain text email, no markdown",
constraints=[
"Maximum 120 words",
"One CTA only",
"Consultative tone, not salesy",
],
objective="Write the email body only. Do not include subject line.",
)
print(prompt.build())

Output:

You are a B2B cold email copywriter specializing in SaaS.
Context:
- My product: AI-powered CRM automation
- Target: VP of Sales at enterprise companies
- Their problem: Manual data entry consuming 10+ hours weekly
Output requirements:
- Format: Plain text email, no markdown
- Maximum 120 words
- One CTA only
- Consultative tone, not salesy
Objective: Write the email body only. Do not include subject line.

This helper ensures I always include all four components.

Measuring the improvement

I tracked my iteration counts before and after adopting this framework:

TaskBefore (iterations)After (iterations)
Cold emails5-61-2
Proposals4-51-2
Competitive analysis6-82-3
LinkedIn posts3-41

Average time saved per task: 10-15 minutes of back-and-forth.

Role prompting vs. system prompts

Role prompting in the user message is different from system prompts. System prompts are set by developers and define Claude’s base behavior. Role prompting in user messages activates domain-specific patterns for a single interaction.

Both can work together:

# System prompt (set by developer)
You are Claude, a helpful AI assistant.
# User prompt (role-based)
You are a B2B sales copywriter. Write a cold email...

The user prompt’s role takes precedence for that interaction.

When roles don’t help

Role prompting is less effective for:

  • Creative writing: “You are a novelist” doesn’t help as much as specific style examples
  • Mathematical problems: The role doesn’t change Claude’s reasoning capability
  • Factual questions: “What is the capital of France?” needs no role
  • Tasks requiring specific documents: If Claude needs to read your actual files, the role is secondary

The psychology of roles

This pattern works because language models are trained on human-written text from diverse domains. When you specify a role, you’re essentially selecting which subset of the training distribution to draw from.

“You are a financial analyst” pulls from financial reports, analyst notes, and investment memos. “You are a poet” pulls from poetry collections. The same model produces radically different outputs based on which expertise you invoke.

Summary

In this post, I showed how role-based prompting transformed my Claude outputs from generic to targeted. The key insight is that a precise role definition before your task specification activates domain-specific knowledge and conventions.

The framework is simple:

  1. Role: Define who Claude should be
  2. Context: Provide your specific situation
  3. Output: Specify format, length, and constraints
  4. Objective: State one clear goal

The difference in output quality is immediate and significant. What used to take 5-6 iterations now takes 1-2. For entrepreneurs and small businesses who need professional-quality outputs without hiring specialists, this technique is transformative.

Final Words + More Resources

My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me

Here are also the most important links from this article along with some further resources that will help you in this scope:

Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!

Comments