Prompting for Writing and Content Creation
Prompting for Writing and Content Creation
Writing is one of the most practical applications of LLMs. Whether you’re generating blog posts, emails, social media copy, or product descriptions, the principles are similar: guide the model toward specific style, tone, structure, and content. The challenge is that “write a blog post” is vague. “Write a 1,200-word blog post about remote work for startup founders, using conversational tone, structured with an intro, 4 main sections, and a conclusion, including at least one data point per section” is actionable. You’re going to learn how to write prompts that produce publication-ready content.
Understanding Writing Contexts and Constraints
Before you write a prompt for content, you need clarity on context.
The Writing Dimensions
Different writing requires different treatment:
| Dimension | Blog Post | Social Media | Ad Copy | Specification | |
|---|---|---|---|---|---|
| Length | 500-2000+ words | 50-200 words | 1-3 lines | 20-50 words | Variable |
| Tone | Varies | Professional | Casual | Persuasive | Technical |
| Structure | Intro/body/conclusion | Greeting/body/CTA | Hook/message | Hook/benefit/CTA | Sections |
| Engagement | Educational/entertaining | Clear/useful | Immediate | Emotional | Functional |
| Call-to-action | Implicit or weak | Explicit | Click/share | Purchase | Implement |
Each context demands different prompt parameters.
Analyzing Your Writing Needs
Before writing the prompt, answer:
- Format: What type of writing? (blog, email, copy, etc.)
- Audience: Who reads this? (C-suite, developers, customers, etc.)
- Purpose: Why are you writing it? (inform, persuade, entertain, etc.)
- Tone: How should it sound? (formal, casual, technical, playful, etc.)
- Length: How long should it be? (exact target or range)
- Structure: What sections or format? (outline, flow, etc.)
- Constraints: What to include/exclude? (must-haves, taboos, etc.)
Example: Analyzing a Blog Post
Format: Blog post
Audience: Software engineers considering freelancing
Purpose: Persuade that freelancing is viable; provide strategies
Tone: Conversational but credible (not preachy)
Length: 1,500 words (approximately)
Structure:
- Hook/intro (the appeal of freelancing)
- 3 main challenges (and how to overcome)
- 1 success story/example
- Conclusion with actionable steps
Constraints:
- Must include pricing guidance (to be credible)
- Should address common fears (steady income, isolation)
- Avoid "anyone can do it" messaging (unrealistic)
Now the prompt will be much more specific.
Crafting Prompts for Different Writing Styles
Style 1: Conversational Blog Posts
For blog posts aiming to educate and engage:
CONTEXT:
You are a technical blogger writing for software engineers. Your style:
- Conversational but credible (like talking to a smart peer)
- Use "you" and "we" liberally
- Include personal experience or examples where relevant
- Assume baseline technical knowledge but explain new concepts
TASK:
Write a blog post: "[Title]"
REQUIREMENTS:
- Length: 1,500 words (±10%)
- Include section headers (H2)
- Start with a strong hook that addresses reader's pain point
- Include 1-2 concrete examples or code snippets
- End with actionable takeaways (bulleted list)
- Conversational tone: as if explaining to a colleague
WHAT TO AVOID:
- Generic opening ("In today's world...")
- Over-explanation of basics
- Lengthy preamble before getting to the point
- Clickbait or hyperbole
Style 2: Professional Emails
For emails that need to be clear, brief, and action-oriented:
CONTEXT:
You are writing a professional email to [recipient type]. Tone: friendly but
businesslike. Goal: Clear communication + specific ask.
TASK:
Write an email: [Subject or brief description]
REQUIREMENTS:
- Length: 100-150 words (concise)
- Structure:
- Greeting: Use recipient's name
- Opening: Brief context (1-2 sentences)
- Body: The main point or ask (1-2 paragraphs)
- CTA: What do you want them to do? (1 sentence, explicit)
- Closing: Professional but warm
- NO: Long preambles, unclear asks, unnecessary context
TONE GUIDANCE:
- Professional: Use proper grammar and punctuation
- Warm: Use friendly language, acknowledge their time
- Direct: Say what you want, don't bury the ask
EMAIL CONTENT:
[Provide details: to whom, about what, what you're asking]
Style 3: Social Media Copy
For tweets, LinkedIn posts, and social updates:
CONTEXT:
You are writing social media copy for [platform]. Platform specifics:
- Twitter/X: 280 character max, punchy, withit humor acceptable
- LinkedIn: 1-3 paragraphs, professional, thought-leadership
- Instagram: Visual-focused, 3-5 short lines, emoji-friendly
- TikTok: Casual, trendy, fast-paced
TASK:
Write a [platform] post about: [topic/announcement]
REQUIREMENTS:
- Audience: [describe your audience]
- Goal: [engagement, clicks, shares, awareness]
- Hook: First line must stop scrolling (curiosity, relatability, surprise)
- Include: [any hashtags, @mentions, calls-to-action]
- Avoid: [spam language, all caps, generic praise, clichés]
EXAMPLES (for reference of desired style):
- [Example 1]
- [Example 2]
Style 4: Marketing/Ad Copy
For landing pages, emails, and ads:
CONTEXT:
You are writing persuasive marketing copy. Goal: Drive [action: signup, purchase, trial].
Audience: [Who is this for? What problem do they have?]
PRODUCT/OFFER:
[Describe what you're selling in 1-2 sentences]
KEY BENEFITS:
[List 3-5 benefits, not features]
UNIQUE ANGLE:
[What makes this different from competitors?]
TASK:
Write ad copy: [headline/CTA/section]
REQUIREMENTS:
- Length: [exact word count]
- Hook immediately: Lead with benefit, not feature
- Create urgency: [if applicable: limited time, scarcity, etc.]
- Include social proof: [if available: testimonials, data, numbers]
- Clear CTA: Make the action explicit and easy
WHAT TO AVOID:
- Jargon your audience doesn't use
- Claims you can't back up
- Long paragraphs (break into short sentences)
- Multiple CTAs (one main ask)
The Iterative Refinement Workflow for Long-Form Content
Long-form writing rarely works perfectly on first try. You need a systematic iteration process.
Iteration Loop for Blog Posts
ROUND 1: Generate the draft
- Prompt: Task, requirements, basic structure
- Output: First draft
- Check: Does it hit the basics? Right length? Right topic?
ROUND 2: Polish structure and flow
- Prompt: "Review the draft. Is the flow logical? Does it build well?
Suggest improvements to structure. Rewrite with better transitions."
- Output: Revised draft
- Check: Does it flow? Are sections connected? Does the argument build?
ROUND 3: Deepen examples and evidence
- Prompt: "Add more concrete examples and data to support claims.
Include at least 2 specific examples per section. Make abstract ideas
concrete."
- Output: Enhanced draft
- Check: Are examples relevant? Do they support the points?
ROUND 4: Fix tone and voice
- Prompt: "Review tone. It should be conversational and credible, not
preachy. Tighten language, remove jargon, make it sound more like
talking to a peer."
- Output: Polished draft
- Check: Does it sound natural? Would you read this?
ROUND 5: Final pass for polish
- Prompt: "Do a final edit: fix any awkward sentences, tighten word choice,
ensure consistency. Check for typos or unclear phrases."
- Output: Final draft
- Check: Is it publication-ready?
Code Example: Iterative Blog Post Writing
import anthropic
class BlogPostWriter:
def __init__(self):
self.client = anthropic.Anthropic()
def generate_draft(self, topic, requirements):
"""Round 1: Generate initial draft"""
prompt = f"""
Write a blog post about: {topic}
Requirements:
{requirements}
Focus on hitting the key points and structure. Don't worry about
perfection yet.
"""
response = self.client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=2000,
messages=[{"role": "user", "content": prompt}]
)
return response.content[0].text
def improve_structure(self, draft):
"""Round 2: Improve flow and structure"""
prompt = f"""
Review this blog post draft for structure and flow:
{draft}
Rewrite it with:
- Better transitions between paragraphs
- Clearer section connections
- Stronger narrative arc
- Better opening hook
Return the rewritten version.
"""
response = self.client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=2000,
messages=[{"role": "user", "content": prompt}]
)
return response.content[0].text
def add_examples(self, draft):
"""Round 3: Add concrete examples"""
prompt = f"""
Enhance this blog post with concrete examples and evidence:
{draft}
Add:
- Specific, real-world examples (not made up)
- Data points or statistics where relevant
- Code snippets or screenshots if applicable
Return the enhanced version.
"""
response = self.client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=2000,
messages=[{"role": "user", "content": prompt}]
)
return response.content[0].text
def polish_tone(self, draft):
"""Round 4: Fix tone and voice"""
prompt = f"""
Polish this blog post for tone and voice:
{draft}
Rewrite so it sounds:
- Conversational (like talking to a peer)
- Credible (not preachy or salesy)
- Clear (avoid jargon, explain technical terms)
- Engaging (keep reader interested)
Return the polished version.
"""
response = self.client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=2000,
messages=[{"role": "user", "content": prompt}]
)
return response.content[0].text
def final_polish(self, draft):
"""Round 5: Final editing"""
prompt = f"""
Final polish of this blog post. Fix:
- Grammar and spelling
- Awkward phrasing
- Redundancy
- Word choice clarity
- Punctuation
Return the final, publication-ready version.
{draft}
"""
response = self.client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=2000,
messages=[{"role": "user", "content": prompt}]
)
return response.content[0].text
def write_complete(self, topic, requirements):
"""Run the full iteration loop"""
print("ROUND 1: Generating draft...")
draft = self.generate_draft(topic, requirements)
print(f"Draft length: {len(draft)} characters")
print("\nROUND 2: Improving structure...")
draft = self.improve_structure(draft)
print("\nROUND 3: Adding examples...")
draft = self.add_examples(draft)
print("\nROUND 4: Polishing tone...")
draft = self.polish_tone(draft)
print("\nROUND 5: Final polish...")
draft = self.final_polish(draft)
return draft
# Usage
writer = BlogPostWriter()
topic = "How to write effective prompts for LLMs"
requirements = """
- Length: 1,500 words
- Audience: Software engineers learning prompt engineering
- Structure: Intro, 3 main techniques, examples, conclusion
- Include code examples
- Tone: Conversational and educational
"""
final_post = writer.write_complete(topic, requirements)
print("\n" + "="*80)
print("FINAL POST:")
print("="*80)
print(final_post)
Using Content Frameworks Via Prompts
You can leverage pre-existing content frameworks by instructing the model to follow them.
Framework 1: AIDA (Attention, Interest, Desire, Action)
Used for marketing and persuasive writing:
FRAMEWORK: AIDA
A - ATTENTION (Hook): [Open with something that captures reader attention]
I - INTEREST (Problem): [Explain why they should care]
D - DESIRE (Solution): [Show the benefits of your solution]
A - ACTION (CTA): [Tell them what to do next]
TASK:
Write product copy following AIDA structure for: [product]
Each section: 2-3 sentences max.
Make it punchy and compelling.
Framework 2: PAS (Problem, Agitate, Solution)
P - PROBLEM: State the reader's pain point clearly
A - AGITATE: Deepen emotional connection to the problem
S - SOLUTION: Present your solution as the obvious answer
TASK:
Write copy for: [offering]
Structure as:
1. Open with the problem your audience faces
2. Agitate: Make them feel the pain acutely
3. Present solution: How you fix it
Framework 3: Storytelling (Hero’s Journey Simplified)
STRUCTURE:
1. Situation: Introduce the hero (reader) in their normal world
2. Challenge: Introduce the problem/opportunity
3. Discovery: Introduce your solution
4. Transformation: Show how the solution changes things
5. New normal: The improved state with your solution
TASK:
Write a customer success story following this arc: [details]
Make it relatable and inspiring.
Editing Prompts: Grammar, Tone, Restructuring
Once you have a draft, you often need to edit it. Use targeted editing prompts.
Editing Prompt: Grammar and Style
TASK: Edit this text for grammar, clarity, and style.
TEXT:
[Content to edit]
REQUIREMENTS:
- Fix grammar and spelling
- Shorten overly long sentences
- Replace jargon with clear language
- Fix passive voice (make it active)
- Remove redundancy
- Maintain original meaning and tone
RETURN: Corrected text only
Editing Prompt: Tone Adjustment
Change the tone of this text from [current tone] to [desired tone].
CURRENT TEXT:
[Text]
DESIRED TONE: [target tone description]
Examples of desired tone:
- [Example 1]
- [Example 2]
RETURN: Rewritten text with new tone, same content
Editing Prompt: Restructuring
Reorganize this content for better flow and clarity.
CURRENT STRUCTURE:
[Paste the text]
GOALS:
- Move [section A] to be more prominent
- Combine [sections B and C]
- Add transitions between sections
- Strengthen the conclusion
- Keep total length the same
RETURN: Restructured version
Key Takeaway
Writing prompts need to specify format, audience, tone, length, structure, and constraints. Different writing types (blog, email, social, ad) need different prompts. Iterative refinement through multiple rounds of editing produces publication-ready content. Pre-existing frameworks (AIDA, PAS, storytelling) can guide structure. Targeted editing prompts handle specific improvements.
Exercise: Generate a Complete Blog Post Using Iterative Prompts
Your task is to write a multi-round prompt sequence for a blog post.
The Scenario
You’re marketing a project management tool. You need a blog post to attract startup founders:
Topic: “How to Choose the Right Project Management Tool for Your Startup” Audience: Technical founders (non-business people) at early-stage startups Goal: Educate + eventually lead to trying your tool Tone: Helpful, honest, practical
Your Task
Create a 5-round prompt sequence:
For each round, write:
- Goal: What is this round trying to accomplish?
- Prompt: The actual prompt you’d send
- Success criteria: How would you know this round worked?
Template
## Round 1: Generate Draft
**Goal**: Get content down on the page with right structure
**Prompt**:
[Write the full prompt]
**Success Criteria**:
- Covers the 3 main considerations
- Right length (approximately)
- Includes examples
- Clear structure
---
## Round 2: [Next round]
...
Bonus Challenge
After designing your 5-round sequence:
- Predict what issues Round 1 might have
- Explain how Round 2 fixes them
- Note any bottlenecks in the process
- Suggest a 6th round for polish if needed
This exercise trains you to think in sequences rather than single prompts.