ワンクリックで
video-assets
Re-encode Zero docs videos, generate poster images, version filenames for immutable caching, and update MDX references.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Re-encode Zero docs videos, generate poster images, version filenames for immutable caching, and update MDX references.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Draft Zero release notes from rocicorp/mono commits, including complete commit audits, compatibility and breaking-change checks, substantiated performance claims, related docs updates, and smoke-test handoff.
Plan and run Zero canary smoke tests across maintained sample apps, companion packages, Docker images, and internal rollout or rollback. Use when preparing a Zero release, upgrading examples to a canary, testing drizzle-zero or prisma-zero, or coordinating manual app validation.
Compare benchmark results between two refs, branches, tags, or commits; produce aggregate before/after summaries and investigate major regressions.
| name | video-assets |
| description | Re-encode Zero docs videos, generate poster images, version filenames for immutable caching, and update MDX references. |
Use this skill when adding, replacing, or optimizing videos in zero-docs, especially files under public/video/** referenced by <Video /> in MDX or the landing page.
Produce browser-friendly, cache-safe video assets with matching poster images and correct docs references.
Infer from the user request:
public/video/**.-v2.If audio preservation is unclear, ask one short question. Default to preserving audio for release-note or narrated videos, and stripping audio for silent docs animations.
name-v1.mp4, name-v1.webp.-v2, -v3, etc.public/video/tutorial/demo-v1.webp.Before encoding, inspect sizes and metadata:
du -h public/video/path/to/video.mp4
ffprobe -v error -show_entries format=filename,duration,size,bit_rate:stream=index,codec_type,codec_name,width,height,avg_frame_rate,bit_rate -of json public/video/path/to/video.mp4
Search for current references:
rg '/video/.+\.(mp4|webp|png|jpg|jpeg)' contents components app next.config.mjs
Use this for inline docs videos that do not need audio:
ffmpeg -i input.mp4 \
-map 0:v:0 -an -sn -dn \
-vf 'fps=30,scale=-2:min(1440\,ih):flags=lanczos' \
-c:v libx264 -preset slow -crf 28 \
-pix_fmt yuv420p \
-g 60 \
-movflags +faststart \
-map_metadata -1 \
output-v1.mp4
Use this for release-note videos or anything with intentional audio:
ffmpeg -i input.mp4 \
-map 0:v:0 -map '0:a?' -sn -dn \
-vf 'fps=30,scale=-2:min(1080\,ih):flags=lanczos' \
-c:v libx264 -preset slow -crf 28 \
-pix_fmt yuv420p \
-g 60 \
-c:a aac -b:a 128k \
-movflags +faststart \
-map_metadata -1 \
output-v1.mp4
Use this for already-small videos that only need versioning/cache busting or a front-loaded moov atom:
ffmpeg -i input.mp4 \
-map 0:v:0 -map '0:a?' -sn -dn \
-c copy \
-movflags +faststart \
-map_metadata -1 \
output-v1.mp4
Generate posters from the optimized output, not the original source. Default to 0.05s so the poster matches the first visible frame:
ffmpeg -ss 0.05 -i output-v1.mp4 \
-frames:v 1 \
-vf 'scale=-2:min(1080\,ih):flags=lanczos' \
-c:v libwebp -quality 82 \
output-v1.webp
If the local ffmpeg build lacks libwebp, generate a temporary PNG and convert with cwebp:
ffmpeg -ss 0.05 -i output-v1.mp4 \
-frames:v 1 \
-vf 'scale=-2:min(1080\,ih):flags=lanczos' \
/tmp/output-v1.png
cwebp -q 82 /tmp/output-v1.png -o output-v1.webp
Update MDX to include both src and poster:
<Video
src="/video/path/name-v1.mp4"
alt="Descriptive video text"
poster="/video/path/name-v1.webp"
animation
/>
Omit animation for normal videos that should use native playback controls.
For landing page videos, preserve existing behavior and pass variant="landing" if using components/ui/Video.tsx.
After references are updated and verified:
public/video/**.