Scenario Video Assembly
scenario-labs/skills
A skill your agent uses when generated clips must become a finished video on Scenario via MCP: cutting a shot list together, laying a timeline, concatenating with transitions, overlaying a logo or…
Clip extraction from one long-form source — reads a word-level transcript of a stream, VOD, talk, or video podcast, picks self-contained highlight windows, and cuts each into a short vertical clip…
$ npx skills add alecs5am/ralphy --skill personal-clipper -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alecs5am/ralphy personal-clipper --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/alecs5am/ralphy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/personal-clipper .claude/skills/personal-clipper && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "personal-clipper" agent skill from https://github.com/alecs5am/ralphy/tree/main/.agents/skills/personal-clipper into .claude/skills/personal-clipper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-clipper", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/alecs5am/ralphy/tree/main/.agents/skills/personal-clipperType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add alecs5am/ralphy --skill personal-clipper -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alecs5am/ralphy personal-clipper --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alecs5am/ralphy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/personal-clipper .agents/skills/personal-clipper && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "personal-clipper" agent skill from https://github.com/alecs5am/ralphy/tree/main/.agents/skills/personal-clipper into .agents/skills/personal-clipper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-clipper", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alecs5am/ralphy --skill personal-clipper -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alecs5am/ralphy personal-clipper --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alecs5am/ralphy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/personal-clipper .cursor/skills/personal-clipper && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "personal-clipper" agent skill from https://github.com/alecs5am/ralphy/tree/main/.agents/skills/personal-clipper into .cursor/skills/personal-clipper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-clipper", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/alecs5am/ralphy.git --path .agents/skills/personal-clipper--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add alecs5am/ralphy --skill personal-clipper -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alecs5am/ralphy personal-clipper --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alecs5am/ralphy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/personal-clipper .gemini/skills/personal-clipper && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "personal-clipper" agent skill from https://github.com/alecs5am/ralphy/tree/main/.agents/skills/personal-clipper into .gemini/skills/personal-clipper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-clipper", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install alecs5am/ralphy personal-clipperInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add alecs5am/ralphy --skill personal-clipper -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alecs5am/ralphy.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/personal-clipper .github/skills/personal-clipper && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "personal-clipper" agent skill from https://github.com/alecs5am/ralphy/tree/main/.agents/skills/personal-clipper into .github/skills/personal-clipper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-clipper", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alecs5am/ralphy --skill personal-clipper -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alecs5am/ralphy personal-clipper --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alecs5am/ralphy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/personal-clipper .opencode/skills/personal-clipper && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "personal-clipper" agent skill from https://github.com/alecs5am/ralphy/tree/main/.agents/skills/personal-clipper into .opencode/skills/personal-clipper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-clipper", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
personal-clipperClip extraction from one long-form source — reads a word-level transcript of a stream, VOD, talk, or video podcast, picks self-contained highlight windows, and cuts each into a short vertical clip…
Personal Clipper is an agent skill from alecs5am/ralphy. Clip extraction from one long-form source — reads a word-level transcript of a stream, VOD, talk, or video podcast, picks self-contained highlight windows, and cuts each into a short vertical clip through ralphy clip, then captions, renders, evaluates, and packages the survivors. USE WHEN the user points at ONE existing long-form video and asks for SHORT cuts of it: "cut my stream into shorts", "clip the best moments from this podcast", "make 5 TikToks from this talk", "turn my VOD into clips", "extract the…
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Influencer and creator marketing. The repository describes itself as: Open-source desktop app for content creation, with an agent runtime and standalone CLI. The licence is Apache-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8d139f0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Personal Clipper loads about 2k tokens when it runs. Until then it costs about 194 tokens; SKILL.md has 980 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from alecs5am/ralphy at commit 8d139f0, republished under its Apache-2.0 licence (© alecs5am). 980 words, ~2,009 tokens.
.claude/skills/personal-clipper/SKILL.md (or your agent's skills folder).Turn one long-form video / stream / podcast into a handful of short vertical clips. The agent reads the source's word-level transcript, picks the strongest self-contained windows, and cuts each into a 9:16 clip through the
ralphy clipverb — then captions, renders, evaluates, and packages the survivors. This is thepersonal-clippercontent mode (#436), a supported first-class route. NOT a magic "viral moment detector": the windows are an agent decision grounded in the transcript, and the verb only executes the cut.
| Doc | When to read it |
|---|---|
docs/playbooks/modes/personal-clipper.md | The tight quality floor for the mode (creative objective, gates, negative scope) — read first to set the bar. |
.agents/skills/editor/SKILL.md | Composition / caption / render mechanics once a clip is cut. |
.agents/skills/editor/references/vo-sync.md | Snapping cut boundaries + caption timing to word-level startMs. |
.agents/skills/researcher/references/playbook.md | Pulling the source video (ref pull) and frame/transcript tooling. |
.agents/skills/audio-explainer/SKILL.md | The adjacent long-form-OVERLAY mode; contrast with clip-EXTRACTION here. |
A brief that points at one long-form source and asks for short cuts: "cut my stream into shorts", "clip the best moments out of this podcast", "make 5 TikToks from this talk", "turn my 40-minute VOD into clips", "extract the highlights". The deterministic classifier (classifyContentMode) scores these to personal-clipper. It is a SUPPORTED route — promise it.
Contrast with the neighbours:
podcast-video (the audio-explainer skill), not clip extraction.ugc-review / tutorial-ugc, not a cut from an existing source.ralphy ref pull <url>; a local file is fine too.ralphy clip directly, there is nothing to "select".ralphy ref pull <url> (yt-dlp behind the verb) or point at the local file. Never shell out to yt-dlp / ffmpeg directly (AGENTS #2).ralphy ref transcribe <slug> --language <lang> → a word-level transcript (transcript.json). Confirm the language with the user first when non-English.[from, to) pair (word-level startMs → seconds). This is judgement grounded in the transcript text — NOT a detector the verb runs. Present the candidate windows (timestamp + the quoted line) and wait for the user's go before cutting.ralphy clip <source> --from <ts> --to <ts> --vertical --project <id> per window. --vertical centre-crops to 9:16 (1080x1920); omit it to keep the source aspect. Output lands in <project>/artifacts/videos/ (append-only, auto-versioned). Run the cuts in parallel — they are independent ffmpeg processes.ralphy generate captions on each clip (Scribe word-level), then bake / overlay per the editor playbook. Snap caption timing to startMs (AGENTS #16) — never hand-write it.ralphy render <id> is the only render path when a clip needs a HyperFrames composition (caption overlay, hook card). A bare crop+caption bake can stay an artifacts/videos/ file promoted into a Unit.ralphy project scorecard <id> (#427) for the deterministic ship/repair verdict per clip; /evaluator for a deeper scroll-stop / hook pass. A failed gate refuses (AGENTS #4) — do not ship over it.ralphy unit create <id> --slug <clip-slug> --format video --from "artifacts/videos/<clip>.mp4" per surviving clip, then ralphy unit package <id> <slug> (#423) for the platform-spec'd distribution pack. ralphy unit caption for the post copy.If the transcript yields no self-contained, hook-bearing windows — a meandering stream with no quotable moments, an interview with no punchy beats, a source that is one long unbroken explanation — STOP and tell the user. Do NOT force weak clips to hit a count. The honest output is "I read the transcript and there are no clips here worth cutting; here is why" plus the closest alternative (e.g. "this reads better as a podcast-video overlay edit" or "give me a richer source"). A handful of strong clips beats a dozen forgettable ones — padding the count is the failure this mode exists to avoid.
ralphy clip flag surfaceralphy clip <source> --from <ts> --to <ts> [--vertical] [--out <path>] [--project <id>]| flag | meaning |
|---|---|
<source> | Source video (absolute, or relative to cwd). |
--from <ts> | Window start — seconds (12.5), MM:SS (1:30), or HH:MM:SS (1:02:03). |
--to <ts> | Window end — same formats. Must be greater than --from. |
--vertical | Centre-crop the clip to a 9:16 vertical frame (1080x1920). Off = keep source aspect. |
--out <path> | Explicit output path. Optional when --project is set. |
--project <id> | Logs the cut to the gen-log and resolves the default --out into <project>/artifacts/videos/. |
--force-overwrite | Skip the .v2 collision archive (default keeps prior versions). |
--note <note> | Free-form note recorded in the gen-log row. |
The cut is re-encoded for frame-accurate boundaries, so a window chosen from a transcript lands on the spoken word rather than the nearest keyframe.
ralphy clip as a detector — it is not; the agent picks the windows from the transcript and calls the verb per window.--from / --to from the transcript's word-level startMs.ffmpeg / yt-dlp — every step is a ralphy verb (AGENTS #2).--vertical) or reframe in the editor.© alecs5am, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/personal-clipper of alecs5am/ralphy.
Open the folder on GitHubat commit 8d139f0
Personal Clipper next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Personal Clipper this skillalecs5am/ralphy | 138 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Scenario Video Assemblyscenario-labs/skills | 931 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Product Commercialnodetool-ai/nodetool | 560 | — | ~1.5k | Automated safety check: Pass | AGPL-3.0 | |
| Script Videonodetool-ai/nodetool | 560 | — | ~1.3k | Automated safety check: Pass | AGPL-3.0 | |
| AI Avatar Videoaiskillstore/marketplace | 430 | 1 repos | ~2.4k | Automated safety check: Pass | None | |
| Ad ReadyLeoYeAI/openclaw-master-skills | 2.2k | — | ~5.4k | Automated safety check: Pass | MIT |
scenario-labs/skills
A skill your agent uses when generated clips must become a finished video on Scenario via MCP: cutting a shot list together, laying a timeline, concatenating with transitions, overlaying a logo or…
nodetool-ai/nodetool
Direct a polished product film or brand commercial in NodeTool.
nodetool-ai/nodetool
Direct a NodeTool video whose timing follows written voiceover, such as an explainer or narrated b-roll.
aiskillstore/marketplace
Create AI avatar and talking head videos via inference.sh CLI.
LeoYeAI/openclaw-master-skills
Generate advertising images automatically from a product URL + brand profile.
gooseworks-ai/goose-skills
the UGC fix-loop toolkit — surgically re-render a bad window/beat of a single-take UGC master (stitchreplacement.py, pure FFmpeg) and GPT cross-model review a Seedance prompt before render…
alecs5am/ralphy
GSAP animation reference for HyperFrames. An agent skill from alecs5am/ralphy.
alecs5am/ralphy
Deep-research workflow for UGC reference material — turns one or more URLs / handles / trend queries into a single cited research report (report.md + sources.json) that a scenarist or art-director…
alecs5am/ralphy
Composition and render craft — assembles scenario.json plus asset-manifest.json into a HyperFrames HTML composition and renders the mp4.
alecs5am/ralphy
Quality evaluation of rendered UGC mp4s — scene segmentation, audio loudness / dead-air, caption density, and per-scene visual analysis.
alecs5am/ralphy
End-to-end orchestration — the wrapper that drives the whole production contract across roles, plus batch production.
alecs5am/ralphy
Scenario and script craft — writes and reworks the scene-by-scene scenario.json: hook, beat structure, per-scene VO, on-screen text, pacing, and the language/aspect pre-flight.
Categories
Clip extraction from one long-form source — reads a word-level transcript of a stream, VOD, talk, or video podcast, picks self-contained highlight windows, and cuts each into a short vertical clip…. Personal Clipper is an agent skill from alecs5am/ralphy. Clip extraction from one long-form source — reads a word-level transcript of a stream, VOD, talk, or video podcast, picks self-contained highlight windows, and cuts each into a short vertical clip through ralphy clip, then captions, renders, evaluates, and packages the survivors.
Personal Clipper fits situations like: the user points at ONE existing long-form video and asks for SHORT cuts of it: cut my stream into shorts; clip the best moments from this podcast; make 5 TikToks from this talk; turn my VOD into clips.
Run `npx skills add alecs5am/ralphy --skill personal-clipper -a claude-code`. Or copy the skill folder (.agents/skills/personal-clipper in alecs5am/ralphy) into .claude/skills/personal-clipper in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alecs5am/ralphy --skill personal-clipper -a codex`. Or copy the skill folder (.agents/skills/personal-clipper in alecs5am/ralphy) into .agents/skills/personal-clipper in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alecs5am/ralphy --skill personal-clipper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/personal-clipper, .gemini/skills/personal-clipper, .github/skills/personal-clipper and .opencode/skills/personal-clipper in your project.
SKILL.md names no scripts, command-line tools or credentials: Personal Clipper is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Personal Clipper is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Personal Clipper: Scenario Video Assembly (scenario-labs/skills, 931 stars), Product Commercial (nodetool-ai/nodetool, 560 stars), Script Video (nodetool-ai/nodetool, 560 stars) and AI Avatar Video (aiskillstore/marketplace, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alecs5am (a GitHub user) maintains it in alecs5am/ralphy, which has 138 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on September 22, 2026.
Source: alecs5am/ralphy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.