New to Claude Skills? Learn how to install them →

samuraigpt on GitHub

YouTube Shorts Generator

Free

Create engaging vertical clips from long videos.

Get this skill

Free · Opens the source repo

What YouTube Shorts Generator does

The YouTube Shorts Generator skill automates the process of creating short, engaging video clips from longer videos, specifically optimized for platforms like YouTube Shorts, TikTok, and Instagram Reels. By leveraging the capabilities of the muapi.ai's AI Clipping endpoint, this skill provides a streamlined solution for users looking to repurpose their long-form content into bite-sized clips that are tailored for social media consumption. The skill intelligently selects the right aspect ratio and clip count based on the chosen platform, ensuring that the output meets the specific requirements for each social media format.

To use the skill, simply provide a source video URL, and it will handle the rest. It transcribes the audio, ranks highlights based on a virality framework, deduplicates overlapping candidates, and performs face-tracked auto-cropping to create visually appealing clips. The generated clips come with a score, a hook sentence, and a brief explanation of why each clip is likely to be engaging, providing valuable insights for content creators.

This skill is particularly useful for marketers, content creators, and social media managers who want to efficiently produce high-quality short-form videos without the need for extensive video editing knowledge or tools. By automating the clipping process, users can save time and focus on other aspects of their content strategy while still producing engaging material for their audience.

However, users should be aware that this skill is best used for generating clips for specific platforms. If you require fine-grained control over the clipping parameters or wish to integrate with a custom renderer, the underlying AI Clipping primitive may be more suitable. The YouTube Shorts Generator is designed for ease of use and quick deployment, making it ideal for those who prioritize speed and efficiency in their content creation workflow.

When to use it

Use this skill when you want to quickly create short, engaging clips from longer videos specifically for platforms like YouTube Shorts, TikTok, or Instagram Reels.

When not to use it

This skill may not be suitable if you need detailed control over clip parameters or if you are integrating with a custom video rendering solution.

What you can build with it

Generate Clips for TikTok

Quickly create five engaging clips from a long YouTube video optimized for TikTok.

Create Instagram Reels

Easily produce three clips formatted for Instagram Reels, ensuring they meet platform specifications.

Batch Process Videos

Efficiently generate clips from multiple videos by using a list of URLs in a text file.

How to install YouTube Shorts Generator

View source

1. Install with the skills CLI

npx skills add samuraigpt/generative-media-skills/youtube-shorts --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by samuraigpt

YouTube Shorts Generator

Long video → ranked vertical short clips, tuned for short-form social.

This skill is a platform-aware preset over the AI Clipping primitive. It picks the right aspect ratio and clip count for the target platform and delegates highlight extraction, dedupe, and face-tracked auto-crop to muapi.ai's managed /ai-clipping endpoint.

Reference implementation: https://github.com/SamurAIGPT/AI-Youtube-Shorts-Generator Underlying API: https://muapi.ai/playground/ai-clipping


When to Use This vs. AI Clipping

Use this skill when…Use AI Clipping directly when…
Target is YouTube Shorts / TikTok / ReelsYou want full control over aspect / count
You want platform-tuned defaultsYou want raw timestamps (--coords-only)
You'd rather pass --platform tiktok than think about ratiosYou're integrating into a custom renderer

Agent Execution Protocol

Step 1 — Collect Inputs

InputDefaultNotes
--sourceYouTube URL, hosted mp4 URL, or local file
--platformshortsshorts | tiktok | reels | feed (sets ratio + count defaults)
--num-clipsplatform defaultOverride clip count
--aspect-ratioplatform defaultOverride aspect ratio

If the user gave only a URL, run with platform defaults — don't block.


Step 2 — Verify Prerequisites

  • muapi-cli installed and authed (muapi auth configure)
  • MUAPI_API_KEY available

That's it. Transcription, highlight ranking, dedupe, and cropping all run server-side — no ffmpeg, no Python, no Whisper, no LLM keys needed locally.


Step 3 — Run the Pipeline

bash library/social/youtube-shorts/scripts/run-youtube-shorts.sh \
  --source "<YOUTUBE_URL>" \
  --platform shorts \
  --num-clips 5 \
  --view

The script:

  1. Resolves the source (uploads local files to muapi CDN if needed).
  2. Picks platform defaults if --aspect-ratio / --num-clips aren't passed.
  3. Calls muapi edit clipping (the /ai-clipping endpoint) with the chosen params.
  4. Polls until done, prints a ranked summary, optionally downloads / opens clips.

What Happens Server-Side

The /ai-clipping endpoint runs the full pipeline:

  • Transcribes the audio.
  • Ranks highlights through a virality framework — hook moments, emotional peaks, opinion bombs, revelation moments, conflict, quotable lines, story peaks, practical value.
  • Dedupes overlapping candidates by score.
  • Top-N selects and face-tracks vertical crops.

Each clip ships with score (0–100), opening hook line, and a one-sentence "why it works" reason.


Platform Defaults

PlatformFlagAspectDefault clipsNotes
YouTube Shorts--platform shorts9:163Hook in first 1s
TikTok--platform tiktok9:165Higher energy, longer ok
Instagram Reels--platform reels9:163Hook in first 1s
Instagram Feed--platform feed1:13Static-feel works well

Override any default with --aspect-ratio / --num-clips.


Quick Invocation Patterns

Single video, defaults:

bash run-youtube-shorts.sh --source "https://youtube.com/watch?v=VIDEO_ID"

TikTok preset — 5 clips, view in player:

bash run-youtube-shorts.sh --source "<URL>" --platform tiktok --view

Square Instagram feed clips:

bash run-youtube-shorts.sh --source "<URL>" --platform feed --num-clips 3

Batch — urls.txt with one URL per line:

xargs -a urls.txt -I{} bash run-youtube-shorts.sh --source "{}"

Async submit (returns request_id, poll later):

REQUEST_ID=$(bash run-youtube-shorts.sh --source "<URL>" --async --output-json - | jq -r '.request_id')
muapi predict wait "$REQUEST_ID" --download ./outputs

Output Schema

{
  "source_video_url": "...",
  "shorts": [
    {
      "title": "The one mistake that cost me $50K",
      "start_time": 124.3,
      "end_time": 187.6,
      "score": 92,
      "hook_sentence": "Nobody talks about this, but it killed my first startup...",
      "virality_reason": "Opens with a number + regret, peaks on a contrarian lesson",
      "clip_url": "https://.../short_1.mp4"
    }
  ]
}

When reporting back, surface for each clip: rank, score, time range, title, hook, and clip URL.


Common Mistakes to Avoid

  1. Wrong aspect ratio for the platform — Shorts / TikTok / Reels are 9:16. The platform preset handles this; only override if you know why.
  2. Padding to hit --num-clips — if the API returns fewer survivors, return what you have. Don't ship low-score filler.
  3. Re-running on a 404'd clip URL — re-fetch the same request_id with muapi predict wait <id> rather than re-clipping.

Failure Modes

  • API key missing or rejected — surface the error; don't fabricate a key.
  • Job timed out — bump --poll-timeout and retry.
  • Source URL not reachable — upload the file via muapi upload file and pass the returned URL.
  • Fewer clips returned than requested — source had fewer rankable highlights. Return what came back with a note.

Done Criteria

The skill is done when:

  1. result.shorts has up to num_clips entries, each with a working clip_url.
  2. The user has been shown the ranked list (score, time range, title, hook, URL).
  3. If --output-json was set, the file exists and parses.

Frequently asked questions about YouTube Shorts Generator

Similar skills