stage-decide — Claude Code skill: what it does, how to install
Inspects raw footage to remove dead air, cut filler words, and rank repeated takes into an evidence-based rough cut. Useful when turning long recordings into tight edits.
npx skills add Orkas-AI/Orkas-VideoStudio --skill stage-decide -a claude-codeWhat stage-decide does
This skill handles the decision phase of video editing when you need to condense footage rather than cut at predefined timestamps. It inspects the media first. Spoken tracks go through ovs transcribe for word-aligned boundaries, while ovs silence and ovs scenes detect pauses and shot transitions.
Repetitive cleanup runs deterministically with ovs edit trim-silence and ovs edit remove-fillers. When a speaker repeats a line, the skill logs candidates in takes.json and ranks them via ovs plan rank-takes. Every chosen segment is recorded in plan.json alongside its confidence score and measured signal.
Without the ovs binary in your environment, the agent cannot extract footage metrics. Narrative pacing stays subjective; the skill flags artistic choices as low-confidence drafts for your review.
What it helps with
- strip silent pauses and filler words with word-level accuracy
- score and pick the best take across repeated lines
- extract highlight clips from long recordings using transcript timing
- filter out blurred, dark, or frozen video segments
Example prompts for the agent
- Condense podcast recording
raw/clip.mp4to a 2-minute highlight reel - Remove all dead air and filler words from
interview.mp4 - Evaluate takes in
speech.mp4and generate an audit plan for rough cuts
How to install stage-decide
1Skills CLI (Vercel)
npx skills add Orkas-AI/Orkas-VideoStudio --skill stage-decide -a claude-code2Manually: put the files in place
~/.claude/skills/stage-decide/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/stage-decide/
1Skills CLI (Vercel)
npx skills add Orkas-AI/Orkas-VideoStudio --skill stage-decide -a codex2Manually: put the files in place
.agents/skills/stage-decide/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Orkas-AI/Orkas-VideoStudio --skill stage-decide -a cursor2Manually: put the files in place
.cursor/skills/stage-decide/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Orkas-AI/Orkas-VideoStudio stage-decide2Manually: put the files in place
.github/skills/stage-decide/SKILL.md1Skills CLI (Vercel)
npx skills add Orkas-AI/Orkas-VideoStudio --skill stage-decide -a gemini-cli2Platform CLI
gemini skills install https://github.com/Orkas-AI/Orkas-VideoStudio --path packages/skills/stage-decideManually: put the files in place
.devin/skills/stage-decide/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Orkas-AI/Orkas-VideoStudio --skill stage-decide -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about stage-decide
How to install stage-decide in Claude Code?
Run npx skills add Orkas-AI/Orkas-VideoStudio --skill stage-decide -a claude-code. The skill definition installs into ~/.claude/skills/stage-decide/SKILL.md.
What is the difference between stage-decide and stage-edit?
The stage-decide skill evaluates raw footage to choose what to keep or discard. The companion stage-edit skill only executes known cuts against fixed timestamps.
How does stage-decide pick between repeated takes?
It writes take durations and text to takes.json, rates quality via ovs quality, and groups repeats using ovs plan rank-takes to find the cleanest version.
Source text
SKILL.md · MIT
---
name: stage-decide
description: The decision layer for real footage — understand → select → produce an EVIDENCE-bearing rough cut. Trigger when the EDIT task is "find / select / reduce / clean" (remove dead air, drop fillers, pick highlights, cut 1 hour to 3 minutes), NOT executing a known timecode edit (that is stage-edit). Deterministic auto-cuts (silence/filler/quality) are reliable; narrative/emotional selection is a low-confidence DRAFT for the user to review.
---
# stage-decide
The hard, valuable part of editing real footage is not executing a cut you already chose — it is
**figuring out WHAT to cut**: understanding opaque raw material, removing its intrinsic defects
(dead air, fillers, weak takes), and reducing it without losing the point. This skill is the
"understand → decide" layer; `stage-edit` executes the cuts you land on.
Describe what to produce; the operations run through the CLI (or the equivalent MCP tool):
`ovs edit trim-silence` / `ovs edit remove-fillers` (deterministic auto-cuts that return evidence),
`ovs scenes` (cut candidates), `ovs quality` (blur/exposure/black/freeze flags), `ovs transcribe --out`
(word timings saved as JSON), `ovs silence`.
## Use this when
The user supplies real footage AND the work is to **select or clean**, not to run a known edit:
"cut this 40-min recording to a 2-min highlight", "remove the ums and dead air", "make 3 clips from
this podcast", "tighten this talking-head". If they already gave you timecodes ("trim 0:10–0:35"),
skip this — that is plain `stage-edit`.
## Method
1. **Understand the material first** (never decide against footage you have not measured):
- `ovs edit probe` for duration/resolution.
- Spoken footage → `ovs transcribe raw/clip.mp4 --out project/transcripts/clip.json` (word-level timings) so you cut on sentence/word boundaries, never mid-word.
- Visual reduction → `ovs scenes` for shot boundaries; bound the moments you keep on these candidates.
- Dead air → `ovs silence` to see the gaps.
2. **Decide — deterministic first, judgment second:**
- **Cleaning is mechanical** — use the auto-cuts: `ovs edit trim-silence` (drop dead air),
`ovs edit remove-fillers` (transcribe → drop um/uh). They are reliable and return the spans they removed.
- **Build a candidate pool first** — turn the signals into a structured list of selectable pieces:
each transcript sentence (spoken footage) or scene segment (visual footage), annotated with its
timecode, duration, and quality flags/score. Select FROM this list — do not eyeball raw footage.
- **Selection is judgment** — when picking highlights / reducing length, ground EACH kept span on a
measured signal (a scene boundary, a transcript sentence, a scored moment). Keep whole sentences;
pad cuts so they are not jarring; for a talking-head the jump-cut keeps audio and video in sync —
do not desync the lips.
- **Best take among repeats** — when the same line was recorded several times, do NOT guess: write a
`takes.json` (`[{id, text=the take's transcript, quality_score from `ovs quality`, duration_sec}]`)
and run `ovs plan rank-takes takes.json`. It groups the repeats and tells you which to KEEP (best
quality) and which to drop. Choosing what to keep across DIFFERENT moments is still your judgment;
this only resolves "which of these identical takes".
- **Quality triage** — `ovs quality` flags bad shots (blurry / too dark / over-exposed / black /
frozen). Drop or avoid flagged spans; blur is content-relative (compare, do not threshold blindly),
dark / black / freeze are absolute defects.
- **Visual / silent footage (no speech)** — the content is in the PICTURE, so transcript is empty.
Sample frames at candidate moments with `ovs edit extract-frame` and JUDGE THEM YOURSELF if you can
see images (you are the vision — no separate vision model). If you CANNOT see images, ground on
`ovs scenes` + `ovs quality` only and mark every visual judgment UNVERIFIED, or ask the user which
moments matter — NEVER invent what is on screen, and never escalate to a separate vision model.
3. **Record strategy and references.** Write `plan.json#edit_strategy` with deterministic/mixed mode, concrete objectives, and only evidence signals actually used. New work uses transcript/scene/silence/quality/vision signals; `ocr` remains readable only in historical plans. Keep preserve/may-change boundaries non-overlapping. Record every source or guiding image/video in top-level `references`; video timing/motion guidance needs temporal anchors.
4. **Record evidence — make every cut auditable.** For each kept/cut segment in `plan.json`, set
`reason` (why this moment), `confidence`, and `evidence` (the auto-cut tools return removed/kept
spans; for your own selections, cite the signal). This is the whole point — not a black box.
5. **Produce** the tightened clip (the auto-cut tools output it directly; for selection, trim the kept
spans and concat per `stage-edit`).
## Honest ceiling — present a DRAFT, let the user decide
- **High confidence (ship it):** silence/filler removal, transcript-driven sentence selection, quality
filtering. These are deterministic and proven.
- **Low confidence (mark it, never claim it is "right"):** narrative arc, emotional beats, comedic
timing, "does this cut FEEL right". These are subjective with no ground truth. Offer the rough cut as
a first pass, flag the low-confidence calls, and invite the user to adjust at the draft gate.
Never over-claim. An evidence-backed rough cut the user can audit and tweak beats a confident black box.
© Orkas-AI · MIT · Orkas-AI/Orkas-VideoStudio