chatcut-media-guide

Installation
SKILL.md

ChatCut Media Guide

Check browse_assets first when a file may already be imported.

Same-machine editor import

  1. Confirm the user selected the file for import. Open the target project using browserHandoff.url or editorUrl, and keep exactly one editor tab for it open on the same machine/network namespace as the local shell. A remote sandbox's localhost is not the user's localhost.
  2. Start the bundled loopback server with Node 18+ and the origin of the actual editor URL:
node <this-skill-dir>/scripts/serve-local-media.mjs --origin <editor-origin> /path/to/source.mp4

Keep it alive using the host's background-process support while calling MCP. It serves only the listed files over tokenized 127.0.0.1 URLs and exits after 900 seconds.

  1. Import multiple files in one import_media call: {"action":"from_editor","files":[...]}. Copy each file's assetId, url, filename, and sizeBytes from the printed imports array into files, omitting its per-file action. URLs may come from different running helpers. Send 1–16 files per call; for larger sets, submit successive batches of 16. Up to eight files are processed concurrently; the editor streams each one straight into its local store, so a card with transfer progress appears as soon as the download starts. The original top-level single-file arguments still work.
  2. Inspect every entry in results: successful entries have ok:true and status:"locally_imported"; failed entries have an error. Results preserve input order and include assetId and filename, with top-level succeeded/failed counts. Retry only failed files with the same asset IDs. Keep the helpers alive until all files succeed, and keep the editor open for server sync, background upload, and transcription.
  3. Verify the asset with browse_assets before placing it on the timeline. Wait on track_progress target:"transcription" before transcript or caption work. Do not wait for upload unless the next operation explicitly requires cloud bytes.
Installs
2
GitHub Stars
949
First Seen
Sep 20, 2026