wjs-segmenting-video

Solid

Use when the user has a long-form video (interview / lecture / podcast / conversation) and a transcript SRT, and wants to extract 3–6 stand-alone topical short clips from it. This skill ONLY cuts and crops — it produces raw clips + per-clip SRTs as a hand-off package for downstream post-production (`/wjs-overlaying-video`). Triggers — "切成几段", "分主题", "拆成短视频", "切片", "topic segments", "split into clips".

AI & Automation 108 stars 15 forks Updated 4 days ago MIT

Install

View on GitHub

Quality Score: 86/100

Stars 20%
68
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# wjs-segmenting-video Cut a long video + SRT into multiple stand-alone short clips, each oriented for the target platform. **This skill stops after cutting + cropping** — it hands off the raw clips to `/wjs-overlaying-video` for covers, captions, illustrations, CTA, and final render. ## When to use - Long-form video (≥10 min) with an existing SRT transcript. - Goal is **stand-alone** short clips (each viewable without context). - The user will (or you will) drive post-production separately in `/wjs-overlaying-video`. ## When NOT to use - Single-topic trimming → just use `ffmpeg -ss A -to B`. - No transcript yet → run **`/wjs-transcribing-audio`** first (then `/wjs-translating-subtitles` if the segments need a non-source language). - Multicam editing → use **`/wjs-editing-multicam`**. - Highlight reel with multiple cuts inside a single topic → that's editing, not segmentation. ## What this skill IS — and IS NOT | Is | Is not | |---|---| | You (the agent) **read the full SRT and decide the topic boundaries** | A script that runs NLP topic modeling, silence detection, or "viral moment" scoring. Topic boundaries are semantic; competing tools (Descript, OpusClip, Riverside Magic Clips) all get this wrong by automating it. | | `segment.py` cuts; `/wjs-reframing-video` reorients | An end-to-end "magic" pipeline | | Accurate-seek cuts by default (re-encode) — clip starts EXACTLY at requested timestamp | Stream-copy cuts (those produce keyframe-snap drift up to GOP duratio...

Details

Author
jianshuo
Repository
jianshuo/claude-skills
Created
2 months ago
Last Updated
4 days ago
Language
Python
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category

Code & Development Solid

wjs-overlaying-video

Use when the user has one or more video clips and wants to add post-production on top — AI-generated cover as first frame, HTML/CSS captions synced to SRT, kinetic illustration overlays at hook moments, chapter chips, end-card CTA, or any other timed motion graphics. Most often used as the downstream of `/wjs-segmenting-video` — pick up where that skill stopped (raw cropped clip + per-clip SRT) and produce the upload-ready MP4. Backed by HyperFrames so everything compiles to ONE final encode — no cascade of re-encodes. Triggers — "加封面", "加字幕", "加动画", "加 CTA", "做后期", "post-production", "title card", "kinetic captions", "end card".

108 Updated 4 days ago
jianshuo
AI & Automation Solid

wjs-reframing-video

Use when the user wants to convert a video between horizontal and vertical orientations while preserving the inverted aspect ratio (16:9 ↔ 9:16, 4:3 ↔ 3:4, 21:9 ↔ 9:21). The skill crops a narrow band from the source and tracks the active speaker — the person whose mouth is moving — via MediaPipe face landmarks and mouth-aspect-ratio variance, so the talker stays in frame even when other people are visible. Triggers — "横转竖", "竖转横", "做成竖屏发抖音/视频号/小红书", "16:9 to 9:16", "make this vertical for Reels / TikTok / YouTube Shorts", "crop to portrait", "convert to landscape".

108 Updated 4 days ago
jianshuo
AI & Automation Solid

wjs-localizing-video

Thin orchestrator for the end-to-end video localization pipeline. Routes to the four focused sub-skills — /wjs-transcribing-audio, /wjs-translating-subtitles, /wjs-dubbing-video, /wjs-burning-subtitles. Use when the user asks for full localization in one go ("帮我把这个��班牙语视频做成中文字幕+配音", "translate and dub this video", "做完整的本地化"). For any individual step (just transcribe, just translate, just dub, just burn), invoke the sub-skill directly — it's faster and the boundary is cleaner.

108 Updated 4 days ago
jianshuo