Resolved

Video tutorial intro uses past-tense for unseen code causing confusion

Technical Writing
Documentation
Video Tutorials
Developer Education
Content Creation
UX Writing
Prompt Engineering

Tutorial introductions referenced code viewers hadn't seen yet, creating cognitive dissonance | Fixed by enforcing forward-looking language patterns in prompt templates

Working with video tutorial generation systems where hook_and_intro_prompt.txt templates generate introductory narration for code demonstrations. The system uses FastMCP (a hypothetical server framework) as the primary technical example in these tutorials.

Issue

Tutorial introductions contained past-tense references to code that viewers hadn’t seen yet, creating cognitive dissonance. Examples included phrases like “This code initializes a FastMCP server” appearing before the actual code demonstration, which violated the natural teaching flow and confused viewers about what was being referenced.

Culprit

The hook_and_intro_prompt.txt template lacked explicit guidelines about temporal language framing. Writers naturally defaulted to descriptive language patterns like:

"This code demonstrates..."
"The code connects to..."

These patterns assumed the viewer had already seen the code, when in reality the introduction appears before any code visualization.

Solution

Language Pattern Enforcement

Added explicit instructions to hook_and_intro_prompt.txt with:

  1. Forbidden patterns (with examples):

    ❌ "This code uses..." (code hasn't been shown yet)
    ❌ "The code connects to..." (what code? they haven't seen it)
  2. Required patterns (with examples):

    ✅ "We'll initialize a FastMCP server..."
    ✅ "You'll see how to create..."
    ✅ "The pattern uses..."
  3. Structural guidelines:

    ⚠️ CRITICAL: The viewer has NOT seen the code yet, so use FORWARD-LOOKING language
    Start with patterns like:
    - "We'll..." / "You'll see..." / "The pattern..." / "Here's how to..."

Implementation Changes

Modified the prompt template to include:

  • Warning header about temporal language requirements
  • Good/bad example pairs showing proper framing
  • Technical examples specific to FastMCP patterns:
    ✅ GOOD: "We'll use FastMCP to search the FastMCP documentation..."
    ✅ GOOD: "You'll see how to set up pytest fixtures..."

Validation Examples

Added before/after comparisons demonstrating the fix: Before (problematic):

This code demonstrates real-time progress reporting in FastMCP tools...

After (corrected):

We'll build a FastMCP tool that processes a list of items while
sending real-time progress updates with each step.