Install
$ agentstack add skill-godot-fun-godot-framework-video-merge ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Video Merge
Concatenate every video in a folder (filename sort) into one high-quality MP4. Between each pair, pick a random FFmpeg xfade transition (0.5s). Audio uses matching acrossfade.
Duration is preserved: each cut freeze-pads the outgoing clip by 0.5s (last frame + silence) before the overlap, so output length equals the sum of source clip durations (not shortened by transitions).
Rules
When this skill applies, read and follow [skill-dependency-manager](../../rules/skill-dependency-manager.md) — run scripts as documented, install missing tools into .dependency/.
Quick Start
.dependency/python/python .cursor/skills/video-merge/scripts/merge.py path/to/clips
Example:
assets/shots/
01.mp4
02.mp4
03.mp4
→ assets/shots/merged/shots.mp4
Output Spec (fixed)
| Setting | Value | |---------|-------| | Resolution | 3840×2160 (scale + letterbox pad) | | Frame rate | 60 fps | | Video | H.265 Main10 (libx265, yuv420p10le) @ 40 Mbps | | Audio | AAC 320 kbps, 48 kHz stereo | | Transition | 0.5 s, random from the pool below (freeze-pad; duration preserved) | | Container | .mp4 (hvc1 tag) |
Transition Pool (random per cut)
fade · dissolve · wipeleft · wiperight · wipeup · wipedown · slideleft · slideright · circlecrop · pixelize · distance · radial · smoothleft · smoothright · circleopen · circleclose · diagtl · diagtr · hblur · zoomin
Each cut independently samples one transition. Printed in the run log.
Common Flags
-o / --output · --overwrite · --dry-run · --seed
.dependency/python/python .cursor/skills/video-merge/scripts/merge.py clips --seed 42
.dependency/python/python .cursor/skills/video-merge/scripts/merge.py clips -o out/final.mp4 --overwrite
Never overwrite source files. Default output: /merged/.mp4. Only top-level videos in the folder (no recurse). Supported: .mp4, .mkv, .mov, .avi, .webm, .wmv, .flv, .m4v, .mpeg, .mpg, .ts, .mts, .m2ts, .3gp, .ogv, .ogg.
Agent Notes
- Use the bundled script — do not hand-write
ffmpegxfade chains. - Transition duration is fixed at 0.5s — no duration override flag.
- Every clip except the first must be longer than 0.5s (incoming side of
xfade). - Single file in the folder → re-encode to the output spec with no transition.
- Many clips (4K10) auto-chunk (max 4 inputs per filtergraph) to avoid OOM; transitions stay correct across chunk boundaries.
- Missing Python/FFmpeg → populate
.dependency/per skill-dependency-manager, retry. - FFmpeg filter details: [reference.md](reference.md)
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: godot-fun
- Source: godot-fun/godot-framework
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.