AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Longform To Shorts

skill-nidhi-singh02-skills-longform-to-shorts · by nidhi-singh02

>

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-nidhi-singh02-skills-longform-to-shorts

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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 Used
  • 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-nidhi-singh02-skills-longform-to-shorts)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of Longform To Shorts? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

longform-to-shorts

Turn one finished long-form video into several standalone vertical Shorts, then write their metadata. Each Short must stand fully alone (no "first/next", no cross-reference), open on a clean full sentence, end clean, and look native to Reels: face zoomed, screen zoomed + scrolling, burned subtitles, a hook, a whoosh, a small speed-up.

This was distilled from a long real edit. The exact ffmpeg commands, the two-phase build, and the gotchas that each cost hours live in references/ffmpeg-recipes.md — read it before building any clip. The phases below are the plan and the judgment calls.

Setup

Source = one finished .mp4 (talking-head + screen-share, ~1080p). Needs ffmpeg/ffprobe and a transcription skill that can return word-level timings (this pairs with the watch/claude-video skill + a Groq/OpenAI Whisper key in ~/.config/watch/.env; line-level transcripts are too coarse to cut cleanly). Provide a short whoosh sound effect for transitions. Work in a shorts/ folder next to the video; keep _ref/ for frames + words.json.

The pipeline

1. Transcribe twice. Full clean transcript for reading/segmenting; word-level JSON for exact cut points. Commands in the reference.

2. Segment + trim (editorial). One Short per topic; target ~30–45s (pre-speedup; see Configuration). Every Short is standalone — cut all sequencing ("first/next", "moving on", "second one") and cross-references. Never open on a dangling connective ("but/so/and/that/okay"); start on a clean full sentence (an earlier sentence start often reads best). End on a complete sentence without clipping the last word. Mid-cuts to drop a redundant clause are fine — pick boundaries with a real gap, else remove the whole clause rather than leave a leftover fragment.

3. Face vs screen. Sample frames (~every 8s) to map talking-head vs screen-share spans. The critical rule: switch to the screen crop only when the screen content actually appears, not when the speaker starts mentioning it — otherwise you crop an empty room for a few seconds while they lean to bring the window up. Confirm the real appearance time with 2s-interval frames at the boundary.

4. Reframe to fill 1080x1920. Face → center-crop on the face. Screen → zoom + slow vertical scroll (a static screen under voiceover looks dead). Screen-only (no face) → split-screen: screen scroll + a full-face PIP bubble. Transition dead-zone → freeze the first clean target frame over the audio. Filters in the reference.

5. Captions. Top hook (short, viewer-workflow tension). Burned subtitles: generate an SRT with scripts/gen_subs.py (maps word timings onto the edited timeline incl. gaps), then HAND-REVIEW and correct every SRT — raw Whisper drops words, mis-hears names, and duplicates; it is not postable. Chunk into natural phrases. Burn recipe in the reference.

6. Polish. Whoosh SFX at each face→screen transition; a small speed-up with pitch preserved (as a final pass so subtitles stay synced); fade in/out.

7. Verify before saying done (non-negotiable). Re-transcribe each Short: clean opening, clean end, no sequencing words, mid-cuts read naturally. Sample frames: face in-frame everywhere (no empty chair), subtitles positioned + readable, screen scrolls, no leftover tag. Confirm the sped audio is intelligible.

8. Per-Short metadata. For each Short: 3–4 tension/curiosity title options (Title Case, no emoji, no overclaim — don't credit a tool with a capability it doesn't have), a YouTube description that complements the clip (never restates the spoken lines) + link + hashtags + #Shorts, and a platform caption in the creator's voice. Write to shorts/METADATA.md.

Configuration (opinionated defaults, change to taste)

Baked into the recipes as defaults; edit for your style:

  • Subtitles: color/size/position via force_style (default white, bottom). See the reference.
  • Speed-up: default atempo=1.1 (pitch preserved). Set to 1.0 to disable.
  • Clip length: ~30–45s target.
  • Hook font: default Impact; change the hardcoded fontfile= (macOS path by default — swap for your OS).
  • Whoosh SFX: set the path in the phase-2 command.

Files

  • references/ffmpeg-recipes.md — every ffmpeg command + the gotchas. Read before building.
  • scripts/gen_subs.py — word-timings → per-Short SRT (edit the CLIPS dict; always hand-review output).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.