Vertical Video Editor

Net new video editor

by ericosiu · MIT license · ★ 3,615 on GitHub

Net new video editor cover

Turn newly recorded talking-head footage into review-ready vertical video drafts with an explicit edit plan, deterministic FFmpeg rendering, captions, hook cards, audio normalization, and visual QA. Use for original Instagram Reels,…

---
name: net-new-video-editor
description: Turn newly recorded talking-head footage into review-ready vertical video drafts with an explicit edit plan, deterministic FFmpeg rendering, captions, hook cards, audio normalization, and visual QA. Use for original Instagram Reels, TikTok videos, YouTube Shorts, LinkedIn videos, founder-led recordings, multiple takes of a new script or idea card, or requests to automate the first video-editing pass. Do not use to mine clips from long-form source videos.
---

# Net-New Video Editor

Create a reversible first edit from fresh recordings. Keep creative decisions in JSON and pixel operations in the bundled renderer.

## Preamble

Run from the repository root when the optional shared telemetry helpers are present:

```bash
python3 telemetry/version_check.py 2>/dev/null || true
python3 telemetry/telemetry_init.py 2>/dev/null || true
```

Overview

Create a reversible first edit from fresh recordings. Keep creative decisions in JSON and pixel operations in the bundled renderer.

Manual install (npx, ZIP)
Claude Codenpx skills add ericosiu/ai-marketing-skills --skill net-new-video-editor -g -a claude-code
Claude Code (degit)npx degit ericosiu/ai-marketing-skills/net-new-video-editor#main ~/.claude/skills/net-new-video-editor
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.3 KB
Read SKILL.md here
ericosiu/main1 file shown
SKILL.md
Show the full text99 lines

Net-New Video Editor

Create a reversible first edit from fresh recordings. Keep creative decisions in JSON and pixel operations in the bundled renderer.

Preamble

Run from the repository root when the optional shared telemetry helpers are present:

python3 telemetry/version_check.py 2>/dev/null || true
python3 telemetry/telemetry_init.py 2>/dev/null || true

Remote telemetry is opt-in and never includes content, file paths, repository names, or credentials.

Establish the package

Read references/project-contract.md. Locate the exact source recordings, transcript, idea card or brief, proof assets, and screen recordings. Never substitute another recording, brand, account, or asset library.

Initialize a new project only when the destination is clear:

python3 scripts/net_new_video_editor.py init --project <project-dir>

Copy or point only user-authorized inputs into the generated package. Preserve originals.

Inspect before editing

Run:

python3 scripts/net_new_video_editor.py inspect --project <project-dir>

Review intake-report.json. Stop when the package has no playable take, the requested target does not match the supplied footage, or required external assets are missing.

Build the edit plan

Use the transcript and brief to create edit-plan-clean.json. Treat the spoken hook and claim boundaries as ground truth.

  • Select one source take explicitly.
  • Keep segment order intentional and timestamps within the source duration.
  • Remove clear false starts, long dead space, and isolated filler only when the cut remains natural.
  • Preserve breaths that help meaning.
  • Put the hook on screen for at most five seconds.
  • Use captions in short readable phrases.
  • Add proof or screen inserts only when supplied and relevant. The bundled renderer handles the base assembly; add complex overlays in a separate, documented pass.
  • Normalize speech without clipping.

For a second version, copy the plan to edit-plan-aggressive.json and make only named retention edits. Do not silently change factual claims.

Validate each plan:

python3 scripts/net_new_video_editor.py validate --project <project-dir> --plan <plan.json>

Render deterministically

Run the renderer from this skill directory:

python3 scripts/net_new_video_editor.py render \
  --project <project-dir> \
  --plan <plan.json>

The renderer trims paired audio and video, concatenates the selected segments, creates a center-safe 9:16 frame, rasterizes captions and the hook card with Pillow, composites them with FFmpeg, normalizes audio, writes H.264/AAC MP4, and creates three QA frames plus qa-report.json.

Use --dry-run to inspect the FFmpeg command. Use --force only when replacing the exact derived export is intended.

Review the output

Inspect the exported MP4, all three QA frames, qa-report.json, and the plan diff between variants. Verify:

  • audio and mouth movement stay synchronized after every cut;
  • no word starts or ends abruptly;
  • captions match the speech and stay inside safe margins;
  • the crop keeps the speaker visible;
  • the hook is legible and repaid by the video;
  • loudness is consistent and peaks do not distort;
  • every proof insert and numerical claim has a supplied source;
  • the export is 1080x1920 H.264/AAC unless the brief requires another format.

Return the plan, export paths, QA evidence, and any required pickups. Never publish, upload, delete originals, or overwrite an approved master without current explicit approval.

Completion states

  • DONE: both render and QA pass, and the review artifacts exist.
  • DONE_WITH_CONCERNS: the draft is usable but a named creative or source concern remains.
  • NEEDS_CONTEXT: a take, transcript, brief, or approved asset is missing.
  • BLOCKED: FFmpeg, source access, or format validation prevents a safe render.
1---
2name: net-new-video-editor
3description: Turn newly recorded talking-head footage into review-ready vertical video drafts with an explicit edit plan, deterministic FFmpeg rendering, captions, hook cards, audio normalization, and visual QA. Use for original Instagram Reels, TikTok videos, YouTube Shorts, LinkedIn videos, founder-led recordings, multiple takes of a new script or idea card, or requests to automate the first video-editing pass. Do not use to mine clips from long-form source videos.
4---
5 
6# Net-New Video Editor
7 
8Create a reversible first edit from fresh recordings. Keep creative decisions in JSON and pixel operations in the bundled renderer.
9 
10## Preamble
11 
12Run from the repository root when the optional shared telemetry helpers are present:
13 
14```bash
15python3 telemetry/version_check.py 2>/dev/null || true
16python3 telemetry/telemetry_init.py 2>/dev/null || true
17```
18 
19Remote telemetry is opt-in and never includes content, file paths, repository names, or credentials.
20 
21## Establish the package
22 
23Read `references/project-contract.md`. Locate the exact source recordings, transcript, idea card or brief, proof assets, and screen recordings. Never substitute another recording, brand, account, or asset library.
24 
25Initialize a new project only when the destination is clear:
26 
27```bash
28python3 scripts/net_new_video_editor.py init --project <project-dir>
29```
30 
31Copy or point only user-authorized inputs into the generated package. Preserve originals.
32 
33## Inspect before editing
34 
35Run:
36 
37```bash
38python3 scripts/net_new_video_editor.py inspect --project <project-dir>
39```
40 
41Review `intake-report.json`. Stop when the package has no playable take, the requested target does not match the supplied footage, or required external assets are missing.
42 
43## Build the edit plan
44 
45Use the transcript and brief to create `edit-plan-clean.json`. Treat the spoken hook and claim boundaries as ground truth.
46 
47- Select one source take explicitly.
48- Keep segment order intentional and timestamps within the source duration.
49- Remove clear false starts, long dead space, and isolated filler only when the cut remains natural.
50- Preserve breaths that help meaning.
51- Put the hook on screen for at most five seconds.
52- Use captions in short readable phrases.
53- Add proof or screen inserts only when supplied and relevant. The bundled renderer handles the base assembly; add complex overlays in a separate, documented pass.
54- Normalize speech without clipping.
55 
56For a second version, copy the plan to `edit-plan-aggressive.json` and make only named retention edits. Do not silently change factual claims.
57 
58Validate each plan:
59 
60```bash
61python3 scripts/net_new_video_editor.py validate --project <project-dir> --plan <plan.json>
62```
63 
64## Render deterministically
65 
66Run the renderer from this skill directory:
67 
68```bash
69python3 scripts/net_new_video_editor.py render \
70 --project <project-dir> \
71 --plan <plan.json>
72```
73 
74The renderer trims paired audio and video, concatenates the selected segments, creates a center-safe 9:16 frame, rasterizes captions and the hook card with Pillow, composites them with FFmpeg, normalizes audio, writes H.264/AAC MP4, and creates three QA frames plus `qa-report.json`.
75 
76Use `--dry-run` to inspect the FFmpeg command. Use `--force` only when replacing the exact derived export is intended.
77 
78## Review the output
79 
80Inspect the exported MP4, all three QA frames, `qa-report.json`, and the plan diff between variants. Verify:
81 
82- audio and mouth movement stay synchronized after every cut;
83- no word starts or ends abruptly;
84- captions match the speech and stay inside safe margins;
85- the crop keeps the speaker visible;
86- the hook is legible and repaid by the video;
87- loudness is consistent and peaks do not distort;
88- every proof insert and numerical claim has a supplied source;
89- the export is 1080x1920 H.264/AAC unless the brief requires another format.
90 
91Return the plan, export paths, QA evidence, and any required pickups. Never publish, upload, delete originals, or overwrite an approved master without current explicit approval.
92 
93## Completion states
94 
95- `DONE`: both render and QA pass, and the review artifacts exist.
96- `DONE_WITH_CONCERNS`: the draft is usable but a named creative or source concern remains.
97- `NEEDS_CONTEXT`: a take, transcript, brief, or approved asset is missing.
98- `BLOCKED`: FFmpeg, source access, or format validation prevents a safe render.
99 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 3,615
Checked
Source
ericosiu/ai-marketing-skills ↗
Creator
ericosiu · 34 listings
View creator

Similar skills

See all →
SkillB-Roll Video Overlaynovoads/agent-skills · by novoadsOverlays silent b-roll cutaway clips onto a finished base video — the base audio keeps running underneath while the picture cuts away and returns, and the final duration always equals the base duration. Use when the user asks to add b-roll, add cutaways, or overlay clips on a video: "add b-roll to this", cut away to a product shot here", "overlay these clips on my UGC ad". Entered from an approved base video plus its transcript, which comes from POST /v1/transcripts and needs no local install; it never generates the base itself and it never extends a video.★ 23 GitHub starsSkillHiggsfield Social Hookspixelab-ch/higgsfield-skills · by pixelab-chCrafts viral social media hook video prompts for TikTok, Instagram Reels, and YouTube Shorts via Higgsfield. Routes to kling3_0 (primary) or grok_video (fallback). Use when the user wants scroll-stopping hooks, viral short-form video, attention-grabbing openers, TikTok content, Reels content, Shorts content, or any social-media-optimized video.★ 6 GitHub starsSkillGab Video Editorgabrielxreis/ogab · by gabrielxreisGab, o editor de vídeo com IA (comando /ogab). Skill PRINCIPAL para qualquer trabalho de vídeo: criar um vídeo novo (Reels, YouTube Shorts/longo, Meta Ads, anúncio, institucional, vídeo de cliente) OU editar um vídeo/projeto/timeline no DaVinci Resolve (cortar, montar, legendar, colocar música, takes, lettering, motions, cor, áudio, exportar). Leva do roteiro até a timeline pronta no DaVinci: roteiro para aprovação, voz por IA, música, efeitos sonoros, takes de banco ou gerados, lettering animado, motions e gráficos com HyperFrames, legenda com métrica e conferência automática. Use SEMPRE que o usuário pedir para criar/fazer/editar um vídeo, mexer no DaVinci, reels, anúncio, pauta ou roteiro, mesmo sem citar a skill; as outras skills de vídeo (hyperframes, motion-graphics etc.) entram como ferramentas DENTRO deste fluxo. Comando: /ogab <pedido> ou /ogab <subcomando> (ajuda, config, update, pauta, cliente). Também cuida do Instagram: legenda do post, carrossel pronto em imagem (PNG/PDF na marca do cliente), gancho de Reel viral, hashtags, tirar cara de IA do texto, semana de conteúdo, perfil e dados do nicho.★ 1 GitHub starsSkillAI Video Clipping ToolSamurAIGPT/Generative-Media-Skills · by SamurAIGPTTurn a long video into N viral-ready short clips with a single managed API call. Wraps muapi.ai's `/ai-clipping` endpoint, which handles transcription, highlight ranking through a virality framework (hook / emotional peak / opinion bomb / revelation / conflict / quotable / story peak / practical value), overlap dedupe, and vertical face-tracking auto-crop server-side. No local Whisper, no local LLM, no GPU.★ 4.3k GitHub starsSkillYouTube Shorts GeneratorSamurAIGPT/Generative-Media-Skills · by SamurAIGPTAuto-generate viral 9:16 YouTube Shorts (or TikTok / Reels clips) from a long-form video. Thin platform-aware wrapper around the AI Clipping skill — picks sensible defaults for short-form social platforms (9:16, 30–60s sweet spot) and delegates the actual highlight extraction + crop to muapi.ai's `/ai-clipping` endpoint.★ 4.3k GitHub starsSkillShort Form Video Pipelineericosiu/ai-marketing-skills · by ericosiupython3 telemetry/versioncheck.py 2>/dev/null || true★ 3.6k GitHub stars

More from ericosiu

SkillVideo Moment Extraction Agentericosiu/ai-marketing-skills · by ericosiuUse when an agent must extract moments, quotes, objections, hooks, or evidence from long video or audio cheaper than full-frame ingest — sales calls, podcasts, YouTube episodes, Loom trials, discovery recordings. Goal-directed watch via Gemini agentic video understanding (frames, audio, or transcript). Not for cutting, overlays, rendering, scheduling, or publishing.★ 3.6k GitHub starsSkillConversion Operationsericosiu/ai-marketing-skills · by ericosiupython3 telemetry/versioncheck.py 2>/dev/null || true★ 3.6k GitHub starsSkillFinance Operationsericosiu/ai-marketing-skills · by ericosiuAI-powered financial analysis suite. Generates executive CFO briefings from QuickBooks exports (P&L, Balance Sheet, General Ledger, Cash Flow, etc.) with anomaly detection, burn rate, runway analysis, and scenario modeling. Also estimates codebase development costs with organizational overhead and AI ROI analysis. Triggers on: 'CFO briefing', 'financial analysis', 'cost briefing', 'expense review', 'runway analysis', 'burn rate', 'cost estimate', 'how much would this cost to build', 'development cost', 'Claude ROI'.★ 3.6k GitHub starsSkillRevenue Intelligence Dashboardericosiu/ai-marketing-skills · by ericosiupython3 telemetry/versioncheck.py 2>/dev/null || true★ 3.6k GitHub starsSkillSales Pipeline Managerericosiu/ai-marketing-skills · by ericosiupython3 telemetry/versioncheck.py 2>/dev/null || true★ 3.6k GitHub starsSkillValue-Based Sales Playbookericosiu/ai-marketing-skills · by ericosiupython3 telemetry/versioncheck.py 2>/dev/null || true★ 3.6k GitHub stars