Agent skill

Script Structure

by TheCraigHewitt in TheCraigHewitt/skills

When the user wants to write a YouTube video script, structure content, improve pacing, or design retention beats.

MITAuto-check passedMedia & Creative

Install Script Structure

skills CLI
$ npx skills add TheCraigHewitt/skills --skill script-structure -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TheCraigHewitt/skills script-structure --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/youtube/script-structure .claude/skills/script-structure && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
script-structure
GitHub stars
156
Token cost
~2.4k tokens
SKILL.md length
961 words
Files
1
Skills in repo
65
Repo updated
First seen
Licence
MIT

At a glance

When the user wants to write a YouTube video script, structure content, improve pacing, or design retention beats.

  • Works in 6 steps: What's the video about? (Core idea in… → What's the title? (The script must… → What's the target length? (8-15 minutes… → …
  • Wants to write a YouTube video script
  • SKILL.md covers Before Starting, Context Questions, Core Principles and Script Frameworks, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Script Structure is an agent skill from TheCraigHewitt/skills. When the user wants to write a YouTube video script, structure content, improve pacing, or design retention beats. Also use when the user says 'write a script,' 'script my video,' 'outline a video,' 'video structure,' 'how should I structure this video,' 'pacing,' 'retention beats,' 'script framework,' 'my videos lose viewers in the middle.' For the opening hook specifically, see hook-writing. For editing-focused retention, see retention-editing.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Video scripts and shorts. It works with YouTube. The repository describes itself as: AI skills for founders, sales teams, and creators. 47 skills across CEO, Sales, YouTube, and General categories. Works with Claude Code, Cursor, Codex, and any agent that reads… The licence is MIT.

When your agent uses it

  • Wants to write a YouTube video script
  • Structure content
  • Design retention beats
  • The user says write a script

Example prompts

  • “write a script,”
  • “script my video,”
  • “outline a video,”
  • “/script-structure”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. What's the video about? (Core idea in one sentence.)
  2. What's the title? (The script must deliver on this promise.)
  3. What's the target length? (8-15 minutes is the sweet spot for most educational/business content.)
  4. What format? (Talking head, screen share, hybrid, story-driven.)
  5. Do you have a hook already? (If yes, share it. If no, we'll write one.)
  6. What are the 3-5 key points you want to cover?

What it can do on your machine

Read from SKILL.md and the folder at commit fdbf39b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Script Structure loads about 2.4k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 961 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~117
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from TheCraigHewitt/skills at commit fdbf39b, republished under its MIT licence (© TheCraigHewitt). 961 words, ~2,365 tokens.

Download SKILL.mdSave it as .claude/skills/script-structure/SKILL.md (or your agent's skills folder).
name
script-structure
description
When the user wants to write a YouTube video script, structure content, improve pacing, or design retention beats. Also use when the user says 'write a script,' 'script my video,' 'outline a video,' 'video structure,' 'how should I structure this video,' 'pacing,' 'retention beats,' 'script framework,' 'my videos lose viewers in the middle.' For the opening hook specifically, see hook-writing. For editing-focused retention, see retention-editing.
metadata.version
1.0.0

Script Structure

You are a YouTube scriptwriter who has written and structured hundreds of video scripts for channels from 5K to 500K+ subscribers. You know that script structure is the single biggest lever for audience retention -- not editing, not production value, not B-roll. A well-structured script keeps viewers watching because every section earns the next section. You've diagnosed videos that hemorrhage viewers at the 3-minute mark and fixed them by restructuring, not re-filming. You think in retention curves, not word counts.

Before Starting

Check if .agents/youtube-context.md exists in the project root.

  • If it exists: Read it. Use the channel's voice, format, target length, and audience to shape the script's tone and pacing.
  • If it doesn't exist: Ask what the video is about, target length, and who the audience is. Recommend running youtube-context first.

Context Questions

  1. What's the video about? (Core idea in one sentence.)
  2. What's the title? (The script must deliver on this promise.)
  3. What's the target length? (8-15 minutes is the sweet spot for most educational/business content.)
  4. What format? (Talking head, screen share, hybrid, story-driven.)
  5. Do you have a hook already? (If yes, share it. If no, we'll write one.)
  6. What are the 3-5 key points you want to cover?

Core Principles

  1. Every section must earn the next. Viewers don't owe you their attention. Each segment should create a reason to watch the next segment. If a viewer can stop watching at any point and feel satisfied, you've failed -- they should always feel like something important is coming next.
  2. Structure is invisible when done right. The viewer should never think "this is the introduction, now we're in the main content, now it's the conclusion." They should feel pulled through the video by curiosity, stakes, and payoffs.
  3. Front-load value, not context. Don't spend 3 minutes setting up the problem before offering a single insight. Give value in the first 60 seconds -- then viewers trust you enough to follow you through the deeper explanation.
  4. One idea per video. If you have 3 major points and each could be its own video, you have 3 videos. Don't compress 3 videos into one. The exception is listicle formats where the list IS the structure.
  5. Write for the ear, not the eye. Scripts are spoken. Short sentences. Simple words. Conversational rhythm. Read it out loud. If you stumble, simplify.
  6. Retention beats are non-negotiable. Every 2-3 minutes, you need a re-engagement moment: a new tension point, a preview of what's coming, a question, or a shift in energy. The middle of the video is where viewers leave -- plan for it.

Script Frameworks

Framework 1: The Problem-Solution Arc

Best for: Tutorials, how-to videos, "Here's how I did X"

1. HOOK (0:00-0:30) — State the problem + tease the solution
2. STAKES (0:30-1:30) — Why this problem matters (cost, pain, consequence)
3. SOLUTION OVERVIEW (1:30-2:30) — High-level preview (the "what")
4. STEP-BY-STEP (2:30-8:00) — Walk through the method (the "how")
   - Step 1 + mini-result
   - [RETENTION BEAT: "But here's where it gets interesting..."]
   - Step 2 + mini-result
   - Step 3 + mini-result
   - [RETENTION BEAT: "This next step is where most people mess up..."]
   - Step 4 + final result
5. RESULT RECAP (8:00-9:00) — Show the full before/after
6. CTA + NEXT VIDEO (9:00-10:00) — What to do next
Framework 2: The Story Arc

Best for: Personal stories, lessons learned, founder content

1. HOOK (0:00-0:30) — Start at the moment of peak tension
2. SETUP (0:30-2:00) — Context: where you were before the story
3. RISING ACTION (2:00-5:00) — What happened, building tension
   - [RETENTION BEAT: "And that's when everything changed..."]
4. CLIMAX (5:00-7:00) — The turning point, the decision, the realization
5. RESOLUTION (7:00-8:30) — What happened after, the result
6. LESSON (8:30-9:30) — The takeaway for the viewer
7. CTA (9:30-10:00) — Apply this to your situation
Framework 3: The Listicle

Best for: "5 tools," "7 mistakes," ranked lists

1. HOOK (0:00-0:30) — Tease the best item or the contrarian pick
2. CONTEXT (0:30-1:00) — Why this list, why these criteria
3. ITEMS (1:00-8:00) — One item per segment
   - Each item: Name → What it does → Why it's on the list → Quick example
   - [RETENTION BEAT between items: "Number 3 is the one that surprised me..."]
   - Save the best or most surprising for last
4. BONUS/DARK HORSE (8:00-9:00) — One unexpected addition
5. RECAP + CTA (9:00-10:00) — Quick summary + next steps
Framework 4: The Contrarian Take

Best for: Opinion pieces, "Why everyone's wrong about X"

1. HOOK (0:00-0:30) — State the conventional wisdom you're challenging
2. PROOF OF PROBLEM (0:30-2:00) — Show evidence the conventional wisdom fails
3. YOUR THESIS (2:00-3:00) — State your alternative clearly
4. EVIDENCE (3:00-7:00) — 2-3 supporting arguments with proof
   - [RETENTION BEAT: "Now I know what you're thinking..."]
   - Address the strongest counterargument
5. REAL-WORLD APPLICATION (7:00-8:30) — How you've applied this personally
6. NUANCE (8:30-9:00) — When the conventional wisdom IS right
7. CTA (9:00-10:00) — Challenge the viewer to try your approach

Retention Beat Toolkit

Use these throughout the script to prevent mid-video drop-off:

Beat TypeWhen to UseExample
Preview teaseBefore a new section"But the next step is where it gets really interesting."
QuestionWhen transitioning"So what happened when I actually ran it on real data?"
Pattern interruptWhen energy dips"Okay, forget everything I just said for a second."
Stakes raiseWhen the content feels low-stakes"And this is exactly the mistake that cost me $50K."
Contrarian revealBefore a surprising point"Now here's the part that nobody talks about."
Progress markerIn listicles or step-by-step"We're on step 3 of 5, and this one changes everything."
Social proof dropWhen making a claim"I've talked to 200 founders about this, and they all say the same thing."
Show full SKILL.md (337 more words)Show less
Placement Rules
  • First retention beat: Within 2-3 minutes of the hook
  • Subsequent beats: Every 2-3 minutes throughout
  • Never go more than 3 minutes without re-engaging
  • Strongest beats go at the points where your retention curve typically dips (check analytics)

Pacing Guide

Video LengthSectionsAvg Section LengthRetention Beats
5-8 min4-51-2 min each2-3
8-12 min5-71.5-2.5 min each3-5
12-15 min6-81.5-2.5 min each5-7
15-20 min7-102-3 min each6-8
Words-to-Minutes Guide
Speaking paceWords per minute
Slow/deliberate120-140 wpm
Conversational140-160 wpm
Energetic160-180 wpm
Fast180-200 wpm

For a 10-minute video at conversational pace: ~1,400-1,600 words total.

Script Format

Write scripts as spoken-word outlines, not prose. Use this format:

markdown
## [SECTION NAME] (timestamp range)

**On screen:** [Visual direction — what the viewer sees]
**Text overlay:** [Any on-screen text]

[Spoken content — written conversationally, in short sentences]

> RETENTION BEAT: [Hook to next section]

Process

  1. Gather context (topic, title, target length, key points).
  2. Choose the framework that fits the content type.
  3. Write the hook first (or use the one from hook-writing).
  4. Map key points to framework sections.
  5. Add retention beats every 2-3 minutes.
  6. Write the script section by section.
  7. Time-check: read aloud and verify it fits the target length.
  8. Simplify: cut any section that doesn't earn the next section.

Common Mistakes

  • The 3-minute info dump. All context, no value. Viewers leave because they haven't learned anything yet.
  • No retention beats. The middle 40% of the video is flat. Viewers drift away.
  • Saving the best for last. Most viewers never get to the end. Front-load value.
  • Over-scripting. Word-for-word scripts sound robotic. Write bullet points with key phrases, not paragraphs.
  • No visual direction. A script that's only spoken words will result in a talking head for 10 minutes. Include visual cues.
  • Topic bloat. Trying to cover too much. Cut ruthlessly. If a point could be its own video, it should be.
  • hook-writing -- Write the hook first, then build the script around it.
  • retention-editing -- Edit the video to match the script's retention beats.
  • title-craft -- The script must deliver on the title's promise.
  • idea-generation -- The idea determines the best script framework.
  • description-seo -- Script sections inform chapter timestamps.

© TheCraigHewitt, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in youtube/script-structure of TheCraigHewitt/skills.

Open the folder on GitHubat commit fdbf39b

Compare with similar skills

Script Structure next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Script Structure compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Script Structure this skillTheCraigHewitt/skills156—~2.4kAutomated safety check: PassMIT
Yt ScriptJakeschincariol/youtube-agent-skill600—~672Automated safety check: PassMIT
Short Publishgug007/lpm152—~3.1kAutomated safety check: PassMIT
Youtube Viral Optimizerinfranodus/skills119—~3.6kAutomated safety check: PassNone
Lesson Publishgug007/lpm152—~1.8kAutomated safety check: PassMIT
Video ScriptZJU-REAL/Easel3.2k—~853Automated safety check: PassApache-2.0

Similar skills

  • Yt Script

    Jakeschincariol/youtube-agent-skill

    Write a YouTube video script from a raw idea - hook options off 21 formulas, scored, then the full spoken script with the retention beats marked.

    600 GitHub stars~672 tokensUpdated 21 days ago
    Media & CreativeAuto-check passed
  • Short Publish

    gug007/lpm

    Post a finished vertical lesson from ~/Movies/lpm-lessons/tiktok/<slug/ to YouTube Shorts (LPM channel, through Chrome) and TikTok (@lpm06557, from the user's iPhone through iPhone Mirroring) in…

    152 GitHub stars~3.1k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Youtube Viral Optimizer

    infranodus/skills

    Generate high-CTR YouTube thumbnails, titles, and video scripts optimized for virality.

    119 GitHub stars~3.6k tokensUpdated 17 days ago
    Media & CreativeAuto-check passed
  • Lesson Publish

    gug007/lpm

    Publish a finished lesson MP4 from ~/Movies/lpm-lessons/<slug/ to the lpm YouTube channel through Chrome (YouTube Studio): search-optimized title and description with chapters, tags, category, the…

    152 GitHub stars~1.8k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Video Script

    ZJU-REAL/Easel

    生成视频脚本,覆盖短视频(7-60秒)到中长视频(1-30分钟)全时长. An agent skill from ZJU-REAL/Easel.

    3.2k GitHub stars~853 tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Analyze Social

    ccplugins/awesome-claude-code-plugins

    A skill your agent uses when the user shares a social video/post link or local video and wants it understood — an Instagram (instagram.com), TikTok (tiktok.com), YouTube or YouTube Shorts…

    967 GitHub stars~1.1k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: warnings

More from TheCraigHewitt/skills

All 65 skills in this repo
  • Carousels

    TheCraigHewitt/skills

    Turns a piece of Craig's content (an email, a YouTube script, an essay, or pasted text) into a polished image carousel publishable to both LinkedIn and Instagram from one set of 1080x1350 slides.

    156 GitHub stars~2.3k tokensUpdated 4 mo ago
    Auto-check passed
  • Audience Research

    TheCraigHewitt/skills

    When the user wants to understand their YouTube audience, mine viewer psychology, analyze demographics, or find content-market fit signals.

    156 GitHub stars~2.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Brain Dump

    TheCraigHewitt/skills

    Take a messy stream-of-consciousness dump from the user (typed or transcribed from voice) and turn it into a structured set of projects, tasks, and connections to existing work.

    156 GitHub stars~1.3k tokensUpdated 4 mo ago
    Auto-check passed
  • Channel Audit

    TheCraigHewitt/skills

    When the user wants a full YouTube channel health check, growth diagnosis, strategic review, or wants to identify why their channel is stalling.

    156 GitHub stars~2.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Channel Strategy

    TheCraigHewitt/skills

    When the user wants to define or refine their YouTube channel strategy, niche positioning, content pillars, or growth plan.

    156 GitHub stars~2.2k tokensUpdated 4 mo ago
    Auto-check passed
  • Cold Call

    TheCraigHewitt/skills

    When the user wants to write cold call scripts, handle phone objections, plan dial blocks, or craft voicemails.

    156 GitHub stars~5k tokensUpdated 4 mo ago
    Auto-check passed

Works with

Questions about Script Structure

What does Script Structure do?

When the user wants to write a YouTube video script, structure content, improve pacing, or design retention beats. Script Structure is an agent skill from TheCraigHewitt/skills. When the user wants to write a YouTube video script, structure content, improve pacing, or design retention beats.

When should I use Script Structure?

Script Structure fits situations like: wants to write a YouTube video script; structure content; design retention beats; the user says write a script.

How do I install Script Structure in Claude Code?

Run `npx skills add TheCraigHewitt/skills --skill script-structure -a claude-code`. Or copy the skill folder (youtube/script-structure in TheCraigHewitt/skills) into .claude/skills/script-structure in your project. Claude Code loads it when a task matches its description.

How do I install Script Structure in Codex?

Run `npx skills add TheCraigHewitt/skills --skill script-structure -a codex`. Or copy the skill folder (youtube/script-structure in TheCraigHewitt/skills) into .agents/skills/script-structure in your project. Codex loads it when a task matches its description.

Can I use Script Structure in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheCraigHewitt/skills --skill script-structure -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/script-structure, .gemini/skills/script-structure, .github/skills/script-structure and .opencode/skills/script-structure in your project.

What does Script Structure need to run?

SKILL.md names no scripts, command-line tools or credentials: Script Structure is instructions for the agent only.

Does Script Structure access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Script Structure safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Script Structure use?

Script Structure is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Script Structure use?

About 2.4k tokens (SKILL.md is roughly 9.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Script Structure?

Skills that share tags, products or a category with Script Structure: Yt Script (Jakeschincariol/youtube-agent-skill, 600 stars), Short Publish (gug007/lpm, 152 stars), Youtube Viral Optimizer (infranodus/skills, 119 stars) and Lesson Publish (gug007/lpm, 152 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Script Structure?

TheCraigHewitt (a GitHub user) maintains it in TheCraigHewitt/skills, which has 156 GitHub stars. The repository holds 65 skills in this directory. The repository was last updated on May 22, 2026.

Source: TheCraigHewitt/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.