composition/SKILL.md
Create video compositions with Editframe using HTML web components or React. Supports video, audio, images, text, captions, transitions, and cloud rendering.
npx skillsauth add editframe/skills compositionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Build video scenes with HTML web components (<ef-timegroup>, <ef-video>, etc.) or React (<Timegroup>, <Video>, etc.). Same composition model, same rendering pipeline — pick the syntax that fits your project.
Web component attributes use kebab-case (sourcein, auto-init). React props use camelCase (sourceIn, autoInit). Each element reference documents both.
<ef-configuration api-host="..." media-engine="local">
<ef-timegroup mode="sequence">
<ef-timegroup mode="fixed" duration="5s" class="absolute w-full h-full">
<ef-video src="intro.mp4" class="size-full object-cover"></ef-video>
<ef-text class="absolute top-8 text-white text-3xl">Title</ef-text>
</ef-timegroup>
<ef-timegroup mode="fixed" duration="5s" class="absolute w-full h-full">
<ef-video src="main.mp4" sourcein="10s" sourceout="15s" class="size-full"></ef-video>
<ef-audio src="music.mp3" volume="0.3"></ef-audio>
</ef-timegroup>
</ef-timegroup>
</ef-configuration>
import { Timegroup, Video, Text, Audio } from "@editframe/react";
export const MyVideo = () => (
<Timegroup mode="sequence" className="w-[1920px] h-[1080px]">
<Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
<Video src="intro.mp4" className="size-full object-cover" />
<Text className="absolute top-8 text-white text-3xl">Title</Text>
</Timegroup>
<Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
<Video src="main.mp4" sourceIn="10s" sourceOut="15s" className="size-full" />
<Audio src="music.mp3" volume={0.3} />
</Timegroup>
</Timegroup>
);
React requires a TimelineRoot wrapper — see references/timeline-root.md.
5s (seconds) | 1000ms (milliseconds) | 2m (minutes)
Create a project: npm create @editframe (see the editframe-create skill)
See the editframe-cli skill for CLI rendering.
Elements use standard CSS/Tailwind. Position with absolute, size with w-full h-full or size-full.
development
Webhook notifications for render completion and file processing events. Configure endpoints, verify HMAC signatures, and handle real-time status payloads.
tools
Vite integration for Editframe development with local video transcoding, asset serving, file API endpoints, and visual regression testing.
development
Build video editing interfaces with Editframe's GUI components. Assemble timeline, scrubber, filmstrip, preview, playback controls, and transform handles.
tools
Scaffold new Editframe video projects from templates. Generates project structure, installs dependencies, and sets up composition tooling to start immediately.