render-3d-character-explainer
Assemble an animated character-explainer video ad (~77s, 9:16, any art style: Pixar-style 3D, claymation, anime, paper-cut, felt) on an \"N types of X\" listicle spine: one recurring human protagonist plus one persona character per list item.
Install / Use
npx skills add gooseworks-ai/goose-skills --skill render-3d-character-explainerInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
OtherSupported Platforms
Our assessment of render-3d-character-explainer
render-3d-character-explainer scores 85/100 on our quality scale, 188th of 283 Other skills we index.
Its SKILL.md is 8.8 KB long, well organised into 8 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 1,222 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 33 days ago, so render-3d-character-explainer is actively maintained.
- Our last check on 2026-10-12 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
render-3d-character-explainer compared with similar skills
All 4 of these similar skills score higher than render-3d-character-explainer; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| render-3d-character-explainer (this skill)by gooseworks-ai | 85 | 1.2k | 33d ago | SKILL.md |
| LocalAIby mudler | 100 | 50.0k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 33d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 33d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 137.2k | 11d ago | SKILL.md |
Frequently asked questions
- How do I install render-3d-character-explainer?
- Run
npx skills add gooseworks-ai/goose-skills --skill render-3d-character-explainer. The install tabs above show the steps for each supported agent. - Which AI agents does render-3d-character-explainer work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is render-3d-character-explainer safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is render-3d-character-explainer still maintained?
- The repository was last updated 33 days ago, so render-3d-character-explainer is actively maintained.
Skill content
View source on GitHubname: render-3d-character-explainer description: "Assemble an animated character-explainer video ad (~77s, 9:16, any art style: Pixar-style 3D, claymation, anime, paper-cut, felt) on an "N types of X" listicle spine: one recurring human protagonist plus one persona character per list item. Given per-scene clips, a scene timing table and narration, it trims, normalises, concatenates and mixes them, reusing the source ad's audio (restyle) or fresh per-scene voiceover over a music bed (original), loops a scene's keyframe when its clip failed, and burns captions last. Free, deterministic assembly (Python and ffmpeg, no paid calls); the recipe supplies the clips, keyframes, audio and captions. Use for the 3d-character-explainer format." status: active
render-3d-character-explainer
The free, deterministic renderer for the 3d-character-explainer video ad format — an animated character spot (art style is the user's choice; the demo was glossy Pixar-style 3D) built on an "N types of X" listicle spine, where a recurring human protagonist plus a locked cast of N persona characters (one per list item) carry a hook → "deeper story" → cast-reveal → one beat per list item → kicker → product test → relieved payoff. This capability is the FREE assembly stage only. All generative work (Nano-Banana cast anchors + per-scene keyframes, Kling-V3 i2v clips, ElevenLabs VO + music, or a source ad's audio reused verbatim) happens upstream in the recipe and is handed to this capability as files.
It ports the validated compose recipe from the worked example — a "six types" Pixar-style 3D
listicle restyle (_render_full.sh — per-scene trim → normalize 1080×1920/fps30 → concat -c copy → mux the
source audio, with a static-still fallback on any failed clip). The assembly is
deterministic — iterate the cut for free, re-roll only the offending paid beat.
Choices
The recipe asks these of the user before any paid step; this capability assembles whatever comes back. None of them is fixed by the format.
visual_style— the art style of the anchors, keyframes and Kling motion prompts (Pixar-style 3D, claymation, anime, paper-cut, felt). Asked of the user; the demo used glossy Pixar-style 3D.narrator— who tells the story and in whose POV the lines / captions are written. Asked of the user; the demo used an off-screen storyteller.narrator_voice— the VO voice (ORIGINAL mode only). Asked of the user; the demo used one ElevenLabs narrator.tone— cute/comedic, sincere, educational, dramatic, punchy; shapes the style prefix, the delivery and the script. Asked of the user; the demo was cute and comedic.protagonist— the human's age, gender, look and outfit (locked via the world lock). Asked of the user; the demo used a young protagonist in a single tee.music— the bed under the VO, or none (ORIGINAL mode →music_bed). Asked of the user; the demo used a light instrumental underscore.
Two modes
- Restyle mode (
audio_mode: "restyle", the reference run) — re-tell a finished source ad, beat for beat, as an animated character story in the chosen style and tone. The source ad's audio mix (VO + music bed) is reused VERBATIM (source_audio), and the per-scenetarget_sectable is inherited from the source's scene timing. No new VO or music is rendered. The trims must sum to the source audio length. - Original mode (
audio_mode: "original") — the ad authors its own narration. Each scene carries a measured VO cue (scenes[].vo,target_sec= the ffprobe'd VO duration) which is concatenated into a VO track (loudnorm I=-14) and optionally mixed under amusic_bed(loudnorm I=-26 thenvolume,amix normalize=0).
What it does (the deterministic recipe)
- Per-scene retime. Each i2v clip is trimmed to its scene
target_secand normalized to identical dims/fps/SAR (scale=W:H:force_original_aspect_ratio=decrease,pad=W:H:(ow-iw)/2:(oh-ih)/2:color=<pad>,fps=30,setsar=1). A clip shorter than its window is extended withtpad=stop_mode=clone; a longer one is-ttrimmed. Decrease+pad (never crop) preserves the full 9:16 keyframe framing. - Static-still fallback. For any scene whose
clipis missing or failed to render, the scene'skeyframePNG is looped (-loop 1) fortarget_sec, so the master always assembles. Fallback scenes are printed at the end. - Identical re-encode + concat. Every segment is re-encoded
libx264 -crf 18 -pix_fmt yuv420p -r 30even if already correct — a dims/framerate mismatch makes the concat demuxer silently drop frames — then concatenated via the concat demuxer (-c copy). - Audio. Restyle:
source_audiomuxed verbatim (-map 0:v -map 1:a), clamped to the video length. Original: per-scene VO track (optionalatempo,apad,-tclamp) → loudnorm → optionally mixed under the music bed. - Captions last.
make_captions.pyemits a libass.ass(one cue per scene,start = scene_start + 0.08s, suppressed on any scene with no caption — e.g. a product/end-card beat carrying its own typeset copy).compose.pyburns it as the final filter so captions sit on top. Word-level energy-pop captions (Whisper on the narration) are the recipe's upstream option — produce that.assexternally and pointcaptions_assat it; compose burns whatever.assit's handed.
Scripts (free — Python + ffmpeg, no bash, no paid calls)
scripts/make_captions.py— emits the per-scene libass.assfrom the SAME scene table compose reads, so caption windows stay in lockstep with the cut. Run beforecompose.py(or leavecaptions_assunset / pointing at nothing to skip captions).scripts/compose.py— the assembler: per-scene trim + identical 1080×1920/30fps re-encode (static-still fallback on missing clips) → concat → audio (restyle verbatim / original mix) → burn captions → master mp4.scripts/config.example.json— the shape of theconfigthe recipe binds (the "six types of laundry stains" restyle demo, a made-up brand, as a worked example; captions, audio and music are the demo's, never defaults).
Inputs (all via --config + a runtime work dir — NO hardcoded paths)
config.json carries: audio_mode (restyle | original), scenes[] (each {id, clip, keyframe, target_sec, caption?, vo?, atempo?} where target_sec is the source-inherited
window in restyle mode or the measured VO window in original mode, and keyframe is the
static-still fallback source), source_audio (restyle), music_bed + music_volume +
atempo (original), width/height (default 1080×1920), pad_color (letterbox colour),
captions_ass, and caption_style. See config.example.json. pad_color defaults to neutral
black; set it from the brand palette.
Craft rules (load-bearing — faithful to the source molecule + reference run)
- Restyle inherits the source timing. A restyle reuses the source ad's exact audio, scene order, and per-beat durations verbatim; only an original-mode remix authors its own VO + timing table. Merge any sub-1.5s flash scene into a neighbour upstream to avoid a dead micro-cut (the reference folded scene 7 into scene 8).
- Normalize decrease+pad, never crop — the listicle's cast-reveal + per-persona framing must not lose edges; letterbox-pad to the canvas colour instead. Re-encode every segment to 30fps before concat, even if already correct, or the concat demuxer silently drops frames.
- Static-still fallback is mandatory — Kling can 403 mid-run (a billing wall after a burst of successes, not a rate limit). Any failed clip loops its keyframe so the master still assembles; re-roll only the missing beat and recompose (free).
generate_audiowas false upstream — Kling would otherwise invent its own dialog track; the real narration is muxed here separately. (This is the recipe's upstream call, not this capability.)- No AI-rendered brand text — the product-beat keyframe shows a BLANK-label box; the real wordmark/end-card copy is composited upstream, never AI-drawn. Suppress captions on any product/end-card beat (its typeset copy carries the message — two text layers at one spot are both unreadable).
- Caption
start = scene_start + 0.08s(avoids the caption flashing a frame before a cut).
Requires
watch (QC the final master — the human protagonist reads as the SAME person every scene
(wardrobe/hair/lighting held), each persona is on-model, the cast-reveal lineup matches the N
list items, the product beat shows the REAL box, narration lands beat-for-beat, and duration is
within ±0.1s of the summed windows). The recipe gates the paid create-image-fal (cast
anchors + keyframes), create-video-fal (Kling-V3 i2v), create-vo-elevenlabs, and
create-music-elevenlabs calls to their own capabilities — this capability itself makes NO
paid calls.
Related Skills
LocalAI
50.0kLocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
137.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
