1---2name: frame-extraction3description: Extract useful frames from local video files based on task intent, such as persona research, shot breakdown, product visibility, UI walkthroughs, visual-style review, or CTA/compliance checks. Use this when the goal is not generic video analysis, but selecting the right still frames and contact sheets for a specific downstream need.4---56# Frame Extraction78## Use When9- The user needs selected still frames, a contact sheet, or a review pack from10 local video files for persona, product, UI, hook, CTA, before/after, or shot11 structure work.12- Use `video-analysis` before or alongside this skill when shot-level13 understanding already exists or would materially improve frame selection.1415## Do Not Use When16- The task belongs to ideation, QA, or another released skill listed in the handoff section.17- Required inputs are missing and guessing would change the result.1819## Selection Boundary20- Do not default to uniform sampling. Choose the smallest extraction mode that21 matches the task intent.22- Good mode defaults: persona/vibe `face-priority`, shot/structure23 `scene-change`, product visibility `object-priority`, UI/text24 `text-ui-priority`, hook `hook-first`, CTA/compliance `cta-last`, broad scan25 `uniform-sample`.26- Scope should be explicit: first 3-5 seconds, final 3-5 seconds, full video, or27 a requested timestamp range.2829## Source And Path30- Inputs can be one local video, a folder, or a manifest mapping source ids to31 local files. If only URLs are available, recover/download local files first.32- Preserve source video, timestamp, extraction mode, selection reason, and33 source basis in the frame manifest.34- Keep internal extraction requests, plan outputs, contact-sheet inputs, and35 intermediate manifests under `.postplus`; keep final frames/contact sheets in36 the user-facing output folder.3738## Review And Handoff39- Package outputs for the downstream job: persona frames plus contact sheet and40 vibe notes, shot frames plus timestamp list, product-visible frames plus proof41 notes, or UI frames plus readable text notes.42- For long videos, start with the bounded first pass, then expand only after the43 first manifest proves the mode is useful.44- Return final frame folders, contact sheets, and frame manifest paths.4546## Stop Conditions47- Stop when required user intent, source evidence, or owned input artifacts are48 missing and guessing would change the result.49- If an owned CLI or script command fails, report the exact error and stop. Do50 not bypass the failure with metadata-only answers, readiness probing, local51 payload rewrites, fallback providers, or unpublished tools.5253## Public Command Boundary5455- Choose the smallest matching command or workflow from the user input and run56 it directly.57- If an owned CLI or script command fails, report the exact error and stop. Do58 not bypass the failure with metadata-only answers, readiness probing, local59 payload rewrites, fallback providers, or unpublished tools.