broll-core
Skill3 starsChanged 4 months agoMITView on GitHub
Internal shared library for the broll-* B-roll skills (broll-web-capture, broll-browser-recorder, broll-terminal, broll-demo-avatar). Provides the canonical reel geometry/fps that match avatar-reel-composer, thin ffmpeg/ffprobe wrappers, the numbered-clip + manifest.json conventions, and the avatar picture-in-picture (PiP) compositor (pip_overlay, avatar- or base-driven). NOT invoked directly — it is imported by the other broll-* skills. Do not run this skill to make content; use broll-web-capture or broll-terminal.
In this repository45 other files it gives its agents.
- asset-generatorSkill
- audio-theaterSkill
- avatar-ambient-sfxSkill
- avatar-camera-anglesSkill
- avatar-framesSkill
- avatar-inventSkill
- avatar-locationSkill
- avatar-reel-composerSkill
- avatar-talking-videoSkill
- bg-music-hqSkill
- bg-musicSkill
- brand-content-strategySkill
- broll-actor-copySkill
- broll-avatar-cameraSkill
- broll-browser-recorderSkill
- broll-cursorSkill
- broll-finderSkill
- broll-generatorSkill
- broll-storySkill
- broll-terminalSkill
- broll-web-captureSkill
- caption-word-revealSkill
- carousel-generatorSkill
- cuento-reelSkill
- facebook-videosSkill
- gpt-image-2Skill
- instagram-videosSkill
- luxury-hnwi-salesSkill
- onboarding-scriptSkill
- pdf-remixSkill
- reel-discoverySkill
- reel-restyleSkill
- rule-of-six-editSkill
- seedance-2Skill
- sound-effectsSkill
- tiktok-videosSkill
- video-bg-replaceSkill
- video-composeSkill
- video-remixSkill
- video-scene-analysisSkill
- video-transcribeSkill
- viral-video-scriptSkill
- voice-cloneSkill
- voice-isolateSkill
- youtube-videosSkill
The file
Files
broll-core (shared library)
Single source of truth for the broll-* family so the base-layer skills produce
interchangeable output and the avatar-PiP compositor lives in exactly one
place (DRY). It is a library, not a user-facing skill — you never invoke it
directly.
What's here (scripts/)
| Module | What |
_common.py | Canonical ASPECTS (9:16 = 1080×1920) + DEFAULT_FPS=30, run/ffprobe_* wrappers, next_index + append_manifest (numbered clips + manifest.json), find_font. Set C.PREFIX per skill for nicer logs. |
pip_overlay.py | overlay_pip(base, avatar, ..., length=) — composites the talking avatar in a PiP circle (default) or split layout over any base clip. length="avatar" (default): avatar audio drives length, base loops. length="base": the base drives length (e.g. a recorded demo), avatar freezes at its narration end. Used by every base-layer skill's --avatar shortcut, by broll-browser-recorder (base-driven) and by broll-demo-avatar. |
Who uses it
broll-web-capture ──────┐
broll-browser-recorder ─┤
broll-terminal ─────────┼─► broll-core (geometry, ffmpeg, manifest, PiP compositor)
broll-demo-avatar ──────┘How skills import it
Each consumer adds broll-core/scripts to sys.path (resolved relative to the
skill, assuming the sibling .cursor/skills/<skill>/scripts/ layout) and then
import _common as C / import pip_overlay as PIP. If broll-core is missing,
the consumer fails fast with an install hint.
Setup
pip3 install -r .cursor/skills/broll-core/scripts/requirements.txtffmpeg + ffprobe must be on PATH. This library has no other runtime deps.
Conventions (keep these stable — other skills depend on them)
- Geometry: outputs use
ASPECTS; 9:16 is 1080×1920 at 30fps, matchingavatar-reel-composer. - Output: clips are
NNN_<slug>.mp4(zero-padded, auto-incremented vianext_index) and each run appends an entry tomanifest.json({"clips": [...]}), a drop-in foravatar-reel-composer(broll_source: "existing"). - Avatar PiP: by default (
length="avatar") the avatar carries audio and drives length; the base loops to cover it. Withlength="base"the base drives length (a recorded demo is the hero) and the avatar freezes on its last frame once its narration ends. Either way the avatar clip should be a static, face-forwardpipshot (avatar-camera-angles --move pip) lip-synced locked withp-video-avatar.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

