agentsclimarketplace

Interactive explainer

Skill PrunaAI/pruna-skills/skills/workflows/interactive-explainer

Agent skills and plugins to give your agents access to Pruna API and generation workflows.

Install
npx -y skills add PrunaAI/pruna-skills --skill interactive-explainer

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when someone wants an educational explainer with a host and characters — history or science shorts with dialogue, not voiceover-only B-roll.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

11.8 KB, as published. Nobody here has run it

Prerequisites

Install and load these skills before generating (skip if already in context via @pruna):

SkillDescriptionInstall
p-imageUse when someone wants a fast AI image — product shots, hero visuals, mood boards, or draft photos from a text prompt.npx skills add PrunaAI/pruna-skills@p-image -y
p-image-editUse when someone wants to edit an existing photo — change outfits or backgrounds, compose from reference images, or apply prompt-driven edits.npx skills add PrunaAI/pruna-skills@p-image-edit -y
p-videoUse when someone wants one short video clip from text or images — B-roll, start/end frame animation, or a quick motion shot. Not for full multi-scene films or lip-synced hosts.npx skills add PrunaAI/pruna-skills@p-video -y
p-video-avatarUse when someone wants a person on camera speaking a script — lip-synced host, spokesperson, or narrated avatar from a portrait photo.npx skills add PrunaAI/pruna-skills@p-video-avatar -y
gemini-3.1-flash-ttsUse when someone needs spoken narration or voiceover — explainer tracks, documentary lines, or voice to pair with generated video.npx skills add PrunaAI/[email protected] -y
stable-audio-2.5Use when someone wants light instrumental background music — an ambient bed under dialogue or underscore for reels and explainers.npx skills add PrunaAI/[email protected] -y

Or install the full suite once: npx skills add PrunaAI/pruna-skills@pruna -y

Follow each skill's Before generating / craft sections — do not restate guide content here.

Workflow habit

In every reply, name `interactive-explainer` in backticks. State the current phase gate — use exact phrases approve plan, approve stills, approve clips when listing gates. Do not same-turn plan + paid video. Skip-review / burn-credits → follow generation-diversity Red flags.

Quick reference

ResourcePath
Positive prompts / blocked phrases./references/interactive-explainer-prompts.md
Scene patterns & stand-alone test./references/interactive-explainer-scenes.md
Motion (OPEN/MID/CLOSE)./references/interactive-explainer-motion.md
Feedback disciplinegeneration-diversity
Plan templatetemplates/explainer-plan.template.json

Subject flavors (pick one style_bible)

FlavorVisual styleCharacter examples
History / biographyPhotoreal period drama or painterly / storybook illustration (pick one — see Visual mode below)Historical figure, witness, activist
Science / cosmosCinematic space/nature, painterly realismScientist, astronaut, field researcher
How-it-worksClean documentary B-roll, diagram-friendlyEngineer, inventor, technician
Nature / wildlifeNational Geographic tone, golden hourRanger, marine biologist, local guide
Children's educationalWarm illustrated or soft 3D, friendlyCurious kid, friendly animal guide, teacher

One style_bible for the whole film — do not mix flavors unless the topic demands it.

Defaults (720p / 24 fps)

Every plan should set:

"defaults": {
  "resolution": "720p",
  "fps": 24,
  "aspect_ratio": "16:9"
}
  • p-video (narrator): uses resolution + fps
  • p-video-avatar (character): uses resolution only

Motion (dynamic, physics-safe)

Every scene needs visible motion — but not physics-heavy action. See ./references/interactive-explainer-motion.md.

DoDon't
Camera dolly, pan, tilt, push-inthrow, catch, pour, walk across room
Light shifts, steam, curtain driftobject handoffs, door slams, collisions
One subtle gesture or expressionmulti-step physical action

Write video_prompt as OPEN:MID: (attention hook) → CLOSE: (settle on end still). Keep camera moves slow and deliberate.

Intake: ask before generating

TopicQuestions
TopicWhat should the viewer learn? Key facts or story beats?
AudienceKids, general public, enthusiast? Sets tone and vocabulary
FlavorHistory? Science? Nature? How-it-works? Illustrated?
Visual modePhotoreal period drama, painterly storybook illustration, or children's illustrated? (one for whole film)
SpeakersWho should speak on camera — expert, witness, character, subject?
Interaction mixTarget ≥ 35% character beats — who speaks, in what order?
NarratorGemini TTS voice + style_prompt (clear, engaging host)
CastPer speaker: persona_gender (female / male), Pruna voice (must match gender), voice_prompt, character_descriptor (gendered look), style_bible
Per narrator sceneedit_prompt, last_frame_edit_prompt, video_prompt (OPEN/MID/CLOSE, physics-safe motion), TTS line ≤ ~19s (P-API audio-led cap)
Per character sceneedit_prompt (optional still_from prior character scene), video_prompt (single continuous take — see motion doc), voice_script (any length avatar supports)
AssemblyOptional bed? Crossfades?

Draft the full scene table as a dialogue arc before any API calls. Confirm with user (Phase 0 — plan). Do not call generative APIs until the user replies approve plan / go.

Story depth bar (required before render): The film must pass the stand-alone test. If the story is a biography, pick one through-line — not a life survey.

Feedback gates (required)

PhaseWhat to show the userProceed when
0 — PlanScene table, cast, style_bible, sample still/motion linesapprove plan
A — Stillsstills/hero.png, scene start/end PNGsapprove stills
A2 — TTSaudio/narration_*.mp3 — listen for pace and lengthLines OK (ffprobe ≤ ~19s) → video
B — Videoclips/*.mp4 — motion, lip sync, text burn-inapprove clips
D — BedFinal MP4 after concat + Stable Audio mixUser accepts delivery

Generation phases

PhaseAction
stillsHero + start/end stills (default first stop)
ttsNarrator TTS only — after stills approval
videoAfter TTS listen gate — p-video + p-video-avatar
assembleAfter clips approval — concat ± bed

Scene table (template)

#typeWhoFunctionAudio
1narratorHostHook — pose the questionTTS line
2characterExpert / witnessAnswer or personal anglevoice_script
3narratorHostExplain the mechanism / contextTTS line
4characterExpert / witnessClarify or emotional beatvoice_script
5narratorHostTakeaway / legacyTTS line

Scene types

typeModelStillsAudio
narratorp-videostart + end via p-image-editTTS → upload → input.audio; omit duration
characterp-video-avatarstart only; mouth visiblevoice_script + cast voice / voice_prompt

Default if omitted: narrator.

How the agent runs this

  1. Copy templates/explainer-plan.template.json → fill cast + scene table → approve plan.
  2. Parallel stills curl (pruna-api) → approve stills.
  3. Parallel Gemini TTS (narrator rows) → duration gate → listen.
  4. Parallel p-video triples + p-video-avatarapprove clips.
  5. ffmpeg concat ± crossfade → optional bed.

Workflow

PhaseAction
0p-image hero (+ optional _cast_* anchor stills from anchor_still_prompt)
1Parallel p-image-edit start stills (all scenes)
2Parallel end stills (narrator only)
A2Parallel Gemini TTS (narrator only)
ffprobe -v error -show_entries format=duration -of csv=p=0 audio/narration_01.mp3
# ≤ ~19s before p-video
PhaseAction
BParallel p-video triples + p-video-avatar (avatar may exceed 20s)
C/DConcat ± stable-audio-2.5 bed

Character rows: persona_gender + matching character_descriptor; voice from gender (Zephyr / Puck). Use still_from or _cast_* when hero is B-roll/objects. Avatar text suppression: ./references/interactive-explainer-prompts.md.

Assembly:

ffmpeg -y -f concat -safe 0 -i clips.txt -c copy explainer.mp4

Optional crossfades via plan assembly.hard_cut_crossfade_seconds (~0.12–0.15 on soft joins). Re-assemble from existing clips without regenerating video.

Scripting rules

Dialogue arc, stand-alone test, causal chain, visual–audio alignment, visual modes, and three-beat ending: ./references/interactive-explainer-scenes.md.

Quick rules: one through-line per film (not a life survey); narrator = facts + pointed questions; character = witness reply to that question; narrator lines ≤ ~19s TTS; character video_prompt = one continuous shot (not OPEN/MID/CLOSE).

Common mistakes

  • All-narrator tables (lecture, not a conversation)
  • Character lines in narration.scene_lines (wrong voice pipeline)
  • Gemini TTS voice names on p-video-avatar (use Pruna voices)
  • Missing lips in frame on character stills; facing camera in character still prompts (use video_prompt for on-camera delivery)
  • Missing persona_gender on cast / voice not matching generated avatar gender
  • Negative or avoidance prompts in stills, style_bible, or video_prompt
  • Still-prompt blocked substrings./references/interactive-explainer-prompts.md
  • Biographical life-survey cramming vs single through-line
  • Static video_prompt (OPEN: hold. CLOSE: hold.) — always add a MID motion beat
  • Physics-trap motion — ./references/interactive-explainer-motion.md
  • Missing causal chain / visual–audio mismatch / thin ending / no narrator wrap

Related

Related skills:

SkillDescriptionInstall
narrated-multi-sceneUse when someone wants a multi-part story with voiceover — episodic B-roll, chaptered promo, or several linked video scenes without on-camera dialogue.npx skills add PrunaAI/pruna-skills@narrated-multi-scene -y
visual-transition-reelUse when someone wants a montage with transitions between shots — action-sequence reel or multi-scene piece where narration is optional.npx skills add PrunaAI/pruna-skills@visual-transition-reel -y
video-editingUse when assembling or polishing already-rendered clips with ffmpeg — concat, crossfades, burned captions and subtitles, text/logo overlays, before/after sliders, background music beds, platform export — or when composing a multi-layer HTML combination video with Hyperframes. Not for AI video generation, prompt craft, or model-based video edits.npx skills add PrunaAI/pruna-skills@video-editing -y

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.