Paper Collage Explainer Generator
tl2012tl/comfyUI-llama-TE
For creators, educators, and social-video editors who need a tactile paper-collage language for narration, knowledge points, opinions, or abstract topics.
Capability-based matrix for video production in which the agent picks a provider per capability, from storyboard and sound design to captions, render checks and packaging.
$ npx skills add HKUDS/CLI-Anything --skill cli-hub-matrix-video-creation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HKUDS/CLI-Anything cli-hub-matrix-video-creation --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/HKUDS/CLI-Anything.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-hub-matrix/video-creation .claude/skills/cli-hub-matrix-video-creation && 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 "cli-hub-matrix-video-creation" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/cli-hub-matrix/video-creation into .claude/skills/cli-hub-matrix-video-creation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-hub-matrix-video-creation", 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/HKUDS/CLI-Anything/tree/main/cli-hub-matrix/video-creationType 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 HKUDS/CLI-Anything --skill cli-hub-matrix-video-creation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HKUDS/CLI-Anything cli-hub-matrix-video-creation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .agents/skills && cp -r skills-src/cli-hub-matrix/video-creation .agents/skills/cli-hub-matrix-video-creation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cli-hub-matrix-video-creation" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/cli-hub-matrix/video-creation into .agents/skills/cli-hub-matrix-video-creation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-hub-matrix-video-creation", 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 HKUDS/CLI-Anything --skill cli-hub-matrix-video-creation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HKUDS/CLI-Anything cli-hub-matrix-video-creation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/cli-hub-matrix/video-creation .cursor/skills/cli-hub-matrix-video-creation && 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 "cli-hub-matrix-video-creation" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/cli-hub-matrix/video-creation into .cursor/skills/cli-hub-matrix-video-creation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-hub-matrix-video-creation", 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/HKUDS/CLI-Anything.git --path cli-hub-matrix/video-creation--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 HKUDS/CLI-Anything --skill cli-hub-matrix-video-creation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HKUDS/CLI-Anything cli-hub-matrix-video-creation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/cli-hub-matrix/video-creation .gemini/skills/cli-hub-matrix-video-creation && 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 "cli-hub-matrix-video-creation" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/cli-hub-matrix/video-creation into .gemini/skills/cli-hub-matrix-video-creation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-hub-matrix-video-creation", 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 HKUDS/CLI-Anything cli-hub-matrix-video-creationInstalls 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 HKUDS/CLI-Anything --skill cli-hub-matrix-video-creation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .github/skills && cp -r skills-src/cli-hub-matrix/video-creation .github/skills/cli-hub-matrix-video-creation && 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 "cli-hub-matrix-video-creation" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/cli-hub-matrix/video-creation into .github/skills/cli-hub-matrix-video-creation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-hub-matrix-video-creation", 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 HKUDS/CLI-Anything --skill cli-hub-matrix-video-creation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HKUDS/CLI-Anything cli-hub-matrix-video-creation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/CLI-Anything.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/cli-hub-matrix/video-creation .opencode/skills/cli-hub-matrix-video-creation && 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 "cli-hub-matrix-video-creation" agent skill from https://github.com/HKUDS/CLI-Anything/tree/main/cli-hub-matrix/video-creation into .opencode/skills/cli-hub-matrix-video-creation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cli-hub-matrix-video-creation", 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.
cli-hub-matrix-video-creationCapability-based matrix for video production in which the agent picks a provider per capability, from storyboard and sound design to captions, render checks and packaging.
This matrix treats video creation as a set of capabilities the agent composes on demand rather than a fixed pipeline. A workflow picks a recipe, meaning which capabilities it needs, then chooses a provider for each: CLI-Anything harnesses, public CLIs, Python libraries, native binaries or cloud APIs. Capabilities include storyboard planning, story and audio direction, source triage, video and music search, capture or generation, analysis, sound design, captions, NLE and render investigation, review and packaging.
The `cli-hub matrix` commands install the registered harnesses, show providers and recipes, and run a preflight that reports what is available, with an offline filter. Providers are chosen from your goal, quality bar, budget, offline needs, credential state and install cost, and paid or metered APIs are called only with supplied credentials or explicit consent. Reference notes cover art direction review, captions, Shotcut and Kdenlive editing, render doctor checks, sound design, source triage and story structure, and a `video_doctor.py` script ships with it.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 34f5195. 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.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
ffmpegyt-dlpnpxpythonpippnpmpipxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comAlso links to:
skills.shFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
RUNWAY_API_KEYSEEDANCE_API_KEYOPENAI_API_KEYKLING_API_KEYPIKA_API_KEYELEVENLABS_API_KEYUDIO_API_KEYTWELVELABS_API_KEYASSEMBLYAI_API_KEYDEEPGRAM_API_KEYIDEOGRAM_API_KEYSTABILITY_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Video Creation Capability Matrix loads about 12k tokens when it runs, and up to ~26k if it reads all its reference files. Until then it costs about 120 tokens; SKILL.md has 5,521 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); the scripts in this folder are not scanned.
The full file from HKUDS/CLI-Anything at commit 34f5195, republished under its Apache-2.0 licence (© HKUDS). 5,521 words, ~12,330 tokens.
.claude/skills/cli-hub-matrix-video-creation/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.This matrix describes capabilities the agent can compose on demand — not a fixed pipeline. A "video creation" workflow picks a recipe (which capabilities it needs) and, per capability, picks a provider from the task requirements and preflight facts below.
Schema: docs/cli-matrix/matrix_registry.schema.md.
cli-hub matrix install video-creation # installs registered matrix CLIs only
cli-hub matrix info video-creation # inspect providers & recipes
cli-hub matrix preflight video-creation # check available providers in this environmentNot everything in this matrix is installed by cli-hub matrix install. Cloud APIs, Python packages, native binaries, third-party public CLIs, and external skills are first-class providers too, but install them only after the task actually needs that provider.
Do not hand-write pip install ...#subdirectory=... for CLI-Anything matrix members; install the supported harnesses through cli-hub matrix install video-creation, then use preflight to see what else is already available.
Offline context? Filter to offline: true providers only.
Run the built-in matrix preflight first:
cli-hub matrix preflight video-creation --json
cli-hub matrix preflight video-creation --capability composite.assemble
cli-hub matrix preflight video-creation --offlineIf you need raw checks or are running without the latest cli-hub, use the manual block:
cli-hub list --json
python - <<'PY'
import importlib.util
for m in ("moviepy","whisper","pydub","PIL","edge_tts","pysrt","pysubs2","yt_dlp","spotdl","scenedetect","paddleocr","twelvelabs"):
print(m, importlib.util.find_spec(m) is not None)
PY
for b in ffmpeg ffprobe sox convert magick screencapture yt-dlp spotdl scdl bandcamp-dl you-get lux BBDown scenedetect mediainfo ffmpeg-quality-metrics paddleocr hyperframes; do command -v "$b" >/dev/null && echo "$b: yes" || echo "$b: no"; done
for e in RUNWAY_API_KEY KLING_API_KEY PIKA_API_KEY SEEDANCE_API_KEY \
ELEVENLABS_API_KEY MINIMAX_API_KEY OPENAI_API_KEY GOOGLE_CLOUD_PROJECT \
ASSEMBLYAI_API_KEY DEEPGRAM_API_KEY \
SUNO_API_KEY UDIO_API_KEY IDEOGRAM_API_KEY STABILITY_API_KEY \
TWELVELABS_API_KEY GOOGLE_APPLICATION_CREDENTIALS; do
[ -n "${!e}" ] && echo "$e: set" || echo "$e: unset"
doneTo enable <capability> via <provider>, please set <ENV_VAR>.
Cost: <cost notes>
Quality: <quality tier>
Reply 'skip' to fall back to <next provider>.Examples:
RUNWAY_API_KEY. Cost: ~$0.05/sec as of 2026-04. Quality: sota. Reply 'skip' to fall back to generate-veo-video or jimeng if configured.SEEDANCE_API_KEY. Cost: metered per-clip. Quality: sota for realistic motion. Reply 'skip' to fall back to jimeng (Dreamina) which shares the ByteDance model family.script.storyboard — brief to creative direction, script, shot list, timing, and asset planUse this before generation, search, capture, or assembly when the user gives a vague concept or asks for a complete video. By default, do the planning directly as agent work: produce a structured brief, global creative direction, narrative/emotional arc, audio arc, script/narration, shot list, timing map, asset requirements, and reviewable storyboard before spending time on downloads or generation.
For any non-trivial video, read references/story-structure-audio.md and save creative_direction.md before final assembly. This is mandatory for trailers, sports/music montages, film commentary, found-footage edits, product launch videos, and any output where flat random clips or boring music would fail the brief.
Hard gate: do not begin final assembly for a non-trivial video until creative_direction.md exists. plan.md is not a substitute. The file must include target duration or requested duration range, output language, a shot-role table with time, beat, source/shot role, audio event, caption/title role, and failure risk; reject plans where the ending/final act has no payoff, climax, reveal, useful recap, or deliberate unresolved hook appropriate to the genre. Language rule: if the user specifies an output language, use it for all agent-authored viewer-facing content; otherwise use the language the user is using in the conversation.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
| Agent-native planning | agent-native | none | free | high | yes |
storyboard-creation skill | agent-skill | installed skill | free | high | yes |
remotion-best-practices skill | agent-skill | installed skill | free | high for code-driven motion video | yes |
Selection:
creative_direction.md with the one-sentence promise, story arc, emotional curve, audio arc, cut-density curve, visual motif, source roles, and no-flatness guardrails.storyboard-creation only when you need explicit storyboard-panel conventions, camera-angle grammar, continuity checks, or animatic planning.remotion-best-practices only when the storyboard will be implemented as Remotion/React motion-video code.video.search — discover candidate internet footageUse this before video.download when the user asks for found footage, B-roll, public-domain clips, stock footage, YouTube/Bilibili material, or named movie/TV/game/anime moments. Prefer free/open sources first and record source URL, license, creator, and attribution requirement before editing.
For found-footage deliverables or platform-origin claims, read references/source-triage.md and classify each candidate as direct platform source, verified platform-origin transport, or weak mirror.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
| Web search + source filters | web-search | online search access | free | good | no |
Search discipline:
1080p, 4K, HD, BD, 蓝光, or 高清.site:bilibili.com "Game of Thrones" S3E09 BV; standalone /video/BV... uploads are usually easier to process than geo-restricted bangumi URLs.video.download — download/import web video into the workspaceUse this after video.search identifies candidate URLs, or directly when the user gives URLs. Keep all raw downloads in one sources/ directory, save sources.json with URL/license/creator/provenance, and normalize filenames before downstream editing.
For internet footage, sources.json must record the platform URL, transport URL if different, command, cookie-file path if used, local file, probe summary, selected ranges, source role, license/rights notes, and quality caveats.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
yt-dlp | public-cli | yt-dlp + ffmpeg | free | high | no |
you-get | public-cli | you-get bin | free | good | no |
lux | public-cli | lux + ffmpeg | free | good | no |
BBDown | public-cli | BBDown + ffmpeg | free | high for Bilibili | no |
Operational notes:
yt-dlp -f "bestvideo[height>=1080]+bestaudio/best" --merge-output-format mp4 for YouTube/Bilibili URLs when quality matters. Use cookies only when the user has authorized access to the content.yt-dlp -x --audio-format mp3; download the raw m4a and convert with ffmpeg, then verify volume before using it.BBDown when Bilibili-specific metadata, subtitles, danmaku, playlists, or high-quality member streams are central to the task.music.search — discover existing songs, BGM, or clean audio sourcesUse this before music.download when the user wants an existing song, soundtrack cue, royalty-free track, platform audio, or a specific cover/version. Keep the search about the requested music, not just any available audio. Record title, artist, platform URL, uploader, source type, version notes, rights/licensing, and attribution in music_sources.json.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
| Web search + source filters | web-search | online search access | free | good | no |
yt-dlp search extractors | public-cli | yt-dlp | free | good | no |
spotdl metadata/search | public-cli | spotdl | free | good for Spotify-linked songs | no |
Search discipline:
女生版, duet, piano, acoustic, live, DJ, karaoke, or instrumental, verify the title/uploader/metadata names that exact version before committing.remix, cover, fan edit, AMV, MAD, mashup, compilation, trailer mix, or unrelated soundtrack/OST unless the user explicitly asked for that variant.{artist} {song} 纯音乐, {song} 无对白, {song} 歌词版, official audio, or lyric video before asking the user to accept a risky source.music.download — download/import existing music into the workspaceUse this after music.search identifies a candidate or directly when the user supplies a music URL/local file. Keep raw downloads in sources/music/, save music_sources.json, and create a normalized working file for editing.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
yt-dlp audio download | public-cli | yt-dlp + ffmpeg | free | high | no |
spotdl | public-cli | spotdl + ffmpeg | free | good for Spotify-linked metadata | no |
scdl | public-cli | scdl | free | good for SoundCloud | no |
bandcamp-dl | public-cli | bandcamp-dl | free | good for Bandcamp | no |
local file import + ffmpeg | native | ffmpeg | free | high | yes |
Operational notes:
yt-dlp -f "bestaudio[ext=m4a]/bestaudio" -o "sources/music/audio_raw.%(ext)s" "URL"
ffmpeg -i sources/music/audio_raw.m4a -vn -c:a libmp3lame -q:a 0 sources/music/audio.mp3yt-dlp -x --audio-format mp3; it can produce a valid-looking but nearly silent MP3. Download the raw m4a, convert with ffmpeg, then verify volume:yt-dlp -f 30280 -o "sources/music/audio_raw.%(ext)s" "BILIBILI_URL"
ffmpeg -i sources/music/audio_raw.m4a -c:a libmp3lame -q:a 0 sources/music/audio.mp3
ffmpeg -i sources/music/audio.mp3 -af volumedetect -f null - 2>&1 | grep mean_volumeReject files with mean volume below roughly -40dB unless silence is expected.
ffplay -ss 30 -t 5 -autoexit sources/music/audio.mp3
ffplay -ss 90 -t 5 -autoexit sources/music/audio.mp3
ffplay -ss 150 -t 5 -autoexit sources/music/audio.mp3visual.capture — record screen / webcam / window| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
cli-anything-openscreen | harness-cli | harness installed | free | high | yes |
cli-anything-obs-studio | harness-cli | OBS installed | free | high | yes |
ffmpeg -f x11grab / avfoundation | native | ffmpeg | free | high | yes |
screencapture | native | macOS | free | high | yes |
mss / pyautogui + cv2 | python | pkgs | free | good | yes |
visual.generate — produce a video clip from prompt/reference| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
generate-veo-video | public-cli | generate-veo bin + Google creds | metered | high | no |
jimeng | public-cli | dreamina bin + Dreamina login | metered | high | no |
| Runway Gen-4 | api | RUNWAY_API_KEY | paid | sota | no |
| Kling | api | KLING_API_KEY | paid | high | no |
| Pika | api | PIKA_API_KEY | paid | good | no |
| Seedance | api | SEEDANCE_API_KEY | paid | sota | no |
audio.capture — record and clean audio tracks| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
cli-anything-audacity | harness-cli | Audacity installed | free | high | yes |
sox / ffmpeg | native | binary | free | high | yes |
pydub / soundfile / librosa / noisereduce | python | pkgs | free | good | yes |
audio.synthesize — text-to-speech / voice| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
minimax-cli | public-cli | bin + MiniMax key | metered | high | no |
elevenlabs | public-cli | bin + ELEVENLABS_API_KEY | paid | sota | no |
| OpenAI TTS | api | OPENAI_API_KEY | metered | high | no |
| Google Cloud TTS | api | GOOGLE_CLOUD_PROJECT | metered | high | no |
edge-tts | python | pkg | free | good | no |
music.generate — generated music / BGM| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
suno | public-cli | bin + Suno account | metered | sota | no |
minimax-cli | public-cli | bin + MiniMax key | metered | high | no |
| Udio | api | UDIO_API_KEY | paid | sota | no |
Use music.search + music.download instead when the user asks for an existing song, official upload, platform audio, soundtrack cue, royalty-free track, or a specific cover/version.
Music and SFX must follow the story/audio arc in creative_direction.md. For polished 60+ second videos, choose a real main music strategy first: either AI-generated music from a music provider, downloaded relevant/authorized music via music.search + music.download, or strong source ambience when the genre is documentary/ambient. Avoid one flat loop from start to finish; plan section changes such as intro, buildup, drop, dip, final lift, source-audio reveal, or final resolve.
sound.design — hits, risers, score sections, mix dynamics, and final audio arcUse this when a video needs trailer hits, whooshes, risers, drones, heartbeat gaps, sub drops, crowd/source accents, or locally generated score elements. Do not hide sound design inside music.generate; a music bed is not a designed mix.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
| Agent-native sound plan | agent-native | references/sound-design.md | free | high | yes |
ffmpeg / sox procedural stems | native | binary | free | good | yes |
pydub / numpy procedural stems | python | pkgs | free | good | yes |
| Generated music provider | public-cli/api | chosen music.generate provider | metered/paid | high | no |
| Downloaded/authorized music | public-cli/skill | music.search + music.download or music-downloader skill | varies | high when relevant | no |
Deliverables for polished edits: sound_design.md with stems, cue times, story function, ducking notes, and section loudness targets; separate WAV stems when generated locally; and per-section loudness checks. The ending/final act should have intentional audio shape such as escalation, silence/hold, hit/drop, source-audio reveal, or resolve when the genre calls for it. Read references/sound-design.md for sports, commentary, trailer, and final-act patterns.
Source-audio gate: before mixing downloaded/captured clip audio with new music or narration, classify every used range as silent_or_mute, ambience_keep, dialogue_keep, music_only, mixed_music_speech, or needs_separation. Keep one foreground voice and one intentional music bed at a time. If source speech/music overlaps new narration/music, mute, duck, make the source foreground, run separation, or reject the range; do not hide the conflict behind "source texture."
Procedural-audio gate: locally generated audio is acceptable for short SFX, UI ticks, impacts, pulses, and risers, but it must not become the default main music bed for polished 60+ second videos. Prefer AI-generated music or downloaded relevant/authorized music for the main bed. Locally generated noise, risers, and whooshes must be filtered, enveloped, gain-staged, and sample-reviewed. Do not use raw Gaussian/full-band noise as a music bed or repeated transition effect; hiss/sizzle in the promoted final is a critical issue even if silencedetect looks normal.
media.analyze — segment, label, OCR, and search footageUse this after download/capture and before edit planning when there are many clips or when the edit depends on finding specific shots. Output should be a scene library with time ranges, keyframes, visible text, people/objects/actions where available, usability notes, and searchable tags.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
PySceneDetect scenedetect | public-cli | scenedetect + ffmpeg | free | high | yes |
| Google Cloud Video Intelligence | api | GCP creds | metered | sota | no |
| TwelveLabs video search/index | api | TWELVELABS_API_KEY + twelvelabs pkg | metered | sota | no |
| PaddleOCR on sampled keyframes | public-cli/python | paddleocr pkg or bin | free | good overall; high for visible text | yes |
Default path:
Found-footage gate:
scene_library.json before cutting, with source file, start/end, resolution, visual description, shot role, motion level, faces/action/objects, source text/watermarks/subtitles, quality notes, and rejection reason when skipped.references/source-triage.md for the rejection checklist.text.transcribe — speech → text / subtitles| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
cli-anything-videocaptioner | harness-cli | harness installed | free | high | yes |
openai-whisper | python | pkg + model download | free | high | yes |
stable-ts / faster-whisper | python | pkg + model download | free | high | yes |
| AssemblyAI | api | ASSEMBLYAI_API_KEY | paid | sota | no |
| Deepgram | api | DEEPGRAM_API_KEY | paid | sota | no |
| Google Speech-to-Text | api | GCP creds | metered | high | no |
Local ASR notes:
.en models unless the user explicitly says the audio is English; .en models translate non-English speech into English.text.caption — design, time, render, and investigate visible captionsUse this after text.transcribe or agent-written script/narration timing, and before composite.overlay / package.encode. This is for viewer-facing subtitles, creator captions, trailer title hits, lyrics/karaoke, lower-third text, and other timed text that must look high-end. It is not just "burn SRT at the end."
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
| Captions reference module | agent-native | references/captions.md | free | high | yes |
ASS + ffmpeg subtitles | native | ffmpeg + fonts | free | high | yes |
| HyperFrames captions workflow | agent-skill | npx skills add heygen-com/hyperframes --skill hyperframes; Node.js + ffmpeg | free | high for kinetic/digital captions | yes |
pysubs2 ASS authoring | python | pysubs2 pkg + ffmpeg | free | high | yes |
| MoviePy/Pillow transparent overlays | python | moviepy + PIL | free | good when custom layout is required | yes |
Caption discipline:
references/captions.md for any polished caption/subtitle/lyric/lower-third work. It defines the lifecycle, genre presets, typography, safe-zone rules, and caption doctor review.text.transcribe) separate from caption design (text.caption). A raw SRT is source material, not a finished caption package.captions.source.json, captions_style.md, captions.ass or equivalent render source, caption-heavy preview frames/contact sheet, and captions_qc.md for non-trivial videos.ffmpeg for deterministic subtitle burn-in on edited footage. Use the installed HyperFrames skill when captions are part of a mandatory HyperFrames workflow: digital product/site/app launch videos, UI-heavy presentations, HTML/CSS/GSAP motion compositions, karaoke, or audio-reactive typography.MISSION SUBTITLE, MISSION LOG, or fixed label tags that appear on every caption.PlayResX/PlayResY to the actual final render resolution or prove the scaling keeps text readable. A 1080p ASS design burned into 720p without resizing is a failure.composite.assemble — timeline, cuts, transitions, exportFor non-trivial videos, do not assemble a final timeline until script.storyboard has produced creative_direction.md. Timeline order should follow the story/audio arc and source roles from references/story-structure-audio.md, not source-file order or arbitrary clip variety.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
cli-anything-kdenlive | harness-cli | Kdenlive installed | free | high | yes |
cli-anything-shotcut | harness-cli | Shotcut installed | free | high | yes |
moviepy | python | pkg + ffmpeg | free | good | yes |
ffmpeg-python | python | pkg + ffmpeg | free | high | yes |
ffmpeg concat/filter_complex | native | ffmpeg | free | high | yes |
| HyperFrames skill/CLI | agent-skill | installed hyperframes skill; Node.js + ffmpeg | free | high for digital/UI launch videos | yes |
HyperFrames hard gate: for digital product launches, website/product-page videos, SaaS/app demos, UI-heavy product presentations, animated feature reels, HTML/CSS/GSAP-driven motion videos, and product videos where interface motion is the main storytelling surface, load and use the installed hyperframes skill as the primary composite.assemble authoring workflow. A "HyperFrames-style" MoviePy/Pillow/ffmpeg/browser imitation is not an acceptable substitute when this gate applies.
When the HyperFrames gate applies:
ffmpeg, MoviePy, or NLE tools only for source preparation, final muxing, caption burn-in when explicitly needed, or doctor investigation; they cannot replace HyperFrames as the main authoring surface.Use remotion-best-practices instead only when the user explicitly requires Remotion/React as the implementation surface.
For Shotcut/Kdenlive harness workflows, use the provider-boundary pattern in references/nle-shotcut-kdenlive.md: ffmpeg for stable mezzanine clips, crops, speed ramps, and text-card segments when needed; the NLE harness for project/timeline/tracks/transitions/render; then ffmpeg for ASS burn-in if captions are post-NLE, fps/SAR/DAR/profile/color normalization, final muxing, and doctor investigation.
Assembly discipline:
creative_direction.md and rebuild the timeline instead of adding more filters.composite.overlay — composite captions, watermark, picture-in-pictureUse this to apply already-designed caption/subtitle assets, watermarks, or picture-in-picture layers. For user-visible subtitles/captions, run text.caption first so the overlay step receives a deliberate ASS/HTML/PNG/NLE caption package instead of an ugly default SRT.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
ffmpeg -vf subtitles=... | native | ffmpeg | free | high | yes |
moviepy (CompositeVideoClip) | python | pkg | free | good | yes |
package.thumbnail — thumbnail / social card| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
cli-anything-gimp / krita / inkscape | harness-cli | installed | free | high | yes |
Pillow | python | pkg | free | good | yes |
cairosvg / html2image | python | pkg | free | good | yes |
| OpenAI GPT-Image-1 | api | OPENAI_API_KEY | metered | sota | no |
| Google Nano Banana | api | GCP creds | metered | high | no |
| Ideogram | api | IDEOGRAM_API_KEY | metered | high | no |
| Stability AI | api | STABILITY_API_KEY | metered | high | no |
ffmpeg -ss ... -frames:v 1 | native | ffmpeg | free | basic | yes |
convert / magick | native | ImageMagick | free | good | yes |
package.encode — final mux, codec, container| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
ffmpeg | native | binary | free | sota | yes |
quality.review — technical and editorial investigation before deliveryRun this after every render and before presenting a final file. The goal is not a binary test suite; it is an evidence-gathering pass that helps the agent inspect the exact file, understand suspicious signals, and make a contextual editorial decision.
| Provider | Kind | Requires | Cost | Quality | Offline |
|---|---|---|---|---|---|
ffmpeg / ffprobe investigation filters | native | ffmpeg + ffprobe | free | high | yes |
| MediaInfo CLI | native | mediainfo | free | high | yes |
ffmpeg-quality-metrics / VMAF | public-cli | ffmpeg-quality-metrics + ffmpeg | free | high with reference | yes |
| Video doctor helper | bundled-script | scripts/video_doctor.py + ffmpeg/ffprobe | free | high for investigation | yes |
Investigation checks:
scripts/video_doctor.py to produce probe, caption, source, frame, tail, audio, and lint reports. Doctor reports are evidence and investigation signals, not pass/fail verdicts.creative_direction.md; if it differs, inspect whether the plan or final render is wrong before promotion.blackdetect, silencedetect, freezedetect, cropdetect, ebur128 / loudnorm.scripts/video_doctor.py audio with --scan-path on the task directory, listen to exported snippets, and review high-frequency/low-frequency/loudness signals. silencedetect and volumedetect passing does not mean the mix is listenable.--sources-manifest, --music-manifest, and --sound-design to the audio doctor so it can flag missing audio roles and export snippets around source-audio/new-music/new-narration overlap windows.references/story-structure-audio.md: premise clarity, escalation, turning point, high point, source roles, music sections, audio events, and final payoff.references/art-direction-review.md: aesthetics, captions-muted readability, final-act payoff/hook/resolve, justified card time, sparse labels, synchronized audio hits, and intentional shot repetition.scripts/video_doctor.py lint on lint logs and record whether warnings were fixed, accepted with reason, or left as blockers.references/render-doctor.md: hash the candidate/default, regenerate frames from the promoted path, update reports, and scan reports for stale paths or superseded source names.The bundled helper is scripts/video_doctor.py. It has subcommands for probe, captions, sources, frames, tail, audio, and lint; agents must read the generated signals and then inspect the referenced evidence.
publish.upload — deliver to a platformCurrently a known gap (see below). Agents should surface this to the user.
Recipes declare which capabilities a workflow needs — not the order. Choose providers per capability from the task constraints and preflight facts.
ai-short — fully-generative social short.
Uses: script.storyboard, visual.generate, audio.synthesize, music.generate or music.search / music.download, sound.design for trailer/social impact edits, text.caption when captions/title hits are part of the brief, composite.assemble, composite.overlay, package.thumbnail, quality.review, package.encode.
screencast-tutorial — walkthrough with narration + subs.
Uses: script.storyboard, visual.capture, audio.capture, text.transcribe, text.caption, composite.overlay, package.thumbnail, quality.review, package.encode.
talking-head-explainer — webcam + b-roll + captions.
Uses: script.storyboard, visual.capture, video.search / video.download or visual.generate (b-roll), music.search / music.download or music.generate, sound.design when chapter changes or emphasis hits matter, media.analyze, audio.capture, text.transcribe, text.caption, composite.assemble, composite.overlay, package.thumbnail, quality.review, package.encode.
podcast-to-video — audio-first, visualize + caption.
Uses: script.storyboard, audio.capture, text.transcribe, text.caption, package.thumbnail, composite.overlay, composite.assemble, quality.review, package.encode.
found-footage-montage — source internet clips, curate, then edit.
Uses: script.storyboard, video.search, video.download, media.analyze, sound.design, text.transcribe (optional), text.caption when captions/title hits are part of the edit, composite.assemble, composite.overlay, package.thumbnail, quality.review, package.encode.
existing-song-music-video — build an edit around a user-specified or discovered song.
Uses: music.search, music.download, script.storyboard, video.search, video.download, media.analyze, sound.design for hits/source accents that do not fight the song, text.caption (optional lyrics/karaoke), composite.assemble, composite.overlay, package.thumbnail, quality.review, package.encode.
digital-product-launch — product/site-driven launch video with animated UI, typography, and motion graphics.
Uses: script.storyboard, visual.capture, audio.synthesize (optional), music.generate or music.search / music.download, sound.design for launches with cue hits or section shifts, text.caption for brand-safe kinetic captions/title hits, composite.assemble via mandatory installed HyperFrames skill, composite.overlay, package.thumbnail, package.encode, quality.review.
publish.upload — no first-party or public CLI for YouTube/TikTok/Bilibili/Instagram yet. Workaround: instruct the user to upload manually via the web UI, or escalate to a custom script using each platform's v3 API with an OAuth token the user supplies.visual.generate — top-tier "cinematic" — available only via paid APIs (Runway, Kling, Seedance); local GPU/weights deployment is intentionally not part of this matrix.rights.provenance — no automated license/TOS/provenance verifier. Workaround: save sources.json / music_sources.json with URL, creator, license, intended use, attribution text, transport evidence, and quality caveats; ask the user before using unclear or restricted media. Use references/source-triage.md for evidence levels.agent-skill.preflight — external agent skills may appear in this matrix before they are installed locally. Workaround: use the source/install table below and load the external SKILL.md only when that workflow is actually needed.Consult these only when the task needs the focused workflow; keep this matrix as the router and load the reference, external skill, or tool only if its workflow matches.
| Reference/tool | Use when | Source or install |
|---|---|---|
advanced-video-downloader | User supplies YouTube/Bilibili/TikTok/etc. URLs and needs download, playlist handling, music/audio extraction, cookies, or transcription | npx skills add https://github.com/jst-well-dan/skill-box --skill advanced-video-downloader |
music-downloader | Need to find/download real music, BGM, soundtrack cues, platform audio, or authorized music rather than faking a full music bed procedurally | npx skills add https://github.com/nymbo/skills --skill music-downloader |
references/story-structure-audio.md | Non-trivial video needs a global arc, internal logic, source roles, story ups/downs, music/audio sections, or flat-montage prevention | Local reference module: references/story-structure-audio.md |
references/captions.md | Any polished visible captions, subtitles, lyrics, karaoke, lower thirds, trailer title hits, or caption investigation | Local reference module: references/captions.md |
references/source-triage.md | Found-footage source selection, platform-origin evidence, rights/provenance fields, source rejection, and contact-sheet requirements | Local reference module: references/source-triage.md |
references/nle-shotcut-kdenlive.md | Shotcut/Kdenlive timeline work, provider boundaries, mezzanine conventions, render resilience, and known NLE failure modes | Local reference module: references/nle-shotcut-kdenlive.md |
references/sound-design.md | Trailer hits, risers, sports accents, commentary mix changes, final-act audio shape, and section loudness review | Local reference module: references/sound-design.md |
references/art-direction-review.md | Genre-specific naive-output traps, contact-sheet review, captions-muted review, and art gates before promotion | Local reference module: references/art-direction-review.md |
references/render-doctor.md | Final-path doctor workflow, probe/frame/tail/caption/source investigation, promotion discipline, and stale-report checks | Local reference module: references/render-doctor.md |
scripts/video_doctor.py | Non-binary investigation helper for media facts, review frames, tail signals, sources, captions, audio listenability signals, and procedural-audio evidence | Local script: scripts/video_doctor.py |
storyboard-creation | Need shot grammar, camera angles, storyboard panels, continuity, or animatic planning | pnpm dlx add-skill https://github.com/inference-sh/skills/tree/HEAD/guides/video/storyboard-creation |
remotion-best-practices | Need to implement the storyboard as Remotion code | npx skills add https://github.com/remotion-dev/skills --skill remotion-best-practices; SKILL.md: https://github.com/remotion-dev/skills/blob/main/skills/remotion/SKILL.md |
hyperframes | Mandatory for website/product-page videos, digital product launches, SaaS/app demos, UI-heavy product presentations, animated feature reels, and whole-video HTML/CSS/GSAP motion compositions | Installed local skill. If missing in a future environment, install it with npx skills add heygen-com/hyperframes --skill hyperframes; do not substitute another renderer when this skill is mandatory. Captions reference: https://skills.sh/heygen-com/hyperframes/captions |
ffmpeg-quality-metrics | Need VMAF/SSIM/PSNR against a reference video | pipx install ffmpeg-quality-metrics; source: https://github.com/slhck/ffmpeg-quality-metrics |
creative_direction.md. Use the story/audio reference module to define the whole arc before acquisition and assembly: premise, emotional curve, audio arc, cut-density curve, source roles, turning point, climax, and payoff.video.search before video.download unless the user already supplied URLs. Keep provenance metadata with every source file.scene_library.json before cutting. Use source triage and contact sheets to reject weak, static, card-heavy, subtitle-dominated, or off-theme footage.music.search before music.download unless the user already supplied a URL/local file. Verify the song version and listen for dialogue/SFX bleed before beat analysis or editing.sound.design as a separate pass. A music bed alone is not a designed mix; create cue times, stems, ducking notes, and section loudness targets.text.caption as its own design pass. Do not hand off raw SRT to composite.overlay and call it done. Use the captions reference module for genre style, grouping, safe placement, font/glyph checks, hard exits, and caption-heavy preview frames.scripts/video_doctor.py captions against the exact final dimensions and narration file. Read the doctor signals and inspect frames/audio before deciding what to revise. Summary captions belong in a separate title/callout style.script.storyboard before acquisition/generation, usually as agent-native planning. Load an external storyboard skill only when its focused format is worth the extra install/context. Do not replace the global story/audio plan with a list of clips.composite.assemble. When the genre is a UI-heavy product launch, SaaS/app demo, product presentation, animated feature reel, or whole-video HTML/CSS/GSAP composition, HyperFrames is mandatory. Do not use MoviePy/Pillow/ffmpeg, a static HTML mock, or a "HyperFrames-style" imitation as the primary authoring surface.scripts/video_doctor.py audio <final> <qc/audio> --scan-path <task-dir> for polished edits, then inspect the snippets. A technically valid track can still fail if it sounds like hiss, test tones, synthetic pulse wallpaper, or repeated boom hits.ffmpeg by edit complexity and availability. NLE harnesses fit timeline-heavy edits; MoviePy/ffmpeg fit deterministic programmatic cuts and overlays.ffmpeg, author the timeline in the NLE, then use ffmpeg for post-NLE captions, muxing, normalization, and doctor evidence as needed.--json for harness CLI output when chaining tools.© HKUDS, Apache-2.0. 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 8 other files (scripts, references) in cli-hub-matrix/video-creation of HKUDS/CLI-Anything.
Open the folder on GitHubat commit 34f5195
Video Creation Capability Matrix 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 |
|---|---|---|---|---|---|---|
| Video Creation Capability Matrix this skillHKUDS/CLI-Anything | 52k | — | ~12k | Automated safety check: Pass | Apache-2.0 | |
| Paper Collage Explainer Generatortl2012tl/comfyUI-llama-TE | 241 | 4 repos | ~5.2k | Automated safety check: Pass | None | |
| VRGDG H3 Short Film Pipelinevrgamegirl19/comfyui-vrgamedevgirl | 765 | — | ~4.2k | Automated safety check: Pass | Custom licence | |
| Whiteboard Videognipbao/codex-whiteboard-video-skill | 327 | — | ~7.2k | Automated safety check: Notes | MIT | |
| Video Remove Audiogodot-fun/gai | 183 | — | ~740 | Automated safety check: Pass | MIT | |
| Mobile Demo Film Editorsuperset-sh/superset | 15k | — | ~1.8k | Automated safety check: Pass | Custom licence |
tl2012tl/comfyUI-llama-TE
For creators, educators, and social-video editors who need a tactile paper-collage language for narration, knowledge points, opinions, or abstract topics.
vrgamegirl19/comfyui-vrgamedevgirl
Builds an AI short film in a local ComfyUI with the VRGDG Video Builder, MiniMax H3 scenes, reference images, a music score, QA and a final edit.
gnipbao/codex-whiteboard-video-skill
Generate smooth hand-drawn whiteboard and story videos directly inside Codex from text scripts, GPT Image 2 color storyboards, scene plans, SVGs, line art, or local images.
godot-fun/gai
Removes all audio and music tracks from a single video file using FFmpeg, keeping the video stream (stream copy by default).
superset-sh/superset
Edits real mobile screen recordings into a configurable demo video with phone framing, title cards, cutaways and an end card, using a bundled renderer.
renezander030/capcut-cli
Edit CapCut / JianYing video projects — read and write subtitles, timing, speed, volume, templates, animations (fade/ken-burns), and cut long-form to shorts.
HKUDS/CLI-Anything
Lets Codex build, refine, test, validate and list CLI-Anything harnesses for GUI applications or source repositories, following the project's full methodology.
HKUDS/CLI-Anything
Adapts the CLI-Anything methodology so Reasonix can build, refine, test and validate a command-line harness for an existing GUI application or source repository.
HKUDS/CLI-Anything
Guides Hermes Agent through building, refining and testing a CLI-Anything harness that wraps a GUI application or source repository in a scriptable command line.
HKUDS/CLI-Anything
Builds, refines, tests or validates a CLI-Anything harness that wraps a GUI application or source repository as a stateful Click CLI with JSON output and a REPL mode.
HKUDS/CLI-Anything
Drives Krita from the command line to create projects, add layers, apply filters, resize the canvas and export images, with JSON output for agents.
HKUDS/CLI-Anything
Defines, lists, inspects and runs parameterized GUI macros from the command line, with the runtime choosing the execution backend.
Works with
Categories
Capability-based matrix for video production in which the agent picks a provider per capability, from storyboard and sound design to captions, render checks and packaging. This matrix treats video creation as a set of capabilities the agent composes on demand rather than a fixed pipeline. A workflow picks a recipe, meaning which capabilities it needs, then chooses a provider for each: CLI-Anything harnesses, public CLIs, Python libraries, native binaries or cloud APIs.
Video Creation Capability Matrix fits situations like: planning and producing a video that needs several tools chained together; checking which video tools and providers are available before starting; designing captions or sound for an edited video; investigating a render or NLE problem in a video project.
Run `npx skills add HKUDS/CLI-Anything --skill cli-hub-matrix-video-creation -a claude-code`. Or copy the skill folder (cli-hub-matrix/video-creation in HKUDS/CLI-Anything) into .claude/skills/cli-hub-matrix-video-creation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HKUDS/CLI-Anything --skill cli-hub-matrix-video-creation -a codex`. Or copy the skill folder (cli-hub-matrix/video-creation in HKUDS/CLI-Anything) into .agents/skills/cli-hub-matrix-video-creation 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 HKUDS/CLI-Anything --skill cli-hub-matrix-video-creation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cli-hub-matrix-video-creation, .gemini/skills/cli-hub-matrix-video-creation, .github/skills/cli-hub-matrix-video-creation and .opencode/skills/cli-hub-matrix-video-creation in your project.
Going by SKILL.md and its folder, Video Creation Capability Matrix needs Python for the scripts in its folder, the command-line tools its instructions call (ffmpeg, yt-dlp, npx, python, pip and pnpm) and credentials named RUNWAY_API_KEY, SEEDANCE_API_KEY, OPENAI_API_KEY and KLING_API_KEY. Our summary lists: The cli-hub command; Python for the bundled video_doctor.py script.
SKILL.md names 2 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: skills.sh. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Video Creation Capability Matrix is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 12k tokens (SKILL.md is roughly 49k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Video Creation Capability Matrix: Paper Collage Explainer Generator (tl2012tl/comfyUI-llama-TE, 241 stars), VRGDG H3 Short Film Pipeline (vrgamegirl19/comfyui-vrgamedevgirl, 765 stars), Whiteboard Video (gnipbao/codex-whiteboard-video-skill, 327 stars) and Video Remove Audio (godot-fun/gai, 183 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HKUDS (a GitHub organization) maintains it in HKUDS/CLI-Anything, which has 51,809 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on September 22, 2026.
Source: HKUDS/CLI-Anything on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.