Home / All Skills / Content & Media Creation / short-form-video
Content & Media Creation · iart-ai/tiktok-video-skills

short-form-video

This skill should be used when the user asks to "make a Reels/TikTok/YouTube Shorts video", "build a short-form video template", "write a hook for a short", "edit for retention", "add pattern interrupts", "make a video loop", "fix the first 3 seconds", "pace cuts for a vertical video", or "set up 9:16 safe areas". Covers the hook→retention→loop grammar of vertical short-form (distinct from a launch hype film).

L4 High-Privilege · Graded auth & full auditV1 Commit-PinnedExecute CommandNetwork AccessWrite FileDual-pass Audit
Author iart-aiGitHub iart-ai/tiktok-video-skills ↗Stars 11License MIT(仓库根 LICENSE 为 "MIT License / Copyright (c) 2026 iart.ai";GitHub API spdx_id = MIT;.claude-plugin/plugin.json 亦声明 "license": "MIT")Commit 2a775336b5
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

Positioning first: Short-form video is not a "mini launch film" but a retention machine; the working unit is the retention curve, not the edit point.

skills/short-form-video/SKILL.md
You are editing the *curve*, and the hook gates everything after it — fix it first.
What's happening here: Shifts "what to edit" from cinematic language to the retention curve, making all subsequent rules (single premise, no dead air, changes every 2–4 seconds) logical corollaries of the curve.

Narrative discipline: A single video holds only one payoff; open the loop in the first ~3 seconds and close it only at the very end.

skills/short-form-video/SKILL.md
- **One idea per video.** A short carries exactly one payoff.
What's happening here: Replaces "information density" with a "single promise"—a second premise splits viewer attention and collapses the mid-section curve.

The retention arc provides a second-by-second budget (hook 0–1s / setup 1–4s / body 4–17s / payoff 17–20s) and mandates expanding only the body, never the hook.

skills/short-form-video/SKILL.md
Scale the *body*, never the hook.
What's happening here: A 60-second short means a longer body and more beats, but the hook remains 1 second; this prevents agents from stretching the intro as exposition.

Two hard rules for hooks: Copy must appear on frame 1, and the most compelling visual must be the first frame (no fade-in from black).

skills/short-form-video/SKILL.md
the hook line is **on-screen as text by frame 1** (85% watch muted), and the most striking *visual* is also the first frame — never a slow ramp-in.
What's happening here: Turns the "hook" from a copywriting task into a first-frame constraint; combined with the four hook grammar types (open loop / direct promise / twist / negation), it forms a replicable opening formula.

Pacing is governed by pattern interrupt density: A visual change roughly every 2–4 seconds, with deliberately uneven intervals.

skills/short-form-video/SKILL.md
a *visual change every ~2–4 seconds*
What's happening here: Quantifies "don't let them get bored" into a refresh frequency; implemented in code via a frame-driven cuts array with intentionally staggered gaps ('cuts = [0, 1.2, 3.0, 5.4, 8.0, 11.2, 14.0]; // seconds — uneven on purpose').

Looping serves as retention leverage: Matching first and last frames plus sentence wrap-around counts rewatches as fresh watch time.

skills/short-form-video/SKILL.md
match the **last frame to the first** (same composition, position, color) so the cut is invisible
What's happening here: Turns "looping" into an inspectable technical condition (first and last frame isomorphism) and provides empirical rules of thumb for optimal rewatch duration windows.

Vertical safe areas are defined as a pixel-level intersection: A centered 900×1400 box, leaving ~120px top, ~320px bottom, and ~120px right empty.

skills/short-form-video/SKILL.md
| Universal safe (all platforms) | center **900×1400** | anything critical outside it |
What's happening here: Translates the union of cross-platform UIs into a single design bounding box; the reference also provides a dev-only SafeZone overlay (removed prior to export).

Explicit capability boundary: Subtitle animation is not implemented in this skill and is delegated explicitly to caption-animation.

skills/short-form-video/SKILL.md
**Do not re-implement caption animation here** — use the `caption-animation` skill for word-by-word timing, karaoke highlight, and styling
What's happening here: Cross-skill delegation (targeting another skill in the same repository); this skill only manages "subtitle placement along the retention timeline and safe area."

Verification loop designed around three checks: Hook readability at a glance, pacing free of flat mid-sections, and invisible loop seams.

skills/short-form-video/SKILL.md
LOOP seam: compare f-hook(frame 0) vs f-end(last frame) — same composition/position/color for an invisible loop cut
What's happening here: Turns hard-to-inspect elements like "seams" into a two-image side-by-side comparison; requires verifying a single topic before batch generation.

2Core Capabilities

01Hook grammar library (four types: open loop / direct promise / twist / negation + template sentences) and hard constraints: "copy on frame 1, best visual on first frame"
02Frame-driven shot scheduler (uneven cuts) and the lowest-cost pattern interrupt: "punch-in"
03Retention arc and beat budgeting (second-level allocation across hook/setup/body/payoff), scalable to 60s by expanding the body
04Retention curve troubleshooting matrix: reverse-engineering fixes from curve symptoms (0:00 cliff, mid-roll drop, tail rebound, sharp spikes)
059:16 safe area implementation: centered 900×1400 design box + dev-only SafeZone overlay (removed before export)
06Seamless looping: first/last frame isomorphism + sentence wrap-around (payoff feeding back into frame 0)
07Template × topic batch generation: a single Short component × N topics/*.json files (hook/beats/loopText)
08Delivery verification loop: 3 still frames (hook frame / mid-point / final frame) + first/last seam check + probe-mp4 vertical spec assertion

3External Dependencies

KindDependency / Endpoint
clinpx remotion still / render / compositions
cliscripts/contact-sheet.sh + scripts/probe-mp4.sh(仓库根共享验证工具箱,SKILL.md 明列)
packageffmpeg / ffprobe(系统依赖)
cli跨 skill 委派:caption-animation(同仓另一个 skill,负责词级字幕动画)

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Graded/per-use authorization, sandbox recommended
For Administrators
Approval workflow, rollback support, full audit
Evidence & Triggers (File Paths & Excerpts)
  • scripts/: Local script or command execution: (Verification loop explicitly specified in SKILL.md) `npx remotion still Short out/f-{hook,mid,end}.png --fram
  • 网络端点: Declared external network access: `npx remotion …`: Fetches packages and CLI from official npm channels (registry.npmjs.org, domain determined by npm, not hardcoded in source) on first run
  • 本地工作目录: File I/O and artifact output: Remotion projects generated by agent per skill guidelines, writing out/short.mp4 and out/demo.gif
Audit Notes: . Three-part self-verification: 1) Classification target = skills/short-form-video/ (find confirms only three .md files: SKILL.md, README.md, and references/retention-pacing.md; zero scripts, zero assets); 2) Internal directory actions = local writes (Remotion project, out/*.mp4, still frames, sheet.png) + local CLI (`npx remotion`; ffmpeg/ffprobe via repository root scripts/), with 0 hits across skills/ for `process.env`, `api[_-]?key`, `token`, `cookie`, or `https?://`; 3) The only network surface is fetching packages from official npm channels (remotion / @remotion/*), aligning identically with existing Blue-tier precedents (hyperframes, general-video, motion-background). No escalation to Yellow: no fixed public endpoint queries, no scraping, no official CLI update/check routines. No escalation to Orange: zero credential/env var reads, zero media exfiltration (no audio/image uploads). Not Red tier: no TLS downgrade, no sandbox escapes, no anti-automation bypasses, no arbitrary code execution surface. Note for reference (does not alter tier): this skill explicitly delegates to caption-animation in the same repo (cross-skill delegation does not propagate tier escalations per Batch 4 Rule 1); platform retention statistics cited in the text lack traceable sources (see unlocatable entry in verification.second_pass).

5Second-Pass Verification

  • [discrepancy] 「hook 必须在第 1 帧上屏」与验证示例取 frame=10 是否矛盾(第一遍未察觉) — SKILL.md 的硬规则写 "the hook line is **on-screen as text by frame 1**",收尾清单第 2 条也写 "on-screen text + strongest visual up front";但验证示例给的是 `npx remotion still Short out/f-hook.png --frame=10 --props=…`,并注释「~first 3s reads instantly」。10 帧 @30fps ≈ 0.33s,若 hook 文案在 frame 0 才起动画、到 frame 10 才稳定,则两者可并存(示例取的是「稳定可读帧」而非「首帧」);但文档未说明这一区别,读者可能据此把 hook 动画起始推到第 10 帧,直接违反 frame 1 规则。属对 pin commit 有效的表述出入,非虚假声明。
  • [unlocatable] 留存统计数字是否有出处(87% / 70% / 平台阈值 / 58% vs 41%) — SKILL.md 写 "~87% decide to stay or swipe inside 3 seconds"、"the threshold for distribution sits near **70%+ average view-through** (Shorts ~73%, TikTok ~78%, Reels ~65%)"、"videos with an interrupt roughly every 4s hold ~58% vs ~41% for a static talking head"。仓库内无引用来源、无数据集、无计算脚本;本次为只读侦查且不运行分析,故不验证这些数值,仅记为文档声明(reference 另有 "Target ≥70% average view-through." 同源)。结论中不把它们当作已核事实。
  • [ok] 安全区数值在 SKILL.md 与 reference 实现里是否一致 — SKILL.md 表:center 900×1400、top ~120px、bottom ~320px、right ~120px;reference §2 SafeZone 组件逐值对应(`left: 90, top: 260, width: 900, height: 1400` 的框,加高 120 的顶部红带、高 320 的底部红带、宽 120 的右栏),§5 表首行也是「Universal (use this) | ~120px | ~320px | ~120px | center 900×1400 holds on all」。两侧完全自洽。
  • [ok] 「不留平坦中段」是否有可执行机制,而非只靠审美 — reference §1 给出帧驱动的 `useShot(cuts)` 调度器与刻意参差的 cuts 数组(`cuts = [0, 1.2, 3.0, 5.4, 8.0, 11.2, 14.0]; // seconds — uneven on purpose`),并配 PunchIn(在切点 snap 到 1.1–1.12 倍);§4 排障表把「中段持平后骤降」映射到「add interrupts; tighten cut spacing to 2–4s」。机制存在且与主张对应。
  • [ok] 跨 skill 委派是否指向真实存在的 skill(防悬空指引) — SKILL.md 指名 `caption-animation`;该 skill 确实位于同一仓库(skills/caption-animation/SKILL.md,本批次同批侦查)。委派目标存在,且其描述覆盖 word-by-word timing 与 active-word highlight,与本 skill 的说法一致。
  • [ok] 跨包共享脚本与 Packaged helper 引用是否真实(防悬空引用) — SKILL.md 只点名 scripts/contact-sheet.sh 与 scripts/probe-mp4.sh,两者在仓库根存在且可执行,三仓库逐字节相同(md5 b7dcc28034c9bf8fda5d48683e54d8b5 / 167b7977c50f492014e1a6fef8c9ed12)。seek-shot.sh 未被本 skill 点名。

6Verdict & Scenarios

  • Redefines "short-form video" as retention engineering: the work unit is the retention curve, and the hook is the gatekeeper—all techniques follow logically from this worldview, ensuring consistency
  • Three anti-bloat disciplines (one payoff per video, no dead air, high-effort hook & payoff) that directly eliminate mid-section collapse
  • Quantified pacing and safe areas: an interrupt every ~2–4s, strictly staggered intervals, centered 900×1400 design box (with per-platform tables and dev-only overlays)
  • Clear capability boundaries: delegates subtitle animation to caption-animation, focusing solely on timeline positioning and safe areas to avoid redundant work and style drift
  • Verification directly targets the three most common points of failure (first-frame readability, no flat mid-section, invisible loop seam) using deterministic comparisons (first/last frame isomorphism)
  • Best for: Best for: Creators and small teams looking to systematically produce Reels/TikTok/Shorts—especially projects doing batch output via "template × multiple topics" who are willing to refine hooks before pacing; also serves as a diagnostic handbook for retention editing (troubleshooting fixes based on curve symptoms). Suitable for users comfortable with manual verification workflows like inspecting three stills and comparing first/last frames.
    Not for: Not suitable for: 1) Long-form or mid-form videos (this skill explicitly targets 7–60s vertical video); 2) Projects requiring complex voiceover dialogues, interview editing, or narrative story-driven films; 3) Brand films prioritizing visual fidelity and cinematic aesthetics over retention mechanics; 4) Fully automated QA pipelines that reject subjective human review of still frames; 5) Teams requiring live platform analytics feedback loops—this skill provides methodology only, connects to no platform APIs, and requires curve data to be exported manually from analytics dashboards.
    Install Agent-Ready
    ① Verified Mirror 2026-09-28
    Option A · Direct DownloadDownload short-form-video.tar.gz
    sha256: 976ced5900c4ae4f…
    Option B · Copy Guide for Agent
    install.json
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 2a775336b5.