本文へ移動
cccskills
無料GitHub で公開

skill-captions

Render, preview, validate, and burn consistent production subtitles from QC-passed real-timestamp caption artifacts. Use for AI-video production, washed-video production, IndexTTS2 explainers, practical long-form videos, talking-head edits, Kimi-style dark rounded captions, warm-white translucent captions, subtitle styling, subtitle overlays, or fixing caption size, position, shadow, drift, and 4K scaling. Always pair with ra-audio-to-subtitles when final word timestamps do not already exist.

インストール方法を見る

含まれるファイル(77)

  • SKILL.md5.1 KB
  • agents/openai.yaml253 B
  • assets/style-reference/anchor-dark/anchor-dark-caption-crop.png81.8 KB
  • assets/style-reference/anchor-dark/anchor-dark-render-regression-1080p.png289.9 KB
  • assets/style-reference/anchor-dark/anchor-dark-render-regression-4k.png662.9 KB
  • assets/style-reference/anchor-dark/kimi-reference-32s.png251.7 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0001.png45.5 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0002.png48.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0003.png33.2 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0004.png40.7 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0005.png41.1 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0006.png48.5 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0007.png42.6 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0008.png34.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0009.png26.1 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0010.png49.5 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0011.png37.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0012.png52.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0013.png36.5 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0014.png31.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0015.png44.9 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0016.png41.1 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0017.png36.7 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0018.png41.2 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0019.png38.8 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0020.png35.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0021.png38.1 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0022.png38.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0023.png34.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0024.png51.5 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0025.png28.8 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0026.png42.6 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0027.png44.8 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0028.png36.6 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0029.png44.4 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0030.png33.6 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0031.png42.6 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0032.png44.5 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0033.png33.0 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0034.png45.4 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0035.png45.6 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0036.png51.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0037.png34.5 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0038.png43.6 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0039.png45.7 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0040.png45.2 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0041.png44.7 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0042.png49.9 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0043.png30.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0044.png35.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0045.png35.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0046.png50.2 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/cue-0047.png32.5 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/overlay.ffconcat17.5 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/preview-base.png288.9 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p-caption-work/transparent.png2.4 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-1080p.png306.2 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/cue-0001.png102.9 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/cue-0002.png107.8 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/cue-0003.png75.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/cue-0004.png91.1 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/cue-0005.png90.2 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/cue-0006.png106.9 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/cue-0007.png95.9 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/overlay.ffconcat2.6 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/preview-base.png634.3 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k-caption-work/transparent.png9.4 KB
  • assets/style-reference/anchor-light/anchor-light-render-regression-4k.png665.4 KB
  • assets/styles/anchor-dark.css533 B
  • assets/styles/anchor-light.css660 B
  • references/layout-qc.md1.1 KB
  • references/style-anchor-dark.md1.4 KB
  • references/style-anchor-light.md2.1 KB
  • references/style-registry.json2.0 KB
  • references/timing-contract.md664 B
  • scripts/render_captions.py20.1 KB
  • scripts/validate_caption_render.py4.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Skill-字幕

Separate subtitle timing from subtitle appearance:

  • Let ra-audio-to-subtitles own ASR, phrase grouping, timestamps, SRT/VTT, and caption-qc.json.
  • Let this skill own typography, panel geometry, fixed anchoring, preview, overlay rendering, burn-in, and render QC.
  • Never estimate production timing from character count, scene duration, or TTS segment duration.

Required workflow

  1. Lock the final narration audio or final merged video.
  2. Run ra-audio-to-subtitles unless the project already has the canonical caption artifacts described in references/timing-contract.md.
  3. Require caption-qc.json to report status: pass.
  4. Select a style from references/style-registry.json. Use anchor-dark when the contract does not specify another style.
  5. Generate a representative still preview before rendering a full video.
  6. Inspect the preview against references/layout-qc.md.
  7. Render the captioned derivative. Preserve the clean video and portable SRT/VTT.
  8. Run scripts/validate_caption_render.py and archive its JSON report.

Registered styles

anchor-dark reproduces the approved Kimi K3 subtitle treatment: STHeiti Medium, warm white text, a tight charcoal translucent rounded panel, no text stroke, no text shadow, no large panel shadow, and a fixed bottom-center anchor. Read references/style-anchor-dark.md before changing its values.

anchor-light keeps the exact same typography, size, padding, width, bottom anchor, line fitting, and resolution scaling as anchor-dark. Only its surface changes: dark ink on a warm-white translucent panel with a fine border and subtle soft shadow. Read references/style-anchor-light.md before changing its values. This is the second registered style; anchor-dark remains the default.

Scale every 1080p metric by target_height / 1080. Render 4K captions at 2× their 1080p measurements; never upscale a rasterized 1080p subtitle layer.

Commands

Preview a QC-passed project:

python3 .claude/skills/skill-captions/scripts/render_captions.py \
  final.mp4 media/captions/captions.json \
  --qc media/captions/caption-qc.json \
  --preview qc/caption-preview.png \
  --preview-only

Burn the default style:

python3 .claude/skills/skill-captions/scripts/render_captions.py \
  final-clean.mp4 media/captions/captions.json \
  --qc media/captions/caption-qc.json \
  --out renders/final-captioned.mp4 \
  --preview qc/caption-preview.png

Burn the light translucent style:

python3 .claude/skills/skill-captions/scripts/render_captions.py \
  final-clean.mp4 media/captions/captions.json \
  --qc media/captions/caption-qc.json \
  --style anchor-light \
  --out renders/final-captioned.mp4 \
  --preview qc/caption-preview.png

Skip an interval that already contains burned captions:

python3 .claude/skills/skill-captions/scripts/render_captions.py \
  final-clean.mp4 media/captions/captions.json \
  --qc media/captions/caption-qc.json \
  --exclude 0:23.936 \
  --out renders/final-captioned.mp4

Create a reusable transparent caption band:

python3 .claude/skills/skill-captions/scripts/render_captions.py \
  final-clean.mp4 media/captions/captions.json \
  --qc media/captions/caption-qc.json \
  --overlay-out renders/caption-band.mov

Validate the result:

python3 .claude/skills/skill-captions/scripts/validate_caption_render.py \
  --source final-clean.mp4 \
  --render renders/final-captioned.mp4 \
  --captions media/captions/captions.json \
  --qc media/captions/caption-qc.json \
  --out qc/caption-render-qc.json

Hard rules

  • Use the final audio/video as the only timing source.
  • Consume captions.json start/end values directly.
  • Refuse final burn-in when caption QC is missing or failed.
  • Keep a fixed bottom anchor. Let multiline panels grow upward.
  • Keep captions inside the frame and clear of titles, UI, faces, and PiP.
  • Keep English model/product tokens intact.
  • Preserve one canonical caption timeline across renderers.
  • Keep the clean master; a burned-caption MP4 is a derivative.
  • For a new or materially changed style, show a short preview before the full render.
  • Do not add karaoke, behind-person typography, VFX captions, or animated hero words unless the user explicitly requests the separate embedded-captions lane.

Integration contract

Video orchestrators should call this skill after ra-audio-to-subtitles. Handoff contracts may set caption_style to anchor-dark or anchor-light; otherwise use anchor-dark. Renderers may reproduce the registered CSS in Remotion or HyperFrames, but must preserve the style metrics and fixed-anchor behavior.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

口播视频转录和口误识别。生成审查稿和删除任务清单。触发词:剪口播、处理视频、识别口误

日本語の概要は準備中です。原文の説明を表示しています。

Pluviobyte/rnskill1,6432026年9月21日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

Pluviobyte/rnskill1,6432026年9月21日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

Pluviobyte/rnskill1,6432026年9月21日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

Pluviobyte/rnskill1,6432026年9月21日 更新

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

日本語の概要は準備中です。原文の説明を表示しています。

Pluviobyte/rnskill1,6432026年9月21日 更新

dbs

無料

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/rnskill1,6432026年9月21日 更新

Pluviobyte のスキルをすべて見る

このスキルの問題を報告する