Communitygithub.com

SingleGrain-Team/video-skills

Build a motion graphic where a screen recording plays in a large frame beside a checklist, and each checklist item ticks off at the exact moment that step happens in the recording, ending with every item checked and a short hold. Use when someone has a screen recording (product walkthrough, tutorial, onboarding, install demo) plus a list of steps with timestamps and wants a "watch the steps get done" film. Input is a recording, step labels with timestamps, a title and an optional palette; output is a 1920x1080 H.264 MP4 and the editable HyperFrames project.

¿Qué es video-skills?

video-skills is a Claude Code agent skill that build a motion graphic where a screen recording plays in a large frame beside a checklist, and each checklist item ticks off at the exact moment that step happens in the recording, ending with every item checked and a short hold. Use when someone has a screen recording (product walkthrough, tutorial, onboarding, install demo) plus a list of steps with timestamps and wants a "watch the steps get done" film. Input is a recording, step labels with timestamps, a title and an optional palette; output is a 1920x1080 H.264 MP4 and the editable HyperFrames project.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SingleGrain-Team/video-skills/tree/HEAD/skills/checklist-overlay

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

checklist-overlay

A screen recording on the left, a checklist on the right. Each item ticks the instant its step happens on screen. After the last tick the film holds on a fully checked list.

Inputs

InputNotes
RecordingOne local video file, ideally 16:9. Silent is fine.
Steps3 to 7 items: { "label": "...", "at": <seconds into the recording> }. Labels are short imperative phrases (about 2 to 4 words).
TitleOne line. Say the outcome ("Get a skill into your agent in 5 steps").
SubtitleOptional one line.
PaletteOptional hex overrides: bg, surface, panel, ink, muted, accent, border, accentInk. Default is dark with an orange accent. Keep accentInk dark enough to read on accent.

If the person gives no timestamps, scrub the recording (extract frames every 1 to 2 s with ffmpeg, look at them) and pick the first frame where each step is visibly done or underway. Do not guess.

Workflow

  1. Load /hyperframes, /hyperframes-core, /hyperframes-cli for the project contract.
  2. Write spec.json:
    { "title": "...", "subtitle": "...", "palette": { "accent": "#ff6b2b" },
      "steps": [ { "label": "Open the app", "at": 1.5 }, { "label": "Search", "at": 7.9 } ] }
    
  3. Generate the composition into the project directory: node <skill>/scripts/create.mjs spec.json <recording.mp4> <project-dir> [--hold 2.2] It copies the recording, extracts the last frame (so the picture holds after the recording ends), and writes index.html sized to the recording. Total length = recording length + hold (default 2.2 s).
  4. npx --yes hyperframes check must pass with 0 errors and 0 warnings.
  5. Validate (below), then render: npx --yes hyperframes render --workers 2 --quality delivery --output final.mp4.

Timing rules

  • The tick lands on the step, never before. Fill and check-draw start at t = at; the draw finishes about 0.3 s later. Nothing in the item may look checked before at.
  • Timestamps are recording time and the recording starts at composition time 0, so at is used unchanged. If you trim the recording, shift every at by the same amount.
  • An "up next" outline may appear on the next item shortly after the previous tick. It is an outline only, never a fill or a check.
  • Keep ticks at least 1.5 s apart so each one reads. If two steps are closer, merge them.
  • The last tick should sit at least 1.5 s before the recording ends, or raise --hold so the finished list is visible for 2 s or more.
  • Counter (n / N), progress bar and frame ring pulse all key off the same at values, so they stay in sync.

Layout (16:9 recordings)

1920x1080 canvas, 56 px margins. Title and subtitle on top; the recording frame is the hero at about 1250 px wide (about 65 percent of the width), the checklist panel is a 520 px column to its right, same height as the frame, items share the height equally. This keeps UI text in the recording readable. Do not shrink the frame below about 1100 px wide; for a taller recording the generator scales the frame by aspect ratio. Non-16:9 recordings: check the frame still fits under the header, or crop the recording first.

Labels wrap to two lines at 32 px; keep them under about 26 characters.

Validation

Do this on the rendered final.mp4, not only on snapshots:

  1. For every step extract one frame 0.08 s before at and one 0.45 s after: ffmpeg -ss <t> -i final.mp4 -frames:v 1 f.png.
  2. Look at them. Before: item unchecked, counter at i-1. After: item filled with a check, counter at i, progress bar advanced.
  3. Extract a frame in the final hold (about 0.2 s before the end): all items checked, counter N / N, bar full.
  4. Check the recording text is legible in the frame and no label is clipped. Fix spec.json or the palette and regenerate if not.
  5. ffprobe the file: 1920x1080, h264, duration = recording + hold.

Delivery

Report the path to final.mp4, its duration, and the step timestamps used. Keep the project directory (index.html, assets/, spec.json) so the film can be re-generated with different labels or palette. Open npx hyperframes preview first if the person wants to edit in Studio.

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

SingleGrain-Team/video-skills

Make a 30-45 second launch film for a product by staging it inside one persistent, neutral chat window. A user types a request, the assistant answers and calls the product as a connected tool, a progress card runs, a follow-up triggers a second tool action, and the result lands as a count-up headline number before closing on the logo, tagline and call to action. Use when you need a launch, feature or integration announcement video for something that plugs into AI assistants (a skill, MCP server, plugin, connector, CLI). Delivers a rendered 1920x1080 MP4 plus an editable single-file HyperFrames project.

SingleGrain-Team/video-skills

Build a 15-20 second product launch film that shows the product's real screen on a laptop built from plain CSS (no 3D model, no generation model) in a dark studio, scrolls the page, zooms into the interface for one key action such as typing a search, and resolves to the logo lockup. Use when someone has a full-page screenshot or screen recording of their product, one action worth showing, and a logo, and wants a short silent-friendly launch teaser rendered as a 1920x1080 MP4 with an editable HyperFrames project.

SingleGrain-Team/video-skills

Builds a 6-8 second logo sting in which the brand mark rides inside a refracting liquid bead (distorted past legibility), the bead swells, holds still for a beat, then ruptures into droplets and leaves the logo lockup (mark plus wordmark) crisp and upright on screen. Delivered as a 1920x1080 H.264 MP4 plus the editable HyperFrames project, with no 3D model, stock footage or generation model. Use it for brand intros and outros, product-launch openers, channel stings and any "reveal our logo" moment, from an SVG or PNG logo (including raster-only logos), a wordmark string and a palette.

SingleGrain-Team/video-skills

Make a 20-30 second launch film for a product that is not tied to one interface, such as a CLI, package, plugin or agent skill. The identical prompt or command is typed into four visually different surfaces in turn (a wide terminal, a tall chat card, a floating palette, an editor cell), the film then hard-cuts into a fast reel of real outputs on a beat or fixed tempo grid, and it closes on the command in a large pill. Delivered as a rendered 1920x1080 MP4 plus the editable HyperFrames project. Music is optional - with a track the cuts land on detected beats, without one they land on a 120 bpm grid.

SingleGrain-Team/video-skills

Make a roughly 30-second film that explains a code change (a pull request, release or uncommitted diff) to people who will never read the diff. It opens by showing the real diff scrolling past too fast to follow, cuts to a plain-language summary, fires four capability beats each pinned to a real code snippet, and closes on how to get it (install command and URL). Delivered as a 1920x1080 H.264 MP4 plus the editable HyperFrames project. Use when asked to turn a PR, changelog or release into a launch or explainer video.

SingleGrain-Team/video-skills

Render a 5-6 second motion graphic in which an oversized condensed headline (2-4 words) punches in behind a presenter, using a background-removed cutout of the presenter layered on top of the lettering. A hard cut then removes the presenter while the same headline holds the exact same size and position, and a short supporting line appears for a reading hold. Use it for talking-head intros, chapter openers, launch announcements and social hooks when you have one presenter clip, a headline, a supporting line and a palette. Built on HyperFrames; delivers a 1920x1080 H.264 MP4 plus the editable project.

SingleGrain-Team/video-skills

Builds a 10-14 second product sting out of a short run of UI moments (an entry screen, a single counting metric, a navigation list, one click that opens a menu, then an endcard) cut together so every cut carries the previous motion forward and the piece reads as one continuous camera move. Delivered as a 1920x1080 H.264 MP4 plus an editable single-file HyperFrames project. Use it for app launches, feature teasers, social bumpers and site intros when you have a product's logo, a couple of screenshots, one headline number and its real nav labels, and want polished UI motion without narration.

Skills relacionados