Podcast
zarazhangrui/personalized-podcast
Generate a podcast episode from content you provide. An agent skill from zarazhangrui/personalized-podcast.
A skill your agent uses when the user has 2+ recordings of the same event (each with a .sync.json sidecar from wjs-syncing-multicam) and wants them combined into a single MP4 — auto-switching…
$ npx skills add jianshuo/claude-skills --skill wjs-editing-multicam -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jianshuo/claude-skills wjs-editing-multicam --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-editing-multicam .claude/skills/wjs-editing-multicam && 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-editing-multicam" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-editing-multicam into .claude/skills/wjs-editing-multicam/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-editing-multicam", 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-editing-multicamType 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-editing-multicam -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jianshuo/claude-skills wjs-editing-multicam --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-editing-multicam .agents/skills/wjs-editing-multicam && 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-editing-multicam" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-editing-multicam into .agents/skills/wjs-editing-multicam/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-editing-multicam", 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-editing-multicam -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jianshuo/claude-skills wjs-editing-multicam --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-editing-multicam .cursor/skills/wjs-editing-multicam && 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-editing-multicam" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-editing-multicam into .cursor/skills/wjs-editing-multicam/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-editing-multicam", 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-editing-multicam--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-editing-multicam -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jianshuo/claude-skills wjs-editing-multicam --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-editing-multicam .gemini/skills/wjs-editing-multicam && 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-editing-multicam" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-editing-multicam into .gemini/skills/wjs-editing-multicam/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-editing-multicam", 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-editing-multicamInstalls 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-editing-multicam -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-editing-multicam .github/skills/wjs-editing-multicam && 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-editing-multicam" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-editing-multicam into .github/skills/wjs-editing-multicam/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-editing-multicam", 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-editing-multicam -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-editing-multicam --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-editing-multicam .opencode/skills/wjs-editing-multicam && 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-editing-multicam" agent skill from https://github.com/jianshuo/claude-skills/tree/main/wjs-editing-multicam into .opencode/skills/wjs-editing-multicam/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wjs-editing-multicam", 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-editing-multicamA skill your agent uses when the user has 2+ recordings of the same event (each with a .sync.json sidecar from wjs-syncing-multicam) and wants them combined into a single MP4 — auto-switching…
Wjs Editing Multicam is an agent skill from jianshuo/claude-skills. Use when the user has 2+ recordings of the same event (each with a .sync.json sidecar from wjs-syncing-multicam) and wants them combined into a single MP4 — auto-switching between cams second-by-second on audio energy, with optional picture-in-picture inset. Triggers — "auto-edit multicam", "做个剪辑", "切几个机位", "把这几个视频合成一个", "combine these angles", "PiP overlay".
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative. It works with FFmpeg. 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 first numbered list 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.
Shell commands in SKILL.md call:
ffmpegpython3ffprobeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
pypi.orggithub.comFrom 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 Editing Multicam loads about 3k tokens when it runs. Until then it costs about 96 tokens; SKILL.md has 1,367 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). 1,367 words, ~3,022 tokens.
.claude/skills/wjs-editing-multicam/SKILL.md (or your agent's skills folder).Combine N synced camera angles into a single rendered MP4. Decisions are audio-energy-driven only — the cam with the loudest mic each second wins. Output is hard cuts (or hard cuts plus a corner PiP).
The implementation lives in the open-source polysync pip package (https://pypi.org/project/polysync/ · https://github.com/jianshuo/polysync) — this skill no longer ships its own scripts. Install it, then drive it via its CLI:
python3 -m pip install -U polysync # needs ffmpeg/ffprobe on PATH
polysync edit CAM_A CAM_B CAM_C --out edl.json # build the decision list
polysync render-cuts edl.json --out out.mp4 # hard cuts
polysync render-pip edl.json --out out.mp4 --pip bottom-right # cuts + corner insetedit and the renderers read each input's .sync.json automatically. Sync first with wjs-syncing-multicam (polysync sync) if the sidecars don't exist yet.
Render flags for raw camera footage (see Preflight below for when to use each):
# Sony S-Log3 footage, shot vertical, FX6 cams turned on their side, for 小红书:
polysync render-cuts edl.json --out out.mp4 \
--log slog3 \ # S-Log3/S-Gamut3.Cine -> Rec.709 grade
--rotate 1:90 --rotate 2:90 \ # rotate cam1,cam2 90° CW (FX6 with no flag)
--width 1080 --height 1920 --fill \ # vertical, crop-to-fill (no black bars)
--duck-audio --audio-cams 0,1 # clean speaker-gated audio (cams 0,1 = the two lavs)--duck-audio replaces the single-cam soundtrack with a speaker-gated mix: each moment keeps the active speaker's close mic and ducks the rest (much cleaner than a constant 2-mic sum, which piles up bleed/room tone). --audio-cams 0,1 restricts gating to the real speaker mics — always exclude the wide/room cam, whose mic sits at a similar level but is reverby and would otherwise get picked. (See the editing-quality note below for the why.)
Straight-off-the-card footage renders WRONG without these checks. Spend 2 minutes here or you'll render the whole thing broken (we did).
.XML sidecar's CaptureGammaEquation (s-log3-cine) or ffprobe -show_entries stream=color_transfer. Fix: --log slog3. (Performance: the LUT is applied AFTER downscale automatically — a 3D LUT on 4K is ~4x slower than on 1080p for an identical result.)ffmpeg -ss 200 -i CAM -frames:v 1 f.jpg) and LOOK. Some cameras (FX3) write a rotation flag → ffmpeg auto-rotates, fine. Others (FX6 physically turned on its side) write no flag → people come out lying down. Fix per-cam: --rotate 1:90 (90 = clockwise; try 270 if upside-from-the-other-side).--width 1080 --height 1920 --fill. Default (1920×1080, pad) is for landscape only; mixing a portrait source into a landscape frame pillarboxes it (ugly black side bars).delta/coverage shows it. The opening N seconds may be single-cam (only the first-rolling camera covers t=0). That's unavoidable — expect a single-cam intro of max(delta) seconds.polysync edit isn't enoughpolysync edit switches to the loudest mic per second. With close, bleeding mics (each cam's mic also picks up the other speaker loudly), the close/guest mic stays loudest even when the other person talks, so the editor over-selects that cam and the cuts don't track the real speaker. Two fixes, applied by hand on the EDL when "cut to the correct speaker" matters:
cam[k] - mean(others) doesn't remove the per-mic baseline offset, so it favors the loud mic.)| Is | Is not |
|---|---|
| Audio-energy-driven cam switching | Face / framing detection (no face_recognition, no MediaPipe) |
| Single-source audio (one cam's mic) | Multi-mic mix / per-speaker gating |
| Hard cuts, with optional PiP inset | Crossfades / opacity transitions / sliding animations |
ffmpeg concat + overlay filter renders | HyperFrames composition / <hf-clip> |
| Coverage-aware (won't pick a cam outside its sidecar window) | Frame-accurate beat alignment / VAD-edge cuts |
If you need face tracking, fade transitions, captions, or HyperFrames composition, use the hyperframes skill on top of this skill's MP4 output.
Original camera files (untouched) plus their .sync.json sidecars next to them. If sources aren't synced yet, run wjs-syncing-multicam first to write the sidecars. Missing sidecar = cam assumed at delta=0, full coverage.
polysync edit reads each sidecar for delta_seconds + overlap_in_reference, lifts the cam's audio envelope into the reference timeline, and only schedules a cam during its coverage window. polysync render-cuts / polysync render-pip apply ffmpeg -itsoffset per input using the EDL's deltas[] array.
delta_seconds[k] + overlap_in_reference[k].t_ref - delta_k; uncovered seconds become -inf so they're never picked.cam[k] - mean(other covered cams). Highest score = best active-speaker candidate.rotation (default): random dwell in [min_dwell=8, max_dwell=15] s, pick best-scoring covered cam (≠ current) at each cut.greedy: hysteresis — hold current unless another cam's lookahead-window score beats it by --switch-threshold. Floor min_dwell=4, ceiling max_dwell=18.
Both force-switch if the active cam exits its coverage window mid-shot. If no cam covers t=0 (overlap windows that start a few seconds in), the editor opens at the first covered second and backfills the lead-in with cam 0.edl.json){
"_about": "EDL produced by polysync.edit.autoedit. Times in reference timeline. Render commands apply ffmpeg -itsoffset deltas[k] per input.",
"_help": {
"inputs": "Original media paths, in cam-index order (cam 0, cam 1, ...).",
"deltas": "Per-cam delta_seconds from each sidecar. Render uses ffmpeg -itsoffset deltas[k].",
"duration_sec": "Output duration in reference timeline.",
"audio_source": "Cam index whose audio track becomes the master. Single source — not a mix.",
"coverage": "[start, end] per cam in reference timeline.",
"edl": "List of {cam, start, end} segments. Times are reference-timeline seconds."
},
"inputs": ["cam_a.MOV", "cam_b.MOV"],
"deltas": [0.0, 12.345],
"duration_sec": 4512,
"audio_source": 0,
"coverage": [[0.0, 4512.0], [12.345, 4499.835]],
"edl": [{"cam": 0, "start": 0, "end": 13}, {"cam": 1, "start": 13, "end": 28}, ...]
}polysync edit writes _about + _help directly into the file so opening the JSON in any editor explains itself.
| Command | What it does |
|---|---|
polysync render-cuts | Hard cuts only. concat filter graph over per-segment trim+scale+pad. Audio = audio_source cam, trimmed to first EDL row's start. |
polysync render-pip | Hard cuts + corner picture-in-picture overlay. Main cam = EDL row's cam; PiP cam picked round-robin (or via per-row pip field). PiP is scaled to --pip-width (default 480 px), placed in a configurable corner with optional white border. No fade / no opacity — solid block on/off. |
Both apply -itsoffset deltas[k] per input.
Three real knobs to confirm with the user:
--mode rotation (varied dwell, easier on the ear) vs --mode greedy (energy-following, snappier).--min-dwell floor. 8 s default for rotation is conservative; talking-heads can go to 4.audio_source is auto-picked; override with --audio-source <cam-index> if the auto-pick sounds wrong on a 30 s listen.
working_dir/
cam_a.MOV # ORIGINAL, untouched
cam_a.MOV.sync.json # from wjs-syncing-multicam
cam_b.MOV # ORIGINAL, untouched
cam_b.MOV.sync.json
edl.json # from `polysync edit`
multicam_render.mp4 # from `polysync render-cuts` OR `polysync render-pip`audio_source without listening. Spread + coverage is a proxy. Always sample a 30 s clip before committing — a high-spread track can still be clipped / distorted.polysync edit on the full 75 min before tuning. Run on a 2-min slice first (ffmpeg -ss A -t 120 an extract per cam), listen, adjust --min-dwell / --mode, then commit to full length.--audio-source + per-segment pip overrides as the manual escape hatch.deltas[] at edit time. If you fix the sidecars later, re-run polysync edit to regenerate the EDL before re-rendering.polysync render-cuts trims in the filter graph (trim=start=…) with no input -ss seek, so for a clip whose EDL starts deep in the source (e.g. a 90 s segment 28 min into a 34 min file) ffmpeg DECODES the 4K from t=0 to reach the window — ~20 min for a 92 s clip. Fix: pre-cut each cam's window first with accurate fast seek (ffmpeg -ss <start-2> -i src -ss 2 -t <dur> … — fast-seek to 2 s before, then accurate-decode 2 s), already rotated + graded + scaled to the target frame, then concat the multicam EDL on those short prepared windows (0-based times, cheap). All cams cut to the SAME reference window (source-local start = ref_start - delta_k) so they stay in sync. This is how /wjs-segmenting-video should render multicam segments — never feed a mid-video absolute-time EDL to a from-zero decode.© jianshuo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in wjs-editing-multicam of jianshuo/claude-skills.
Open the folder on GitHubat commit b2690f5
Wjs Editing Multicam 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 Editing Multicam this skilljianshuo/claude-skills | 131 | — | ~3k | Automated safety check: Pass | MIT | |
| Podcastzarazhangrui/personalized-podcast | 438 | — | ~2.3k | Automated safety check: Notes | None | |
| Book Sales VideoKianzzz/book-sales-video | 218 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Frames CLIviticci/frames-cli | 405 | — | ~6.1k | Automated safety check: Pass | MIT | |
| Video Assemblezenstory-ai/video-recap-skills | 561 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Extract Video Framesqdhenry/Claude-Command-Suite | 1.3k | — | ~1.6k | Automated safety check: Pass | None |
zarazhangrui/personalized-podcast
Generate a podcast episode from content you provide. An agent skill from zarazhangrui/personalized-podcast.
Kianzzz/book-sales-video
从书名或飞书多维表格中的成稿文案出发,结合微信读书资料与公开点评创作图书带货/书评短视频,并用豆包 TTS、Pexels、Codex 生图和本机 OpenChatCut 完成配音、配图、双语字幕、音效、动效、BGM、可编辑初稿与按需导出。用户提出“根据一本书做带货视频”“读取飞书文案制作图书视频”“写书评口播并自动剪成抖音视频”“仿参考样式做图书推荐短视频”时使用;仅查书、仅写普通书评或无关剪辑…
viticci/frames-cli
Frame screenshots and screen recordings with the frames CLI.
zenstory-ai/video-recap-skills
合成视频解说最终成片:把旁白音频铺到源视频上,按旁白窗口压低原声,生成 SRT / ASS 字幕并可烧录, 最后做响度标准化。作为最终合成阶段使用。输入源视频、ttsmeta.json 与旁白位置; 输出 recap 成片和字幕。触发词:视频合成、混音、字幕、压字幕、assemble video、mux、ducking、subtitles、成片。
qdhenry/Claude-Command-Suite
Extracts frames and timestamped audio segments from video files (GIF, MP4, MOV) at configurable intervals and stores them in a directory with a manifest file.
zenstory-ai/video-recap-skills
把长视频按 Agent 选择的原片区间剪成短片。作为两阶段创作流程中的剪辑环节,读取 clipplan.json 与源视频, 输出 editedsource.mp4;随后 Agent 按输出时间线写 narration.json。支持单视频与多视频(sources manifest)拼剪, 本工具不读取、不映射旁白。
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 — "把这本书做成视频"…
Works with
Categories
A skill your agent uses when the user has 2+ recordings of the same event (each with a .sync.json sidecar from wjs-syncing-multicam) and wants them combined into a single MP4 — auto-switching…. Wjs Editing Multicam is an agent skill from jianshuo/claude-skills.json sidecar from wjs-syncing-multicam) and wants them combined into a single MP4 — auto-switching between cams second-by-second on audio energy, with optional picture-in-picture inset.
Wjs Editing Multicam fits situations like: with optional picture-in-picture inset; — auto-edit multicam; combine these angles.
Run `npx skills add jianshuo/claude-skills --skill wjs-editing-multicam -a claude-code`. Or copy the skill folder (wjs-editing-multicam in jianshuo/claude-skills) into .claude/skills/wjs-editing-multicam in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jianshuo/claude-skills --skill wjs-editing-multicam -a codex`. Or copy the skill folder (wjs-editing-multicam in jianshuo/claude-skills) into .agents/skills/wjs-editing-multicam 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-editing-multicam -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-editing-multicam, .gemini/skills/wjs-editing-multicam, .github/skills/wjs-editing-multicam and .opencode/skills/wjs-editing-multicam in your project.
Going by SKILL.md and its folder, Wjs Editing Multicam needs the command-line tools its instructions call (ffmpeg, python3 and ffprobe). Our summary lists: Python 3.
SKILL.md names 2 domains. As links in the text: pypi.org and github.com. 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 Editing Multicam is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k 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 Editing Multicam: Podcast (zarazhangrui/personalized-podcast, 438 stars), Book Sales Video (Kianzzz/book-sales-video, 218 stars), Frames CLI (viticci/frames-cli, 405 stars) and Video Assemble (zenstory-ai/video-recap-skills, 561 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.