Agent skill

Youtube Packaging

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when writing or fixing the text that ships with a YouTube upload — title, description, tags, hashtags and chapters — when click-through is weak and the words are the suspect…

MITAuto-check passedAgent Workflows

Install Youtube Packaging

skills CLI
$ npx skills add ericrisco/rsc-harness --skill youtube-packaging -a claude-code

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

GitHub CLI
$ gh skill install ericrisco/rsc-harness youtube-packaging --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/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/youtube-packaging .claude/skills/youtube-packaging && 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
youtube-packaging
GitHub stars
174
Token cost
~2.9k tokens
SKILL.md length
1,403 words
Files
5 (incl. scripts, references)
Skills in repo
233
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when writing or fixing the text that ships with a YouTube upload — title, description, tags, hashtags and chapters — when click-through is weak and the words are the suspect…

  • Works in 6 steps: A title SET — 2-3 titles, never one.… → A description block — above-the-fold… → A tag list — 5-8 tags, first = exact… → …
  • Fixing the text that ships with a YouTube upload — title
  • SKILL.md covers What you produce, Ground first (STOP gate), The title and The description, plus 7 more sections
  • Runs Shell scripts from its folder

What it does

Youtube Packaging is an agent skill from ericrisco/rsc-harness. Use when writing or fixing the text that ships with a YouTube upload — title, description, tags, hashtags and chapters — when click-through is weak and the words are the suspect, or when closing the loop on what last performed. NOT designing the thumbnail image (that is youtube-thumbnails), NOT inventing the idea or angle (that is youtube-ideation), NOT the channel growth plan (that is youtube-strategy), NOT pushing the fields via the Data API (that is youtube-api).

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/description-and-chapters.md`).

It sits in Agent Workflows, covering Brainstorming. It works with YouTube. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • Fixing the text that ships with a YouTube upload — title
  • Hashtags and chapters — when click-through is weak and the words are the suspect
  • Closing the loop on what last performed

Example prompts

  • “/youtube-packaging”

Requirements

  • Python 3
  • A Bash shell

Workflow steps

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

  1. A title SET — 2-3 titles, never one. (Why: YouTube tests titles, so you
  2. A description block — above-the-fold line + body + links + hashtag line.
  3. A tag list — 5-8 tags, first = exact target phrase.
  4. A hashtag line — 3-5 hashtags inside the description.
  5. A chapter list — timestamps that obey four exact rules.
  6. A feedback-log update in 02-DOCS — what you tried, what won, the numbers.

What it can do on your machine

Read from SKILL.md and the folder at commit e3d5b33. 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

    Ships 1 file in scripts/ (Shell), which the agent can run.

    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

Youtube Packaging loads about 2.9k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 124 tokens; SKILL.md has 1,403 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~124
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.8k

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); the scripts in this folder are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,403 words, ~2,916 tokens.

Download SKILL.mdSave it as .claude/skills/youtube-packaging/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
youtube-packaging
description
Use when writing or fixing the text that ships with a YouTube upload — title, description, tags, hashtags and chapters — when click-through is weak and the words are the suspect, or when closing the loop on what last performed. NOT designing the thumbnail image (that is `youtube-thumbnails`), NOT inventing the idea or angle (that is `youtube-ideation`), NOT the channel growth plan (that is `youtube-strategy`), NOT pushing the fields via the Data API (that is `youtube-api`).
tags
youtube, video-seo, titles, descriptions, chapters
recommends
youtube-thumbnails, youtube-ideation, youtube-strategy, youtube-api, video-shorts, seo-geo, social-publisher
origin
risco

YouTube packaging

You write the text that ships with the upload — title, description, tags, hashtags, chapters — and you optimize it against what actually performed, not against a hunch. A strong video dies on a weak package. You are not the picture, not the idea, not the channel plan, and not the API that uploads any of it.

What you produce

Five concrete text artifacts plus one feedback entry, every time:

  1. A title SET — 2-3 titles, never one. (Why: YouTube tests titles, so you ship a hypothesis to measure, not a guess to defend.)
  2. A description block — above-the-fold line + body + links + hashtag line.
  3. A tag list — 5-8 tags, first = exact target phrase.
  4. A hashtag line — 3-5 hashtags inside the description.
  5. A chapter list — timestamps that obey four exact rules.
  6. A feedback-log update in 02-DOCS — what you tried, what won, the numbers.

Co-ownership note, up front: YouTube tests the title+thumbnail pair as ONE unit. The title hypothesis to test is co-owned with youtube-thumbnails; the wordsmithing of the title and all other metadata lives here. Draw the image there, write the words here.

Ground first (STOP gate)

Before you write a single title, read the channel. Skipping this is how you produce generic copy in someone else's voice.

  • Read 02-DOCS/wiki/youtube/ for the channel's brand voice, prior packages, and the performance feedback log (winners and losers from past tests).
  • Pull the decided idea/angle from youtube-ideation output if it exists.
  • No decided topic/angle yet? Route OUT to youtube-ideation. Never invent the topic here. (Why: packaging a video with no settled angle is guessing at the hook, the keyword, and the audience all at once.)

Persist what you write under 02-DOCS/wiki/youtube/ (the package) and raw test results under 02-DOCS/raw/youtube/. 02-DOCS/wiki/ is an OKF v0.1 bundle: every package or log file persisted there carries YAML frontmatter with a non-empty type (youtube-package) plus the OKF surface (title, description, tags, timestamp) shared with the strategy/thumbnail/api siblings, and all cross-references use standard markdown links — never [[wikilinks]]. The OKF frontmatter shape for the persisted package and log is in references/description-and-chapters.md.

The title

The single highest-leverage field. Rules, each with one reason:

  • Hard limit 100 chars; visible budget ~60. Titles truncate around 60-70 chars on desktop and ~50-60 on mobile. The most compelling words + the primary keyword must land in the first ~60 chars / first 5 words — everything after that may never be seen.
  • Front-load the keyword and the hook. Shape: Hook + Keyword + Benefit inside the first 60 chars. Channels report 15-25% higher CTR for titles kept in the 60-70 char range.
  • Use numbers and specificity. Titles with numbers report ~20-30% higher CTR; a parenthetical qualifier (year, difficulty, format) adds precision without burning the budget.
  • Emit a SET of 2-3 titles framed as an A/B hypothesis — never ship one. Test & Compare auto-applies the variant with the highest watched time per impression, not raw CTR. (Why this matters: a clickbait title that wins the click but loses the viewer will LOSE the test. Write for the click AND the stay.)

Bad -> Good (front-load, cut the filler, add specificity):

text
Bad   In this video I'll show you how to learn Python
Good  Learn Python in 2026: 12-Minute Beginner Tutorial

Bad   My honest thoughts after using the new framework for a while
Good  I Shipped 3 Apps on This Framework — Here's the Verdict

Bad   Tips for better sleep that actually work I promise
Good  7 Sleep Fixes That Doubled My Deep Sleep (No Pills)

Decide the title shape by how the video will be found — this is a real branch:

Discovery modeTitle shapeExample
Search-led (tutorial, how-to, "best X")Keyword first, literal, benefit-clearFix Slow Next.js Builds: 5 Proven Steps
Browse-led (commentary, vlog, story)Curiosity/stakes first, keyword secondaryI Rebuilt My App and Regretted Everything

Search-led titles answer a query; browse-led titles win a scroll. Most videos lean one way — pick it deliberately, then write the set inside that shape.

The description

Only the first ~125 chars are above the fold — the rest hides behind "Show more" and is unseen by most viewers.

  • First 1-2 lines (~100-150 chars): primary keyword + who-it's-for. This is the one part that shows in search and the watch page before the fold. Spend it on substance, not "Welcome to my channel."
  • Body: ~200-350 words of natural, keyword-rich prose. No stuffing. Write for a human; weave the keyword and 1-2 variants in naturally. Keyword lists read as spam and help nothing.
  • Links block (resources, socials, gear) then the 3-5 hashtag line.
  • One clear CTA (subscribe / next video / comment prompt).

The full template + a fully filled example live in references/description-and-chapters.md.

Chapters

Chapters obey four exact rules. Break any one and YouTube ignores ALL chapters. Run this checklist on every chapter block:

  • At least 3 timestamps.
  • The first timestamp is 00:00. (This is the silent killer — omit 0:00 and every later timestamp is discarded.)
  • Each chapter is at least 10 seconds long.
  • Timestamps are in ascending order.

Compliant block:

text
00:00 Intro — what you'll build
00:42 Installing the tools
03:15 Writing your first function
07:50 Debugging the common error
11:20 Recap & next steps

Why bother: chapters lift watch time and give search a jump-to target. The four failure cases worked through line by line are in references/description-and-chapters.md.

Tags & hashtags

Different fields, different rules — and one of them barely matters:

FieldCountPlacementWeight
Tags5-8 (up to 10-20), ~500-char budgetthe Tags input boxminimal ranking impact; first tag weighted slightly more
Hashtags3-5 relevant; max 15inside the descriptionfirst 3 render above the title; >15 = ALL stripped
  • Tags: make the first tag the exact target phrase; do not over-invest. YouTube calls tags' discovery role "minimal" — they mainly fix misspellings and disambiguate. Spend 2 minutes here, not 20.
  • Hashtags: pick 3-5 relevant ones; never exceed 15. Only the first three show above the title, so order them best-first. Exceed 15 and YouTube strips every hashtag — you get zero, not 15.
Show full SKILL.md (506 more words)Show less

The learning loop

This is what makes the skill learn instead of guess. Because Test & Compare measures variant performance directly, every package is logged and graded.

Read before you write. Open the feedback log in 02-DOCS/wiki/youtube/ and carry forward what won as priors: if numeric titles beat curiosity titles 3 tests running on this channel, the new set leans numeric. If a hashtag set tanked, drop it.

Append after you test. One row per test, into 02-DOCS/wiki/youtube/packaging-log.md (OKF v0.1: file-level type: youtube-package frontmatter at the top, the table below it, newest rows appended, past rows immutable):

text
| date | video | title set tried | winner | CTR | impressions | avg view duration | note |

The cycle: read winners/losers -> write the new package as informed priors -> ship the A/B set -> when Test & Compare resolves (~2 weeks), append the result -> the next package is a little less of a guess. The full schema with a filled row is in references/description-and-chapters.md.

Grade by watched-time-per-impression, not raw CTR. A title can win clicks and still lose the test by losing viewers. Log both so the lesson is honest.

Handoffs

Stay inside the text fields. Everything else routes out:

AskOwner
Design/generate the thumbnail imageyoutube-thumbnails
Come up with the idea / topic / angleyoutube-ideation
Channel growth plan, niche, cadenceyoutube-strategy
Upload/update metadata via the Data APIyoutube-api
Cross-platform short caption/hook (TikTok/Reels)video-shorts
Keyword research for web/AI search (not YouTube)seo-geo
Schedule/publish the post to socialssocial-publisher

The tell: if the ask is the text fields of the YouTube upload, it is here. The picture, the idea, the channel plan, the API call — each is a sibling.

Anti-patterns

Anti-patternWhy it failsDo instead
"In this video I'll show you…" openerBurns the visible ~60-char budget on fillerFront-load keyword + hook in the first 5 words
Shipping ONE titleNo hypothesis, nothing to learnAlways a SET of 2-3 for Test & Compare
Keyword-stuffing the descriptionReads as spam, helps nothing~200-350 words of natural prose, keyword woven in
Clickbait the video can't cashWins the click, loses the viewer, LOSES the A/BPromise what the video delivers
Chapters with no 00:00 / <3 / <10s / out of orderYouTube silently ignores ALL chaptersRun the four-rule checklist
>15 hashtagsYouTube strips every one — you get zero3-5 relevant, best three first
Obsessing over tagsThey have minimal ranking impact5-8, first = target phrase, move on
Ignoring the feedback logEvery package stays a fresh guessRead prior winners, carry them as priors
Optimizing CTR while view duration tanksTest & Compare scores watched-time-per-impressionLog both; write for click AND stay

Verify

Run scripts/verify.sh on an emitted package file (the title set, description, tags, hashtags, and chapters as one structured block). It is read-only and lints the mechanical constraints: ≥2 titles, each ≤100 chars; above-the-fold first line present and not over-long; ≥3 chapters with first 0:00, ascending, ≥10s gaps; 1-15 hashtags; tags within the ~500-char budget. A clean or empty file exits 0.

See also

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

Files

SKILL.md and 4 other files (scripts, references) in skills/youtube-packaging of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/description-and-chapters.md
  • scripts/verify.sh

Open the folder on GitHubat commit e3d5b33

Compare with similar skills

Youtube Packaging 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.

Youtube Packaging compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Youtube Packaging this skillericrisco/rsc-harness174—~2.9kAutomated safety check: PassMIT
Video Copy AnalyzerALBEDO-TABAI/video-copy-analyzer209—~1.9kAutomated safety check: PassMIT
Idea GenerationTheCraigHewitt/skills157—~2.2kAutomated safety check: PassMIT
Yt Ideationjeremylongshore/tons-of-skills-marketplace2.8k—~1.6kAutomated safety check: PassMIT
Viral Titlekangarooking/kangarooking-skills661—~1.7kAutomated safety check: PassNone
Yt Briefjeremylongshore/tons-of-skills-marketplace2.8k—~1.5kAutomated safety check: PassMIT

Similar skills

  • Video Copy Analyzer

    ALBEDO-TABAI/video-copy-analyzer

    视频文案分析一站式工具。下载在线视频(B站/YouTube/抖音等)、使用FunASR进行高速中文语音转录、 自动校正文稿、并进行三维度综合分析(TextContent/Viral/Brainstorming)。

    209 GitHub stars~1.9k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Idea Generation

    TheCraigHewitt/skills

    When the user wants to brainstorm YouTube video ideas, score existing ideas, validate topic choices, or batch-generate content concepts.

    157 GitHub stars~2.2k tokensUpdated 4 mo ago
    Agent WorkflowsAuto-check passed
  • Yt Ideation

    jeremylongshore/tons-of-skills-marketplace

    Generate and validate YouTube video ideas aligned with content pillars, audience strategy, and priority tiers.

    2.8k GitHub stars~1.6k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Viral Title

    kangarooking/kangarooking-skills

    Generate high-potential viral title candidates for content across WeChat public account articles, X/Twitter posts, YouTube videos, Bilibili videos, and similar content platforms.

    661 GitHub stars~1.7k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Yt Brief

    jeremylongshore/tons-of-skills-marketplace

    Refine a YouTube video idea into a structured production brief with angle, key points, value proposition, CTA asset, and audience segment.

    2.8k GitHub stars~1.5k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Brainstorming

    xpinjection/test-driven-spring-boot

    You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.

    112 GitHub starsUsed in 54 repos~2.6k tokens
    Agent WorkflowsAuto-check passed

More from ericrisco/rsc-harness

All 233 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    174 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    174 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    174 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    174 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    174 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    174 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Youtube Packaging

What does Youtube Packaging do?

A skill your agent uses when writing or fixing the text that ships with a YouTube upload — title, description, tags, hashtags and chapters — when click-through is weak and the words are the suspect…. Youtube Packaging is an agent skill from ericrisco/rsc-harness. Use when writing or fixing the text that ships with a YouTube upload — title, description, tags, hashtags and chapters — when click-through is weak and the words are the suspect, or when closing the loop on what last performed.

When should I use Youtube Packaging?

Youtube Packaging fits situations like: fixing the text that ships with a YouTube upload — title; hashtags and chapters — when click-through is weak and the words are the suspect; closing the loop on what last performed.

How do I install Youtube Packaging in Claude Code?

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

How do I install Youtube Packaging in Codex?

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

Can I use Youtube Packaging 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 ericrisco/rsc-harness --skill youtube-packaging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/youtube-packaging, .gemini/skills/youtube-packaging, .github/skills/youtube-packaging and .opencode/skills/youtube-packaging in your project.

What does Youtube Packaging need to run?

Going by SKILL.md and its folder, Youtube Packaging needs a shell for the scripts in its folder. Our summary lists: Python 3; A Bash shell.

Does Youtube Packaging 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 Youtube Packaging 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Youtube Packaging use?

Youtube Packaging 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 Youtube Packaging use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.8k tokens, read only when the agent opens those files.

What are the alternatives to Youtube Packaging?

Skills that share tags, products or a category with Youtube Packaging: Video Copy Analyzer (ALBEDO-TABAI/video-copy-analyzer, 209 stars), Idea Generation (TheCraigHewitt/skills, 157 stars), Yt Ideation (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Viral Title (kangarooking/kangarooking-skills, 661 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Youtube Packaging?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 174 GitHub stars. The repository holds 233 skills in this directory. The repository was last updated on October 7, 2026.

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