branded-reel-pipeline — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited branded-reel-pipeline (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Reusable framework that produces a premium short-form brand reel end to end. It is the premium layer on top of media/short-form-video-production (ideation, hook, retention, captions craft). Use those for the creative craft; use this for the premium branded assembly with real on-brand visuals and live data.
content-creation(Hook→Tension→Payload→CTA) and short-form-video-production. Beat table: t | OST | VO.
higgsfield-generate skill. GPT Image 2 for hero frames (9:16,2k, brand palette), sonilo_music for the bespoke bed. Frames are premium connective tissue; live screens carry conversion.
eleven_v3, stability 0.30, default voice idcjVigY5qzO86Huf0OWal ("Eric"). Key from environment. Calm-operator delivery.
reference/live-data-capture.py (Playwright). Parameterized:URL + auth method + selector / API path. The differentiator: real dashboards, real numbers count up on screen.
templates/remotion-template/).Parameterized by aspect ratio. Count-ups, curve-draws, glass device frames, the audio-reactive orb. 1080x1920 @ 30fps for 9:16.
remotion render → ffprobe confirms duration/resolution/codec.A reel is driven by a brief object:
{
"subject": "Our AI agent that posts daily and tracks every number",
"brand_preset": "my-brand",
"format": "9:16",
"mode": "gated",
"live_data_source": {
"url": "https://your-dashboard.example.com/api/analytics?days=30",
"auth": { "method": "session_token", "mint": "node scripts/mint-session-token.js" },
"capture": "json",
"selector": null
},
"script": null
}subject (required): what the reel is about.brand_preset (required): a dir under presets/ matching your brand.format: 9:16 (default) | 1:1 | 16:9.mode: gated (default) | auto.live_data_source (optional): { url, auth, capture: json|screenshot, selector }.script (optional): pre-written beat table; if null the pipeline writes one in Stage 1.A brief can originate from a Notion Content Factory database that appie-content-intelligence feeds: pull a row (subject + angle + target), map it onto this schema, run the pipeline.
A run lives in a workspace dir projects/reels/<brief-hash>/ (or projects/<name>-reel/ for a one-off). Cache keyed by brief hash (see Token optimization).
presets/<name>/preset.json + prompt fragments).script not supplied, write the beat table (script.md): t | OST | VO rows,target 18-24s, hook in first 1.5-3s, abrupt end. Pull retention craft from short-form-video-production. Honour brand voice rules.
assets-plan.md): which beats are generatedhero frames vs live-screen proof; the Higgsfield prompts (brand palette baked in); the music brief; the VO script.
GATE 1 (gated mode): stop. Present `script.md` + `assets-plan.md` for approval. In auto mode, continue without pausing.
higgsfield-generate (one prompt per generated beat, brandpalette + 9:16). Cache by (brief-hash, beat-id, prompt-hash) so re-runs reuse.
sonilo_music (brand music brief). Cache.reference/elevenlabs-vo.sh). Cache by VO-text hash.reference/live-data-capture.py (URL + auth + capture).Output live-data.json and/or capture.png. Crop screenshots if needed.
remotion/public/.GATE 2 (gated mode): stop. Present the hero frames, the captured data/screens, the VO file, and the music for approval before the (compute-heavy) render. In auto mode, continue.
templates/remotion-template/ into the workspace remotion/ (if not present),wire the preset theme + brief data (beats, KPIs, captured json) into src/.
npm i (first run) then npm run render → MP4 (preset-driven aspect/fps).ffprobe verify: duration within target, resolution matches format, h264/aac.RUN-REPORT.md: assets used, cache hits, token budget, ffprobe output, MP4 path.Reel is delivered for posting (posting is a separate runtime step — never auto-post).
Set "mode": "auto" in the brief (or pass --mode auto). The two gates become no-ops and the pipeline runs Stage 1→3 unattended. Flip this once a brand preset has produced a clean reel 1-2x. Quality floor still applies: if Stage 3 verify fails, stop and report, never ship a broken MP4.
Documented budget per run, and the levers that keep re-runs near-free:
cached under cache/<brief-hash>/ keyed by content hash. A re-run with an unchanged brief regenerates nothing — it re-assembles from cache. Editing one beat only invalidates that beat's frame + that VO line.
the Remotion composition re-renders. No new Higgsfield calls for a format change.
lookups, ffprobe checks, JSON reshaping → plain shell / python, no model. Script writing is the only step that wants a strong model; route the rest cheap.
unless a gate rejects). One VO pass. One music pass.
Token budget per run (design target):
| Step | Tokens (orchestrator) | Cost driver | Cached re-run |
|---|---|---|---|
| Brief parse + hash | ~0 (shell) | — | ~0 |
| Script write | 1-3k | model (1 pass) | 0 (cache) |
| Higgsfield frames (N~5) | ~0 orchestration | Higgsfield credits (~1/frame) | 0 (cache) |
| Music (sonilo) | ~0 | Higgsfield credits | 0 (cache) |
| VO (ElevenLabs) | ~0 | EL chars | 0 (cache) |
| Live-data capture | ~0 (script) | — | re-run if data stale |
| Remotion render | ~0 (shell) | local CPU | re-render only on edit |
| Verify (ffprobe) | ~0 (shell) | — | ~0 |
Net: a fresh reel costs ~1-3k orchestrator tokens + Higgsfield/EL credits. A re-run after an approval tweak costs only the changed beat. A format add (1:1/16:9) costs zero generation credits.
Each preset is a dir under presets/<name>/:
preset.json — the tokens (colors, fonts, easing, motion language, music brief, VOvoice id + settings, default format) consumed by the Remotion theme.
higgsfield.md — the visual-prompt fragment (palette + style) prepended to every heroprompt so all frames are on-brand.
notes.md — brand voice / do-not rules.cp -r presets/example presets/<your-brand>preset.json: colors, fonts (@remotion/google-fonts names), easing, musicbrief, VO voice id, default format.
higgsfield.md: the palette + style sentence for hero prompts.notes.md for brand voice rules."brand_preset": "<your-brand>". No code changes.reference/live-data-capture.py is parameterized. In the brief's live_data_source:
url: the page or API endpoint.auth.method: none | session_token | cookie | header. For session_token,set auth.mint to a command that prints the token.
capture: json (fetch + parse an API response) | screenshot (render + crop a livedashboard into a glass device frame).
selector: CSS selector to wait for / crop to (screenshot mode).The captured live-data.json is wired into the Remotion composition as count-up KPIs and per-channel tiles; capture.png drops in as an <Img>/<OffthreadVideo> proof layer.
# 1. From a brief file (gated — default; pauses at GATE 1 and GATE 2)
python3 reference/run-pipeline.py --brief templates/brief.example.json
# 2. Auto mode (no gates) once a preset is proven
python3 reference/run-pipeline.py --brief my-brief.json --mode auto
# 3. Add a 16:9 cut of an already-rendered reel (zero new generation)
python3 reference/run-pipeline.py --brief my-brief.json --format 16:9 --reuse-assetsThe orchestrator reads this SKILL, resolves the brief, and runs the stages: it calls higgsfield-generate for visuals/music, elevenlabs-vo.sh for VO, live-data-capture.py for data, and the Remotion template for assembly — pausing at the two gates in gated mode. run-pipeline.py is the deterministic skeleton (hash, cache, dirs, gate prompts, render, verify); the creative calls are delegated to the existing skills.
media/short-form-video-production/SKILL.md — ideation, hook, retention, caption craft.higgsfield-generate skill — image/video/music generation (GPT Image 2, sonilo_music).creative/appie-content-intelligence — feeds the Content Factory; benchmarking.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.