Agent skill

Wjs Localizing Video

by jianshuo in jianshuo/claude-skills

Thin orchestrator for the end-to-end video localization pipeline.

MITAuto-check passedMedia & Creative

Install Wjs Localizing Video

skills CLI
$ npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jianshuo/claude-skills wjs-localizing-video --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/wjs-localizing-video .claude/skills/wjs-localizing-video && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
wjs-localizing-video
GitHub stars
131
Token cost
~2.2k tokens
SKILL.md length
940 words
Files
5
Skills in repo
38
Repo updated
First seen
Licence
MIT

At a glance

Thin orchestrator for the end-to-end video localization pipeline.

  • Works in 4 steps: Transcribe the Spanish source → Translate to Simplified Chinese → (Optional) Dub into Chinese → …
  • The user asks for full localization in one go (帮我把这个西班牙语视频做成中文字幕+配音
  • SKILL.md covers The four sub-skills, When to invoke this…, Progress checklist (do this… and Canonical end-to-end pipeline…, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Wjs Localizing Video is an agent skill from jianshuo/claude-skills. 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.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `.publish-manifest.json` and `README.md`).

It sits in Media & Creative, covering Transcription, Translation and Text to speech and voice. The repository describes itself as: 13 Claude Code skills for video production (transcribe / translate / dub / multicam / subtitles / reframe) + WeChat publishing. Compatible with Claude Code, OpenAI Codex CLI… The licence is MIT.

When your agent uses it

  • The user asks for full localization in one go (帮我把这个西班牙语视频做成中文字幕+配音
  • Translate and dub this video

Example prompts

  • “帮我把这个西班牙语视频做成中文字幕+配音”
  • “translate and dub this video”
  • “做完整的本地化”
  • “/wjs-localizing-video”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Transcribe the Spanish source
  2. Translate to Simplified Chinese
  3. (Optional) Dub into Chinese
  4. Burn subs + mix dub over original-as-bed

What it can do on your machine

Read from SKILL.md and the folder at commit b2690f5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Wjs Localizing Video loads about 2.2k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 940 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~125
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from jianshuo/claude-skills at commit b2690f5, republished under its MIT licence (© jianshuo). 940 words, ~2,209 tokens.

Download SKILL.mdSave it as .claude/skills/wjs-localizing-video/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
wjs-localizing-video
description
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.

wjs-localizing-video (orchestrator)

This skill was split. What used to be one 1300-line catch-all is now 4 focused sub-skills. Use this orchestrator only when the user asks for the full pipeline in one request. For any individual step, route directly to the sub-skill.

The four sub-skills

StepSkillINOUT
1. ASR/wjs-transcribing-audioaudio / video + source languagesource-language SRT
2. Translate/wjs-translating-subtitlessource SRT + target languagetarget SRT (punct-bounded)
3. Dub (optional)/wjs-dubbing-videovideo + target SRT + voice*_<lang>_dub.mp4 (TTS audio swapped in)
4. Burn / mix (optional)/wjs-burning-subtitlesvideo + SRT + (optional dub)final MP4 (one encode)

Steps 3 and 4 are optional and independent — most "subtitle-only" jobs stop after step 2 + soft-mux via /wjs-burning-subtitles. Most "dub-only" jobs stop after step 3.

When to invoke this orchestrator vs a sub-skill directly

Invoke this skill (wjs-localizing-video) when the user asks for the whole chain in one go:

  • "帮我把这个西班牙语视频做成中文字幕和中文配音"
  • "translate this Spanish video to English with dubbing"
  • "全套:转写、翻译、烧字幕、配音、混音"

Invoke a sub-skill directly when the user asks for one step:

  • "转写一下这个音频" → /wjs-transcribing-audio
  • "把这个 SRT 翻译成中文" → /wjs-translating-subtitles
  • "给这个视频配个中文音" → /wjs-dubbing-video
  • "把字幕烧进视频" → /wjs-burning-subtitles

The sub-skills are more focused and document their input/output contracts tighter. Don't route through this orchestrator when a single step is the whole ask — you'll just be reading docs you don't need.

Progress checklist (do this FIRST, before any sub-skill)

The pipeline has up to four steps and runs for several minutes. The user wants to see live progress, not a wall of silence followed by a finished file. Before invoking the first sub-skill, lay out the planned steps as a TaskCreate checklist. As you start each step, update its task to in_progress; when it finishes, mark completed. Claude Code renders this as a checklist in the UI that ticks off in real time.

Which tasks to create

Decide from the user's ask which subset of the 4 steps will run:

User asked forTasks to create
Full localization (subs + dub + final mix)① 转写 ② 翻译 ③ 配音 ④ 烧字幕 + 混音
Subtitles only (no voice change)① 转写 ② 翻译 ③ 烧字幕 (or soft-mux)
Dub only (no burn)① 转写 ② 翻译 ③ 配音
User already has source SRTskip ①; create only the remaining steps
User already has target SRTskip ① and ②; create only the remaining

Don't create tasks for steps you won't run — an unchecked item at the end reads as "we forgot," not "we skipped."

How to phrase the task subjects

Use the same labels you'll use in the "Final response template" below, so the in-flight checklist and the completion summary read as the same artifact:

  • 转写 <source-lang> (e.g., 转写 西班牙语)
  • 翻译 → <target-lang> (e.g., 翻译 → 中文)
  • 配音 <target-lang> (e.g., 配音 中文 (高冷御姐 -8%))
  • 烧字幕 + 原声底层 <bed> (e.g., 烧字幕 + 原声底层 0.18)

For activeForm, use the present-continuous variant (转写中…, 翻译中…, 配音中…, 合成中…).

State discipline
  • Mark in_progress only the task currently running (one at a time).
  • Mark completed immediately when the sub-skill returns its output file — don't batch.
  • If a step surfaces a clarifying question or fails, leave it as in_progress so the user can see exactly where the pipeline stopped. Don't mark a half-finished step as completed.
  • If the user redirects mid-pipeline (e.g., "skip the dub"), update the remaining tasks: delete the ones no longer applicable, keep the rest. Don't silently drop them.

Canonical end-to-end pipeline (Spanish → Chinese, with dub + bed + burn)

This is the original "validation scenario" — Spanish yoga/spiritual content into Chinese for 微信视频号 / 小红书. Walks through all 4 sub-skills.

Show full SKILL.md (371 more words)Show less
Step 1 — Transcribe the Spanish source
Invoke /wjs-transcribing-audio with the video and `--language es`.

The sub-skill handles: chunking, word-level timestamps, cue assembly at punctuation boundaries, loop guard, retry. Output: entrevista.srt (Spanish, source-language).

Step 2 — Translate to Simplified Chinese
Invoke /wjs-translating-subtitles with the Spanish SRT and target `zh-CN`.

The sub-skill handles: re-segmenting cues at punctuation, minimizing filler demonstratives, capping line length, preserving speaker tone. Output: entrevista.zh-CN.srt.

Step 3 — (Optional) Dub into Chinese
Invoke /wjs-dubbing-video with the video + entrevista.zh-CN.srt + a voice ID.

Default for mature contemplative female: zh_female_gaolengyujie_moon_bigtts (Volcano 高冷御姐, --rate -8% +0Hz). If no Volcano credentials: zh-CN-XiaoxiaoNeural --rate -8% --pitch -10Hz. The sub-skill samples first, then commits.

Output: entrevista_zh_dub.mp4.

Step 4 — Burn subs + mix dub over original-as-bed
Invoke /wjs-burning-subtitles with --video entrevista.mp4 --srt entrevista.zh-CN.srt --dub entrevista_zh_dub.mp4

The sub-skill handles: libass availability check, evermeet static-build fallback, Fontsize calibration, frame-check before full render, audio bed mix at 0.18.

Output: entrevista_zh_final.mp4 (ship-ready).

Defaults the user has standardized

These apply across the pipeline; each sub-skill enforces its own slice:

  • Chinese ASR routes to 豆包 (Volcano) first; Whisper is fallback. Enforced in /wjs-transcribing-audio.
  • Single voice for the whole dub unless the user explicitly mentions multiple speakers. Enforced in /wjs-dubbing-video.
  • Original audio kept as a low-volume bed (0.15–0.25) under any dub. Enforced in /wjs-burning-subtitles.
  • Burn-in for 微信视频号 / 抖音; soft-mux for everything else by default. Enforced in /wjs-burning-subtitles.
  • Channel CTA name (if added to description): 王建硕 — never a guest's name. (Global rule from ~/.claude/CLAUDE.md; applies when this pipeline is followed by /wjs-uploading-video.)

File naming convention (preserved from the original skill)

text
input:                       entrevista.mp4

Chinese pipeline:
  source SRT                 entrevista.srt
  Chinese SRT                entrevista.zh-CN.srt
  Chinese dub (audio only)   entrevista_zh_dub.mp4
  Chinese final (subs+dub)   entrevista_zh_final.mp4

English pipeline:
  English SRT                entrevista.en.srt
  English dub                entrevista_en_dub.mp4
  English final              entrevista_en_final.mp4

Bilingual subtitles:
  Spanish + Chinese          entrevista.es-zh.srt
  Spanish + English          entrevista.es-en.srt
  three-language             entrevista.es-zh-en.srt

BCP-47-style suffixes keep multiple target-language outputs side-by-side and make the target obvious at a glance.

What this orchestrator does NOT do

  • It does not re-implement anything. Every step delegates to a sub-skill.
  • It does not bundle the scripts. dub.py lives in /wjs-dubbing-video/scripts/, render.py lives in /wjs-burning-subtitles/scripts/, visual_diarize.py lives in /wjs-dubbing-video/scripts/. If you see stale copies under wjs-localizing-video/scripts/, prefer the canonical sub-skill locations.

Final response template

When the full pipeline completes, respond briefly in the user's language. Match the original "Done" template the user is used to:

text
已完成:
- 西班牙语转写  (/wjs-transcribing-audio)
- 中文翻译     (/wjs-translating-subtitles)
- 中文配音     (/wjs-dubbing-video, voice: 高冷御姐 -8%)
- 烧入字幕 + 原声底层 0.18  (/wjs-burning-subtitles)

输出:
- entrevista.srt
- entrevista.zh-CN.srt
- entrevista_zh_dub.mp4
- entrevista_zh_final.mp4

不确定片段:
- 00:01:23–00:01:26 背景噪音较大,原文可能不完全准确。

If there are no uncertain parts, drop the second list.

See also

  • /wjs-segmenting-video — cut long-form video into stand-alone short clips (uses its own SRT slicer; orthogonal to this pipeline).
  • /wjs-overlaying-video — HTML/CSS captions on a clip via HyperFrames. Don't combine with /wjs-burning-subtitles — pick one caption system per output.
  • /wjs-uploading-video — push the final MP4 to YouTube.
  • /lark-minutes — alternate Chinese-only transcript path via 飞书妙记 when local 豆包 ASR isn't wired up.

© jianshuo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files in wjs-localizing-video of jianshuo/claude-skills.

  • SKILL.md
  • .gitignore
  • .publish-manifest.json
  • LICENSE
  • README.md

Open the folder on GitHubat commit b2690f5

Compare with similar skills

Wjs Localizing Video next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Wjs Localizing Video compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Wjs Localizing Video this skilljianshuo/claude-skills131—~2.2kAutomated safety check: PassMIT
Edu Chem Videowy51ai/edulab1.4k—~2.1kAutomated safety check: NotesApache-2.0
Edu Math Videowy51ai/edulab1.4k—~2.5kAutomated safety check: NotesApache-2.0
Edu Physics Videowy51ai/edulab1.4k—~2.3kAutomated safety check: NotesApache-2.0
Youtube PublishAndonywang123/Epost197—~3.4kAutomated safety check: WarnNone
Video TranslationNoizAI/skills526—~1.3kAutomated safety check: NotesNone

Similar skills

  • Edu Chem Video

    wy51ai/edulab

    A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a chemistry problem (化学题: 氧化还原配平 双线桥 电子守恒, 物质的量计算, 化学平衡 三段式 平衡常数 转化率 反应速率, 离子反应, 电化学, 溶液 滴定…

    1.4k GitHub stars~2.1k tokensUpdated today
    Media & CreativeAuto-check: notes
  • Edu Math Video

    wy51ai/edulab

    A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a math problem (数学题, geometry, algebra, functions, motion/行程 problems), from a problem screenshot…

    1.4k GitHub stars~2.5k tokensUpdated today
    Media & CreativeAuto-check: notes
  • Edu Physics Video

    wy51ai/edulab

    A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a physics problem (物理题: mechanics/力学 受力分析 牛顿定律 斜面 传送带 板块 平抛 圆周 能量 动量, optics/光学 折射…

    1.4k GitHub stars~2.3k tokensUpdated today
    Media & CreativeAuto-check: notes
  • Youtube Publish

    Andonywang123/Epost

    Prepare an English YouTube release with local Chinese-to-English translation, subtitles and cover localization, then use a deterministic script connected to dedicated Chrome and YouTube Studio to…

    197 GitHub stars~3.4k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: warnings
  • Video Translation

    NoizAI/skills

    Translate and dub videos from one language to another, replacing the original audio with TTS while keeping the video intact.

    526 GitHub stars~1.3k tokensUpdated 12 days ago
    Media & CreativeAuto-check: notes
  • Proofread

    sonilo-ai/skills

    Transcribe a video with Sonilo and translate the transcript into editable .srt files — one per target language, plus the detected source language — so the wording can be read and corrected before…

    115 GitHub stars~4.4k tokensUpdated 2 days ago
    Media & CreativeAuto-check: notes

More from jianshuo/claude-skills

All 38 skills in this repo
  • Wjs Segmenting Video

    jianshuo/claude-skills

    A skill your agent uses 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.

    131 GitHub stars~3.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Wjs Uploading Video

    jianshuo/claude-skills

    Upload one or many videos to YouTube. An agent skill from jianshuo/claude-skills.

    131 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Wjs Converting Wp To Hugo

    jianshuo/claude-skills

    A skill your agent uses when migrating a WordPress site to a Hugo static site on GitHub Pages from a WXR export (.xml) plus the wp-content/uploads folder — preserving /archives/<id/ URLs, localizing…

    131 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Wjs Burning Subtitles

    jianshuo/claude-skills

    A skill your agent uses when the user has a video + an SRT and wants the subtitles either burned into the pixels (libass, always-visible) or soft-muxed as a togglable track.

    131 GitHub stars~3k tokensUpdated 1 mo ago
    Auto-check passed
  • Wjs Cleaning Spam

    jianshuo/claude-skills

    A skill your agent uses when the user complains about spam on his X/Twitter posts — 同城面付 / 寻固炮 / 线下上门 / 免费破处 这类引流号在他推文下刷的 emoji 垃圾回复 — and wants them removed.

    131 GitHub stars~532 tokensUpdated 1 mo ago
    Auto-check passed
  • Wjs Creating Video Book

    jianshuo/claude-skills

    A skill your agent uses when the user wants a book turned into YouTube chapter videos — 每章用 VoiceDrop 读书的有声书 mp3 做音轨,配 GPT Image 2 画面和中心思想大字,输出 1920×1080 横屏视频发 YouTube。Triggers — "把这本书做成视频"…

    131 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Wjs Localizing Video

What does Wjs Localizing Video do?

Thin orchestrator for the end-to-end video localization pipeline. Wjs Localizing Video is an agent skill from jianshuo/claude-skills. Thin orchestrator for the end-to-end video localization pipeline.

When should I use Wjs Localizing Video?

Wjs Localizing Video fits situations like: the user asks for full localization in one go (帮我把这个西班牙语视频做成中文字幕+配音; translate and dub this video.

How do I install Wjs Localizing Video in Claude Code?

Run `npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a claude-code`. Or copy the skill folder (wjs-localizing-video in jianshuo/claude-skills) into .claude/skills/wjs-localizing-video in your project. Claude Code loads it when a task matches its description.

How do I install Wjs Localizing Video in Codex?

Run `npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a codex`. Or copy the skill folder (wjs-localizing-video in jianshuo/claude-skills) into .agents/skills/wjs-localizing-video in your project. Codex loads it when a task matches its description.

Can I use Wjs Localizing Video in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wjs-localizing-video, .gemini/skills/wjs-localizing-video, .github/skills/wjs-localizing-video and .opencode/skills/wjs-localizing-video in your project.

What does Wjs Localizing Video need to run?

SKILL.md names no scripts, command-line tools or credentials: Wjs Localizing Video is instructions for the agent only.

Does Wjs Localizing Video access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Wjs Localizing Video safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Wjs Localizing Video use?

Wjs Localizing Video is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Wjs Localizing Video use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Wjs Localizing Video?

Skills that share tags, products or a category with Wjs Localizing Video: Edu Chem Video (wy51ai/edulab, 1.4k stars), Edu Math Video (wy51ai/edulab, 1.4k stars), Edu Physics Video (wy51ai/edulab, 1.4k stars) and Youtube Publish (Andonywang123/Epost, 197 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Wjs Localizing Video?

jianshuo (a GitHub user) maintains it in jianshuo/claude-skills, which has 131 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on August 20, 2026.

Source: jianshuo/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.