by open-ribbi
AI-native, local-first video editor by Ribbi — runs entirely in the browser. Rust/WASM engine, WebGPU compositing, WebCodecs export; humans and LLM agents edit through the same JSON command protocol.
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
# Add to your Claude Code skills
git clone https://github.com/open-ribbi/velocutGuides for using ai agents skills like velocut.
English | 简体中文
Velocut, by Ribbi, is an AI-native, local-first video editor that runs entirely in the browser — no install, no upload, your footage never leaves your machine. A canonical Rust engine (compiled to WASM) is mirrored by a TypeScript reference engine and kept in lock-step by shared golden-vector tests; WebGPU handles compositing and WebCodecs handles decode/export; and an LLM agent edits through the exact same JSON command protocol a human drives from the UI.
Protocol-first, AI-native. Humans edit via the UI, the LLM issues JSON commands directly — both flow through one command pipeline into one document model. The AI agent is treated as the system's first-class user; the human UI's job is to make the agent's perception and actions visible and correctable.

npm test uses --experimental-strip-types; a .nvmrc is at the repo root)wasm-pack (only to build the canonical WASM engine)cd web
npm install
npm run dev
Works out of the box: when the DI container detects the WASM bundle is absent, it falls back to the TypeScript reference engine (a badge in the top-right shows the active engine).
# one-time setup
rustup target add wasm32-unknown-unknown
cargo install wasm-pack
# build and drop into the app's public dir (or: just build-wasm)
wasm-pack build crates/velocut-wasm --target web --release \
--out-dir web/apps/editor/public/wasm
cd web && npm run dev # badge switches to "engine: Rust/WASM"
Velocut's first "user" is the AI agent. Click the ⌘ Agent bubble (bottom-right), configure a provider in the settings panel (your own Anthropic API key works as-is), and edit in natural language — "cut out the silent parts", "add a title at the start".

x-api-key or Authorization: Bearer auth, custom model ids, and a one-click connection test. The endpoint must allow browser (CORS) requests.Web search (Gemini grounding) and MiniMax cloud TTS are proxied by the Vite dev server, which injects the secrets server-side so the browser never holds them:
# both optional; the files are gitignored, placed under web/apps/editor/
echo "<your Google API key>" > web/apps/editor/.google-key # velocut_search
echo "<your MiniMax key>" > web/apps/editor/.minimax-key # cloud TTS (local TTS needs no key)
Note: these proxies exist only under npm run dev; after a static vite build, search and cloud TTS are unavailable.
cargo test # the Rust engine runs protocol/vectors/*.json
cd web && npm test # the TS engine runs the same vectors + unit tests
cd web && npm run e2e # Playwright smoke (boot / import / edit / persistence)
Any change to engine behavior must land as a new vector, and both sides must pass to count as consistent. Beyond the vectors, the suite covers the agent tool-use loop (via an injected transport), the effect/motion-spec registries, and two end-to-end Chromium journeys. CI (.github/workflows/ci.yml) gates every PR on four jobs: Rust (fmt + clippy + vectors), TS (vectors + unit tests + tsc), a WASM compile smoke test, and the E2E suite. See CONTRIBUTING.md for the flow.
crates/
velocut-core/ # canonical engine: model / commands / eval / history (pure Rust, no wasm deps)
velocut-wasm/ # wasm-bindgen bindings (string-JSON ABI)
protocol/
vectors/ # golden test vectors — the behavioral contract for both engines
web/
packages/protocol/ # TS protocol types + zod validation (1:1 shape with the Rust serde model)
packages/core-ts/ # TS reference engine (frontend fallback; runnable on Node)
packages/render-sdk/ # WebGPU compositing / WebCodecs decode+export / workers / perception (grabs, shots, loudness)
packages/agent-sdk/ # Anthropic-protocol tool-use loop (injectable transport)
packages/collab-sdk/ # local-first persistence + multi-tab CRDT sync (Yjs)
apps/editor/ # Vite + React editor (canvas timeline / branching history / agent console)
motionClip): keyframed layers described by a JSON spec — persisted, and safe to author from the sandboxed script tool.Keys: Space = play / S = split / Delete = delete / Cmd+Z = undo / Ctrl+wheel = zoom timeline / drag a clip edge to trim / right-click a track head or clip for a menu.
window.velocut.apply({type:'splitClip', clipId:'clip_2', atUs:1500000})@velocut/core-ts (consumed inside the workspace; standalone npm publish is on the roadmap).Command protocol → PROTOCOL.md. Architecture decisions → ARCHITECTURE.md. Security & trust model → SECURITY.md.
MIT © 2026 willbean
velocut is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by open-ribbi. AI-native, local-first video editor by Ribbi — runs entirely in the browser. Rust/WASM engine, WebGPU compositing, WebCodecs export; humans and LLM agents edit through the same JSON command protocol. It has 112 GitHub stars.
velocut's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/open-ribbi/velocut" and add it to your Claude Code skills directory (see the Installation section above).
velocut is primarily written in TypeScript. It is open-source under open-ribbi on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh velocut against similar tools.
No comments yet. Be the first to share your thoughts!