adapt-copy
Adapt post copy for every target platform — character limits, hashtag counts and placement, tone, compliance, and the right CTA mechanism per platform…
Generate short-form video via a 5-stage human-in-the-loop pipeline — concept, first frame, last frame, motion, final render — with approval at every stage before credits are spent. Triggers on \"/generate-video\", \"make a video\", \"video for P12\", \"animate this image\",
$ npx -y skills add indranilbanerjee/socialforge --skill generate-video --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/generate-videoContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate short-form video via a 5-stage human-in-the-loop pipeline — concept, first frame, last frame, motion, final render — with approval at every stage before credits are spent. Triggers on \"/generate-video\", \"make a video\", \"video for P12\", \"animate this image\",
name: generate-video description: "Generate short-form video via a 5-stage human-in-the-loop pipeline — concept, first frame, last frame, motion, final render — with approval at every stage before credits are spent. Triggers on \"/generate-video\", \"make a video\", \"video for P12\", \"animate this image\", \"reel from this\", \"image to video\", \"video post\", or any calendar post whose content_type is video, reel, or story. Models and prices are resolved live, never hardcoded; sound costs extra — quote it first." argument-hint: "[--post <id>] [--script-only] [--thumbnail]" effort: high user-invocable: true
Generate video production assets through a 5-stage human-in-the-loop pipeline. Each stage requires user approval before advancing.
Asset-heavy skill. **Grep before Read** the asset catalog (`${CLAUDE_PLUGIN_DATA}/socialforge/brands/<brand>/asset-index.json`) — never list the asset directory. Reference generated images / videos by path, not by loading metadata. Brand profile loads once per session.
Claude generates **2-3 video concept ideas** based on the post brief, brand voice, and platform requirements. Each concept includes:
The user picks one concept (or requests refinements). Then **fill the script scaffold** (`generate_script` in generate_video.py) from the chosen concept and the post's actual brief, in the brand's voice — every `[FILL]` replaced, no placeholder survives into Stage 2. The scaffold enforces the structure; this pass supplies the craft, under four rules the scaffold carries with it:
1. **Hook first, never the logo.** The open earns attention with the single most arresting thing the brief supports; the brand mark lives as the corner watermark and in the end card. Three seconds of logo reveal is the classic retention killer this pipeline used to scaffold by default. 2. **Payoff per scene.** Every scene's `payoff` field states what the viewer has gained by the time it ends. A beat that only sets up the next beat is where viewers leave — give it a payoff or fold it. 3. **The pairing rule.** The hook's text overlay and the post's caption (written by adapt-copy) do different jobs and never echo. Check against the adapted copy if it already exists for this post. 4. **Compliance before credits.** Run the filled script's narration and overlay text through `compliance_check.py` BEFORE Stage 2 — a banned phrase caught in a script costs nothing; caught in a rendered video it costs the whole generation chain. Claims in narration follow the same rules as claims in copy: sourced or absent.
The user approves the filled script before any generation spend.
Generate **2 first-frame options** based on the chosen concept. These set the opening visual and establish the look and feel.
Generate **2 last-frame options** that complete the visual narrative arc, matching the approved first frame.
Using the approved first and last frames, generate **2 video versions** via WaveSpeed's Kling v3.0 Pro image-to-video endpoint (3-15 seconds).
After the user picks the final video, post-processing runs before saving:
Save all final assets to `{post_folder}/` -- keyframes in `keyframes/`, video versions in `versions/`, platform-resized final videos in `final/`:
| Asset | Format | Always Generated | |-------|--------|-----------------| | Script | Markdown | Yes | | Storyboard | Markdown + keyframe images | Yes | | Thumbnail | PNG/WebP (via compose-creative) | Yes | | First frame | PNG | Yes (Stage 2) | | Last frame | PNG | Yes (Stage 3) | | AI Video Clip | MP4 via WaveSpeed / Kling v3.0 Pro (image-to-video, 3-15 seconds) | If pipeline completed | | SRT subtitles | .srt | If video generated |
| Type | Duration | AI Generation | Production Notes | |------|----------|--------------|----------
Your client wants 30 days of social content across six platforms with brand-faithful imagery, AI-generated video, and provenance signed for EU markets. You have five days.
Adapt post copy for every target platform — character limits, hashtag counts and placement, tone, compliance, and the right CTA mechanism per platform…
Assemble the final month-end delivery manifest — every approved post with its copy, creative files, platform variants, and metadata in one structured JSON…
Set up and manage brand profiles — colors, fonts, logo, voice, pillars, platforms, hashtags, compliance rules, cta_keyword. Triggers on \"/brand-manager\",…
Build the interactive HTML review gallery showing every generated post — image, copy, platform, status — for team or client review in a browser. Triggers on…
Embed C2PA provenance manifests in AI-generated assets — the machine-readable AI disclosure EU AI Act Article 50 expects (enforceable since 2 Aug 2026), plus…
Core creative engine — turns a calendar post into finished images or video using 4 modes (anchor-compose, enhance-extend, style-referenced, pure-creative) with…