Foundations

Prompting for Writing and Content Creation

Lesson 1 of 4 Estimated Time 40 min

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:

DimensionBlog PostEmailSocial MediaAd CopySpecification
Length500-2000+ words50-200 words1-3 lines20-50 wordsVariable
ToneVariesProfessionalCasualPersuasiveTechnical
StructureIntro/body/conclusionGreeting/body/CTAHook/messageHook/benefit/CTASections
EngagementEducational/entertainingClear/usefulImmediateEmotionalFunctional
Call-to-actionImplicit or weakExplicitClick/sharePurchaseImplement

Each context demands different prompt parameters.

Analyzing Your Writing Needs

Before writing the prompt, answer:

  1. Format: What type of writing? (blog, email, copy, etc.)
  2. Audience: Who reads this? (C-suite, developers, customers, etc.)
  3. Purpose: Why are you writing it? (inform, persuade, entertain, etc.)
  4. Tone: How should it sound? (formal, casual, technical, playful, etc.)
  5. Length: How long should it be? (exact target or range)
  6. Structure: What sections or format? (outline, flow, etc.)
  7. 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:

  1. Goal: What is this round trying to accomplish?
  2. Prompt: The actual prompt you’d send
  3. 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:

  1. Predict what issues Round 1 might have
  2. Explain how Round 2 fixes them
  3. Note any bottlenecks in the process
  4. Suggest a 6th round for polish if needed

This exercise trains you to think in sequences rather than single prompts.