SO

social-video-creative

Creates custom vertical video content for social media platforms like Instagram or TikTok.

Install

mkdir -p .claude/skills/social-video-creative && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11100" && unzip -o skill.zip -d .claude/skills/social-video-creative && rm skill.zip

Installs to .claude/skills/social-video-creative

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Generate ONE on-brand short-form vertical video (Reel / Story video) for a single Aries social post at 9:16 reel scale. Use once per requested video clip. FORCES exactly one video_generate call and returns the generated_video creative_asset (localized basename + width/height/duration) plus a content_package entry stamped placement=reel / media_type=video. Paired with /social-image-creative for image posts.
409 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Generate one vertical 9:16 video
  • Force exactly one video_generate call
  • Return creative_asset with localized path
  • Stamp content_package entry with placement=reel

How it works

The skill composes a video prompt based on brand constraints, executes the video_generate tool once, and maps the returned localized file metadata into a structured content package.

Inputs & outputs

You give it
Clip brief with concept, brand background, and duration
You get back
JSON object containing content_package_entry and creative_asset

When to use social-video-creative

  • Creating social media video clips
  • Generating short-form vertical reels
  • Producing branded video content

About this skill

Social Video Creative

You generate one short-form vertical video for one social post. This skill is the video half of Aries creative production; /social-image-creative is the image half. Run this skill once per requested video clip — it is not optional just because images were already generated.

Non-negotiable execution contract

  1. You MUST call the video_generate tool exactly once for this clip. Do not return your result until the video_generate call has completed (or, on failure, recorded the error). A requested video that produces neither a generated_video creative_asset nor an artifacts.errors[] entry is a stage failure — it is exactly as mandatory as image_generate is for an image post.
  2. The video is generated IN ADDITION TO the requested images, never instead of them.
  3. Render at the vertical reel scale below — this is a different scale from the feed images; never reuse a 4:5 / 1:1 image scale for video.
  4. Honor the brand constraints from the brief (dark-brand near-black background, palette as glowing accents, no invented logo, "must avoid" list).

Per-platform video format

Platform / placementAspectPixelsDuration
Instagram / Facebook Reel9:16 vertical1080 × 19203–90 s (target ~15 s)
Instagram / Facebook Story (video)9:16 vertical1080 × 1920≤ 60 s

Always 9:16 vertical. Default to a Reel (placement:"reel") unless the brief asks for a story video.

The video clip is always the FINAL post in the content_package (the highest post_number). The publisher links assets to posts positionally, so the reel must be the last entry — never interleave it before the image posts.

Workflow

  1. Read the clip brief: concept, brand background mode + palette, target platform(s), and target duration (~15 s).
  2. Compose the video prompt to 9:16, dark-brand-safe, palette accents, no on-screen text unless asked, no invented logo.
  3. Call video_generate once with aspect_ratio:"9:16" and the target duration. Wait for it to finish. The tool returns a localized mp4 basename (a file written to the Hermes video cache) plus the rendered file's real metadata. path, width, height, and duration_seconds MUST be copied from the video_generate return value — the ACTUAL localized file's basename and metadata, never the values you requested. A mismatch fails closed at publish dispatch. Never use a remote CDN URL for path.
  4. Return the asset + the post copy:
{
  "content_package_entry": {
    "post_number": <N>,
    "theme": "<short theme>",
    "hook": "<hook>",
    "body": "<2-4 sentences>",
    "cta": "<CTA>",
    "hashtags": ["#tag1", "#tag2", "#tag3"],
    "platforms": ["instagram", "facebook"],
    "format": "reel",
    "placement": "reel",
    "media_type": "video",
    "visual_prompt": "<the video prompt you rendered>"
  },
  "creative_asset": {
    "assetId": "vid_<N>",
    "type": "generated_video",
    "media_type": "video",
    "surface": "reel",
    "path": "<basename of the localized mp4 returned by video_generate — NOT a CDN URL>",
    "width": <integer px>,
    "height": <integer px>,
    "duration_seconds": <number>,
    "mime": "video/mp4",
    "aspect_ratio": "9:16",
    "placement": <N>
  }
}

width, height, and duration_seconds are MANDATORY and must be numeric — absent or null fails closed at publish dispatch and the clip will not publish. placement:"reel" + media_type:"video" on the content_package entry are load-bearing: the publisher maps the reel surface from them, so stamp them.

Failure handling

If video_generate fails, record {assetId, post_number, prompt, error} in artifacts.errors[] and continue — never discard a completed clip and never silently omit the requested video.

When not to use it

  • When the brief does not require a video
  • When the video is not the final post in the content_package

Prerequisites

video_generate tool

Limitations

  • Must be the final post in the content_package
  • Requires numeric width, height, and duration_seconds for successful dispatch

How it compares

Unlike manual video creation, this skill enforces a strict execution contract that mandates specific tool usage and metadata mapping to ensure compatibility with the publisher.

Compared to similar skills

social-video-creative side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
social-video-creative (this skill)01moNo flagsIntermediate
generate04moNo flagsIntermediate
music-generation04moReviewIntermediate
agency-instagram-curator04moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry