Communitygithub.com

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.

video-skills 是什麼?

video-skills is a Claude Code agent skill that 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.

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SingleGrain-Team/video-skills/tree/HEAD/skills/one-prompt-reel

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

one-prompt-reel

The claim this film makes: "it works the same wherever you type it." The proof is repetition. One string, four unrelated-looking surfaces, then a burst of what it produced, then the string again.

Inputs

InputRequiredNotes
promptyesThe exact command or sentence. Under about 50 characters reads best; it is typed four times plus once more at the close.
reel imagesyes16-24 real outputs: screenshots, product screens, stills pulled from earlier renders. Your own material only.
brand name, tagline, urlyesUsed on the closing card.
logonoSquare PNG with alpha. Omit for a text-only close.
musicnoA track you are licensed to use commercially. If you are unsure of the licence, ship silent.

Workflow

  1. Scaffold. Make a project folder, copy template/ into it (index.html plus assets/gsap.min.js) and put the reel images in assets/reel/. Then: npx --yes hyperframes check
  2. Fill the CONFIG block at the top of the <script> in index.html. Everything project-specific is there: prompt, bpm, reel file list, brand, tagline, url, logo. Do not restructure the rest unless a rule below forces it.
  3. Pick the cut grid.
    • No music: keep cuts: null. Cuts come from bpm and reelPattern (default: 8 cuts of one beat, then 16 cuts of half a beat, at 120 bpm = 4 s + 4 s). Surfaces last surfaceBeats beats each, so the whole film stays on the grid.
    • With music: add the track as <audio id="music" data-timeline-role="music" src="assets/music.mp3" data-start="0" data-duration="24" data-track-index="5">, run npx hyperframes beats, open beats/assets/music.mp3.json, and copy the beat times (in seconds) that fall at or after the reel start into CONFIG.cuts (one extra entry marks the end of the last cut, which is when the close begins). Set bpm to the track's tempo so the typing section lines up too. If the beats are denser than 0.2 s, take every second one. Fade the music out over the final second (/hyperframes-audio).
  4. Look before rendering. npx --yes hyperframes snapshot --at 1.8,4.3,6.8,9.2,11,15,20,23 and open the PNGs. Check each surface mid-typing, a reel cut and the close.
  5. Render. npx --yes hyperframes render --workers 2 -o final.mp4.
  6. Extract 4-6 frames from the MP4 with ffmpeg (one per surface, one reel cut, the close) and look at them. Fix and re-render if anything is clipped, unreadable or blank.

Shape of the film (24 s at defaults)

TimeBeat
0-10 sFour surfaces, 2.5 s each. Slide in from the right, type for roughly 1.5 s, press ENTER, slide out left. A small label names the surface and its position (1/4).
10-18 sHard cut with a white flash. 24 full-bleed output images, each with a slow push-in. The command sits in a pill bottom-left for the whole reel; a counter sits bottom-right.
18-24 sDark close: logo, name, tagline, the command typed once more inside an ember-edged pill, url, a single glow pulse.

Rules that make it work

  • The four surfaces must differ in silhouette, not just colour. Wide and low, tall and narrow, floating over a gradient, dark with a side tree. If you can squint and confuse two of them, redraw one. Build them from plain HTML and CSS; never imitate any real product's chrome, logo or palette.
  • Same string, same typing speed. Every surface types the identical prompt over the same duration. That sameness is the point.
  • Type with a timeline tween, not a timer. A tween over a {n} counter whose onUpdate slices the string is seek-safe; setInterval is not.
  • Blink carets with tl.set on a half-beat loop, never CSS animation or repeat: -1.
  • Cut on the grid. Every surface boundary, cut and close entrance lands on a beat, whether the grid is musical or a plain tempo. Off-grid edits are the first thing that reads as sloppy.
  • Speed up once. Slow cuts first, then half-length cuts. Do not accelerate repeatedly.
  • Reel images are evidence. Real output, not decoration. Prefer 1920x1080 stills; scale odd sizes with object-fit: cover. Alternate dark and light neighbours so each cut registers.
  • No third-party media. No logos, UI screenshots of other products, stock footage or fonts you cannot ship. Fonts: name one family explicitly (for monospace use "JetBrains Mono", which the CLI resolves itself); the generic ui-monospace stack rendered proportionally in testing.
  • Keep captions readable. Check contrast; hyperframes check enforces WCAG AA on text, so labels need a mid-dark ink on the cream stage.
  • Silence is acceptable. Do not add music of unknown licence; AI-generated tracks with non-commercial terms are out.
  • Keep the flash tween immediateRender: false, otherwise the layout audit sees a white overlay at t=0.

Validation

  • npx --yes hyperframes check must end with "Check passed" (lint, layout, contrast).
  • Snapshot frames show all four surfaces fully typed before their exit, no label overlapping a surface, no empty or half-loaded reel image.
  • ffprobe reports 1920x1080, h264, duration within the 20-30 s window.

Delivery

Put final.mp4 beside the project (index.html, assets/). If the repo's convention asks for a short note, list: prompt, tempo or beat source, reel image sources, music licence (or "silent"), and the render command. Mention that Studio (npx hyperframes preview) can re-time anything.

See references/surfaces.md for the four surface specs and references/grid.md for the timing arithmetic.

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 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.

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 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.

相關技能