video — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited video (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.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.
Create startup video content using Remotion for programmatic video generation. This skill detects your Remotion setup, provides startup-specific templates, and bridges brand identity into video compositions.
video, MP4, Remotion, demo video, explainer, social clip, video content, animation, motion graphics, video pitch, product demo, investor update, hiring video, pitch video, video script, video template, startup video, promotional video, video marketing, screen recording, animated explainer
Before any video creation, detect the user's Remotion environment:
Look for these indicators (in order):
1. remotion.config.ts or remotion.config.js in project root
2. package.json containing "remotion" or "@remotion/cli" as a dependency
3. src/Root.tsx or src/Video.tsx (common Remotion entry points)
4. Any .tsx files importing from "remotion"If Remotion is found:
<Composition> components)@remotion/lambda for cloud rendering capabilityIf Remotion is NOT found:
npx create-video@latest — sets up a full Remotion project/imperium:create-slides for presentation content that can be screen-recorded/imperium:create-carousel for visual slide decks (PPTX)Before generating any video content, check if brand/brand.json exists in the project.
If brand files exist:
brand/brand.json and extract: primary color, secondary color, accent color, fontsbrand/tone-of-voice.md for script writing style const theme = {
primaryColor: brand.colors.primary, // Main backgrounds, key text
secondaryColor: brand.colors.secondary, // Supporting elements
accentColor: brand.colors.accent, // CTAs, highlights, emphasis
headingFont: brand.fonts.heading, // Titles, section headers
bodyFont: brand.fonts.body, // Body text, captions
backgroundColor: brand.colors.background // Slide backgrounds
};brand/assets/logo.svg or brand/assets/logo.png existsIf no brand files exist:
| Format | Hook Duration | Why |
|---|---|---|
| Social Clip (15-30s) | 2-3 seconds | Scroll-stopping speed, instant grab |
| Investor Update (60s) | 3-5 seconds | Context-setting before metrics |
| Pitch Video (60-90s) | 3-5 seconds | Must create tension quickly |
| Product Demo (2-3min) | 5-10 seconds | Audience is already interested, set expectations |
| Team/Hiring (30-60s) | 3-5 seconds | Fast emotional hook |
Rule: Shorter video = shorter hook. Social clips need 2-3s max. Longer videos can afford 5s+.
Purpose: Concise startup pitch for investors, website hero, or cold outreach.
Structure:
| Section | Duration | Content | Visual Direction |
|---|---|---|---|
| Hook | 5s | Bold statement or surprising stat that frames the problem | Full-screen text animation, dramatic pause |
| Problem | 15s | Paint the pain point vividly — who suffers, how much, why now | Icons/illustrations of the problem, dark/tense mood |
| Solution | 20s | Your product as the answer — what it does in one sentence, then show it | Product screenshots/demo with animated callouts |
| Demo | 20s | Live product walkthrough or key feature showcase | Screen recording with cursor highlights, zoom effects |
| Traction | 10s | Key metrics that prove momentum — users, revenue, growth rate | Animated counters, chart animations, logos of customers |
| CTA | 10s | Clear ask — visit site, book demo, join waitlist | Brand logo, URL, QR code, strong closing statement |
Script Guidelines:
Music Mood: Inspirational, building momentum. Start subtle, crescendo at traction.
Purpose: Detailed product walkthrough for website, sales enablement, or onboarding.
Structure:
| Section | Duration | Content | Visual Direction |
|---|---|---|---|
| Context | 15s | Who this is for and what problem it solves | Title card + brief problem statement |
| Feature 1 | 30s | Core feature deep-dive with use case | Screen recording + animated annotations |
| Feature 2 | 30s | Second key feature with real example | Screen recording + callout overlays |
| Feature 3 | 30s | Third feature or workflow demonstration | Screen recording + transition animations |
| Summary | 15s | Recap key benefits (not features) | Benefit bullets animating in |
| CTA | 10s | Sign up, start trial, book demo | Logo + URL + action button animation |
Script Guidelines:
Technical Notes:
Music Mood: Upbeat, modern, not distracting. Consistent energy throughout.
Purpose: Scroll-stopping content for TikTok, Instagram Reels, LinkedIn, or Twitter/X.
Structure:
| Section | Duration | Content | Visual Direction |
|---|---|---|---|
| Hook | 3s | Pattern interrupt — bold text, surprising claim, or question | Large text animation, high contrast |
| Value | 15–20s | One insight, tip, stat, or product highlight | Fast cuts, text overlays, dynamic movement |
| CTA | 3–5s | Follow, visit, try it, comment | Brand logo + clear action text |
Format Options:
Script Guidelines:
Music Mood: Trending audio if possible, energetic beat, bass-driven.
Purpose: Monthly or quarterly update for investors, advisory board, or team.
Structure:
| Section | Duration | Content | Visual Direction |
|---|---|---|---|
| Key Metric | 10s | The one number that matters most this period | Large animated number with context |
| Milestones | 20s | What was achieved — launches, hires, deals, features | Timeline or milestone cards animating in |
| Challenges | 10s | Honest blockers and how you're addressing them | Clean text on subtle background |
| Next Quarter | 15s | Top 3 priorities and targets | Numbered list with icons |
| Ask | 5s | Specific help needed — intros, advice, resources | Direct text with contact info |
Script Guidelines:
Tone: Confident but transparent. Investors respect honesty over spin.
Music Mood: Subtle, ambient background. This is about data, not hype.
Purpose: Attract talent by showcasing culture, mission, and open roles.
Structure:
| Section | Duration | Content | Visual Direction |
|---|---|---|---|
| Culture Hook | 5s | One sentence that captures your team's energy | Bold text or team photo with animation |
| What We Build | 15s | Mission and product impact — why it matters | Product shots mixed with impact visuals |
| Team Vibe | 15s | How the team works — remote, async, rituals, values | Candid team photos or workspace shots |
| The Role | 10s | What you're looking for — key skills and impact | Role title + 3 key bullet points |
| Apply CTA | 5s | How to apply — URL, email, or job board link | Brand logo + careers URL |
Script Guidelines:
Music Mood: Energetic, uplifting, reflects team personality.
For every video, generate a complete script document containing:
Shot # | Time | Visual | Text/Narration | Notes
--------|---------|-------------------------|-----------------------------|--------
1 | 0:00-05 | Full-screen text anim | "What if you could..." | Hook
2 | 0:05-20 | Problem illustration | "Every day, teams waste..." | Tension
...When generating Remotion code, follow this structure:
// src/compositions/{VideoType}/index.tsx
import { Composition } from 'remotion';
import { {VideoType} } from './{VideoType}';
// Register the composition
<Composition
id="{video-type}"
component={{VideoType}}
durationInFrames={fps * totalSeconds}
fps={30}
width={1920}
height={1080}
defaultProps={{
theme: brandTheme,
content: scriptContent,
}}
/>Each section of the video maps to a Remotion <Sequence>:
<Sequence from={startFrame} durationInFrames={sectionFrames}>
<SectionComponent {...sectionProps} />
</Sequence># Preview in browser
npx remotion preview src/index.ts
# Render to MP4
npx remotion render src/index.ts {composition-id} out/video.mp4
# Render specific quality
npx remotion render src/index.ts {composition-id} out/video.mp4 --codec h264 --crf 18
# Render vertical (9:16)
npx remotion render src/index.ts {composition-id} out/video.mp4 --height 1920 --width 1080Before delivering any video composition:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.