demo-producer
npx skills add https://github.com/yonatangross/orchestkit --skill demo-producer
Agent 安装分布
Skill 文档
Demo Producer
Universal demo video creation for any content type.
Quick Start
/demo-producer # Interactive mode - asks what to create
/demo-producer skill explore # Create demo for a skill
/demo-producer plugin ork # Create demo for a plugin
/demo-producer tutorial "Building a REST API" # Custom tutorial
Supported Content Types
| Type | Source | Example |
|---|---|---|
skill |
skills/{name}/SKILL.md | /demo-producer skill commit |
agent |
agents/{name}.md | /demo-producer agent debug-investigator |
plugin |
plugins/{name}/plugin.json | /demo-producer plugin ork |
marketplace |
Marketplace install flow | /demo-producer marketplace ork |
tutorial |
Custom description | /demo-producer tutorial "Git workflow" |
cli |
Any CLI tool | /demo-producer cli "npm create vite" |
code |
Code walkthrough | /demo-producer code src/api/auth.ts |
Interactive Flow
When invoked without arguments, asks:
Question 1: Content Type
What type of demo do you want to create?
â Skill - OrchestKit skill showcase
â Agent - AI agent demonstration
â Plugin - Plugin installation/features
â Tutorial - Custom coding tutorial
â CLI Tool - Command-line tool demo
â Code Walkthrough - Explain existing code
Question 2: Format
What format(s) do you need?
â Horizontal (16:9) - YouTube, Twitter
â Vertical (9:16) - TikTok, Reels, Shorts
â Square (1:1) - Instagram, LinkedIn
Question 3: Style
What style fits your content?
â Quick Demo (6-10s) - Fast showcase, single feature
â Standard Demo (15-25s) - Full workflow, multiple steps
â Tutorial (30-60s) - Detailed explanation, code examples
â Cinematic (60s+) - Story-driven, high polish
â Scrapbook (15-35s) - Warm paper, fast cuts, social proof collage (Anthropic style)
Question 4: Audio
Audio preferences?
â Music Only - Subtle ambient background
â Music + SFX - Background + success sounds
â Silent - No audio
Pipeline Architecture
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Demo Producer Pipeline â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â â
â âââââââââââââââ ââââââââââââââââ âââââââââââââââââââââââ â
â â Content âââââ¶â Content âââââ¶â Script Generator â â
â â Detector â â Analyzer â â (per type) â â
â âââââââââââââââ ââââââââââââââââ ââââââââââââ¬âââââââââââ â
â â â
â â¼ â
â âââââââââââââââ ââââââââââââââââ âââââââââââââââââââââââ â
â â Remotion ââââââ VHS ââââââ Terminal Script â â
â â Composer â â Recorder â â (.sh + .tape) â â
â ââââââââ¬âââââââ ââââââââââââââââ âââââââââââââââââââââââ â
â â â
â â¼ â
â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â
â â Final Outputs â â
â â ⢠horizontal/{Name}Demo.mp4 â â
â â ⢠vertical/{Name}Demo-Vertical.mp4 â â
â â ⢠square/{Name}Demo-Square.mp4 (optional) â â
â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Template System
The demo-producer skill offers three distinct template architectures for different demo styles:
1. TriTerminalRace (3-Panel Racing)
Perfect for showcasing complexity levels in parallel:
- Use case: Feature comparisons, skill showcases, progressive tutorials
- Format: 3 split terminals (Simple â Medium â Advanced)
- Duration: 15-20 seconds
- Components: LiveFolderTree, LevelBadge, SkillReferences, CodePreview, ProgressPhases
- Example:
/demo-producer skill explore --template tri-terminal-race
Key Features:
- Color-coded difficulty indicators (Green/Amber/Purple)
- Real-time project structure animation
- Parallel progress tracking
- Comparative metrics display
- Side-by-side summary cards
2. ProgressiveZoom (Tutorial Style)
Ideal for step-by-step explanations:
- Use case: Tutorials, code walkthroughs, feature deep-dives
- Format: Zooming transitions, layered reveals
- Duration: 20-30 seconds
- Components: CodePreview, Highlights, Annotations, TimelineBar
- Example:
/demo-producer tutorial "Building REST API" --template progressive-zoom
Key Features:
- Smooth zoom effects on code sections
- Progressive annotation reveals
- Contextual highlighting
- Timeline markers for phases
- Caption overlays
3. SplitThenMerge (Dramatic Style)
Great for before/after and transformation stories:
- Use case: Problem â Solution demos, transformations, workflow changes
- Format: Split screen that merges to unified view
- Duration: 15-25 seconds
- Components: SplitScreen, MergeTransition, ContrastHighlight, ImpactMetrics
- Example:
/demo-producer cli "npm run build" --template split-then-merge
Key Features:
- Split screen comparisons
- Dramatic merge transitions
- Side-by-side metrics
- Impact indicators (faster, better, safer)
- Before/after snapshots
4. ScrapbookDemo (Anthropic-Style Collage)
Warm paper aesthetic inspired by Anthropic’s Claude Opus 4.6 announcement:
- Use case: Product launches, social proof, brand showcases
- Format: Sequence of title stamp, social cards, terminal captures, stats reveal, CTA
- Duration: 15-35 seconds
- Components: PaperTexture, KineticText, SocialCard, CollageFrame, StatsCounter
- Example:
/demo-producer plugin ork --template scrapbook
Key Features:
- Warm cream background (#F0F0E8), NOT dark
- Serif typography with spring “stamp” pop-in
- Social proof cards sliding in from different directions
- Tilted collage frames for screenshots
- Animated stat counters with accent underlines
- Fast cuts (100-200ms transitions)
See references/template-system.md for detailed configuration guide and SkillDemoConfig interface.
Original Content Type Templates (Supported)
Skill Template
Shows: Skill activation â Task creation â Phase execution â Results
Agent Template
Shows: Agent spawning â Tool usage â Parallel execution â Synthesis
Plugin Template
Shows: /plugin install â Configuration â Features showcase
Tutorial Template
Shows: Problem statement â Code writing â Execution â Result
CLI Template
Shows: Command entry â Execution â Output explanation
Code Walkthrough Template
Shows: File overview â Key sections â Pattern explanation
Generation Commands
# After interactive selection, generates:
# 1. Terminal script
./skills/demo-producer/scripts/generate-script.sh \
--type=skill \
--name=explore \
--style=standard \
--output=orchestkit-demos/scripts/
# 2. VHS tape files
./skills/demo-producer/scripts/generate-tape.sh \
--script=demo-explore.sh \
--format=horizontal,vertical \
--output=orchestkit-demos/tapes/
# 3. Record VHS
cd orchestkit-demos/tapes && vhs sim-explore.tape
# 4. Add Remotion composition
./skills/demo-producer/scripts/add-composition.sh \
--name=explore \
--type=skill \
--formats=horizontal,vertical
# 5. Render final videos
cd orchestkit-demos && npx remotion render ExploreDemo --output=out/horizontal/ExploreDemo.mp4
npx remotion render ExploreDemo-Vertical --output=out/vertical/ExploreDemo-Vertical.mp4
Output Structure
orchestkit-demos/out/
âââ horizontal/
â âââ {Name}Demo.mp4 # 1920x1080 16:9
âââ vertical/
â âââ {Name}Demo-Vertical.mp4 # 1080x1920 9:16
âââ square/
âââ {Name}Demo-Square.mp4 # 1080x1080 1:1 (optional)
Remotion Folder Structure
Compositions are organized in orchestkit-demos/src/Root.tsx using this hierarchy:
Production/ # Ready-to-render videos
âââ Landscape-16x9/ # YouTube, Website (1920x1080)
â âââ Core-Skills/ # implement, verify, commit, explore
â âââ Memory-Skills/ # remember, memory
â âââ Review-Skills/ # review-pr, create-pr, fix-issue
â âââ DevOps-Skills/ # doctor, configure, run-tests, feedback
â âââ AI-Skills/ # brainstorming, assess, assess-complexity
â âââ Advanced-Skills/ # worktree-coordination, skill-evolution, demo-producer, add-golden
â âââ Styles/ # Alternative visualizations (ProgressiveZoom, SplitMerge, etc.)
âââ Vertical-9x16/ # TikTok, Reels, Shorts (1080x1920)
âââ Square-1x1/ # Instagram, LinkedIn (1080x1080)
âââ Marketing/ # Brand & intro videos
Templates/ # Reference examples for each component style
Experiments/ # Work in progress, testing new ideas
Skill Category Mapping
| Category | Skills |
|---|---|
| Core-Skills | implement, verify, commit, explore |
| Memory-Skills | remember, memory |
| Review-Skills | review-pr, create-pr, fix-issue |
| DevOps-Skills | doctor, configure, run-tests, feedback |
| AI-Skills | brainstorming, assess, assess-complexity |
| Advanced-Skills | worktree-coordination, skill-evolution, demo-producer, add-golden |
Adding New Compositions
- Determine skill category from mapping above
- Add to correct folder in Root.tsx:
<Folder name="Production"> <Folder name="Landscape-16x9"> <Folder name="{Category}-Skills"> <Composition id="{SkillName}" ... /> </Folder> </Folder> </Folder> - Use unique composition IDs – IDs must be globally unique across all folders
- Add vertical/square variants in their respective format folders with prefixes (e.g.,
V-TTR-,SQ-TTR-)
Customization Options
Hook Styles
- Question: “Tired of [pain point]?”
- Statistic: “[X]% of developers miss this”
- Contrarian: “Stop [common practice]”
- Transformation: “From [bad] to [good] in [time]”
Visual Themes
- Dark mode (default): Dark backgrounds, neon accents
- Light mode: Clean whites, subtle shadows
- Terminal: Pure terminal aesthetic
- Cinematic: High contrast, dramatic lighting
- Scrapbook: Warm paper (#F0F0E8), serif typography, fast cuts, mixed media collage
Audio Presets
- Ambient: Subtle background, no SFX
- Tech: Electronic beats, UI sounds
- Corporate: Professional, clean
- Energetic: Upbeat, fast-paced
Best Practices
- Keep it focused – One feature/concept per video
- Show, don’t tell – Demonstrate actual usage
- Use real data – Show actual command outputs
- Include context – Brief setup before the demo
- End with CTA – Always include install command
Terminal Simulation Patterns
Pinned Header + Scrolling Content
const Terminal: React.FC<Props> = ({ frame, fps }) => {
const LINE_HEIGHT = 22;
const MAX_VISIBLE = 10;
// Header stays pinned (command + task created message)
const visibleHeader = HEADER_LINES.filter(line => frame >= line.frame);
// Content scrolls to keep latest visible
const visibleContent = CONTENT_LINES.filter(line => frame >= line.frame);
const contentHeight = visibleContent.length * LINE_HEIGHT;
const scrollOffset = Math.max(0, contentHeight - MAX_VISIBLE * LINE_HEIGHT);
return (
<div style={{ height: 420 }}>
{/* Pinned header */}
<div style={{ borderBottom: "1px solid #21262d" }}>
{visibleHeader.map((line, i) => <TerminalLine key={i} {...line} />)}
</div>
{/* Scrolling content */}
<div style={{ overflow: "hidden", height: 280 }}>
<div style={{ transform: `translateY(-${scrollOffset}px)` }}>
{visibleContent.map((line, i) => <TerminalLine key={i} {...line} />)}
</div>
</div>
</div>
);
};
Agent Colors (Official Palette)
const AGENT_COLORS = {
workflow: "#8b5cf6", // Purple - workflow-architect
backend: "#06b6d4", // Cyan - backend-system-architect
security: "#ef4444", // Red - security-auditor
performance: "#22c55e", // Green - performance-engineer
frontend: "#f59e0b", // Amber - frontend-ui-developer
data: "#ec4899", // Pink - data-pipeline-engineer
llm: "#6366f1", // Indigo - llm-integrator
docs: "#14b8a6", // Teal - documentation-specialist
};
Task Spinner Animation
const SPINNER = ["â ", "â ", "â ¹", "â ¸", "â ¼", "â ´", "â ¦", "â §", "â ", "â "];
const TaskSpinner: React.FC<{ frame: number; text: string; color: string }> = ({ frame, text, color }) => {
const spinnerIdx = Math.floor(frame / 3) % SPINNER.length;
return (
<div style={{ color }}>
<span style={{ marginRight: 8 }}>{SPINNER[spinnerIdx]}</span>
{text}
</div>
);
};
Slop Avoidance Patterns
Common Slop to Eliminate
| Slop Pattern | Example | Fix |
|---|---|---|
| Verbose phase names | “Divergent Exploration” | “Ideas” or “Generating 12 ideas” |
| Redundant sub-descriptions | Phase title + description | Combine into single line |
| Repetitive completions | “â Task #2 completed: patterns analyzed” | “â #2 patterns” |
| Generic transitions | “Now let’s see…” | Cut directly |
| Empty lines for spacing | Multiple blank lines | CSS padding instead |
Text Density Rules
TERMINAL TEXT DENSITY
=====================
â "Analyzing topic â 3 patterns found" (action â result)
â "Phase 1: Topic Analysis" (title only)
â " ââ Keywords: real-time, notifications" (sub-detail)
â "â #2 patterns" (compact completion)
â "â Task #2 completed: patterns analyzed" (verbose completion)
Timing Compression
15-SECOND VIDEO BREAKDOWN
=========================
0-7s: Terminal demo (action-packed)
7-11s: Result visualization (payoff)
11-15s: CTA (install command + stats)
Rule: If content doesn't earn its screen time, cut it.
Related Skills
terminal-demo-generator: VHS tape recordingremotion-composer: Video composition and effectshook-formulas: Attention-grabbing openingsvideo-pacing: Timing and rhythm patternsmusic-sfx-selection: Audio selection and mixingthumbnail-first-frame: CTR optimization
References
references/template-system.md– Template architecture and SkillDemoConfig interfacereferences/content-types.md– Detailed content type specsreferences/format-selection.md– Platform requirements and multi-format supportreferences/script-generation.md– Script templates and generation patterns