Known Errors
SkillDev toolsUse when a OpenChatCut tool call fails or returns an unexpected shape.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Known Errors skill
What this skill tells your AI
The instructions your AI receives, as published by 0xsline/openchatcut in src/agent/skills/known-errors/SKILL.md and read by ahel’s review.
edit_item update raw shape:
- Wrong:
{ "id": "abc", "fromFrame": 30 } - Right:
{ "json": "{\"updates\":[{\"id\":\"abc\",\"fromFrame\":30}]}" } - Use this same
updatesshape for common moves, trims, and track changes.
edit_item add raw shape:
- The new item goes inside the
addsarray of thejsontransaction:{ "json": "{\"adds\":[{...}]}" }. - Use
edit_itemfor simple video placement, for example{ "json": "{\"adds\":[{\"type\":\"video\",\"assetId\":\"...\",\"fromFrame\":0}]}" }.
Timeline overlap:
- Error text:
Overlap: updated item at ... would overlap existing item at ... on this track. - Do not force the write or delete the conflicting item silently.
- Retry the
edit_itemtransaction with an explicit availabletrackId, for example an update containing"trackId":"V2", or ask the user which layer should win.
Workspace path restrictions:
push_asseton the external MCP only accepts public http(s) URLs asfilePath. It rejects local paths, workspace paths, and chat attachment paths.- For motion-graphic assets, pass the JSX source via
create_motion_graphic_from_code({ code:"...", name, width, height, durationInFrames }).push_assetno longer accepts an inlinecodeargument. - Copying local media into the workspace is not the fix for video/audio/image/GIF imports; use
asset-importandimport_mediainstead. - Use
import_media action=create_session, then run the OpenChatCut media import helper once with the returned token for client-held files.
Browser video conversion failure:
- Error text often includes
Unable to convert video without dropping audio/video tracksorunknown_source_codec. - Rerun the OpenChatCut media import helper; it owns frontend-aligned conversion and will surface a user-actionable error if conversion is impossible.
- Do not ask the user to re-import the same file through the editor UI as a workaround — the conversion path is the same, the error will repeat. Fix the source (re-encode locally with
ffmpeg) or pick a different file. - After the replacement asset is uploaded/transcribed, delete the failed original asset if it is unused. The clean final media pool should look like a successful import, not a failed import plus a replacement.
Motion Graphic requirements:
push_asset(type:"motion-graphic")requireswidth,height, anddurationordurationInFrames.- MG code must pass the OpenChatCut validator.
- Root
AbsoluteFillis not valid for generated MG code; use a scaling rootdiv. - Avoid declaring a top-level local named
scaleinside MG code. The validator/runtime may already reserve that identifier; use a specific name such asuiScale.
Local dev Zero caveat:
- When backend runs on a non-default port, use a matching Zero view-syncer configuration.
- In this POC, backend
3010, editor5177, and view-syncer4850are intentionally isolated from the older3000/5173/4848stack.
Timeline frame renderer caveat:
- If
view_timeline_framesfails for one frame, the project write path can still be healthy — retry with fewer frames or a different time before concluding anything. - Assets still on
blob:placeholders (upload in flight) render as empty; wait fortrack_progresstarget=upload before treating a blank frame as a bug. - Do not report visual proof success unless the tool returns image content that visibly confirms the target frame.
Signals
- GitHub stars
- 2k
- Forks
- 265
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
known-errors- Source
- github.com/0xsline/openchatcut