Title Craft
TheCraigHewitt/skills
When the user wants to write YouTube video titles, optimize existing titles, A/B test title variants, or improve click-through rate.
A skill your agent uses when designing or fixing a YouTube thumbnail, making variants for an A/B test, or working out which thumbnail style wins on a channel — including the trap where CTR looks…
$ npx skills add ericrisco/rsc-harness --skill youtube-thumbnails -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness youtube-thumbnails --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/youtube-thumbnails .claude/skills/youtube-thumbnails && rm -rf skills-srcUse ~/.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/
Install the "youtube-thumbnails" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-thumbnails into .claude/skills/youtube-thumbnails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-thumbnails", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-thumbnailsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ericrisco/rsc-harness --skill youtube-thumbnails -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness youtube-thumbnails --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/youtube-thumbnails .agents/skills/youtube-thumbnails && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "youtube-thumbnails" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-thumbnails into .agents/skills/youtube-thumbnails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-thumbnails", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill youtube-thumbnails -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness youtube-thumbnails --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/youtube-thumbnails .cursor/skills/youtube-thumbnails && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "youtube-thumbnails" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-thumbnails into .cursor/skills/youtube-thumbnails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-thumbnails", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ericrisco/rsc-harness.git --path skills/youtube-thumbnails--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ericrisco/rsc-harness --skill youtube-thumbnails -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness youtube-thumbnails --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/youtube-thumbnails .gemini/skills/youtube-thumbnails && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "youtube-thumbnails" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-thumbnails into .gemini/skills/youtube-thumbnails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-thumbnails", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ericrisco/rsc-harness youtube-thumbnailsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ericrisco/rsc-harness --skill youtube-thumbnails -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/youtube-thumbnails .github/skills/youtube-thumbnails && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "youtube-thumbnails" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-thumbnails into .github/skills/youtube-thumbnails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-thumbnails", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill youtube-thumbnails -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness youtube-thumbnails --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/youtube-thumbnails .opencode/skills/youtube-thumbnails && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "youtube-thumbnails" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-thumbnails into .opencode/skills/youtube-thumbnails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-thumbnails", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
youtube-thumbnailsA skill your agent uses when designing or fixing a YouTube thumbnail, making variants for an A/B test, or working out which thumbnail style wins on a channel — including the trap where CTR looks…
Youtube Thumbnails is an agent skill from ericrisco/rsc-harness. Use when designing or fixing a YouTube thumbnail, making variants for an A/B test, or working out which thumbnail style wins on a channel — including the trap where CTR looks fine but the test keeps selecting the duller image on watch-time share. NOT pairing the title with the thumbnail as one click-promise (that is youtube-packaging), NOT channel positioning or niche (that is youtube-strategy), NOT setting a thumbnail through the Data API (that is youtube-api).
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/composition-and-specs.md`).
It sits in Media & Creative, covering A/B testing. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Youtube Thumbnails loads about 2.4k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 123 tokens; SKILL.md has 1,246 words of instructions outside code blocks.
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.
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.
The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,246 words, ~2,402 tokens.
.claude/skills/youtube-thumbnails/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Design thumbnails that survive the mobile feed, test them so the winner is a lesson and not a coin flip, and write every outcome back to the channel's wiki so the next thumbnail is evidence-led. A thumbnail you cannot learn from is half wasted.
This skill runs a closed loop, not a one-off design pass:
02-DOCS/wiki/youtube/thumbnail-experiments.md.thumbnail-patterns.md (what wins on THIS
channel) and let that pick the next concept.The reason for the discipline: Test & Compare hands you a winner, never a reason. One varied axis per round is what turns a winner into a transferable rule.
These are objective and machine-checkable. scripts/verify.sh enforces the image
ones; the rest are your job. Source facts: socialrails.com / thumbnailtest.com
specs, accessed 2026-06-02.
| Constraint | Value | Why |
|---|---|---|
| Resolution | 1280x720 px | YouTube's recommended size; anything smaller upscales soft |
| Aspect ratio | 16:9 | The only ratio that fills the player and feed cleanly |
| Min width | 640 px | Below this YouTube may reject the upload |
| File size | under 2 MB | Hard cap for standard video (10 MB only for podcast thumbnails) |
| Format | JPG or PNG | Also accepts GIF/BMP, but ship JPG/PNG |
| Legibility | reads at 320x180 | Most discovery is the mobile feed at ~that scale — the "squint test" |
| Safe zone | clear bottom-right | The duration stamp overlays that corner — no critical text/face/logo there |
The squint test: shrink the image to 320x180 (or step back two meters from the
screen). If the subject and any text are not instantly readable, it fails — design
for the feed, not for the editor canvas. See
references/composition-and-specs.md for the contrast math and export workflow.
Each rule, one reason. Concrete beats abstract.
Bad -> Good (text that wastes the surface):
Bad title: "I built a PC in 24 hours" thumb text: "BUILT A PC IN 24H"
Good title: "I built a PC in 24 hours" thumb text: "$200 BUDGET?!"The Bad version spends both surfaces on the same words. The Good version lets the thumbnail carry the stakes the title leaves implicit. The full title<->thumbnail promise pairing — which surface owns which half of the hook — belongs to youtube-packaging. Here, just don't duplicate.
This is where the flow branches, so decide deliberately.
Vary exactly ONE axis per variant set. Change face vs object AND text AND color at once and a winning variant teaches you nothing — you cannot attribute the lift. Pick one axis from the menu and hold everything else constant.
| Axis | Variant A | Variant B | What a win tells you |
|---|---|---|---|
| Subject | human face | the object/result | does your audience click people or things |
| Expression | shock | calm/confident | which emotion this niche rewards |
| Text | text present | no text | whether words help or clutter here |
| Color | warm dominant | cool dominant | the channel's palette pull |
| Layout | subject left | subject right | reading-order fit |
| Zoom | tight crop | wide context | intimacy vs setting |
Two variants is enough to isolate one axis cleanly; use the third slot only when a third level of the SAME axis is genuinely informative.
YouTube's native A/B tool (broad rollout 2025). In Studio: open the video -> Thumbnail -> "Test & Compare" -> add variants.
The over-promise trap is the seam to youtube-packaging: if your tests keep crowning the "boring" variant, the flashy one is writing a check the video doesn't cash. That is a promise problem, not an image problem.
Every test result goes to the channel wiki. Exact path:
02-DOCS/wiki/youtube/. 02-DOCS/wiki/ is an OKF v0.1 bundle: both files
below carry file-level frontmatter with a non-empty type (thumbnail-experiment)
plus the OKF surface (title, description, tags, timestamp) shared with the
api/strategy/packaging siblings, and cross-references use standard markdown links,
never [[wikilinks]].
Log file — thumbnail-experiments.md, frontmatter at the top then one row per
test (append-only, ISO 8601 dates, past rows immutable):
| date | video | variants | axis tested | winner | CTR | watch-time share | note |Derived file — thumbnail-patterns.md, frontmatter at the top then a running
table of what wins on THIS channel (e.g. "faces beat objects 4/5 tests", "no-text
wins on tutorials"). You update this after each logged test.
Next-concept rule: the next thumbnail keeps the winning level of every axis already settled by the log, and tests the next unsettled axis. You only re-test a settled axis when the channel's content or audience visibly shifts.
Caveat: on a small channel a single test is noise. Treat a pattern as real only
after it holds across ~3+ tests or a clear, repeated margin. Full schema, filled
example rows, and the pattern-mining heuristic live in
references/experiment-log-format.md.
| Anti-pattern | Why it fails | Do instead |
|---|---|---|
| Tiny or thin text | Illegible at 320x180 feed scale | 3-4 words, heavy bold, squint-tested |
| 5+ colors | Muddies into noise when shrunk | 2-3 complementary bold colors |
| Clipart / stock faces | No emotion, no trust, reads as spam | Real face, one strong emotion |
| Thumb text == title text | Wastes both surfaces of the promise | Thumb adds the stake the title omits |
| Varying 3 axes per test | Winner is uninterpretable | One axis per variant set |
| Trusting one test on a small channel | That's noise, not signal | Wait for ~3+ tests / repeated margin |
| Designing in the full editor only | Looks great at 1280, dies in the feed | Check the 320x180 squint view |
| Subject/logo in bottom-right | Duration stamp covers it | Keep that corner clear |
| Chasing CTR while watch time tanks | Test & Compare scores watch-time share | Fix the over-promise (see youtube-packaging) |
scripts/verify.sh)02-DOCS/wiki/youtube/thumbnail-experiments.md© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references) in skills/youtube-thumbnails of ericrisco/rsc-harness.
Open the folder on GitHubat commit e3d5b33
Youtube Thumbnails 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Youtube Thumbnails this skillericrisco/rsc-harness | 167 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Title CraftTheCraigHewitt/skills | 157 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Thumbnail Designsocial-media-skills/skills | 125 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Video Hook Generatornicepkg/ai-workflow | 285 | — | ~2k | Automated safety check: Pass | MIT | |
| Generate Youtube Thumbnailkrusemediallc/arcads-claude-code | 1.6k | — | ~2.4k | Automated safety check: Notes | MIT | |
| Thumbnaildaiki-beppu/youtube-automation | 169 | — | ~11k | Automated safety check: Pass | Custom licence |
TheCraigHewitt/skills
When the user wants to write YouTube video titles, optimize existing titles, A/B test title variants, or improve click-through rate.
social-media-skills/skills
Design YouTube video thumbnails that earn the click — mobile-legible, one focal point, honest.
nicepkg/ai-workflow
Generate attention-grabbing hooks for the first 3 seconds of videos.
krusemediallc/arcads-claude-code
Generate high-CTR YouTube thumbnails using Nano Banana 2 via the Arcads external API.
daiki-beppu/youtube-automation
A skill your agent uses when コレクションの YouTube サムネイル(thumbnail.jpg)を CTR 最適化し、実効 textrender.mode に従い、既定 aiburnin で文字入り候補を生成・承認してから textless 背景を作るとき、または deterministic で textless main.png/jpg…
swyxio/skills
Generic media transformation orchestrator — download videos from any source (X/Twitter, Zoom, YouTube, web embeds), upload to YouTube, transcribe with timestamps, generate chapters, create…
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…
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…
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…
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…
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…
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.
Works with
Categories
A skill your agent uses when designing or fixing a YouTube thumbnail, making variants for an A/B test, or working out which thumbnail style wins on a channel — including the trap where CTR looks…. Youtube Thumbnails is an agent skill from ericrisco/rsc-harness. Use when designing or fixing a YouTube thumbnail, making variants for an A/B test, or working out which thumbnail style wins on a channel — including the trap where CTR looks fine but the test keeps selecting the duller image on watch-time share.
Youtube Thumbnails fits situations like: fixing a YouTube thumbnail; making variants for an A/B test.
Run `npx skills add ericrisco/rsc-harness --skill youtube-thumbnails -a claude-code`. Or copy the skill folder (skills/youtube-thumbnails in ericrisco/rsc-harness) into .claude/skills/youtube-thumbnails in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill youtube-thumbnails -a codex`. Or copy the skill folder (skills/youtube-thumbnails in ericrisco/rsc-harness) into .agents/skills/youtube-thumbnails in your project. Codex loads it when a task matches its description.
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-thumbnails -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-thumbnails, .gemini/skills/youtube-thumbnails, .github/skills/youtube-thumbnails and .opencode/skills/youtube-thumbnails in your project.
Going by SKILL.md and its folder, Youtube Thumbnails needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
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.
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.
Youtube Thumbnails is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.6k 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.
Skills that share tags, products or a category with Youtube Thumbnails: Title Craft (TheCraigHewitt/skills, 157 stars), Thumbnail Design (social-media-skills/skills, 125 stars), Video Hook Generator (nicepkg/ai-workflow, 285 stars) and Generate Youtube Thumbnail (krusemediallc/arcads-claude-code, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 167 GitHub stars. The repository holds 227 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.