$npx -y skills add MartinDelophy/ai-video-editor --skill edit-timeline-studioCreate, edit, caption, voice, assemble, validate, and export editable video timelines with Timeline Studio. Use for automatic video editing, AI voiceover videos, subtitle generation, image-to-video assembly, short-form video production, deterministic local video rendering, .timel
| 1 | # AI Video Editing with Timeline Studio |
| 2 | |
| 3 | Turn the user's exact editorial request and media into reversible Timeline Studio edits. Keep the editable timeline as the source of truth; never replace it with an opaque one-shot render. |
| 4 | |
| 5 | ## Choose the execution path |
| 6 | |
| 7 | 1. Treat `https://video-editor.ai-creator.top/` as the canonical hosted editor. When the user asks to use the website, provides no repository, or expects Browser Use, proactively open this URL and inspect the live editor before planning the edit. |
| 8 | 2. When this repository is available and the task concerns local development, unpublished changes, or evaluation, start the local editor and use it instead of the hosted release. Read the actual server URL from the process output; never assume port 5173. |
| 9 | 3. Inspect `package.json` for an Agent command script. Do not use `npm run ... --if-present` as capability detection because it can succeed silently. |
| 10 | 4. If the command runner exists, read [references/command-contract.md](references/command-contract.md), inspect the project, build a versioned plan, run the structural validator, and use `project.diff` as the authoritative semantic dry run before `project.run`. |
| 11 | 5. Otherwise, read [references/browser-workflow.md](references/browser-workflow.md) and use the editor UI. Use a concise edit checklist rather than inventing stable IDs, revisions, transactions, or a JSON plan that the UI cannot honor. |
| 12 | 6. Do not claim deterministic or idempotent execution when only UI automation was available. State the limitation and preserve an editable project archive when the UI supports it. |
| 13 | |
| 14 | ## Workflow |
| 15 | |
| 16 | ### 1. Inspect before editing |
| 17 | |
| 18 | - Preserve the user's prompt verbatim as the creative brief. |
| 19 | - Resolve every referenced asset to an explicit path or URL. Never sweep a directory without approval. |
| 20 | - Inspect duration, dimensions, audio presence, and media type. |
| 21 | - Read the current project summary before changing an existing project. |
| 22 | - Ask only when an unresolved choice materially changes the edit, such as the desired output duration or aspect ratio. |
| 23 | |
| 24 | ### 2. Plan at the supported fidelity |
| 25 | |
| 26 | - With the command runner, express edits as declarative operations with stable IDs, seconds, revisions, operation IDs, and preconditions. Run `scripts/validate_edit_plan.mjs <plan.json>` for transport-shape errors, then run `npm run agent -- project.diff <plan.json>` to reject unsupported operations and invalid project-specific edits before applying anything. |
| 27 | - With browser UI only, write a short ordered checklist of visible user intents and expected UI outcomes. Prefer named controls and clip labels; use coordinates only as a last-resort fallback grounded in a current screenshot. |
| 28 | - Keep main Visuals contiguous. Treat captions, stickers, source audio, voiceover, music, and overlays as timed clips. |
| 29 | - Preserve media identity and source-time mapping when moving or trimming clips. |
| 30 | |
| 31 | ### 3. Apply safely |
| 32 | |
| 33 | - Save a project version or export a `.timeline` archive before a destructive batch. |
| 34 | - Apply one transaction per user-visible intent. Fail the whole transaction when a precondition fails. |
| 35 | - Never silently substitute missing media, voices, models, fonts, or effects. |
| 36 | - Keep every result undoable and editable in the normal UI. |
| 37 | - Do not start a paid or remote generation job without a clear user request. |
| 38 | - Do not put `output.render` in a command plan or claim that `project.run` renders video. Use the separate versioned `project.render` request for its documented portable subset, and use the browser editor for AI generation or unsupported composition features. |
| 39 | |
| 40 | ### 4. Verify the result |
| 41 | |
| 42 | - Re-read the timeline summary and compare it with the requested duration, ordering, track placement, and enabled states. |
| 43 | - Preview the opening, every cut or transition, caption boundaries, overlays, and the final frame. |
| 44 | - Check audible behavior, not just visible tracks. Distinguish embedded video audio from explicitly separated source-audio clips and verify mute/link state. |
| 45 | - For final export, verify container, dimensions, duration, decoded frames, visible overlays/captions, and a real audio track. |
| 46 | - Return the editable project path and final render path when created. |
| 47 | |
| 48 | ## Interpret underspecified requests conservatively |
| 49 | |
| 50 | - For “try it,” “open it,” or “let me edit” requests without an editorial brief, start the editor, import only the explicitly named assets, verify automatic placement, and hand off the live editable workspace. |
| 51 | - Do not invent trims, captions, aspect-ratio changes, AI generation, or exports. |
| 52 | - Treat persistent onboarding completion, model do |