skills/image-and-video-generation/instagram-reel-editor/SKILL.md
Edits raw travel footage into polished Instagram Reels (9:16, 1080×1920) with cinematic color grading, beat-synced cuts, text overlays, transitions, and background music. Use when the user mentions editing a reel, travel reel, Instagram video, cutting footage, travel clips, reel from footage, or provides folders with destination subfolders and optional shared _music or _fonts.
npx skillsauth add eigent-ai/agent-skills instagram-reel-editorInstall 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.
Transforms raw travel footage folders into cinematic Instagram Reels (9:16 vertical, 1080×1920px). Each destination folder becomes a standalone reel with music, text overlays, and cinematic effects.
Requirements: ffmpeg, Python 3, and moviepy>=2.0. The agent should be able to run shell commands, write files, and present output files to the user.
The user provides a root folder following this structure:
travel-project/
├── bali/ ← destination folder (one reel per folder)
│ ├── clip1.mp4
│ ├── clip2.MOV
│ └── ...
├── tokyo/
│ └── ...
├── _music/ ← shared background music (randomly selected per reel)
│ ├── track1.mp3
│ └── track2.wav
└── _fonts/ ← shared fonts for text overlays
└── Montserrat-Bold.ttf
Rules:
__music/ = shared pool; one track randomly selected per destination_fonts/ = font(s) for text overlays; use first .ttf or .otf found.mp4, .mov, .MOV, .MP4, .avi, .mkv| Property | Value | |---|---| | Resolution | 1080 × 1920 px (9:16 vertical) | | FPS | 30 fps | | Duration | 15–60 seconds (target: 30s) | | Audio | Stereo, 44.1kHz, normalized to -14 LUFS | | Format | H.264 MP4, AAC audio | | Text safe zone | 250px top and bottom margins |
Based on current trends from top travel creators (@muradosmann, @expertvagabond, @thewanderinglens):
Pacing:
Transitions (in order of current popularity):
xfade=fade – clean dissolve (universal)xfade=wipeleft / wiperight – directional wipexfade=slideleft / slideright – motion slidexfade=circlecrop – cinematic circle revealColor Grading Presets (choose by destination mood):
warm_golden – Bali, Morocco, Mexico (warm shadows, lifted highlights)cool_teal – Iceland, Norway, mountains (teal shadows, orange skin)moody_dark – night scenes, jungles (crushed blacks, high contrast)bright_airy – beaches, Europe cities (lifted whites, soft pastels)cinematic – default universal preset (slight S-curve, vignette, mild desaturation)Text Overlay Style:
Audio:
When the user provides a footage folder, follow this sequence:
python3 /path/to/scripts/scan_footage.py --root <project_root>
Outputs a JSON inventory: clip paths, durations, resolutions, has_audio flags.
Infer the mood from the destination folder name:
bali, mexico, marrakech, portugal, italy → warm_goldeniceland, norway, patagonia, alaska, swiss → cool_tealtokyo, ny, berlin, singapore (night/urban) → moody_darksantorini, maldives, amalfi, greece → bright_airycinematic (safe default)Ask the user to confirm or override.
Randomly select one track from _music/. If _music/ is empty or missing, proceed without music and notify the user.
Run the main editor script:
python3 /path/to/scripts/build_reel.py \
--clips-dir <destination_folder> \
--music <selected_track> \
--font <font_path> \
--preset <mood_preset> \
--location-name "<Destination Name>" \
--output <output_path>
Use present_files to deliver the final .mp4 to the user.
Report: duration, clips used, music track, preset applied, any clips skipped.
See scripts/scan_footage.py — scans project root, returns JSON inventory.
See scripts/build_reel.py — main editor: clips → reel pipeline.
Read both scripts fully before executing. They are self-contained and handle all ffmpeg subprocess calls.
| Issue | Action |
|---|---|
| Clip has no video stream | Skip it, log warning |
| Clip is portrait but low-res | Upscale with padding |
| Clip is landscape | Crop to 9:16 (center crop by default) |
| _music/ missing | Build reel silently, note "no music" in report |
| _fonts/ missing | Fall back to ffmpeg built-in font (DejaVu) |
| Clip shorter than 1s | Skip it |
| Total footage under 10s | Warn user, use all clips, extend with slow-mo |
<destination-name>_reel_<YYYYMMDD>.mp4
Example: bali_reel_20250414.mp4
If the root folder contains multiple destination subfolders, ask the user:
"I found [N] destinations: [list]. Should I edit all of them, or start with one?"
Process them sequentially, one reel per destination.
development
Generate web, mobile, and desktop prototypes, slides, dashboards, and editorial layouts from a single prompt using brand-grade design systems. Use when the user wants /web-prototype, /mobile-app, or /dashboard interactive HTML previews exportable to HTML, PDF, PPTX, or MP4 without Figma.
data-ai
Tailor a resume to a job description with ATS keyword optimization, gap analysis, and rewritten bullets — zero fabrication. Use when the user wants /tailor for a single role, /batch for multiple JDs, career pivot reframing, or interview prep questions from a tailored application.
tools
In-house legal workflows for contract review against playbooks, NDA triage with GREEN/YELLOW/RED ratings, compliance briefings, and vendor checks. Use when the user invokes /review-contract, /triage-nda, /legal-risk-assessment, or /vendor-check for organisation-standard legal analysis.
development
Review contracts with clause-by-clause risk scoring, market benchmarks, negotiability ratings, and redline suggestions. Use when the user pastes an NDA, SaaS/MSA, M&A LOI, or payment agreement and wants a Contract Safety Score, CUAD-based risk breakdown, or /review as [position] analysis.