Communitygithub.com

Pluviobyte/rnskill

End-to-end video production orchestration for the content-creation workspace. Use when the user asks to make, recreate, package, render, QC, or archive a video; when the user refers to queue production, handoff-based production, or points at a project folder under the workspace; or when a request could route to HyperFrames, Remotion, captions, TTS, download/transcription, website/product videos, motion graphics, or reference replication.

What is rnskill?

This skill acts as a director layer above existing video production skills, orchestrating the entire pipeline from queue intake to final delivery. It routes jobs to specialized tools like HyperFrames, Remotion, TTS, and captioning based on the contract defined in a handoff file. The skill enforces hard rules for quality control, pixel-level accuracy, delivery archiving, and subtitle timing, and includes a default white-first visual system with a perspective grid and Xiaohei illustrations. It supports platforms like Claude Code, Cursor, and Codex, and is designed for content creators who need structured, repeatable video production workflows.

Works with✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/Pluviobyte/rnskill/tree/HEAD/skills/ra-video-production-director

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

AI Video Creation Skill

Role

Act as the director layer above the existing video skills. Route the job, define the acceptance standard, then coordinate production and QC. Do not replace hyperframes, remotion, ra-audio-to-subtitles, skill-captions, embedded-captions, graphic-overlays, ra-video-download, video-transcription, tts-skill, heygen-digital-avatar, or ai-video-qc-delivery; load those skills only when their lane is selected.

If the user provides a source video URL or local file and asks for video rewriting, video re-creation, or rewrite and produce video, route to ra-video-wash-pipeline before this skill so extraction and rewrite happen first.

Queue Intake

If the input is a handoff project folder under 01-Content-Production/Video-Workbench/Queue/<date-topic>/ (contract file handoff.md at its root; or the user says process queue, process from handoff, or points at a queued script):

  • The handoff.md frontmatter is the binding production contract — platform, ratio, duration_target_s, word_count, voice, caption_style, visual, illustration_skill, typography override intake defaults and must never be replaced by an execution skill's own defaults (e.g. HyperFrames TTS voices are not a substitute for the contract voice)
  • Before starting work, set status: in_production in handoff.md and move the whole project folder to 01-Content-Production/Video-Workbench/In-Production/<date-topic>/, so the other machine does not double-produce; all engineering happens inside that folder
  • The script segments in the handoff file are the scene units; do not re-split or re-flow the narration
  • Skip intake questions the contract already answers

Hard Rules

  1. Define the output standard before production: original video, pixel-level alignment, visual replica, style-inspired creation, captioned footage, narrated explainer, product promo, website tour, or motion graphic.
  2. Do not claim pixel-level alignment for a hand-authored HyperFrames/Remotion rebuild. Pixel-level requires source-stream reuse, original project assets, or hard metrics such as matching hash, cmp, PSNR infinity, or SSIM 1.0.
  3. Keep source projects and intermediates under <WORKSPACE>/01-Content-Production/Video-Workbench/In-Production/; the workbench 01-Content-Production/Video-Workbench/ holds only handoffs, transcripts, and archives.
  4. Final deliverables stay inside the vault. Every video produced by this system — queue or non-queue, transcript-direct, practical long-form, translated/repackaged, or ad hoc — delivers to 01-Content-Production/Video-Workbench/Completed/<early-month|late-month>/<date-topic>/Master/, with key QC images in the sibling QC/. Use the delivery date: days 1-15 go to Early-Month and days 16 through month-end go to Late-Month. Completed/06-Historical-Archive/ (sealed read-only) and the desktop <WORKSPACE>/legacy-archive/ are retired legacy history — do not write new deliverables there.
  5. Publish titles are not production work for queue jobs: ra-video-title already wrote 8-12 candidates into the handoff's Title Candidates section at wash time, and the final title is chosen manually by the user at publish time. Do not generate or apply publish titles and do not create video-title.md for queue jobs (on-page scene titles from the script are unaffected). Only for non-queue jobs (no handoff contract) generate 8-12 candidates with ra-video-title after QC and let the user choose before saving video-title.md next to the final MP4.
  6. A video is not complete until media specs, visual checks, and archive paths are confirmed. The selected-title-file requirement applies to non-queue jobs only; queue jobs finish without video-title.md (title selection stays manual with the user).
  7. If the user explicitly names a visual or illustration skill, load and follow that skill before designing the visual layer. Do not replace a requested illustration skill with hand-coded shapes, CSS drawings, or "style-like" approximations unless the user explicitly approves that substitution.
  8. When full AI narration is required, final deliverables must use local IndexTTS2 through tts-skill, voice id pluvio-indextts2-calm-v1, and the canonical lossless WAV declared in automation/config/tts-routing.json. MiniMax is reserved for public article/tutorial relay examples and is forbidden for local video narration. Do not silently fall back to macOS say, browser speech, MiniMax, or another generic/cloud voice. If the local model or canonical WAV is missing, repair the IndexTTS2 lane or stop before final render.
  9. For jobs taken from the queue, delivery is not complete until python3 automation/scripts/check_delivery.py <handoff-file> <project-dir> <master.mp4> exits 0, the production receipt in the handoff file is filled (paths + checker output), status is set to completed, and the per-project archive folder 01-Content-Production/Video-Workbench/Completed/<early-month|late-month>/<date-topic>/ (folder name = the project folder name) is assembled by moving the cleaned project folder from In-Production/: handoff.md at its root, the final MP4 in Master/, key QC frames in QC/, minimal engineering in Engineering/. Non-queue jobs assemble the same dated archive structure using a clear topic slug; copy a production note/script/plan into the archive root when available. No job copies a new final into Completed/06-Historical-Archive/ (sealed read-only).
  10. The Image-Workbench queue follows the same contract pattern: take 01-Content-Production/Image-Workbench/Queue/<file>.md (frontmatter contract: card_count, ratio, style, illustration_skill, image_skill), set status: in_production on start, produce the image cards without rewriting the copy and without generating or applying publish titles, deliver to 01-Content-Production/Image-Workbench/Completed/<date-topic>/ (handoff file moved in + finished cards under Images/), set status: completed, and register the item under pending modifications in 01-Content-Production/Publishing-Board.md. The source-privacy wall applies unchanged.
  11. Practical long-form projects follow the unified engineering layout under 01-Content-Production/Video-Workbench/In-Production/<date-topic>/; do not create a separate planning directory under Video-Workbench/. The planning script frontmatter status is the only handoff signal, and the user handles recording and editing integration stages personally. Codex owns three stages: (a) status: rough_cut_pending — default to ra-local-talking-head-cut: Seed ASR word timestamps, terminology/uncertainty review, and a source-timeline pre-cut SRT. Stop for explicit user approval; no EDL or render is allowed before approval. Then perform semantic cleanup, adaptive pauses, source-size/source-fps rendering, dialogue loudness, media QC, and final-media subtitle generation with caption QC PASS. Use video-use as the multiple-take evidence/selection layer; use Agentchengfeng/chengfeng-videocut-skills only for word-level web review or an intentionally aggressive comparison; choose AI-Cut-Speech when the user wants waveform review and an FCPXML timeline for editing/Final Cut Pro. The default MP4 workflow delivers Rough-Cut/speech-rough-cut.mp4 and sets status: merging; the FCPXML workflow moves forward only after the editor timeline is accepted; (b) status: subtitles_pending — run ra-audio-to-subtitles against the user's final merged cut, require word-timestamp QC to pass, then run skill-captions with the contract caption_style (default anchor-dark) to preview, burn, and validate the phrase captions; save the matching .srt and passing caption-render-qc.json, then set status: animation_pending; (c) status: animation_pending — add Remotion component overlays ONLY to the full-body segments listed in the planning script frontmatter, composite, deliver the final MP4 to Video-Workbench/Completed/<early-month|late-month>/<date-topic>/Master/, put key QC in the sibling QC/, register on the publishing board, set status: finished. All rough-cut tools are rough-cut-only in this workspace: never use any rough-cut tool's subtitle output as the production subtitle timeline.
  12. For any narrated final video, the final concatenated audio or final merged video is the only subtitle timing source. Run ra-audio-to-subtitles after audio is locked; archive captions_words.json, captions.json, captions.srt, and caption-qc.json. Character-count interpolation, scene-duration interpolation, and fixed-delay caption timing are preview-only and must never enter a recommended final.
  13. Whenever a video component, video background, or reference-video replica reaches a rendered, QC-passed final, stop before adding it to 05-Video-Components/ and explicitly ask the user: whether it should enter the component library, which existing category should contain it, and whether a new category is needed. Do not infer placement or create a category before the user answers. If the user declines, use only the normal finished-video archive. If the user approves, treat the confirmed 05-Video-Components/<Chinese-Category>/<Chinese-Component-Name>/ names as canonical and make the component directory self-contained in the same task: portable MP4, manifest.json, QC/, and Engineering/ (the sole editable source, stripped of node_modules/renders). No engineering mirrors, symlinks, or second copies exist anywhere else; register the component in 05-Video-Components/CATALOG.md before reporting completion.
  14. Whenever the user asks for a HeyGen/digital-human/avatar video, or a video production contract calls for the existing Pluviobyte digital human, load heygen-digital-avatar before generation. Its original Digital Twin look, CLI OAuth subscription billing, Avatar III default, local IndexTTS2 audio, one-master reuse, and approved headroom_08 lower-left circle layout are binding. Only an explicit request for full-screen digital human may bypass the circle layout.
  15. Treat any decorative focus frame enclosing over 40% of the canvas or multiple content groups as an entrance cue only. Its total visibility must not exceed the shorter of 2 seconds or 15% of the scene, and it must exit before the steady information state. Persistent frames require explicit semantic purpose and must tightly bound one local target.

Default Visual System

When the user says to make a video with this skill and does not provide a conflicting visual direction, use a white-first visual system:

  • background: pure white or warm white, with generous blank space
  • for white-first AI/tool tutorials, page-based explainers, and white motion graphics, read references/perspective-grid-v5.md and start from the workspace component 05-Video-Components/Video-Backgrounds/Perspective-Grid-Background/. The bundled assets/perspective-grid-v5/ copy is the same-hash Skill mirror and fallback, not a second independently editable baseline. Use the approved V5 loop as the bottom-most visual layer at its native playback rate: 1920x1080, 30fps, 7.3 seconds / 219 frames, three complete grid cells per loop, and a 2.433-second single-cell period. Preserve its geometry, asymmetric color plate, center fog, phase, and seamless-loop timing. Do not rebuild it from an older version or an ad-hoc CSS grid.
  • disable the V5 grid only when source footage, full-screen talking head, dense UI, readability, a handoff contract, or an explicit reference conflicts with it. Record the reason in the production note.
  • primary marks: black text, black line art, and restrained dark UI elements
  • accents: use only small amounts of red, orange, or blue for emphasis, warnings, arrows, feedback, or state
  • captions: for narrated explainers over footage, screenshots, the V5 grid, or variable backgrounds, run skill-captions and use its anchor-dark shrink-wrapped panel by default. A handoff caption_style or explicit user style overrides it; frameless captions require a controlled uniform light caption zone and a recorded reason.
  • avoid defaulting to dark, purple, neon, or SaaS-magic styling unless the user explicitly asks for it or the selected route requires it
  • use ian-xiaohei-illustrations as the default illustration source for page-based or scene-based videos. Prefer the active project-local copies under .agents/skills/ian-xiaohei-illustrations/, .codex/skills/ian-xiaohei-illustrations/, and .claude/skills/ian-xiaohei-illustrations/; the shared library path <WORKSPACE>/.claude/skills/ian-xiaohei-illustrations is only a source of truth to repair from when the project copy is missing.
  • give every page or scene a meaningful Xiaohei illustration whenever possible; skip only when footage, screenshots, dense UI, or readability would clearly be harmed
  • each illustration must explain the page's core claim, process, contrast, or state; Xiaohei should perform the core action, not appear as decoration
  • if the plan says "Xiaohei" or "Xiaohei illustration", create real image assets with ian-xiaohei-illustrations and save them into the project. A CSS/HTML approximation of Xiaohei does not satisfy this requirement.
  • for page-based 16:9 Xiaohei videos, use the xiaohei-16x9-layout contract before writing the composition. The contract fixes the page skeleton first: left-top title, left-middle note card, right-middle Xiaohei illustration, and lower caption. Do not invent a fresh layout unless the user asks for a different visual system.

Page-Based Explainer Defaults

For AI/tool tutorials, page-based narrated explainers, and long-form Chinese teaching videos, apply these defaults unless the user gives a conflicting reference:

  • For 16:9 Xiaohei explainers, read references/xiaohei-16x9-layout.md before building. Copy or adapt the template asset in assets/xiaohei-16x9-template/ when the project is a HyperFrames page-based video.
  • Treat the layout as a contract, not a loose suggestion. The right-side Xiaohei image belongs to the right-middle area, not the upper-right corner. The left note card belongs to the left-middle area, not the lower-left area. Captions must stay below the content zones with a clear bottom safe margin.
  • Select a page variant before writing HTML: standard, long-title, wide-visual, or close. Use long-title for titles that would produce awkward automatic breaks; use wide-visual for horizontal illustrations; use close for final action or summary pages.
  • Manually plan page transitions: fades for narrative continuity, cuts for topic shifts. Animate the Xiaohei illustration into position for the first page that introduces a new diagram, then keep it static on repeated appearances.
  • For voiceover-to-textport timing, read the narration at a natural pace, underline key terms as they pass, and keep a textport visible for at least 2 seconds at the end before fade-out.
  • If the narration has sparse audio (long pauses, ambient-only segments), cover those with motion-graphic sequences rather than freeze frames.
  • When the script calls for on-screen code or terminal blocks, use a monospace font on a warm dark panel; fade the panel in and out with the block.
  • An explicit duration_target_s or word_count in the handoff contract is the authoritative production target; do not pad or trim unless doing so produces a coherence break.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Pluviobyte/rnskill

将法天象地、同源巨大法相或角色力量显现的视觉参考制作成连续关键帧,再使用用户选择或可用的图生视频工具分段生成、检查和合成动作视频,不绑定成片平台。适用于本体与法相同框、领域展开、凝实与同步出招;不负责整部小说改编或普通图片轮播。

Pluviobyte/rnskill

口播基础素材包生成。转录口播、识别口误、生成审核页;用户确认后剪出新视频,Agent 再基于剪后视频重新转写、AI 校对字幕,输出后续口播成片可用的 source_cut.mp4 和 subtitles.srt。触发词:剪口播、处理口播素材、准备口播素材、识别口误、基础素材包

Pluviobyte/rnskill

Create Ian Xiaohei-style HTML/SVG motion illustrations for Chinese articles, scripts, storyboard scenes, workflow explanations, concept metaphors, and short video visual aids. Use when the user asks for 小黑 SVG、漫画感 HTML、分层 SVG 动效、把小黑生图做成 HTML/SVG、可编辑矢量动效、口播流程动画、手绘漫画动效、正文配图动画, or wants a Xiaohei illustration style adapted into controllable HTML/SVG/GSAP output instead of raster image generation.

Pluviobyte/rnskill

口播视频成片 Skill。把文章/口播稿/SRT、剪后视频和 HTML/图片素材串成分镜稿、时间线预览和最终 MP4;成片比例和动画风格从用户配置读取,动画默认使用小黑风格。触发词:口播成片、做分镜稿、时间线预览、合成口播视频、导出竖屏MP4

Pluviobyte/rnskill

自进化 skills。记录用户反馈,更新方法论和规则。触发词:更新规则、记录反馈、改进skill

Pluviobyte/rnskill

dontbesilent 目标清晰化。用维特根斯坦的语言哲学把模糊的目标审计成可检查的交付物。 触发方式:/dbs-goal、/目标、「帮我搞清楚目标」「我想做个人 IP」「我的目标是成为...」「我想变得更...」 Goal clarification using Wittgenstein's philosophy of language. Audits fuzzy goals into checkable deliverables. Trigger: /dbs-goal, "help me clarify my goal", "I want to become...", "my goal is...

Pluviobyte/rnskill

dontbesilent 短视频开头优化。诊断开头问题 + 生成优化方案。 触发方式:/dbs-hook、/hook、「帮我优化开头」「开头怎么写」 Short video opening optimization with diagnosis and solutions. Trigger: /dbs-hook, "optimize my opening", "how to write opening

Pluviobyte/rnskill

把当前诊断的关键状态存到本地,下次回来可以接着用。 触发方式:/dbs-save、/存档、「保存这次诊断」「记下来」「这个结论留着」 Save the current diagnosis state to disk for cross-session recall. Trigger: /dbs-save, "save this diagnosis", "remember this

Pluviobyte/rnskill

dontbesilent 商业工具箱主入口。双模式:任务前路由(你的问题该用哪个 skill)+ 任务后导航(刚做完诊断,下一步该干什么)。 触发方式:/dbs、/商业、「帮我看看」、「下一步怎么走」 Main entry point for dontbesilent business toolkit. Dual mode: pre-task routing + post-task navigation. Trigger: /dbs, "help me with my business", "what's next

Pluviobyte/rnskill

孙宇晨.skill 的别名。触发后立刻读取并执行 `../孙宇晨/SKILL.md`,不单独维护内容。 触发:孙割.skill、/孙割、"用孙割视角看"、"孙割会怎么处理"、"切换到孙割"。

Pluviobyte/rnskill

蒸馏孙宇晨(孙割)公开可查的决策模式,做成一套非扮演的决策分析工具:拆解他如何把注意力、身份、叙事当成可购买、可叠加、可兑换的资产来经营,用来给你自己的选题/发布/公关/危机决策做沙盘推演,不用于替他或任何真实人物发声、编造言论。 触发:孙宇晨.skill、孙割.skill、/孙宇晨、/孙割、"用孙割视角看"、"孙宇晨会怎么做"、"孙割会怎么处理"、"注意力收割模型"、"蒸馏孙宇晨"。

Pluviobyte/rnskill

将参考图或简要描述解码为可编辑的半色调纸张拼贴规范,默认使用 Codex 内置 image_gen 生成品牌一致的静帧和透明图层,再用本地 FFmpeg 或 HyperFrames 制作“从空背景逐件组装”的确定性动态视频。用户提到半色调拼贴、纸张拼贴、剪纸拼贴、编辑式拼贴、杂志拼贴、复古印刷拼贴、拼贴动效、拼贴动画、剪纸动画、纸片组装、逐层组装、从无到有、元素飞入拼装、定格拼贴、定格动画、Arcads 风格、参考图拆解、风格拆解、反向拆解视觉、照这个风格做、做类似的、生成拼贴静帧、让这张图动起来、让这些元素组装起来、制作拼贴广告或拼贴解释视频时使用。英文触发语义包括 editorial collage、halftone collage、paper collage、paper-cut motion、stop-motion graphic、assemble from empty、build-on motion、analyze this、break this down、reverse-engineer this look、generate the stills、animate this、make these move。默认不调用 Arcads、Nano Banana、Seedance 或 Kling;只有用户明确要求且对应连接器可用时才进入外部生成路径。

Pluviobyte/rnskill

Create deterministic editorial-style cover images with a warm paper-gray background, oversized black slab-serif/Chinese display typography, generous whitespace, and a dotted vector analysis icon. Use when the user asks for a “点阵编辑风封面”, “暖灰杂志风封面”, “Codex + Hyperframes 同款封面”, or wants to reproduce/adapt the specific minimal left-text/right-icon banner style. Produce editable SVG and a rendered PNG; do not use this skill for generic covers without this visual direction.

Pluviobyte/rnskill

Chinese AI/tech writing de-AI editor for posts, X/Twitter threads, technical essays, product notes, model reviews, and public-writing drafts. Use when the user asks to 去AI味, 改得像本人, 写推特post, 精修中文AI技术文章, or complains about AI-flavored shells such as 不是A而是B, 真正/其实/本质上, 更重要的是, 冒号讲义腔, 空泛总结, 顺滑但没作者判断的稿子.

Pluviobyte/rnskill

内容复盘工作流:取数 → 爆款分级(R/M/Tier)→ 按需拉取内容本体 → 归因 → 沉淀(方法论/金句库/案例库/概念库/课程灵感)+ 选题卡回写。 Use when the user says 复盘xx, 内容复盘, xx数据怎么样, xx表现如何, 复盘一下这条, 为什么这条爆了, 为什么这条没爆. 沉淀铁律:复盘不沉淀,等于白复盘——每次至少一条资产入库,或写明为什么没有。

Pluviobyte/rnskill

实操长片策划工作流(B站/YouTube 新赛道,实操+真人出镜)。产出可直接照着录的策划稿:测试题组(含可粘贴 prompt)、 结构时间轴(全身出镜段 vs PiP 段)、出镜口播稿、录屏操作清单、悬念与彩蛋设计。 Use when the user says 做实操长片, 实操视频, 实测视频, 对比实测, xx做成实操, 出个实测策划, 这个选题拍实操, or ra-选题 routes a 实操长片 立项 here. 策划稿落 `01-内容生产/视频工作台/制作中/<日期-主题>/策划稿.md`,frontmatter status 是与制作端交接的唯一状态机。

Pluviobyte/rnskill

视频脚本洗稿和二创脚本工作流。Use when the user provides an existing transcript, oral draft, viral script, competitor video text, rough topic notes, or wants 洗稿, 二创改写, 爆款视频脚本重写, 逐字稿改成短视频脚本, rewrite with ra-人话, and queue the approved script into 01-内容生产/视频工作台/待制作/ as the handoff contract for video production. If the user provides a video URL or local video file and asks 视频洗稿、视频二创、洗稿并制作视频, use ra-video-wash-pipeline first.

Pluviobyte/rnskill

选题全生命周期调度:记录选题、深化选题、选题推荐、立项分发(视频/图文/文章/实操长片/多形态)、发布归档。 Use when the user says 灵感xx, 想法xx, 记录选题, 这个可以做个选题, 先存着这个链接, 深化选题/深化一下xx, 给我N个选题, 帮我出选题, 选题推荐, 立项, 做成视频, 制作视频, 做成文章, 制作文章, 做成图文, 制作图文, 做成实操长片, 图文视频文章都做/都分发, 我要自己出镜讲, xx发布了, xx要改; or when the user gives a link plus a target form (链接+制作视频/文章/图文). Owns the 00-选题池 card system: one topic = one card; user never moves files — this skill does.

Pluviobyte/rnskill

短视频钩子(开头)类型选择与写法,中文名「钩子」。Use when 起钩子、写钩子、钩子怎么写、钩子没思路、设计前5秒钩子、写视频开头/口播稿开头, or when the user asks 视频开头怎么做、开头模板、hook 类型、帮我起个钩子, including during ra-洗稿 script rewriting and 选题深化. Provides a scenario-based taxonomy of 7 hook types with decision flow, prerequisites, sentence templates, and common mistakes. For diagnosing and optimizing an existing hook draft, use dbs-hook instead; this skill chooses the type, dbs-hook polishes the execution.

Pluviobyte/rnskill

Create dark cinematic SaaS/product motion videos in the Presenton-like "magic UI" style: black starfield stage, bottom purple glow, large kinetic type, cyan-to-magenta CTA buttons, prompt cards, floating UI templates, integration badges, model rings, export objects, speed-blur transitions, and short product capability arcs. Use when the user asks for "这种风格", "同款风格", dark SaaS promo, AI product demo, magic UI product video, or a style-level creation inspired by a reference video. Do not use for pixel-level or frame-accurate replication; use rn-replica-qc first for that.

Related Skills