Install
openclaw skills install roughcut-openclawRun RoughCut headlessly on macOS to generate Final Cut Pro (FCPXML) rough-cut timeline variants from a talking-head video — local-first, no media upload.
openclaw skills install roughcut-openclawThis skill lets an OpenClaw agent run RoughCut locally on a user's Mac to produce RoughCut.xml_variants.zip from a raw video file, without uploading media.
Confirm the video is present on local disk and get an absolute file path (example: /Users/alice/Movies/raw.mp4).
If the file is on Google Drive/iCloud/Dropbox, ensure it is fully downloaded and accessible as a local file path.
Tip: on macOS, you can drag the video file into Terminal to paste its absolute path.
If the user is on a different machine than the OpenClaw Mac, agree on a delivery method:
--video-url (it downloads into output_root/RoughCut.inputs/ automatically).Confirm RoughCut repo is present on the same Mac.
If the user enables fluff removal, ensure GEMINI_API_KEY is set in the environment that will run RoughCut.
If it is not set, ask the user to provide it and explain it is used only for fluff removal.
Use repo_root and output_root from OpenClaw config:
bash "$REPO_ROOT/scripts/openclaw/roughcut.sh" \
--video "$VIDEO_ABS_PATH" \
--out "$OUTPUT_ROOT" \
--remove-bad-takes true \
--remove-fluff false
If the user provides a direct download URL, you can pass it directly (the runner downloads to $OUTPUT_ROOT/RoughCut.inputs/ first):
bash "$REPO_ROOT/scripts/openclaw/roughcut.sh" \
--video-url "$VIDEO_URL" \
--out "$OUTPUT_ROOT" \
--remove-bad-takes true \
--remove-fluff false
If the URL has no filename (common for pre-signed URLs), include --video-name, and optionally --video-sha256:
bash "$REPO_ROOT/scripts/openclaw/roughcut.sh" \
--video-url "$VIDEO_URL" \
--video-name "my_video.mov" \
--video-sha256 "0123456789abcdef..." \
--out "$OUTPUT_ROOT" \
--remove-bad-takes true \
--remove-fluff false
If fluff removal is enabled:
bash "$REPO_ROOT/scripts/openclaw/roughcut.sh" \
--video "$VIDEO_ABS_PATH" \
--out "$OUTPUT_ROOT" \
--remove-bad-takes true \
--remove-fluff true \
--topic "$TOPIC"
The runner prints a single-line JSON result to stdout. On success it includes:
xml_variants_zip: absolute path to RoughCut.xml_variants.zipvideo_path: absolute path to the input video used for processingdownloaded_video_path: present only when --video-url was used (where the video was saved)On failure it will include:
errordebug_zip (a bundle of intermediate outputs)RoughCut.xml_variants.zip.File -> Import -> XML....fcpxml variant.