youtube-intro-outro
This skill should be used when the user asks to "make a YouTube intro", "create a channel intro", "build a logo sting/bumper", "design an outro / end screen / end card", "add subscribe and next-video cards", "make an intro animation", "build a reusable intro template", or "sync the logo reveal to an audio sting". Covers the 3-5s branded intro, the last-20s end-screen outro inside YouTube's element safe zones, timing conventions, audio-sting sync, and a swap-the-brand template.
1How It Works & Mechanism
Two hard rules are explicitly designated as platform constraints rather than aesthetic choices: intros must be strictly 3–5s, and the logo readable moment must hit at 1–2s, as exceeding these limits demonstrably degrades retention in practice.
1. **Keep the intro 3-5s, the logo hit 1-2s.** Anything longer than 5s causes measurable viewer drop-off, which hurts the video in the algorithm.
The second hard rule also stems from platform mechanics: end-screen elements are only permitted during the final 5–20s, and total video length must be ≥25s.
YouTube only allows end-screen elements in the final 5-20s, and the video must be at least 25 seconds long.
The logo sting is structured into three beats—windup → impact → settle—requiring the brand mark to align exactly with the frame of the audio's strongest transient.
The brand mark must land exactly on the sound's impact frame, not near it.
The snap effect is generated using a spring overshooting from 1.18 to 1, paired with a 6-frame white flash decay.
`spring` overshooting from 1.18→1 *is* the snap; the white `flash` decaying over 6 frames sells the impact.
The core of the outro layout is a bipartite split: YouTube interactive elements occupy the right two-thirds, while custom branding is restricted to the left one-third.
YouTube's clickable elements live on the **right two thirds**; keep your own branding, channel name, and any face-cam in the **left third**.
Native element dimensions are hardcoded (subscribe circle 294×294, next-video card 615×345), with dashed bounding boxes plotted in the layout accordingly.
| Next-video card (thumbnail) | 615×345 | upper-right or center-right |
Guides appear only during preview builds and must be stripped from final exports, leaving the right side deliberately clear.
Ship the dashed guides only in a preview build; the final render drops them, leaving a clean plate whose right side is intentionally quiet.
Both compositions share a unified brand prop (name/logo/sting/bg/fg/accent) with zero hardcoded branding information.
Both compositions read a single `brand` prop — no hardcoded names, colors, logos, or audio.
Verification requires dedicated inspection of the impact frame (logo at full scale + white flash decaying) and mandates removing dashed guide boxes in final renders.
Verify the **impact frame** explicitly (logo snapped to full, white flash decaying) — the sting must land *on* it, not near it.
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | npx remotion still / render / compositions |
| cli | scripts/contact-sheet.sh + scripts/probe-mp4.sh(仓库根共享验证工具箱,SKILL.md 明列) |
| cli | 批量循环:`for f in brands/*.json` + basename 派生输出名(reference §7) |
| package | ffmpeg / ffprobe(系统依赖) |
4Recommended Governance & Evidence
- scripts/: Local script or command execution: (Verification loop explicitly specified in SKILL.md) `npx remotion still Intro out/i-{windup,impact,settle}.pn
- 网络端点: External network access declaration: `npx remotion …`: first execution fetches packages and CLI via official npm channels (registry.npmjs.org, domain handled by npm, not hardcoded in source)
- 本地工作目录: File I/O and artifact generation: Remotion projects built by agent per this skill and out/intro.mp4, out/outro.mp4 (batch outputs to out/<brand>
5Second-Pass Verification
- [ok] 平台时间常数在 SKILL.md 与 reference 是否一致(防一手数据两处不同) — SKILL.md:intro 3-5s、logo hit 1-2s、end-screen 只允许最后 5-20s、视频 ≥25s、outro plate 保持 ~20s;reference 表:"logo hit 1-2s"、"Whole intro | 3-5s max"、"End-screen window | last 5-20s"、"Outro plate hold | ~20s"、"Minimum total video length | 25s"。两处逐值对应,无矛盾。
- [ok] 元素尺寸与数量上限是否两处一致 — SKILL.md 给 Subscribe/channel circle 294×294、Next-video card 615×345、Playlist/link card 294×294,并在输出清单写「Up to 4 end-screen elements planned (1 video + 1 subscribe is the highest-CTR layout)」;reference 元素表同值(615×345 / 294×294 / 294×294)并写 "| Max elements | 4 | highest CTR layout = **1 video card + subscribe**, nothing else |"。一致。
- [discrepancy] Shorts(9:16)场景的覆盖是否存在缺口(第一遍只读 SKILL.md 会漏) — SKILL.md 的硬规则 2 是无条件表述:「The outro must be ≥20s of held, quiet layout, and the video ≥25s total.」并未提 Shorts 例外;而 reference §1 明确写 "for Shorts use a 2-3s end card and a verbal CTA instead of native end-screen elements (Shorts do not support them)",§5 另设「9:16 (Shorts) note」。结论:只读 SKILL.md 的 agent 可能给一条 45 秒的 Short 设计 20 秒 outro,直接吃掉整片——这是对 pin commit 有效的真实覆盖缺口(信息存在于 reference,未上提到 SKILL.md 的硬规则)。
- [unlocatable] 「Anything longer than 5s causes measurable viewer drop-off」是否有据 — SKILL.md 与 reference 都以肯定语气给出留存影响("retention drops measurably"),但仓库内无引用来源、无数据集、无链接;本次为只读侦查,不验证该断言,仅记为文档声明。平台机制部分(5-20s 窗口、≥25s 门槛)属 YouTube 公开规则,可信度高但仍未附官方链接。
- [ok] brand prop 是否真的无任何硬编码(防「模板化」空口宣称) — SKILL.md 的 LogoSting 与 EndScreen 组件里,颜色/字体/logo/sting 全部取自 `brand.bg` / `brand.fg` / `brand.accent` / `brand.logo` / `brand.sting`(仅字体族在示例里写 "700 56px Inter" 这类样式串);reference §7 定义 Brand 类型与 brands/pixelforge.json 示例,并强调 "Keep fonts, sizes, timing, and layout fixed in the components — only `brand.json` changes." 与 SKILL.md 的宣称一致。
- [ok] impact 帧对齐方法是否可操作(而非只喊「要对齐」) — reference §4 给出四步:「Open the sting in any waveform view… The impact is the tallest transient」「Read its time in seconds, e.g. 0.78s」「Set `IMPACT = Math.round(0.78 * fps)` and make the logo's `opacity`/`scale` snap key fall on that frame.」「If you can't move code, instead trim the audio so its transient sits at your fixed `IMPACT` (e.g. 0.8s)」。方法具体、可执行,且给了代码侧与音频侧两种收敛方向。
- [ok] 验收与交付是否覆盖「guides 不得进成片」 — SKILL.md 写 "Ship the dashed guides only in a preview build; the final render drops them",verify 段亦要求 "Drop the dashed end-screen guides for the final render; verify the right two-thirds is intentionally quiet.";reference §6 用 prop 开关实现同一组件的两种输出。纪律 + 机制 + 验收三处齐备(但仍是纪律而非强制渲染开关)。
6Verdict & Scenarios
9f3a594d22ab4694…