HyperFrames Animation
heygen-com/hyperframes
Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.
Generates WebGL shaders for video effects, transitions, masks and color grades in the OpenChatCut editor, trying built-in catalog effects such as zoom before making anything new.
$ npx skills add 0xsline/OpenChatCut --skill shader-gen -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install 0xsline/OpenChatCut shader-gen --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/0xsline/OpenChatCut.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/agent/skills/shader-gen .claude/skills/shader-gen && 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 "shader-gen" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/shader-gen into .claude/skills/shader-gen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-gen", 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/0xsline/OpenChatCut/tree/main/src/agent/skills/shader-genType 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 0xsline/OpenChatCut --skill shader-gen -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install 0xsline/OpenChatCut shader-gen --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/agent/skills/shader-gen .agents/skills/shader-gen && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "shader-gen" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/shader-gen into .agents/skills/shader-gen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-gen", 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 0xsline/OpenChatCut --skill shader-gen -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install 0xsline/OpenChatCut shader-gen --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/agent/skills/shader-gen .cursor/skills/shader-gen && 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 "shader-gen" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/shader-gen into .cursor/skills/shader-gen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-gen", 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/0xsline/OpenChatCut.git --path src/agent/skills/shader-gen--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 0xsline/OpenChatCut --skill shader-gen -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install 0xsline/OpenChatCut shader-gen --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/agent/skills/shader-gen .gemini/skills/shader-gen && 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 "shader-gen" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/shader-gen into .gemini/skills/shader-gen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-gen", 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 0xsline/OpenChatCut shader-genInstalls 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 0xsline/OpenChatCut --skill shader-gen -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/agent/skills/shader-gen .github/skills/shader-gen && 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 "shader-gen" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/shader-gen into .github/skills/shader-gen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-gen", 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 0xsline/OpenChatCut --skill shader-gen -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install 0xsline/OpenChatCut shader-gen --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/0xsline/OpenChatCut.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/agent/skills/shader-gen .opencode/skills/shader-gen && 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 "shader-gen" agent skill from https://github.com/0xsline/OpenChatCut/tree/main/src/agent/skills/shader-gen into .opencode/skills/shader-gen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "shader-gen", 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.
shader-genGenerates WebGL shaders for video effects, transitions, masks and color grades in the OpenChatCut editor, trying built-in catalog effects such as zoom before making anything new.
This skill belongs to the OpenChatCut video editor's agent and follows a catalog-first rule: call `browse_library` for built-in effects, transitions and project assets, apply a match with `edit_item`, and generate a shader only when nothing fits the request. New shaders always go through `generate.ts`, which submits a backend generation job and returns a `jobId`, and the `track_progress` tool follows it afterwards. Manual authoring is for editing existing asset code only, never a fallback when generation fails.
One detail the skill stresses is that the built-in zoom works only as a track-bound effect. An item-bound zoom is stored but renders nothing, so `trackId`, `trackBoundFrom` and `trackBoundDurationInFrames` are required, taken from `read_project`. Zoom settings include magnification from 1 to 4 (default 1.5) and focal points between 0 and 1. Bundled examples cover cube rotate, door open and page curl transitions, and references cover design principles and property changes. The skill is published under AGPL-3.0, and the excerpt is truncated.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2e6f4a2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Video Shader Generator loads about 3.2k tokens when it runs, and up to ~7.5k if it reads all its reference files. Until then it costs about 94 tokens; SKILL.md has 1,186 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 0xsline/OpenChatCut at commit 2e6f4a2, republished under its AGPL-3.0 licence (© 0xsline). 1,186 words, ~3,206 tokens.
.claude/skills/shader-gen/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Submit-only: creates a backend generation job, returns jobId. Use the track_progress tool for job lifecycle after submission.
Always use generate.ts for new shaders. Manual authoring is only for editing existing asset code — never as a fallback when generation fails.
Before generating a shader, call browse_library unless the user names an exact asset id that is already visible in read_project.
browse_library is the source of truth for built-in effects, built-in transitions, and project effect/transition assets. Built-ins are stable global asset ids, not per-project DB assets, so they may not appear in read_project asset lists.
Apply catalog entries with edit_item, do not call submit_shader.
Good catalog searches:
browse_library(query: "zoom")
browse_library(category: "transitions", query: "dissolve")
browse_library(category: "audio-fx")Generate only when no catalog entry matches the user's intent closely enough.
builtin:zoom is track-bound only — DO NOT use item-boundThe default effect mode is "item-bound" (attach to a single item via targetItemId). builtin:zoom does NOT render in item-bound mode — the renderer reads zoom data exclusively from track-bound effect items. An item-bound zoom inserts into the DB silently but shows nothing in preview.
Use mode: "track-bound" with trackId + trackBoundFrom + trackBoundDurationInFrames. These three fields are required.
# Zoom on the entire video clip
edit_item(json: '{"adds":[{"type":"effect","assetId":"builtin:zoom","mode":"track-bound","trackId":"<clip-trackId>","trackBoundFrom":<clip-fromFrame>,"trackBoundDurationInFrames":<clip-durationInFrames>,"propertyOverrides":{"magnification":1.5,"shape":"hold"}}]}')
# Zoom on a sub-range of the clip (e.g. frames 90–150 only, a punch zoom on a beat)
edit_item(json: '{"adds":[{"type":"effect","assetId":"builtin:zoom","mode":"track-bound","trackId":"<trackId>","trackBoundFrom":90,"trackBoundDurationInFrames":60,"propertyOverrides":{"magnification":2,"shape":"punch"}}]}')Get trackId / fromFrame / durationInFrames from read_project (each video/image item lists its trackId and timeline-frame range).
| Key | Type | Range / values | Default | Notes |
|---|---|---|---|---|
magnification | number | 1–4 | 1.5 | Zoom factor; 1 = no zoom, 2 = 2× in |
focalPointX | number | 0–1 | 0.5 | Horizontal focal point (0 = left, 1 = right) |
focalPointY | number | 0–1 | 0.5 | Vertical focal point (0 = top, 1 = bottom) |
shape | select | punch / hold / slow-push / instant | hold | Animation curve |
focalMode | select | auto / manual | auto | auto picks subject; manual uses focalPoint |
easeInFrames | number | 0–60 | 8 | Frames to ramp in |
easeOutFrames | number | 0–60 | 8 | Frames to ramp out |
Omit propertyOverrides entirely for default zoom. Send only the keys you want to change — patch semantics.
Effect items in the schema have two modes:
item-bound (default): targetItemId only. Effect covers the whole target item's playback. Works for shader effects, LUTs, color grades, blurs.track-bound: trackId + trackBoundFrom + trackBoundDurationInFrames. Effect covers a timeline range on a track, independent of any item. Required for builtin:zoom; also valid for any shader effect when you want it to cover a specific timeline range (e.g. a transition-like color shift across the boundary of two clips).Default to item-bound for shader effects. Use track-bound when (a) the asset requires it (zoom), or (b) the effect should cover a timeline range that doesn't match a single item.
edit_item(json: '{"adds":[{"type":"effect","targetItemId":"<clip-id>","assetId":"builtin:slog3-s709","propertyOverrides":{"intensity":1}}]}')| Key | Type | Range | Default | Notes |
|---|---|---|---|---|
intensity | number | 0–1 | 1 | LUT strength; 1 = full applied |
To swap: delete the effect and re-add with a different assetId. To remove: delete the effect item.
These are separate from user-uploaded .cube LUT assets (see "Applying an Existing LUT Asset" below) — those use a different code path with assetId:"lut".
New shader generation is beta. Before generating, warn the user and wait for explicit confirmation.
Use the user's language. Chinese: "新的特效/转场生成目前还是 beta 阶段,可能会有不稳定的问题。如果你坚持要做,我可以帮你实现。" Skip if user already acknowledged in the same request.
Effects and transitions apply to video, image, and gif items.
Before generating anything, check two non-generation paths first:
browse_library for built-in and project effects/transitions..cube LUT asset that already exists in the project library — separate code path, see "Applying an Existing LUT Asset" below. The asset shows up in read_project with type: lut.| User wants | --type |
|---|---|
| Video appearance (color, blur, glow, grain, distortion) | effect |
| Color grade / look (teal-orange, cinematic, vintage, LUT-style) | effect |
| Visibility control (mask, reveal, wipe, shape cutout, gradient fade) | effect |
| Blend between clips (crossfade, dissolve, slide, 3D cube/page flip) | transition |
"LUT-style" in the table means generating a fresh GLSL color grade that resembles a LUT — only when the user wants something new. If they want to apply a .cube file already in the library, don't generate; bind the existing asset instead.
No separate LUT or mask generator for the generation path — those are all effect.
.cube files uploaded by the user become lut assets. Applying one to a clip is not generation — it's a single edit_item call that attaches an effect item whose assetId is the literal string "lut" and whose propertyOverrides.lut binds the real LUT asset id. (Legacy contract; the unified LUT API binds the LUT effect asset id directly — see edit_item description.)
edit_item(json: '{"adds":[{"type":"effect","targetItemId":"<clip-id>","assetId":"lut","propertyOverrides":{"intensity":1,"lut":{"assetId":"<lut-asset-id>","assetType":"lut","type":"asset"}}}]}')Key points:
assetId is the literal string "lut", not the LUT asset's id. The real LUT asset id goes inside propertyOverrides.lut.assetId.intensity is 0–1; default 1 (full strength).targetItemType defaults to video; also supports image, gif.propertyOverrides.lut.assetId to the new LUT asset id.Do not call generate.ts for this path. Do not pass a real LUT asset id as assetId — the editor checks assetId === "lut" to route into the LUT renderer; passing a UUID silently renders nothing.
Before calling submit_shader, restate the user's intent in one concrete sentence, then proceed immediately. After track_progress returns, state what was produced in one line — do NOT ask "要保留还是重新生成".
submit_shader({
type: "effect",
prompt: "Chromatic aberration with RGB split",
name: "Chromatic Aberration",
});
submit_shader({
type: "transition",
prompt: "Smooth crossfade with soft edge",
name: "Crossfade",
});
submit_shader({
type: "effect",
prompt: "Cinematic teal-orange color grade",
});
submit_shader({
type: "effect",
prompt: "Stronger version",
referenceAssetIds: ["effect_asset_id"],
});track_progress tool for status/wait after submission.Any time you're about to edit shader asset.properties, applied effect/transition item.propertyOverrides, or promote a hardcoded shader value, read references/property-changes.md first.
It reinforces that shader properties is an array, but the allowed shader property types are only number, boolean, color, select, and vec2. Motion Graphic properties are also arrays, but use a different type set.
| Param | Description | Default |
|---|---|---|
type | "effect" or "transition" (req'd) | — |
prompt | Description of the shader (req'd) | — |
name | Asset name shown in library | — |
referenceAssetIds | Asset ids. Image id → model LOOKS AT it for visual inspiration. Effect/transition id → reuse its code as style anchor (≤1 per submit, kind must match type). | — |
Returns { success, job: { jobId, status }, manage: { status, wait, watch } }.
Only when user explicitly requests. Call read_project first for fresh timeline state.
edit_item(json: '{"adds":[{"type":"effect","targetItemId":"<id>","assetId":"<id>","enabled":true,"propertyOverrides":{}}]}')Requires two adjacent same-track endpoints. edit_item validates live seam feasibility and refuses durations that would require freeze frames or overlapping neighboring transitions. If the add fails, retry with the suggested durationInFrames, trim the clips to expose handles, delete/shorten neighboring transitions, or keep a hard cut.
edit_item(json: '{"adds":[{"type":"transition","assetId":"<id>","outgoingItemId":"<id1>","incomingItemId":"<id2>","durationInFrames":30}]}')When generating via generate.ts, the backend handles validation automatically (transpile, AST security, class structure, retry on failure).
NEVER write shader code from scratch. Always use generate.ts for new shaders. This section is ONLY for modifying existing shader code that was already generated.
When writing shader code manually, read ${CLAUDE_SKILL_DIR}/references/design-principles.md first. If the change touches editable properties, also read ${CLAUDE_SKILL_DIR}/references/property-changes.md.
Typical workflow:
read_project with the shader assetId and code: true — read the current source.edit_asset with action=update, the same assetId, and the full replacement source inline in json.code. Validation runs automatically on update — if code is invalid, the update is rejected with error details.© 0xsline, AGPL-3.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 5 other files (references) in src/agent/skills/shader-gen of 0xsline/OpenChatCut.
Open the folder on GitHubat commit 2e6f4a2
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in 0xsline/OpenChatCut, which our catalogue first saw on October 7, 2026.
Video Shader Generator 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 Shader Generator this skill0xsline/OpenChatCut | 2.2k | 1 repos | ~3.2k | Automated safety check: Pass | AGPL-3.0 | |
| HyperFrames Animationheygen-com/hyperframes | 60k | 3 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills | 8.5k | 6 repos | ~3.2k | Automated safety check: Notes | Apache-2.0 | |
| Faceless Explainer Videoheygen-com/hyperframes | 60k | 3 repos | ~7.7k | Automated safety check: Notes | Apache-2.0 | |
| Video ShotcraftVincentwei1021/video-shotcraft | 11k | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Figma to HyperFramesheygen-com/hyperframes | 60k | 3 repos | ~4.5k | Automated safety check: Notes | Apache-2.0 |
heygen-com/hyperframes
Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.
google-labs-code/stitch-skills
Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.
heygen-com/hyperframes
Turns an article, notes or a topic brief into an explainer video whose visuals are invented per scene, built frame by frame in HyperFrames with no footage.
Vincentwei1021/video-shotcraft
Makes cinematic product videos with Remotion from shot recipe cards, a ready template, real page screenshots, camera moves and sound design, or builds a single animated shot.
heygen-com/hyperframes
Imports Figma assets, brand tokens, components and motion into a HyperFrames video composition, using the Figma REST API with a connector or native export for shaders.
heygen-com/hyperframes
Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.
0xsline/OpenChatCut
Connects an MCP-capable agent to the local OpenChatCut video editor to inspect and edit projects through draft edit sessions, with manual approval by default.
0xsline/OpenChatCut
Generates still images through the submit_image tool, choosing among Fal.ai, gpt-image-2, nano-banana, MiniMax image-01 and Grok Imagine by configured keys.
0xsline/OpenChatCut
Cuts a livestream recording into evidence-backed, platform-ready clips by combining transcript, visual, audio and genre-specific signals.
0xsline/OpenChatCut
Generates instrumentals, songs, soundtracks and covers through Mureka, MiniMax, Atlas Cloud or Sonilo using the `submit_music` tool.
0xsline/OpenChatCut
Submits AI video generation jobs to Fal.ai, Seedance, Kling, MiniMax Hailuo, xAI Grok Imagine or OFox for text-to-video, image-to-video, transitions and clip extension.
0xsline/OpenChatCut
Generates text-to-speech narration and custom sound effects for a video timeline, keeping existing voiceover in sync after visual retiming edits.
Categories
Generates WebGL shaders for video effects, transitions, masks and color grades in the OpenChatCut editor, trying built-in catalog effects such as zoom before making anything new. This skill belongs to the OpenChatCut video editor's agent and follows a catalog-first rule: call `browse_library` for built-in effects, transitions and project assets, apply a match with `edit_item`, and generate a shader only when nothing fits the request.ts`, which submits a backend generation job and returns a `jobId`, and the `track_progress` tool follows it afterwards.
Video Shader Generator fits situations like: adding a crossfade, wipe or 3D cube transition between clips; applying a zoom or push-in to a video track; creating a mask or reveal effect with a custom shader; building a film-look color grade.
Run `npx skills add 0xsline/OpenChatCut --skill shader-gen -a claude-code`. Or copy the skill folder (src/agent/skills/shader-gen in 0xsline/OpenChatCut) into .claude/skills/shader-gen in your project. Claude Code loads it when a task matches its description.
Run `npx skills add 0xsline/OpenChatCut --skill shader-gen -a codex`. Or copy the skill folder (src/agent/skills/shader-gen in 0xsline/OpenChatCut) into .agents/skills/shader-gen 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 0xsline/OpenChatCut --skill shader-gen -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/shader-gen, .gemini/skills/shader-gen, .github/skills/shader-gen and .opencode/skills/shader-gen in your project.
SKILL.md names no scripts, command-line tools or credentials: Video Shader Generator is instructions for the agent only. Our summary lists: The OpenChatCut editor and its agent tools such as `browse_library` and `edit_item`; The backend generation service that `generate.ts` submits jobs to.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Video Shader Generator is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k 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 4.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Video Shader Generator: HyperFrames Animation (heygen-com/hyperframes, 60k stars), Stitch to Remotion Walkthrough Videos (google-labs-code/stitch-skills, 8.5k stars), Faceless Explainer Video (heygen-com/hyperframes, 60k stars) and Video Shotcraft (Vincentwei1021/video-shotcraft, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
0xsline (a GitHub user) maintains it in 0xsline/OpenChatCut, which has 2,235 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 7, 2026.
Source: 0xsline/OpenChatCut on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.