Agent skill

Open Edit

by veedstudio in veedstudio/open-edit

Video work with VEED's hosted services and a CLI toolkit — word-timed transcription, cutting, background removal, AI presenters, lipsync, any fal model, sound mixing, and a Chrome renderer for HTML…

Apache-2.0Auto-check passedMedia & Creative

Install Open Edit

skills CLI
$ npx skills add veedstudio/open-edit --skill open-edit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install veedstudio/open-edit open-edit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/veedstudio/open-edit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/open-edit .claude/skills/open-edit && rm -rf skills-src

Use ~/.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/

Facts

Skill name
open-edit
GitHub stars
1.6k
Token cost
~1.8k tokens
SKILL.md length
1,027 words
Files
5
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Video work with VEED's hosted services and a CLI toolkit — word-timed transcription, cutting, background removal, AI presenters, lipsync, any fal model, sound mixing, and a Chrome renderer for HTML…

  • The user wants video made
  • SKILL.md covers Setup, One folder per piece, Tools and Render, plus 3 more sections
  • Calls npx
  • Captioned by an agent

What it does

Open Edit is an agent skill from veedstudio/open-edit. Video work with VEED's hosted services and a CLI toolkit — word-timed transcription, cutting, background removal, AI presenters, lipsync, any fal model, sound mixing, and a Chrome renderer for HTML compositions that re-renders only what changed. Captions, edits, motion graphics, or pieces with no footage at all; hands a finished piece to VEED's editor as an editable project, and takes projects back from it. Use when the user wants video made, edited, or captioned by an agent.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `CUT.md`, `FABRIC.md` and `TRANSCRIPTION.md`).

It sits in Media & Creative, covering Transcription, Motion graphics and Internal communications. It works with FFmpeg and macOS. The repository describes itself as: Open-source, agent-driven editing pipeline: create subtitles, motion graphics, slides, edit and render videos. The licence is Apache-2.0.

When your agent uses it

  • The user wants video made
  • Captioned by an agent

Example prompts

  • “/open-edit”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 7f212e0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Open Edit loads about 1.8k tokens when it runs. Until then it costs about 123 tokens; SKILL.md has 1,027 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~123
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from veedstudio/open-edit at commit 7f212e0, republished under its Apache-2.0 licence (© veedstudio). 1,027 words, ~1,842 tokens.

Download SKILL.mdSave it as .claude/skills/open-edit/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
open-edit
description
Video work with VEED's hosted services and a CLI toolkit — word-timed transcription, cutting, background removal, AI presenters, lipsync, any fal model, sound mixing, and a Chrome renderer for HTML compositions that re-renders only what changed. Captions, edits, motion graphics, or pieces with no footage at all; hands a finished piece to VEED's editor as an editable project, and takes projects back from it. Use when the user wants video made, edited, or captioned by an agent.

open-edit

You author the piece yourself, as an HTML page, and render it with render. OpenEdit supplies what a bare shell does not: VEED's hosted services on one login, measured tools for cutting and sound, and a renderer that re-renders only the stretch you changed. openedit below is short for npx @veedstudio/openedit-cli; every command explains its flags with --help.

Setup

Once per workspace, before the first command. WORKSPACE is the current project root, or the current directory outside a project. It is done when your own init run below ends on ready — OPEN_EDIT_ROOT=…, or when a session-opening note says Open Edit preflight is ready and OPEN_EDIT_ROOT=<path>. No further preflight is needed; a note that lists APPROVAL REQUIRED never means that, whatever else it quotes.

npx --yes @veedstudio/openedit-cli init --dry --workspace "$WORKSPACE"
npx --yes @veedstudio/openedit-cli init --workspace "$WORKSPACE"

Read the final preflight: line, not the exit code: ready — OPEN_EDIT_ROOT=… means go, and runs/ and the recorded preferences live under that root. If init prints APPROVAL REQUIRED, tell the user every exact action and wait for an explicit yes, then run it again with --auto-approve. When the final line says the user runs the install commands, --auto-approve cannot run them: give the user those commands and run init again once they are done. Never install anything machine-global without that yes, and never infer it from the render request.

One folder per piece

Keep everything a piece is made of under runs/<key>/: the page, its assets, renders, audio. The code is the edit: that folder is how the user comes back later to change one scene or reuse the piece for another video, so nothing it needs lives anywhere else.

Tools

NeedCommand
A transcript with real per-word timestranscribe <video> [...] runs the provider recorded in $OPEN_EDIT_ROOT/.open-edit-prefs.json. None recorded (the command refuses and says so), "No VEED login found", or a failed run: read TRANSCRIPTION.md first
Remove, reorder or join takesread CUT.md (speech-probe, apply-edl, retime-transcript)
Join whole clips whose shapes disagreeconcat-videos (re-encodes to one canvas at 30 fps)
Look at a video, a page or a pile of imagesframes <video> --at <sec,...> --sheet (one sheet of those moments; --images for a folder of references), render --stills
Cut the subject out of its backgroundbackground-removal (the free VEED route; when it cannot run, the command stops with fal's price, and only --fal buys)
A presenter speaking a scriptFabric: read FABRIC.md first
New audio on a facelipsync
Any fal model: images, video, music, voice, effectsfal schema <model>, then fal run <model> --input <json or @file> --run runs/<key> (--batch <jobs.json> for many); local files in the input are uploaded for you
Web fonts as local filesfonts <Family> [...] --out <dir>
Real, licensed picturesstills search, stills show, stills save
One soundtrack from several piecesmix-audio runs/<key> (voice tracks duck the bed; mix-audio --help has the spec)
Sound on a render, at delivery loudnessmux-audio --video <render> --audio <source clip or built track> --out <file>
The piece in VEED's editor for the user to change, or a project they bring from itread VEED.md (veed-project, veed-pull)

Fabric, background removal, lipsync and veed-project reuse the VEED transcription login: same veed.io account, same stored token, no second sign-in. The editor hand-off's bookmarks run in the user's own VEED session in the browser. background-removal --fal needs no VEED login at all.

Show full SKILL.md (483 more words)Show less

Render

openedit render runs/<key>/index.html --out runs/<key>/out.mp4 --fps <fps> --duration <seconds>

The canvas is the page's #stage (or [data-stage]) element, captured at its own size, else 1920x1080. --width/--height instead capture that much of the page from its top-left corner and ignore the stage. With footage, the canvas and frame rate are the source's own, and frames prints both. Pass its frameRate (such as 30000/1001) to --fps, never the decimal beside it.

  • The renderer owns time. It drives a virtual clock (performance.now, Date.now, requestAnimationFrame, timers, a seeded Math.random), sets every CSS and Web Animations animation to the frame's time and seeks GSAP's global timeline. Anything else that moves with time goes in window.__seek(t) (it may be async).
  • It waits for fonts, images and videos before the first frame, and shows each <video> at the exact frame. Keep fonts and assets as files beside the page.
  • --from <s> --to <s> re-renders only that stretch and reuses the rest. After a change, re-render what changed, not the piece.
  • --stills 0.5,2,4 --sheet <file> shows moments without a full render. --transparent gives alpha.
  • It fails loudly on a page error, a blank render or a Chrome that did not start; read the reason it prints. A load it lists as failed (a video, an image, a font) is a wrong render: fix it and re-render before delivering.
  • The output is silent: mux-audio lays the sound on (build a many-piece track first with mix-audio).

No footage

If the user attached no video, read the ask before assuming one is needed:

  • A clip is coming: wait for it.
  • A talking head from a script: Fabric, per FABRIC.md.
  • A clip from another model (anything on fal, their key and their bill): say in the same breath that captions are transcribed from the clip's speech, and most generators return silent clips.
  • No video at all: build from stills, graphics, generated imagery and audio. That is a whole run.

If it is unclear which, ask.

Money

  • VEED transcription consumes the VEED transcription credits of one workspace. On an account with several, the CLI will not pick: name the one the user chose with --workspace.
  • Fabric consumes the AI Playground credits of the workspace chosen for it; FABRIC.md has its three stops.
  • Every fal call (fal run, lipsync, background-removal --fal or --fast) bills the user's own fal account. Before the first paid call, say in one line what you will make and what it costs, and let them answer. Background removal's default route is free.
  • Report what was spent, and on which account, when you deliver.

Talking to the user

One line when you start, then the deliverable's path and a sentence or two on the result. No step-by-step progress and no internals: run keys, command names, raw tool output. Pass on in plain terms a warning about the result, such as words transcribed without timings. If you must stop, say in plain terms what is wrong on screen and what the options are.

© veedstudio, 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

Files

SKILL.md and 4 other files in .claude/skills/open-edit of veedstudio/open-edit.

  • SKILL.md
  • CUT.md
  • FABRIC.md
  • TRANSCRIPTION.md
  • VEED.md

Open the folder on GitHubat commit 7f212e0

Compare with similar skills

Open Edit 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.

Open Edit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Open Edit this skillveedstudio/open-edit1.6k—~1.8kAutomated safety check: PassApache-2.0
BaocutJimLiu/baocut529—~6kAutomated safety check: PassMIT
Qiaomu Cutjoeseesun/qiaomu-cut-skill369—~6.8kAutomated safety check: NotesMIT
ShowtimeFavioVazquez/showtime158—~3kAutomated safety check: PassMIT
Content To Videoarchitectds/modeldock117—~2.4kAutomated safety check: PassApache-2.0
KinocutKyaniteLabs/kinocut192—~5.7kAutomated safety check: PassApache-2.0

Similar skills

  • Baocut

    JimLiu/baocut

    BaoCut-only operator for the installed bcut CLI and .bcut projects.

    529 GitHub stars~6k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Qiaomu Cut

    joeseesun/qiaomu-cut-skill

    把一句话需求转成可复现、可验收视频工程的乔木智能剪辑导演。Use when the user asks to create, plan, edit, remix, explain, narrate, subtitle, animate, composite, or render a video—including one-line requests such as “制作一个科普视频:介绍…

    369 GitHub stars~6.8k tokensUpdated 9 days ago
    Media & CreativeAuto-check: notes
  • Showtime

    FavioVazquez/showtime

    A skill your agent uses when the user wants a video made, edited or finished: a launch or promo, product demo, explainer, trailer or teaser, tutorial or walkthrough, a screen recording turned into a…

    158 GitHub stars~3k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Content To Video

    architectds/modeldock

    Turn arbitrary source content (README, article, story, slides, deck, data/report, product description, tutorial text, audio/transcript, or a bare topic) into a finished, high-quality MP4 video.

    117 GitHub stars~2.4k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Kinocut

    KyaniteLabs/kinocut

    Use Kinocut for guarded video editing, source-backed planning, FFmpeg operations, media analysis, subtitles, audio workflows, Hyperframes or Revideo rendering, repurposing packages, and release…

    192 GitHub stars~5.7k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Transcribe

    badlogic/pi-skills

    Local speech-to-text transcription on Apple Silicon macOS. An agent skill from badlogic/pi-skills.

    2.6k GitHub stars~264 tokensUpdated 4 mo ago
    Media & CreativeAuto-check passed

Works with

Questions about Open Edit

What does Open Edit do?

Video work with VEED's hosted services and a CLI toolkit — word-timed transcription, cutting, background removal, AI presenters, lipsync, any fal model, sound mixing, and a Chrome renderer for HTML…. Open Edit is an agent skill from veedstudio/open-edit. Video work with VEED's hosted services and a CLI toolkit — word-timed transcription, cutting, background removal, AI presenters, lipsync, any fal model, sound mixing, and a Chrome renderer for HTML compositions that re-renders only what changed.

When should I use Open Edit?

Open Edit fits situations like: the user wants video made; captioned by an agent.

How do I install Open Edit in Claude Code?

Run `npx skills add veedstudio/open-edit --skill open-edit -a claude-code`. Or copy the skill folder (.claude/skills/open-edit in veedstudio/open-edit) into .claude/skills/open-edit in your project. Claude Code loads it when a task matches its description.

How do I install Open Edit in Codex?

Run `npx skills add veedstudio/open-edit --skill open-edit -a codex`. Or copy the skill folder (.claude/skills/open-edit in veedstudio/open-edit) into .agents/skills/open-edit in your project. Codex loads it when a task matches its description.

Can I use Open Edit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add veedstudio/open-edit --skill open-edit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/open-edit, .gemini/skills/open-edit, .github/skills/open-edit and .opencode/skills/open-edit in your project.

What does Open Edit need to run?

Going by SKILL.md and its folder, Open Edit needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Open Edit access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Open Edit safe to install?

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.

What licence does Open Edit use?

Open Edit 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.

How many tokens does Open Edit use?

About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Open Edit?

Skills that share tags, products or a category with Open Edit: Baocut (JimLiu/baocut, 529 stars), Qiaomu Cut (joeseesun/qiaomu-cut-skill, 369 stars), Showtime (FavioVazquez/showtime, 158 stars) and Content To Video (architectds/modeldock, 117 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Open Edit?

veedstudio (a GitHub organization) maintains it in veedstudio/open-edit, which has 1,582 GitHub stars. The repository was last updated on September 29, 2026.

Source: veedstudio/open-edit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.