Model or dataset
JimLiu/baocut avatar
JimLiu/baocut

JimLiu/baocut: an Agent Skill that puts the BaoCut CLI under Claude Code and Codex

Open-source Agent Skill that drives the BaoCut macOS app CLI (transcribe · subtitle · translate · cut) from Claude Code, Codex, and other agents

497 stars31 forksJavaScriptMIT

At a glance

What is it?
BaoCut's open-source skill lets a coding agent transcribe, subtitle, translate and export video through the local bcut CLI. It is macOS-first, with a Windows x64 resolver that picks a CPU or CUDA build, and it is only as useful as the app you already have installed.
Who is it for?
Adopt this if you edit video on macOS, already run BaoCut, and want an agent to call the bcut CLI instead of clicking through a timeline. Skip it if you are on Linux, if you have no BaoCut install, or if you want a headless pipeline that never touches a desktop app.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 19 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 18, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The gap baocut fills between a chat agent and an editing timeline

An agent that can read a repository cannot cut a video. Transcription, subtitle timing, speaker review and export all live inside GUI tools, so the agent stops at the edge of the file system. JimLiu/baocut is an Agent Skill that closes that gap for one specific application: BaoCut, a macOS video tool whose local command line interface is called bcut. The skill teaches an agent how to invoke that CLI, and it ships the guides, templates and resolver scripts that make the invocation repeatable.

The audience is narrow and worth stating plainly. You need BaoCut installed from baocut.app, and you need an agent that understands the skills.sh format, which per the README means Claude Code, Codex, or anything else compatible with that convention. If you edit video on a Mac and already use one of those agents, this is the shortest path from a sentence like "transcribe and translate the subtitles of talk.mp4 to Chinese" to an actual subtitle file. If you do not use BaoCut, the skill has nothing to drive.

How the resolver picks a binary, and why that order matters

The skill is not a wrapper library. It is a set of instructions plus one executable entry point, bin/baocut, which resolves, verifies and then runs a matching CLI. The resolution order documented in the README is explicit CLI path, development builds, the CLI inside BaoCut.app, bcut on PATH, then verified release caches and downloads. That ordering is the most interesting design decision in the repository, because it means an explicit path always wins and a bundled app CLI beats a global PATH entry. If you have two BaoCut versions around, the agent will not silently pick the newer one.

On Apple silicon the README says the resolver can download the signed standalone CLI pinned to the skill release. That pin lives in cli-release.json, described in the layout as an immutable standalone CLI pin. Windows is a different story. The repository carries bin/baocut.ps1 as a native Windows resolver and bin/detect-windows-cli-variant.ps1 as a CPU/CUDA environment probe. According to the README, the Windows resolver installs a verified unsigned-preview CLI when no compatible override, PATH entry or cache exists, and uses nvidia-smi to choose between a bundled CUDA 13 build and a CPU build. The CUDA path requires an NVIDIA GPU with compute capability 8.0+ and driver 580+, and the README states no CUDA Toolkit is required. The word preview in that sentence is doing real work: this is not the same distribution channel as the macOS app.

Installing the skill and running a first transcription

The recommended install is one command through skills.sh, which installs globally to ~/.agents/skills/baocut and links the skill for Claude Code and Codex. Node.js is needed only for this path. The -g flag makes it global and the -a flag lists the agents to link.

bash
npx skills add JimLiu/baocut -g -a claude-code codex -y

If you would rather not install Node.js, the README gives a manual path: clone the repository into ~/.agents/skills/baocut-src, symlink the inner skills/baocut directory to ~/.agents/skills/baocut, then symlink that into each agent's skills folder. Claude Code reads from ~/.claude/skills, so the third command creates that directory before linking.

bash
git clone https://github.com/JimLiu/baocut.git ~/.agents/skills/baocut-src
ln -sfn ~/.agents/skills/baocut-src/skills/baocut ~/.agents/skills/baocut
mkdir -p ~/.claude/skills
ln -sfn ~/.agents/skills/baocut ~/.claude/skills/baocut

With the skill linked, you do not run the CLI yourself. You ask the agent. The README shows the underlying commands the agent ends up issuing, and both take a --json flag, which is what lets the agent parse the result instead of scraping formatted text. The first example runs automatic transcription with a Chinese language hint; the second exports an existing project to SRT with translated subtitles.

bash
skills/baocut/bin/baocut --json auto talk.mp4 --lang zh
skills/baocut/bin/baocut export <projectId> --srt --translated --lang zh

In Claude Code you can also type /baocut directly. In Codex the README says to reference the baocut skill in your prompt. After the first run, expect a project identifier in the JSON output; the export command needs that identifier, which is why the two commands are shown in sequence rather than as alternatives.

The macOS assumption is not a footnote

The requirements section opens with macOS and the app install link, and that framing is honest about where the project's centre of gravity sits. The primary path is the CLI bundled inside BaoCut.app, which exists because you installed a desktop application. The Windows x64 path is a fallback that downloads an unsigned preview build, and the README does not describe a Linux path at all. If your build agents run in containers, this skill does not fit them.

The second limitation is subtler. Because resolution prefers the CLI inside BaoCut.app, the skill's behaviour depends on which BaoCut build you happen to have. The skill release and the app release are versioned separately in the repository's releases, and cli-release.json pins a standalone CLI for the download path. Nothing in the README explains what happens when the pinned CLI and the app CLI diverge in behaviour. That is the kind of mismatch that produces a working transcription and a failed export, and the README does not document a rollback or a version-check command. Treat the resolver order as the contract and verify which binary you got before blaming the agent.

How this differs from transcription libraries and from editing GUIs

The obvious alternative for a developer is a transcription library or a cloud speech API wired directly into a script. Those give you a text transcript and, with more work, word timings. They do not give you a project, a timeline, speaker review or an export pipeline, and they do not know anything about the video editor you use. baocut takes the opposite position: it assumes a full editing application is already on the machine and exposes that application's own CLI to an agent.

The trade-off is clear once you say it out loud. You get the app's editing model, its speaker handling and its export formats, and in exchange you inherit a desktop dependency and a macOS-first support matrix. A cloud API runs anywhere and costs per minute; this runs on your Mac and costs a BaoCut install. The repository also ships templates for a browser-based Subtitle Studio, which suggests the intended workflow includes a human reviewing subtitles in a browser rather than accepting the agent's output unread. That is a meaningful difference from a pure batch pipeline: the skill is designed for a loop where a person looks at the result.

Licence, maintenance and what an upgrade actually costs

The repository is MIT licensed, which permits commercial use and modification, and the LICENSE file sits at the top level alongside README.md and the skills directory. MIT covers the skill code, the resolver scripts and the reference documents. It does not cover the BaoCut application itself, which is distributed separately from baocut.app under its own terms, and it does not cover any standalone CLI the resolver downloads. If you are evaluating this for a commercial editing workflow, those are two separate licence questions and the README does not answer the second one.

On maintenance, the repository is not archived, and the last push was on 2026-08-30. The releases list shows skill-v1.1.4 and baocut-v1.1.4-build.51 on the same day, with skill-v1.1.3 three days earlier. That cadence suggests the skill tracks app builds closely, which is good for correctness and bad for pinning: an upgrade of either side can move the CLI under the skill. The practical cost of upgrading is re-reading SKILL.md and the files under references/, since those are the agent's actual instructions and they are per-task guides rather than one document. The repository layout lists references/ for orchestration, editing and export, but the README does not enumerate every file, so budget time to read the directory rather than assuming the entry point tells the whole story.

Editorial conclusion

Adopt this if you edit video on macOS, already run BaoCut, and want an agent to call the bcut CLI instead of clicking through a timeline. Skip it if you are on Linux, if you have no BaoCut install, or if you want a headless pipeline that never touches a desktop app. Before trusting it, run the resolver once with --json and confirm which binary it selected, then check SKILL.md and references/ against the CLI version you actually have, because the skill pins its own standalone CLI in cli-release.json and that pin may not match your app build.

Frequently asked questions

What is JimLiu/baocut?

It is an open-source Agent Skill that drives the BaoCut macOS app's local bcut CLI from Claude Code, Codex and other skills.sh-compatible agents. It covers transcription, subtitles, translation, speaker review, timeline and overlay editing, and export.

How do I install the baocut skill?

The README recommends the skills.sh command npx skills add JimLiu/baocut -g -a claude-code codex -y, which installs globally to ~/.agents/skills/baocut. A manual path without Node.js clones the repository and symlinks skills/baocut into each agent's skills directory.

Does the baocut skill work on Windows or Linux?

The README documents macOS as the primary platform and a Windows x64 path where the resolver installs a verified unsigned-preview CLI, selecting a bundled CUDA 13 build for an NVIDIA GPU with compute capability 8.0+ and driver 580+, otherwise a CPU build. No Linux path is described.

Official sources

  1. JimLiu/baocut on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes