Media Gen
clacky-ai/openclacky
Generate or edit images, videos, or audio in the current task.
A skill your agent uses when generating or editing video on Scenario via MCP: text-to-video, a music video from a song, image-to-video (still animation, frame anchors), motion prompting, lipsync and…
$ npx skills add scenario-labs/skills --skill scenario-video -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-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/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/scenario-video .claude/skills/scenario-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 "scenario-video" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-video into .claude/skills/scenario-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-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/scenario-labs/skills/tree/main/skills/scenario-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 scenario-labs/skills --skill scenario-video -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-video --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/scenario-video .agents/skills/scenario-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 "scenario-video" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-video into .agents/skills/scenario-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-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 scenario-labs/skills --skill scenario-video -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-video --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/scenario-video .cursor/skills/scenario-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 "scenario-video" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-video into .cursor/skills/scenario-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-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/scenario-labs/skills.git --path skills/scenario-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 scenario-labs/skills --skill scenario-video -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-video --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/scenario-video .gemini/skills/scenario-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 "scenario-video" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-video into .gemini/skills/scenario-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-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 scenario-labs/skills scenario-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 scenario-labs/skills --skill scenario-video -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/scenario-video .github/skills/scenario-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 "scenario-video" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-video into .github/skills/scenario-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-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 scenario-labs/skills --skill scenario-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 scenario-labs/skills scenario-video --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/scenario-video .opencode/skills/scenario-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 "scenario-video" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-video into .opencode/skills/scenario-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-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.
scenario-videoA skill your agent uses when generating or editing video on Scenario via MCP: text-to-video, a music video from a song, image-to-video (still animation, frame anchors), motion prompting, lipsync and…
Scenario Video is an agent skill from scenario-labs/skills. Use when generating or editing video on Scenario via MCP: text-to-video, a music video from a song, image-to-video (still animation, frame anchors), motion prompting, lipsync and talking avatars, dubbing a clip, video upscale to 4K, prompt-based editing, trim, split, concat, extend, reframe, resize, background removal, frame or audio extraction, long video jobs, or a clip over a duration limit. Keywords: txt2video, img2video, video2video, audio2video, I2V, T2V, V2V, localization.
Its SKILL.md is about 4.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, covering AI video generation, Image editing and Internationalization. It works with Model Context Protocol. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f6f8ab7. 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:
npxcurlffmpegFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx and curl, which can reach the network depending on how they are called.
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.
Scenario Video loads about 4.3k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 2,368 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 scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 2,368 words, ~4,302 tokens.
.claude/skills/scenario-video/SKILL.md (or your agent's skills folder).Scenario exposes a large video catalog through one MCP loop: text-to-video and image-to-video generators plus video-to-video editors, lipsync, upscalers, and deterministic cut/split/concat tools. Per-family contracts: scenario-kling, scenario-veo, scenario-seedance, scenario-gemini-omni, scenario-luma-video, scenario-runway, scenario-grok-imagine-video, scenario-wan, scenario-minimax-video, scenario-vidu.
Connection and the core generation loop: see the scenario skill. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.
| Step | Tool | Notes |
|---|---|---|
| Find a model | recommend or search | recommend with the need in the user's own words plus a capability from its enum (img2video, video2video, audio2video for a song; upscaling footage and syncing it to a track are both video2video); search for a name |
| Inspect inputs | model_schema_get | Always before model_run; video schemas differ widely (duration, aspect ratio, frame anchors) |
| Upload source | upload_asset | A local still or clip becomes an asset_id |
| Generate | model_run | wait=false for video; dry_run=true to estimate cost first |
| Wait | jobs_wait | Re-call with the returned pending_job_ids until done; its ~180s timeout is not an error |
| Review | asset_display / asset_download | Display inline; asset_download returns the file URL, save it with curl -L |
recommend with the user's own words as prompt (the need is a capability, img2video); handle next_step as the scenario skill directs.model_schema_get on the pick. Note the image field, duration options, and any last-frame anchor.upload_asset the still; it returns asset_id="asset_abc".model_run with parameters={"image": "asset_abc", "prompt": "Close-up on the mug; slow dolly-in as steam curls through window light, shallow focus on the rim. Room tone and a soft kettle hiss, no subtitles."} and wait=false. Returns a job_id.jobs_wait with job_ids=["job_xyz"], re-called with pending_job_ids while any remain.asset_display the output (asset_id), then asset_download (no format).The source image already fixes the look, so prompt only motion, camera, and timing ("orbit left", "hold on the final pose"), changing one clause per retry. A first-frame field pins how the clip opens (a last-frame field, where offered, how it lands, and only beside a first frame: alone it is a 400 A first frame must be provided if a last frame is set); a reference-image field carries identity and look without fixing any moment. So an exact opening composition goes in as a rendered still and a recurring character or product as references; whether one run takes both is per schema, and several forbid the pair. A reference-audio field is guidance the prompt has to claim: what it conditions (timing and energy on one family, a voice on another) and whether it rides alone or needs an image or video reference beside it are the family skill's contract, but on every member a track passed silently beside a character reference is easily ignored, so the prompt says what the track is for ("the reference audio is her own voice, lip-synced" for speech; the beat the cuts land on for music). Trained LoRAs do not ride along: at authoring time no video member took loras, so a custom style reaches video through a still generated with the LoRA and passed as the first frame or a reference. Iterate at the cheapest resolution tier and shortest useful duration, then upscale the keeper: a re-run at a higher tier is a new generation, since many video schemas expose no seed and none promises one reproduces a shot across tiers.
Write the prompt as a shot direction in sentences, not tags: shot size, setting, subject and one action, one named slow camera move, light source, style, and an audio line, in the order the family skill gives. Named moves and concrete light survive generation; mood words do not.
Many generators return sound with the picture (dialogue, effects, ambience, sometimes a score), switched by generateAudio or audio where the schema has one, each with its own default; with none, the search hit says whether sound comes back, and the prompt is the only lever over what does. Effects and ambience go in plain words and dialogue in quotes, naming only what should sound: "no music" can trip the soundtrack's own moderation just as a named genre or instrument does (the score is laid once in assembly; switch the audio off when assembly supplies the whole soundtrack). When music leaks in anyway, re-run with the audio off and add the sound from a sound-effects or video-to-audio model; a member with no audio switch cannot take that re-run, so move to one that has one. The picture still takes exclusions, "no subtitles, no on-screen text", since a caption tool adds captions and removes none. Exclusions ride the prompt unless the schema has negativePrompt. Type the viewer must read is composited in assembly (scenario-video-assembly): generated type drifts.
All editing is model_run on a video-input model found with recommend:
asset_get returns the clip's firstFrame as a free asset id; edit it with an image model and re-render from it as the first frame, the source clip beside it where the schema takes that pair (few do).scenario-video-editing. Assembling a finished cut: see scenario-video-assembly.asset_get the rendered clip and pass its lastFrame asset id as the next run's first frame, writing that prompt from what the frame shows (positions, facing, the camera's side, so screen direction survives the seam) rather than from the plan, since renders drift from it; join the runs with model_scenario-video-concat (a fixed id, for the same reason as the cut and split tools; hard cuts by default, per scenario-video-assembly).Dubbing translates the speech and keeps each speaker's own voice, tone, and timing. It does not move the mouth, so a dubbed talking head still has lips forming the original language. Three steps, after any trim the limits below require:
file and a required targetLang from the schema's allowed values. Omit sourceLang to auto-detect, since the value that means auto differs between models. When a brand or name must survive translation, pick a hit whose schema carries keyterms, as not all do; where it is array: true, pass ["Scenario"] even for one term.model_scenario-audio-extract, a fixed first-party id: Scenario's single deterministic tool for the operation, so discovery would only re-derive it.video/audio on most hits and videoUrl/audioFile on others. A duration-mismatch control is not universal: where present it is syncMode or lipsyncMode (cut_off, loop, bounce, silence, remap) with a per-model default, and there loop and bounce extend the shorter stream while cut_off ends at it; elsewhere a loop boolean loops the audio instead.Judge a localized talking head on a stylized character before promising it on a photoreal one.
Where a model bounds input length it rejects rather than trims: a 30.08 second reference against a 30.0 second limit fails the whole run, with the error naming both numbers. A clean dry_run prices the payload and is not proof it clears a ceiling: read the input's duration off asset_get and compare it to the cap yourself. A ceiling can be a typed max_duration on the file field, prose in that field's description, or absent, so check both, on the audio input as readily as the video. When one applies, trim with the deterministic cut or split tools (model_scenario-video-cut, model_scenario-video-split, fixed ids for the same reason as the extractor above) before the run that enforces it, and before any step whose output must match the trimmed footage, such as a dub. Land inside the stated range, not on its edge.
Floors bind as hard as caps. The shortest clip a member renders is in its schema, as a min on a numeric duration, as the smallest of a duration enum's allowed_values, or as a fixed length when the field is absent (5 seconds on one reference-conditioned member, 1 or 2 on others at authoring time), so a 1 to 2 second VFX element is not a duration: 1 request on the first pick: recommend with the clip length in the user's words, read the floor off the schema, and when nothing goes low enough render the shortest clip and trim it with model_scenario-video-cut, or ask for several events in one clip ("three explosions, one after another") and split them with model_scenario-video-split. Extending the other way, past a max, is the last-frame chain under Editing existing footage.
Two lanes, told apart by the input in hand. Footage plus a new track is recommend with capability="video2video" and the ask in the user's words: these members redraw the mouth region and keep the rest of the frame (video and audio, or videoUrl and audioFile; some take typed text with a voice instead of audio, never both). A still plus a track is capability="img2video": the talking-avatar members animate the whole portrait and invent its motion, so they serve a portrait with no footage, or footage whose motion is disposable, and never rescue a clip whose lipsync failed, since the result is a different performance of a different shot. Naming lipsync as the capability gets re-read as one of these two, so name the input.
Preflight is free and decides the run. Sync members redraw pixels around the mouth they detect; a face that is small in frame, turned away, occluded, or blurred by motion gives them nothing to redraw, and the run then completes and bills with the mouth still under the new track, the failure users report as "no lipsync at all". asset_display the clip's firstFrame (free, from asset_get): the lips should read at display size. When they do not, crop onto the face first (model_scenario-compose-video, the compositor scenario-video-assembly teaches and a fixed first-party id like the cut tools above, or a generative reframe prompted to tighten on the speaker; an outpainting reframe widens the frame and shrinks the face) rather than retrying members. A crop lowers resolution, so read the cropped clip's width and height off asset_get against the member's floor before pricing the sync run, and upscale it or pick a member without a floor when it falls short. With several faces in frame, pick a member exposing speaker selection (activeSpeaker on one at authoring time) or crop to one speaker. Per-member limits sit in the schema, not the description: one member takes clips of 2 to 10 seconds at 720p to 1080p, others carry none; the video field carries cost_impact: true, so trim to the shipped range before the run (Duration limits above).
Plan gating is common here: recommend flags such members on their ranked entry with requires_plan_upgrade: true and names the plan in required_plan (unless its response says plan gating is _degraded), and running one anyway returns a 403 naming the model and the plan it needs, which no retry clears; pick an available member or surface the upgrade, per the scenario skill's plan row.
A completed job proves the model ran, not that the mouth moved. Before shipping, download the output and the source and compare frames at the same timestamps (sweep both into contact sheets locally, ffmpeg -vf "fps=2", and read the mouth region): unchanged mouth pixels across the sweep mean the face was not found, and the same payload reproduces it, so change the framing or the lane rather than the seed. Listen as well: whether the input's own track survives is undocumented (Dubbing above).
recommend with capability="audio2video" and the user's words finds members that turn a finished song into a music video in one call. The whole-song member live at authoring time took 10 seconds to 6 minutes of audio and returned a video as long as the track (the same ranking also lists segment-length members capped near 20 seconds), so:
audio carries cost_impact, as does resolution: cut to the section that ships with model_scenario-audio-cut, then dry_run the real payload.style ignores styleImage; set the custom value to use one. The character image is a separate, optional field. It takes no prompt: style, musicStyle, and the reference images carry the direction.lyrics empty when captions are added in assembly (scenario-video-assembly), or the two sets collide.Pick this lane for one pass over the whole track; beat-cut shots under per-shot direction are scenario-seedance-music-video. Launch with wait=false and jobs_wait, since the job scales with the song.
model_run without model_schema_get: a payload that worked on Kling will not fit Veo.search and prefer non-deprecated hits (a deprecated:<replacement_id> tag names the successor). Families retire whole generations on notice, and a retired member's per-member controls (a keyframe strength, an fps enum) do not carry over: re-read the successor's schema rather than porting the old payload, and when a saved id returns 404 Model not found, search the family name instead of retrying the id.© scenario-labs, 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 skills/scenario-video of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario 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 |
|---|---|---|---|---|---|---|
| Scenario Video this skillscenario-labs/skills | 946 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Media Genclacky-ai/openclacky | 1.2k | — | ~7.5k | Automated safety check: Pass | MIT | |
| Stage EditOrkas-AI/Orkas-VideoStudio | 499 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Audio And Videoglifxyz/glif-mcp-server | 213 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Clean Audiohassancs91/claude-youtube-editor | 328 | — | ~1.8k | Automated safety check: Pass | MIT | |
| OrchestrationOrkas-AI/Orkas-VideoStudio | 499 | — | ~3.4k | Automated safety check: Pass | MIT |
clacky-ai/openclacky
Generate or edit images, videos, or audio in the current task.
Orkas-AI/Orkas-VideoStudio
Intelligent editing of real user-supplied footage—understand it with transcript/inspected-frame/scene/silence/quality evidence, then choose deterministic timeline operations or a constrained…
glifxyz/glif-mcp-server
Make or edit audio and video with Glif, from a text brief or from a reference image, video or audio file.
hassancs91/claude-youtube-editor
Voice/audio cleanup step of the AI Video Editor pipeline — diagnose a video's background noise, pick the right denoise method, and produce a cleaned master (voice isolated, levels preserved, video…
Orkas-AI/Orkas-VideoStudio
The master program for producing or editing a video end to end — read this at the START of any video task (after video-router), then follow the gates and the per-line steps.
social-media-skills/skills
The Synthesia craft skill — produce avatar video (training, onboarding, explainers, localized series, faceless educational content) with the consent-first architecture and honest fit boundaries.
scenario-labs/skills
A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…
scenario-labs/skills
A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.
scenario-labs/skills
A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…
scenario-labs/skills
A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…
scenario-labs/skills
A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…
scenario-labs/skills
A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…
Works with
Categories
A skill your agent uses when generating or editing video on Scenario via MCP: text-to-video, a music video from a song, image-to-video (still animation, frame anchors), motion prompting, lipsync and…. Scenario Video is an agent skill from scenario-labs/skills. Use when generating or editing video on Scenario via MCP: text-to-video, a music video from a song, image-to-video (still animation, frame anchors), motion prompting, lipsync and talking avatars, dubbing a clip, video upscale to 4K, prompt-based editing, trim, split, concat, extend, reframe, resize, background removal, frame or audio extraction, long video jobs, or a clip over a duration limit.
Scenario Video fits situations like: editing video on Scenario via MCP: text-to-video; A music video from a song; image-to-video (still animation; motion prompting.
Run `npx skills add scenario-labs/skills --skill scenario-video -a claude-code`. Or copy the skill folder (skills/scenario-video in scenario-labs/skills) into .claude/skills/scenario-video in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-video -a codex`. Or copy the skill folder (skills/scenario-video in scenario-labs/skills) into .agents/skills/scenario-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 scenario-labs/skills --skill scenario-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/scenario-video, .gemini/skills/scenario-video, .github/skills/scenario-video and .opencode/skills/scenario-video in your project.
Going by SKILL.md and its folder, Scenario Video needs the command-line tools its instructions call (npx, curl and ffmpeg). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx and curl, which can reach the network depending on how they are called. 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.
Scenario Video is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k 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 Scenario Video: Media Gen (clacky-ai/openclacky, 1.2k stars), Stage Edit (Orkas-AI/Orkas-VideoStudio, 499 stars), Audio And Video (glifxyz/glif-mcp-server, 213 stars) and Clean Audio (hassancs91/claude-youtube-editor, 328 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.
Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.