From spectra
Use when the user asks to produce a polished demo video from a screen recording, highlight key moments in a recording, add spotlight focus to video segments, create an agent demo video, or trim and caption a screen capture for sharing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/spectra:demoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Transforms raw screen recordings into polished, shareable demo clips. Applies a spotlight focus effect (sharp focal region, blurred and dimmed background), adds optional lower-third captions, and merges multiple segments into one mp4. Audio is always stripped — screen recordings of dev sessions may contain sensitive audio.
Transforms raw screen recordings into polished, shareable demo clips. Applies a spotlight focus effect (sharp focal region, blurred and dimmed background), adds optional lower-third captions, and merges multiple segments into one mp4. Audio is always stripped — screen recordings of dev sessions may contain sensitive audio.
Before producing a demo from any recording:
spectra_capture mode=auto or a frame-by-frame read before sharing. Look for API keys, tokens, passwords, hostnames, and internal URLs in terminal output or browser developer tools..spectra/ or a user-specified path. Never move demo artifacts into artifacts/ (the library) or any public-facing directory without an explicit review step.spectra_demo action=scan input=/path/to/recording.mp4
Returns:
perMinute — scene-change count per minute (identify the busiest 2-3 minutes)activeRanges — contiguous stretches of activity (gap-merged with 5s tolerance)Use the returned ranges to identify which segments are worth including. Prefer segments where the agent is visibly doing work — not idle pauses, loading screens, or terminal waiting states.
For each candidate active range, use spectra_capture or a frame read to see what's actually on screen at that point. Make a judgment call:
Write one caption per beat — present-tense, outcome-focused. "Claude Code routes the task to codex" not "Task routing occurring".
spectra_demo action=polish spec={
canvas: { w: 1920, h: 1080 },
segments: [
{
input: "/path/to/recording.mp4",
startSec: 45,
durationSec: 12,
focal: { x: 200, y: 100, w: 1520, h: 800 },
caption: "Build-loop hands triage to codex via Rally Point"
},
{
input: "/path/to/recording.mp4",
startSec: 120,
durationSec: 8,
focal: { x: 200, y: 100, w: 1520, h: 800 },
caption: "codex responds with a targeted fix in 4 seconds"
}
],
speed: 1.2
} out=/path/to/demo-output.mp4
Returns: { out, segmentCount, warnings }. Check warnings for caption fallbacks or skipped captions.
The focal rect (x, y, w, h) should frame the most important content on screen — the terminal output, the specific UI element, the rally message — not the full display. Tight framing creates sharper contrast between the spotlight and the blurred background.
For a typical 1920x1080 display:
{ x: 0, y: 0, w: 960, h: 1080 }{ x: 960, y: 0, w: 960, h: 1080 }{ x: 80, y: 200, w: 1760, h: 600 }For a side-by-side composite recording (from spectra_capture composite mode), each pane is typically 960px wide.
drawtext captions appear as a dimmed lower-third bar with centered white text. If drawtext is not available in the installed ffmpeg build, supply a captionPngPath as a pre-rendered PNG overlay.
Caption rules:
speed: 1.5 makes all segments play at 1.5x. Useful for idle stretches that couldn't be trimmed. Avoid > 2x on content with visible typing or mouse movement — it looks unnatural. Typical values: 1.0–1.5 for active work, 1.5–2.5 for connecting/loading transitions.
-c copy — all segments must have the same codec, resolution, and frame rate. If segments differ, the merge step will fail with a codec error.captionPngPath PNG overlay loops via -loop 1 -shortest. Static PNGs of any size work; animated GIFs do not./System/Library/Fonts/Helvetica.ttc exists on macOS 11+. On other platforms, supply captionPngPath instead.Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub tyroneross/rosslabs-ai-toolkit --plugin spectra