Kinocut
KyaniteLabs/kinocut
Use Kinocut for guarded video editing, source-backed planning, FFmpeg operations, media analysis, subtitles, audio workflows, Hyperframes or Revideo rendering, repurposing packages, and release…
Turns one typical session between you and your agent into a short animated film built from your real messages, with a composed score, after you approve every line.
$ npx skills add heygen-com/hyperframes-community-skills --skill session-story -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install heygen-com/hyperframes-community-skills session-story --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/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/session-story .claude/skills/session-story && 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 "session-story" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/session-story into .claude/skills/session-story/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-story", 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/heygen-com/hyperframes-community-skills/tree/master/skills/session-storyType 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 heygen-com/hyperframes-community-skills --skill session-story -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install heygen-com/hyperframes-community-skills session-story --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/session-story .agents/skills/session-story && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "session-story" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/session-story into .agents/skills/session-story/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-story", 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 heygen-com/hyperframes-community-skills --skill session-story -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install heygen-com/hyperframes-community-skills session-story --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/session-story .cursor/skills/session-story && 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 "session-story" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/session-story into .cursor/skills/session-story/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-story", 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/heygen-com/hyperframes-community-skills.git --path skills/session-story--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 heygen-com/hyperframes-community-skills --skill session-story -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install heygen-com/hyperframes-community-skills session-story --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/session-story .gemini/skills/session-story && 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 "session-story" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/session-story into .gemini/skills/session-story/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-story", 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 heygen-com/hyperframes-community-skills session-storyInstalls 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 heygen-com/hyperframes-community-skills --skill session-story -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/session-story .github/skills/session-story && 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 "session-story" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/session-story into .github/skills/session-story/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-story", 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 heygen-com/hyperframes-community-skills --skill session-story -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install heygen-com/hyperframes-community-skills session-story --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/session-story .opencode/skills/session-story && 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 "session-story" agent skill from https://github.com/heygen-com/hyperframes-community-skills/tree/master/skills/session-story into .opencode/skills/session-story/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-story", 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.
session-storyTurns one typical session between you and your agent into a short animated film built from your real messages, with a composed score, after you approve every line.
The agent reads its own history with you, such as local Claude Code or Codex transcripts or messages you paste, and finds your routine. It then builds a film of 40 to 70 seconds in which your verbatim words arrive as objects, the agent's replies go back, the room is decorated from what the agent knows about you, and the agent composes a score matched to the timeline. Nothing on screen is invented: every line is a quote, and you approve each one before a frame is rendered.
You write story.json and the bundled engine handles the choreography, with p5.brush watercolour rendered through HyperFrames. Reads happen locally and only after you say yes, outputs hold your words and should never be committed or shared, and build time uses no network as long as snapshots run with describing turned off, since a Gemini key would otherwise send frames. It is not for someone else's history, a team's shared logs or marketing with made-up quotes. Setup runs once by hand with npm ci from a lockfile.
11 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ba7a0bb. 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.
Ships 1 file in scripts/ (JavaScript, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
npxshnodenpmpython3ffmpegFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx and npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GEMINI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Session Story Film loads about 1.8k tokens when it runs, and up to ~8.7k if it reads all its reference files. Until then it costs about 238 tokens; SKILL.md has 896 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); the scripts in this folder are not scanned.
The full file from heygen-com/hyperframes-community-skills at commit ba7a0bb, republished under its Apache-2.0 licence (© heygen-com). 896 words, ~1,801 tokens.
.claude/skills/session-story/SKILL.md (or your agent's skills folder). This skill also uses 38 other files; get the full folder from GitHub.The agent reads its own history with its user, finds their routine, and turns one typical session into a 40 to 70 s film, in the order it happened:
Write story.json and the engine does the choreography. Nothing on screen is invented: every line is a quote, and
the user approves every line before a frame is rendered.
ffmpeg on PATH, and the HyperFrames CLI pinned to
npx --yes hyperframes@0.8.71 (downloaded from the npm registry on first use).sh scripts/setup.sh runs npm ci from the committed lockfile: p5 2.3.3 (LGPL-2.1),
p5.brush 2.2.3 (MIT), @fontsource/permanent-marker 5.3.0 (Apache-2.0). Read-only downloads from npm.swift (Xcode Command Line Tools) plays the score through Apple's built-in General
MIDI bank. Elsewhere, fluidsynth with a General MIDI soundfont you set as SOUNDFONT. Neither downloads anything.~/.claude/projects/<project>/*.jsonl
(Claude Code) and ~/.codex/sessions (Codex), for the current project unless the user allows --all-projects.
Also the agent's memory and instruction files for the room. Nothing is uploaded.session-story-candidates.json (harvest) and everything inside the project folder you create. Both hold
the user's words: never commit or share them.--describe false to every snapshot, as shown below: with
GEMINI_API_KEY set, snapshot otherwise sends frames (the user's words) to Gemini. Render locally: the page paints
with WebGL.sh scripts/setup.sh (once).python3 scripts/harvest.py --project <their project folder> --out <scratch>/candidates.json prints
the routine and lists sessions, most typical first. --session <id> (with the same --project) prints one in
order, with local times and your replies. Per references/sources.md.node scripts/new-project.mjs <dir>. Everything you write from here lives in <dir>.<dir>/story.json beat by beat, in the order it happened, with each
beat's real time, per references/story.md. The user's lines are verbatim spans; your replies
are your own words from that session. Set screen to what their work looks like, and pick the ending their
sessions have. node scripts/schedule.mjs <dir> checks it: run it after every edit.<dir>/scenes/props-custom.js when the library has nothing true to them. If you are not Claude,
draw yourself: references/cast.md."approved": true. Until
then every frame carries a DRAFT stamp.snapshot command schedule.mjs prints. Look at every frame: quotes legible, props where
they belong, nothing covering a message. Show the user the contact sheet.<dir>/score/score.py with your own theme, key and palette, per
references/score.md. Then sh <dir>/score/build.sh. It fails on dead air.<dir>: npx --yes hyperframes@0.8.71 check, then
npx --yes hyperframes@0.8.71 render --fps 24 --crf 12 -o renders/session-story.mp4.schedule.mjs. Pull a frame at each key moment
(ffmpeg -ss <t> -i renders/session-story.mp4 -frames:v 1 renders/check-<t>.png) and look at them. Then hand
it to the user to watch with sound.The example (node scripts/new-project.mjs <dir> --example, then schedule.mjs <dir> --example) is the reference
film: a real session between Claude and the skill's author, who makes videos. It shows the format, not the shape of
your film. schedule.mjs refuses it without --example, so it can't stand in for your user's story.
schedule.mjs exits 0 and prints no warnings. hyperframes check passes. p5.brush logs WebGL uniform
warnings, which are harmless.score/build.sh ends with ok: no dead air, and the score's length matches the film's.schedule.mjs printed, has an audio track, and its frames at the key moments match the
design pass.schedule.mjs exit 1
and name the beat.The motion is physical and already tuned: glide paths, the fold, the throw, the swing, the bonk and the wingbeats.
Change the story, the room, the cast and the score. Leave the choreography in scenes/director.js and
scenes/compile.js alone unless you are fixing a bug. The motion rules are in
references/motion.md.
© heygen-com, 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
SKILL.md and 38 other files (scripts, references, assets) in skills/session-story of heygen-com/hyperframes-community-skills.
Open the folder on GitHubat commit ba7a0bb
Session Story Film 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 |
|---|---|---|---|---|---|---|
| Session Story Film this skillheygen-com/hyperframes-community-skills | 183 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| KinocutKyaniteLabs/kinocut | 197 | — | ~5.7k | Automated safety check: Pass | Apache-2.0 | |
| Render Myth Vs Factgooseworks-ai/goose-skills | 1.2k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Manim Video Productionbrowser-use/video-use | 28k | 6 repos | ~3k | Automated safety check: Pass | MIT | |
| Embedded Video Captionsheygen-com/hyperframes | 59k | 3 repos | ~8.6k | Automated safety check: Pass | Apache-2.0 | |
| HyperFrames Video Entry Pointheygen-com/hyperframes | 59k | 3 repos | ~5.2k | Automated safety check: Pass | Apache-2.0 |
KyaniteLabs/kinocut
Use Kinocut for guarded video editing, source-backed planning, FFmpeg operations, media analysis, subtitles, audio workflows, Hyperframes or Revideo rendering, repurposing packages, and release…
gooseworks-ai/goose-skills
Assemble a myth-vs-fact kinetic-typography explainer video ad (≈29.5s, 9:16) from N myth/fact pairs + hook / turn / punch copy + palette + a brand end-card PNG + a VO track — a hook, 3 red-strike…
browser-use/video-use
Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.
heygen-com/hyperframes
Adds captions to a single-subject talking-head video without editing the footage, from plain subtitles to cinematic text placed behind the speaker.
heygen-com/hyperframes
Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.
Pluviobyte/video-production-skills
Create reusable black-background white-text opening animations for new videos.
heygen-com/hyperframes-community-skills
Turns your local Claude Code session history into a 60 to 75 second hand-drawn ink film about a day with your agent, with a string score and your approval of every line.
heygen-com/hyperframes-community-skills
Builds side-by-side comparison and meme videos on a fixed photo of hands holding an open foldable phone, with your own HTML playing in each screen.
heygen-com/hyperframes-community-skills
Turns a text prompt, photo or short video into hand-made looking p5.js animation: self-writing handwriting, brushstroke repaints and living paintings rendered offline.
heygen-com/hyperframes-community-skills
Builds a short animated posting-license card video from an X profile's name, handle, counters and avatar, using a fixed template that the agent only fills in and renders.
heygen-com/hyperframes-community-skills
Builds captions that move in 3D space around a talking head: a virtual camera flies past words at different depths, hero words hide behind the speaker, and text steps at 15 fps with motion blur.
heygen-com/hyperframes-community-skills
Turns a Strudel live-coding music track into a 1080x1080 HyperFrames video where the code itself is the picture and each line highlights on the note it plays.
Categories
Turns one typical session between you and your agent into a short animated film built from your real messages, with a composed score, after you approve every line. The agent reads its own history with you, such as local Claude Code or Codex transcripts or messages you paste, and finds your routine. It then builds a film of 40 to 70 seconds in which your verbatim words arrive as objects, the agent's replies go back, the room is decorated from what the agent knows about you, and the agent composes a score matched to the timeline.
Session Story Film fits situations like: making an animated film about what working with your agent is like; turning a real session transcript into a short story with a score; reviewing and approving every quoted line before rendering.
Run `npx skills add heygen-com/hyperframes-community-skills --skill session-story -a claude-code`. Or copy the skill folder (skills/session-story in heygen-com/hyperframes-community-skills) into .claude/skills/session-story in your project. Claude Code loads it when a task matches its description.
Run `npx skills add heygen-com/hyperframes-community-skills --skill session-story -a codex`. Or copy the skill folder (skills/session-story in heygen-com/hyperframes-community-skills) into .agents/skills/session-story 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 heygen-com/hyperframes-community-skills --skill session-story -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/session-story, .gemini/skills/session-story, .github/skills/session-story and .opencode/skills/session-story in your project.
Going by SKILL.md and its folder, Session Story Film needs JavaScript for the scripts in its folder, the command-line tools its instructions call (npx, sh, node, npm, python3 and ffmpeg) and credentials named GEMINI_API_KEY. Our summary lists: Node 22 or later and Python 3.9 or later; ffmpeg on PATH; The HyperFrames CLI, downloaded from npm on first use; swift on macOS, or fluidsynth with a General MIDI soundfont, for the score.
SKILL.md contains no URLs. Its commands use npx and npm, which can reach the network depending on how they are called. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Session Story Film 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 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Session Story Film: Kinocut (KyaniteLabs/kinocut, 197 stars), Render Myth Vs Fact (gooseworks-ai/goose-skills, 1.2k stars), Manim Video Production (browser-use/video-use, 28k stars) and Embedded Video Captions (heygen-com/hyperframes, 59k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
heygen-com (a GitHub organization) maintains it in heygen-com/hyperframes-community-skills, which has 183 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 29, 2026.
Source: heygen-com/hyperframes-community-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.