video-scripts
Use this skill when writing presenter notes and video scripts for course presentations. Provides techniques for conversational delivery, visual cue integration, pacing, and engagement. Trigger phrases include "video script", "presenter notes", "narration", "video delivery".
What this skill does
# Video Scripts - Presenter Notes for Developer Education Techniques for writing effective presenter notes that enable natural, engaging video delivery. ## Script Philosophy ### Conversational, Not Robotic **Don't write:** > "In this slide, we will examine the concept of pointers. A pointer is a variable that stores the memory address of another variable." **Do write:** > "So what exactly is a pointer? Think of it like a sticky note with an address written on it. It doesn't hold the actual data - it just tells you where to find it." ### Talking Points, Not Teleprompter Presenter notes should guide, not dictate. Write key points and transitions, letting the presenter fill in naturally. ```markdown <!-- Main idea: Pointers store addresses, not values Key analogy: Sticky note with house address - The note isn't the house - It tells you where to find the house - You can have multiple notes to the same address [click] Show the diagram - reinforce the mental model --> ``` --- ## Script Structure ### Opening Hook (30-60 seconds) Every video needs a hook in the first 30 seconds: **Problem Hook:** ```markdown <!-- [HOOK] Have you ever had your program crash with a mysterious "segmentation fault"? You're not alone. Memory errors are one of the most frustrating bugs to track down. Today, we're going to demystify what's happening under the hood... --> ``` **Question Hook:** ```markdown <!-- [HOOK] Quick question: What do you think happens when you write `int x = 5;`? Most people say "it stores 5 in x" - and that's partially right. But there's actually a lot more going on... --> ``` **Curiosity Hook:** ```markdown <!-- [HOOK] There's a feature in modern C++ that eliminates an entire category of bugs. And most codebases still aren't using it correctly. Let's fix that today... --> ``` ### Core Teaching Section Structure content in digestible chunks: ```markdown <!-- SECTION: What is a Smart Pointer? First, let's understand the problem it solves... [click] Show the manual memory example This is how we used to do it. Notice we have to remember to delete. [click] Show what happens when we forget Memory leak! The program keeps consuming memory until... [PAUSE] Let this sink in [click] Now show the smart pointer version See how the cleanup happens automatically? [TRANSITION] Now let's look at the different types... --> ``` ### Summary Section Reinforce learning with clear takeaways: ```markdown <!-- SUMMARY: Let's recap what we learned [click] First takeaway - make sure they got this This is the most important point. If you remember nothing else... [click] Second takeaway - practical application You'll use this pattern constantly in real code. [click] Third takeaway - common mistake to avoid I see this error in code reviews all the time. [PAUSE] Give them a moment [TRANSITION] Now for some practice... --> ``` --- ## Visual Cue Markers ### Animation Cues | Marker | Usage | |--------|-------| | `[click]` | Trigger next Slidev animation | | `[click:2]` | Skip 2 clicks worth of content | | `[ANIMATE]` | Complex animation is occurring | ```markdown <!-- Introduce the concept of ownership... [click] First bullet appears Ownership means one thing is responsible for cleanup. [click] Second bullet Only the owner can delete the resource. [click:2] Skip to the code example Now let's see this in action... --> ``` ### Visual Attention Cues | Marker | Usage | |--------|-------| | `[SHOW CODE]` | Direct attention to code block | | `[VISUAL CUE]` | Point to diagram or image | | `[HIGHLIGHT]` | Something is being highlighted | ```markdown <!-- [SHOW CODE] Look at line 5 Notice how we're using make_unique here. [VISUAL CUE] The diagram on the right shows memory layout See how the pointer and the data are in different locations? [HIGHLIGHT] This line is the key insight --> ``` ### Pacing Cues | Marker | Usage | |--------|-------| | `[PAUSE]` | Brief pause for emphasis | | `[SLOW]` | Slow down delivery | | `[TRANSITION]` | Moving to new topic | ```markdown <!-- And this is the critical insight... [PAUSE] Let that sink in [SLOW] Memory. Is. Not. Automatic. In. C++. [TRANSITION] Now that we understand the problem, let's look at the solution... --> ``` ### Audience Engagement Cues | Marker | Usage | |--------|-------| | `[QUESTION]` | Rhetorical question | | `[THINK]` | Prompt viewer to think | | `[EXAMPLE]` | Real-world example coming | ```markdown <!-- [QUESTION] So what happens when this function returns? Take a moment to think about it... [THINK] Where does the memory go? [EXAMPLE] Let me show you a real bug I found in production code... --> ``` --- ## Writing Techniques ### The Explain-Show-Explain Pattern 1. **Explain** the concept verbally 2. **Show** the code/diagram 3. **Explain** what they're seeing ```markdown <!-- First, let me explain what we're trying to do. We want to allocate memory that automatically cleans up. [click] Show the code Now look at this code. See how we use make_unique? The key here is that we never call delete ourselves. When ptr goes out of scope, cleanup happens automatically. --> ``` ### The Problem-Solution Pattern Present the pain before the cure: ```markdown <!-- Here's the old way - manual memory management. [click] Show problematic code See all these delete calls? Every single one is a potential bug. Miss one? Memory leak. Delete twice? Crash. Exception thrown? Memory leak. [PAUSE] [click] Now the modern way One line. Automatic cleanup. Exception safe. This is why smart pointers exist. --> ``` ### The Build-Up Pattern Start simple, add complexity: ```markdown <!-- Let's start with the simplest case. [click] Basic example Just creating a single integer. Nothing fancy. [click] Add a function call Now we're passing it to a function. Still straightforward. [click] Add exception handling Here's where it gets interesting. What if process() throws? [click] Show the problem See the leak? The delete never runs! [click] Show the solution Smart pointer handles this automatically. --> ``` --- ## Tone Guidelines ### Be Conversational | Instead of... | Say... | |---------------|--------| | "We will now examine..." | "Let's look at..." | | "It should be noted that..." | "Here's the thing..." | | "The implementation details..." | "Under the hood..." | | "In conclusion..." | "So what's the takeaway?" | ### Be Empathetic Acknowledge difficulty: ```markdown <!-- This part trips up a lot of people, so don't worry if it doesn't click immediately. Let me show you a different way to think about it... --> ``` Celebrate progress: ```markdown <!-- If you understood that, you've already grasped the hardest part. The rest is just variations on this theme. --> ``` ### Be Direct Get to the point: ```markdown <!-- Three rules for smart pointers: One: Use unique_ptr by default. Two: Use shared_ptr when you need shared ownership. Three: Never use raw new. That's it. Those three rules will prevent most memory bugs. --> ``` --- ## Pacing Guidelines ### Target Video Length: 10-15 minutes | Section | Time | Slides | |---------|------|--------| | Hook/Intro | 30-60s | 1-2 | | Main Content | 8-12min | 10-20 | | Summary | 1-2min | 2-3 | | Call to Action | 30s | 1 | ### Words Per Slide - **Concept slides:** 100-150 words of notes - **Code slides:** 50-100 words (code speaks) - **Summary slides:** 75-100 words ### Clicks Per Slide - **Aim for:** 2-4 clicks per content slide - **Maximum:** 6-7 clicks (more gets confusing) - **Code reveals:** 3-5 steps typically --- ## Common Patterns ### The "Before We Start" Setup ```markdown <!-- Before we dive in, let me set some context. We're assuming you know basic C++ syntax. If terms like "stack" and "heap" are new, check out our memory basics video first. Ready? Let's go. --> ``` ### The "Common Mistake" Warning ```markdown <!-- [QUESTION] Now here's where most people go wrong. [click] Show the bad code This looks
Related in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.