Edu Chem Video
wy51ai/edulab
A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a chemistry problem (化学题: 氧化还原配平 双线桥 电子守恒, 物质的量计算, 化学平衡 三段式 平衡常数 转化率 反应速率, 离子反应, 电化学, 溶液 滴定…
Thin orchestrator for the end-to-end video localization pipeline.
$ npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jianshuo/claude-skills wjs-localizing-video --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "wjs-localizing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-localizing-video into .claude/skills/wjs-localizing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-localizing-video", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jianshuo/claude-skills/tree/main/wjs-localizing-videoType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jianshuo/claude-skills wjs-localizing-video --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/wjs-localizing-video .agents/skills/wjs-localizing-video && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wjs-localizing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-localizing-video into .agents/skills/wjs-localizing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-localizing-video", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jianshuo/claude-skills wjs-localizing-video --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/wjs-localizing-video .cursor/skills/wjs-localizing-video && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wjs-localizing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-localizing-video into .cursor/skills/wjs-localizing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-localizing-video", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jianshuo/claude-skills.git --path wjs-localizing-video--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jianshuo/claude-skills wjs-localizing-video --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/wjs-localizing-video .gemini/skills/wjs-localizing-video && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wjs-localizing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-localizing-video into .gemini/skills/wjs-localizing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-localizing-video", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jianshuo/claude-skills wjs-localizing-videoInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/wjs-localizing-video .github/skills/wjs-localizing-video && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wjs-localizing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-localizing-video into .github/skills/wjs-localizing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-localizing-video", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jianshuo/claude-skills --skill wjs-localizing-video -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jianshuo/claude-skills wjs-localizing-video --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jianshuo/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/wjs-localizing-video .opencode/skills/wjs-localizing-video && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wjs-localizing-video" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-localizing-video into .opencode/skills/wjs-localizing-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-localizing-video", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wjs-localizing-videoThin 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. 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.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b2690f5. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from jianshuo/claude-skills at commit b2690f5, republished under its MIT licence (© jianshuo). 940 words, ~2,209 tokens.
.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.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.
| Step | Skill | IN | OUT |
|---|---|---|---|
| 1. ASR | /wjs-transcribing-audio | audio / video + source language | source-language SRT |
| 2. Translate | /wjs-translating-subtitles | source SRT + target language | target SRT (punct-bounded) |
| 3. Dub (optional) | /wjs-dubbing-video | video + target SRT + voice | *_<lang>_dub.mp4 (TTS audio swapped in) |
| 4. Burn / mix (optional) | /wjs-burning-subtitles | video + 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.
Invoke this skill (wjs-localizing-video) when the user asks for the whole chain in one go:
Invoke a sub-skill directly when the user asks for one step:
/wjs-transcribing-audio/wjs-translating-subtitles/wjs-dubbing-video/wjs-burning-subtitlesThe 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.
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.
Decide from the user's ask which subset of the 4 steps will run:
| User asked for | Tasks to create |
|---|---|
| Full localization (subs + dub + final mix) | ① 转写 ② 翻译 ③ 配音 ④ 烧字幕 + 混音 |
| Subtitles only (no voice change) | ① 转写 ② 翻译 ③ 烧字幕 (or soft-mux) |
| Dub only (no burn) | ① 转写 ② 翻译 ③ 配音 |
| User already has source SRT | skip ①; create only the remaining steps |
| User already has target SRT | skip ① 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."
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 (转写中…, 翻译中…, 配音中…, 合成中…).
in_progress only the task currently running (one at a time).completed immediately when the sub-skill returns its output file — don't batch.in_progress so the user can see exactly where the pipeline stopped. Don't mark a half-finished step as completed.This is the original "validation scenario" — Spanish yoga/spiritual content into Chinese for 微信视频号 / 小红书. Walks through all 4 sub-skills.
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).
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.
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.
Invoke /wjs-burning-subtitles with --video entrevista.mp4 --srt entrevista.zh-CN.srt --dub entrevista_zh_dub.mp4The 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).
These apply across the pipeline; each sub-skill enforces its own slice:
/wjs-transcribing-audio./wjs-dubbing-video./wjs-burning-subtitles./wjs-burning-subtitles.~/.claude/CLAUDE.md; applies when this pipeline is followed by /wjs-uploading-video.)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.srtBCP-47-style suffixes keep multiple target-language outputs side-by-side and make the target obvious at a glance.
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.When the full pipeline completes, respond briefly in the user's language. Match the original "Done" template the user is used to:
已完成:
- 西班牙语转写 (/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.
/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
SKILL.md and 4 other files in wjs-localizing-video of jianshuo/claude-skills.
Open the folder on GitHubat commit b2690f5
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Wjs Localizing Video this skilljianshuo/claude-skills | 131 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Edu Chem Videowy51ai/edulab | 1.4k | — | ~2.1k | Automated safety check: Notes | Apache-2.0 | |
| Edu Math Videowy51ai/edulab | 1.4k | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Edu Physics Videowy51ai/edulab | 1.4k | — | ~2.3k | Automated safety check: Notes | Apache-2.0 | |
| Youtube PublishAndonywang123/Epost | 197 | — | ~3.4k | Automated safety check: Warn | None | |
| Video TranslationNoizAI/skills | 526 | — | ~1.3k | Automated safety check: Notes | None |
wy51ai/edulab
A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a chemistry problem (化学题: 氧化还原配平 双线桥 电子守恒, 物质的量计算, 化学平衡 三段式 平衡常数 转化率 反应速率, 离子反应, 电化学, 溶液 滴定…
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…
wy51ai/edulab
A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a physics problem (物理题: mechanics/力学 受力分析 牛顿定律 斜面 传送带 板块 平抛 圆周 能量 动量, optics/光学 折射…
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…
NoizAI/skills
Translate and dub videos from one language to another, replacing the original audio with TTS while keeping the video intact.
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…
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.
jianshuo/claude-skills
Upload one or many videos to YouTube. An agent skill from jianshuo/claude-skills.
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…
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.
jianshuo/claude-skills
A skill your agent uses when the user complains about spam on his X/Twitter posts — 同城面付 / 寻固炮 / 线下上门 / 免费破处 这类引流号在他推文下刷的 emoji 垃圾回复 — and wants them removed.
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 — "把这本书做成视频"…
Categories
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.
Wjs Localizing Video fits situations like: the user asks for full localization in one go (帮我把这个西班牙语视频做成中文字幕+配音; translate and dub this video.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Wjs Localizing Video is instructions for the agent only.
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.
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.
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.
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.
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.
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.