c-video-edit — скилл для Claude Code: создание видео
Скилл помогает создавать и собирать видео из кода с помощью Remotion и Editly. Пригодится для анимированных роликов, заставок и слайд-шоу.
npx skills add daxaur/openpaw --skill c-video-edit -a claude-codeЧто делает c-video-edit
Remotion описывает видео как React-композиции: можно задать кадры, последовательности и анимацию, а затем отрендерить ролик или отдельный кадр. Editly собирает монтаж по JSON-спецификации или из клипов в командной строке; поддерживает титры, изображения, переходы и аудио.
Для обоих инструментов нужен ffmpeg; скилл устанавливает его автоматически. Рендер Remotion может сильно нагружать CPU на длинных композициях, а вывод перед запуском нужно проверить, чтобы не перезаписать файл. Для чернового просмотра Editly предлагает флаг --fast.
Какие задачи решает
- отрендерить React-композицию в MP4
- собрать клипы и титры по JSON-спецификации
- добавить фоновую музыку к монтажу
- сохранить отдельный кадр как миниатюру
Примеры запросов агенту
- Создай анимированный ролик на Remotion из этой React-композиции и сохрани его в
out/video.mp4. - Собери
clip1.movиclip2.movс титрами в начале и конце через Editly. - Отрендери кадр
30изMyCompositionвout/thumbnail.png.
Как установить c-video-edit
1Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-video-edit -a claude-code2Вручную: положить файлы
~/.claude/skills/c-video-edit/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/c-video-edit/
1Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-video-edit -a codex2Вручную: положить файлы
.agents/skills/c-video-edit/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-video-edit -a cursor2Вручную: положить файлы
.cursor/skills/c-video-edit/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install daxaur/openpaw c-video-edit2Вручную: положить файлы
.github/skills/c-video-edit/SKILL.md1Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-video-edit -a gemini-cli2Командой платформы
gemini skills install https://github.com/daxaur/openpaw --path skills/c-video-editВручную: положить файлы
.devin/skills/c-video-edit/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-video-edit -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о c-video-edit
Как установить c-video-edit в Claude Code?
Выполните npx skills add daxaur/openpaw --skill c-video-edit -a claude-code. Файл скилла находится по пути ~/.claude/skills/c-video-edit/SKILL.md.
Что делает c-video-edit?
Скилл помогает создавать и рендерить видео через Remotion, а также собирать монтаж через Editly. Для Remotion используются React-композиции, для Editly — JSON-спецификация или аргументы командной строки.
Нужен ли ffmpeg для c-video-edit?
Да, оба инструмента требуют ffmpeg; скилл устанавливает его автоматически.
Исходный текст
SKILL.md · MIT
---
name: c-video-edit
description: Programmatic video creation using Remotion (React-based) and Editly (JSON-based declarative). Create, render, and compose videos from code.
tags: [video, editing, remotion, editly, react, rendering, creative]
---
# Video Editing — Remotion & Editly
Create, render, and compose videos programmatically. Use Remotion for React-based dynamic videos or Editly for quick JSON-based assembly.
## Remotion (React-based video creation)
### Project Setup
```bash
# Create a new Remotion project
npx create-video@latest my-video
cd my-video
# Start interactive studio
npx remotion studio
```
### Rendering
```bash
# Render a composition to video
npx remotion render src/index.ts MyComposition out/video.mp4
# Render a still frame (thumbnail)
npx remotion still src/index.ts MyComposition out/thumbnail.png --frame=30
# List available compositions
npx remotion compositions src/index.ts
```
### Render Options
```bash
# Resolution and FPS
npx remotion render src/index.ts MyComp out.mp4 --width 1920 --height 1080 --fps 30
# Codec (h264, h265, vp8, vp9, prores)
npx remotion render src/index.ts MyComp out.mp4 --codec h264
# Quality (CRF 0-51, lower = better)
npx remotion render src/index.ts MyComp out.mp4 --crf 18
# Speed preset
npx remotion render src/index.ts MyComp out.mp4 --x264-preset fast
# Pass data as props
npx remotion render src/index.ts MyComp out.mp4 --props='{"title":"Hello","color":"blue"}'
# Parallel rendering (faster)
npx remotion render src/index.ts MyComp out.mp4 --concurrency 4
# Benchmark render time
npx remotion benchmark src/index.ts MyComp
```
### Composition Structure
```tsx
// src/Root.tsx — register compositions
import { Composition } from "remotion";
import { MyVideo } from "./MyVideo";
export const RemotionRoot = () => (
<Composition id="MyVideo" component={MyVideo}
durationInFrames={150} fps={30} width={1920} height={1080} />
);
// src/MyVideo.tsx — video content
import { useCurrentFrame, interpolate, AbsoluteFill, Sequence } from "remotion";
export const MyVideo = () => {
const frame = useCurrentFrame();
const opacity = interpolate(frame, [0, 30], [0, 1]);
return (
<AbsoluteFill style={{ backgroundColor: "black" }}>
<Sequence from={0} durationInFrames={60}>
<h1 style={{ color: "white", opacity }}>Hello World</h1>
</Sequence>
</AbsoluteFill>
);
};
```
## Editly (JSON-based declarative editing)
### Quick Assembly
```bash
# Simple concatenation with titles
editly title:'Intro' clip1.mov clip2.mov title:'THE END' --out output.mp4
# From JSON spec
editly spec.json5 --fast --out output.mp4
# Add background music
editly spec.json5 --audio-file-path music.mp3 --out output.mp4
```
### JSON Spec Format
```json
{
"width": 1920,
"height": 1080,
"fps": 30,
"outPath": "output.mp4",
"defaults": {
"duration": 4,
"transition": { "name": "fade", "duration": 0.5 }
},
"clips": [
{
"duration": 3,
"layers": [{ "type": "title-background", "text": "My Video", "background": { "type": "linear-gradient" } }]
},
{
"layers": [{ "type": "video", "path": "clip1.mp4", "cutFrom": 0, "cutTo": 10 }]
},
{
"layers": [
{ "type": "image", "path": "photo.jpg" },
{ "type": "title", "text": "Caption", "position": "bottom" }
]
}
],
"audioFilePath": "background.mp3",
"keepSourceAudio": false
}
```
### Layer Types
- `video` — video clip (cutFrom/cutTo for trimming)
- `audio` — audio track
- `image` — static image
- `title-background` — full-screen title card with background
- `title` — text overlay
- `subtitle` — subtitle text
- `gl` — WebGL shader transition/effect
## Guidelines
- **Remotion** — best for complex, data-driven, animated videos (dashboards, branded content, social media)
- **Editly** — best for quick assembly (concatenation, transitions, title cards, slideshows)
- Both require `ffmpeg` (installed automatically with this skill)
- Remotion renders can be CPU-intensive — warn user about duration for long compositions
- Always confirm output path before rendering to avoid overwriting
- Use `--fast` flag with Editly for quick previews before final render
© daxaur · MIT · daxaur/openpaw