Video Copy Analyzer
ALBEDO-TABAI/video-copy-analyzer
视频文案分析一站式工具。下载在线视频(B站/YouTube/抖音等)、使用FunASR进行高速中文语音转录、 自动校正文稿、并进行三维度综合分析(TextContent/Viral/Brainstorming)。
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…
$ npx skills add ericrisco/rsc-harness --skill youtube-packaging -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness youtube-packaging --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-packaging .claude/skills/youtube-packaging && 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-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-packaging into .claude/skills/youtube-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-packaging", 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-packagingType 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-packaging -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness youtube-packaging --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-packaging .agents/skills/youtube-packaging && 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-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-packaging into .agents/skills/youtube-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-packaging", 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-packaging -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness youtube-packaging --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-packaging .cursor/skills/youtube-packaging && 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-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-packaging into .cursor/skills/youtube-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-packaging", 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-packaging--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-packaging -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness youtube-packaging --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-packaging .gemini/skills/youtube-packaging && 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-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-packaging into .gemini/skills/youtube-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-packaging", 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-packagingInstalls 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-packaging -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-packaging .github/skills/youtube-packaging && 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-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-packaging into .github/skills/youtube-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-packaging", 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-packaging -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-packaging --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-packaging .opencode/skills/youtube-packaging && 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-packaging" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/youtube-packaging into .opencode/skills/youtube-packaging/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "youtube-packaging", 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-packagingA 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. 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.
6 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 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.
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,403 words, ~2,916 tokens.
.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.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.
Five concrete text artifacts plus one feedback entry, every time:
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.
Before you write a single title, read the channel. Skipping this is how you produce generic copy in someone else's voice.
02-DOCS/wiki/youtube/ for the channel's brand voice, prior packages,
and the performance feedback log (winners and losers from past tests).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 single highest-leverage field. Rules, each with one reason:
Bad -> Good (front-load, cut the filler, add specificity):
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 mode | Title shape | Example |
|---|---|---|
| Search-led (tutorial, how-to, "best X") | Keyword first, literal, benefit-clear | Fix Slow Next.js Builds: 5 Proven Steps |
| Browse-led (commentary, vlog, story) | Curiosity/stakes first, keyword secondary | I 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.
Only the first ~125 chars are above the fold — the rest hides behind "Show more" and is unseen by most viewers.
The full template + a fully filled example live in references/description-and-chapters.md.
Chapters obey four exact rules. Break any one and YouTube ignores ALL chapters. Run this checklist on every chapter block:
00:00. (This is the silent killer — omit 0:00
and every later timestamp is discarded.)Compliant block:
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 stepsWhy 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.
Different fields, different rules — and one of them barely matters:
| Field | Count | Placement | Weight |
|---|---|---|---|
| Tags | 5-8 (up to 10-20), ~500-char budget | the Tags input box | minimal ranking impact; first tag weighted slightly more |
| Hashtags | 3-5 relevant; max 15 | inside the description | first 3 render above the title; >15 = ALL stripped |
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):
| 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.
Stay inside the text fields. Everything else routes out:
| Ask | Owner |
|---|---|
| Design/generate the thumbnail image | youtube-thumbnails |
| Come up with the idea / topic / angle | youtube-ideation |
| Channel growth plan, niche, cadence | youtube-strategy |
| Upload/update metadata via the Data API | youtube-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 socials | social-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-pattern | Why it fails | Do instead |
|---|---|---|
| "In this video I'll show you…" opener | Burns the visible ~60-char budget on filler | Front-load keyword + hook in the first 5 words |
| Shipping ONE title | No hypothesis, nothing to learn | Always a SET of 2-3 for Test & Compare |
| Keyword-stuffing the description | Reads as spam, helps nothing | ~200-350 words of natural prose, keyword woven in |
| Clickbait the video can't cash | Wins the click, loses the viewer, LOSES the A/B | Promise what the video delivers |
Chapters with no 00:00 / <3 / <10s / out of order | YouTube silently ignores ALL chapters | Run the four-rule checklist |
| >15 hashtags | YouTube strips every one — you get zero | 3-5 relevant, best three first |
| Obsessing over tags | They have minimal ranking impact | 5-8, first = target phrase, move on |
| Ignoring the feedback log | Every package stays a fresh guess | Read prior winners, carry them as priors |
| Optimizing CTR while view duration tanks | Test & Compare scores watched-time-per-impression | Log both; write for click AND stay |
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.
© 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 4 other files (scripts, references) in skills/youtube-packaging of ericrisco/rsc-harness.
Open the folder on GitHubat commit e3d5b33
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Youtube Packaging this skillericrisco/rsc-harness | 174 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Video Copy AnalyzerALBEDO-TABAI/video-copy-analyzer | 209 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Idea GenerationTheCraigHewitt/skills | 157 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Yt Ideationjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Viral Titlekangarooking/kangarooking-skills | 661 | — | ~1.7k | Automated safety check: Pass | None | |
| Yt Briefjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.5k | Automated safety check: Pass | MIT |
ALBEDO-TABAI/video-copy-analyzer
视频文案分析一站式工具。下载在线视频(B站/YouTube/抖音等)、使用FunASR进行高速中文语音转录、 自动校正文稿、并进行三维度综合分析(TextContent/Viral/Brainstorming)。
TheCraigHewitt/skills
When the user wants to brainstorm YouTube video ideas, score existing ideas, validate topic choices, or batch-generate content concepts.
jeremylongshore/tons-of-skills-marketplace
Generate and validate YouTube video ideas aligned with content pillars, audience strategy, and priority tiers.
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.
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.
xpinjection/test-driven-spring-boot
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
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 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.
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.
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.
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.
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.
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.
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 Packaging 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.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.
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.
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.