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…
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…
$ npx skills add gooseworks-ai/goose-skills --skill render-myth-vs-fact -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gooseworks-ai/goose-skills render-myth-vs-fact --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/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ads/capabilities/render-myth-vs-fact .claude/skills/render-myth-vs-fact && 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 "render-myth-vs-fact" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/capabilities/render-myth-vs-fact into .claude/skills/render-myth-vs-fact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-myth-vs-fact", 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/gooseworks-ai/goose-skills/tree/main/skills/ads/capabilities/render-myth-vs-factType 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 gooseworks-ai/goose-skills --skill render-myth-vs-fact -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gooseworks-ai/goose-skills render-myth-vs-fact --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ads/capabilities/render-myth-vs-fact .agents/skills/render-myth-vs-fact && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "render-myth-vs-fact" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/capabilities/render-myth-vs-fact into .agents/skills/render-myth-vs-fact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-myth-vs-fact", 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 gooseworks-ai/goose-skills --skill render-myth-vs-fact -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gooseworks-ai/goose-skills render-myth-vs-fact --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ads/capabilities/render-myth-vs-fact .cursor/skills/render-myth-vs-fact && 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 "render-myth-vs-fact" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/capabilities/render-myth-vs-fact into .cursor/skills/render-myth-vs-fact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-myth-vs-fact", 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/gooseworks-ai/goose-skills.git --path skills/ads/capabilities/render-myth-vs-fact--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 gooseworks-ai/goose-skills --skill render-myth-vs-fact -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gooseworks-ai/goose-skills render-myth-vs-fact --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ads/capabilities/render-myth-vs-fact .gemini/skills/render-myth-vs-fact && 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 "render-myth-vs-fact" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/capabilities/render-myth-vs-fact into .gemini/skills/render-myth-vs-fact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-myth-vs-fact", 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 gooseworks-ai/goose-skills render-myth-vs-factInstalls 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 gooseworks-ai/goose-skills --skill render-myth-vs-fact -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ads/capabilities/render-myth-vs-fact .github/skills/render-myth-vs-fact && 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 "render-myth-vs-fact" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/capabilities/render-myth-vs-fact into .github/skills/render-myth-vs-fact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-myth-vs-fact", 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 gooseworks-ai/goose-skills --skill render-myth-vs-fact -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gooseworks-ai/goose-skills render-myth-vs-fact --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ads/capabilities/render-myth-vs-fact .opencode/skills/render-myth-vs-fact && 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 "render-myth-vs-fact" agent skill from https://github.com/gooseworks-ai/goose-skills/tree/main/skills/ads/capabilities/render-myth-vs-fact into .opencode/skills/render-myth-vs-fact/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "render-myth-vs-fact", 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.
render-myth-vs-factAssemble 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…
Render Myth Vs Fact is an agent skill from 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 MYTH cards that flip to teal-check FACT cards (per-line strikethrough that crosses EVERY wrapped line), a "what actually works" turn, an optional proof reveal, a punch line, and a static end card. DETERMINISTIC assembly with ZERO AI-gen visuals — HTML hyperframes rendered frame-exact via Playwright (window.renderAt(t)…
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including scripts (for example `scripts/beat_snap.py`, `scripts/compose.py` and `scripts/config.example.json`).
It sits in Media & Creative, covering Video production, Motion graphics and Speech recognition and synthesis. It works with Playwright, FFmpeg, Python and HeyGen. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.
Read from SKILL.md and the folder at commit c650c6d. 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 12 files in scripts/ (Python and JavaScript), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Render Myth Vs Fact loads about 2.2k tokens when it runs. Until then it costs about 251 tokens; SKILL.md has 1,003 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 gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 1,003 words, ~2,189 tokens.
.claude/skills/render-myth-vs-fact/SKILL.md (or your agent's skills folder). This skill also uses 14 other files; get the full folder from GitHub.The free, deterministic renderer for the myth-vs-fact video ad format — the sound-off-safe kinetic-typography explainer that busts N common myths and hands the viewer a credible resolution. Red-strike MYTH cards flip to teal-check FACT cards over a VO (voice + tone are the caller's choice; the demo used a calm-authority expert), then a "what actually works" turn + an optional proof reveal + a punch line + a static brand end card.
Every on-screen word is a deterministic HTML hyperframe — no AI image/video gen, no b-roll, no character. Visuals cost $0. The only metered spend is upstream (VO + Whisper word-timestamps + an optional music bed), gated to its own capabilities. This capability OWNS the whole FREE assembly: beat-snap → render → captions → mix → burn → master. Iterate the cut for free; re-roll only the offending paid audio beat.
It ports the validated build from the Clinikally "acne myths" run — brand-neutralised,
config-driven, and portable (no /Users, no clients/; everything via --config +
--work-dir).
SOUND-OFF SAFE is the whole point: every claim is legible on-screen and the VO only reinforces it. VO-FIRST: render the VO, extract Whisper word onsets on the RENDERED audio, then snap every beat boundary + strike wipe + reveal to those onsets.
hook → 3× myth-fact (the flip triad — identical grammar so it reads as a pattern) →
turn (the "what actually works" pivot) → proof (optional actives/proof reveal, omit if
empty) → punch (full-frame closer) → end-card (the static brand PNG). Each beat carries
its role, duration, and its copy; ONE role template renders any pair.
scripts/beat_snap.py — VO-first alignment. FAL Whisper word-timestamps on the RENDERED
VO → re-snap every beat boundary to the nearest word onset. Writes
beat-manifest.json + whisper/words-flat.json into the work dir. --no-whisper keeps
the config durations un-snapped for a fully offline run.scripts/render_beats.py — the deterministic renderer. Per mg beat: pick the role
template under hyperframes/, inject the beat's copy + palette + fonts as window.BEAT,
drive window.renderAt(t) frame-by-frame via Playwright, screenshot each frame → ffmpeg
at EXACTLY the configured fps (default 25/1). The end-card beat is built from the
pre-supplied brand PNG (scale/crop + a ~0.35s fade-up) — never generated per run.scripts/make_captions.py — karaoke .ass from the manifest + Whisper words. ≤3 words
per cue; close on a >0.4s gap / beat-window edge / sentence-ending punctuation. Captions
are burned ONLY in caption-allowed windows; the proof + end-card beats are suppressed.scripts/compose.py — the assembler: concat the beats → mix VO + optional music (music
−20 dB, amix normalize=0, ~0.8s tail fade) → burn the .ass LAST → master mp4.scripts/config.example.json — the shape of the brand config the recipe binds (the
brand-neutralised Clinikally values as a worked reference).scripts/hyperframes/ — the bundled hyperframe scaffold: _shared.css (palette-tokened
tokens + card/tag/fact/pill/chain type), _shared.js (the initRenderer /
springScale / buildLineStrikes + strikeLines per-line-strike / popIn /
revealWords helpers + config injection), and one template per role (beat-hook.html,
beat-myth-fact.html, beat-turn.html, beat-proof.html, beat-punch.html).--config + a runtime work dir — NO hardcoded paths)config.json carries: fps (25) / width / height; vo + optional music +
mix{music_db:-20, tail_fade:0.8}; palette (the five CSS-var tokens bg, myth_strike,
fact_accent, headline_ink, accent); brand_name; display_font; end_card_png +
end_card_fade; caption_style; suppress_beats; and beats[] — each {n, role, duration, captions, cues{...}} plus the role's copy:
eyebrow, hook_line, emphasis, strike_wordmyth_index, myth_line, and either fact_line (a [bracketed] phrase
becomes the accented payload) OR fact_clauses[] (a staggered clause chain)turn_slate, turn_sub ([brackets] → emphasis)proof_eyebrow, proof_items[] ({name, badge}), proof_footnotepunch_lineend_card_png)The recipe's myth_fact_pairs, hook_line, turn_slate, punch_line, palette,
end_card_png, and optional actives_or_proof map onto these beats 1:1. See
config.example.json (a worked example — the Clinikally acne build; its copy and palette
are that brand's, never defaults).
The creative calls the caller makes upstream (the video-format recipe asks the user). This renderer never picks them — it only consumes the rendered files and copy:
vo file (made by create-vo-elevenlabs). The demo used a calm
expert voice.music file (made by create-music-elevenlabs). The demo used a
calm clinical pad + sparse warm keys, no drums.The palette is a brand fact (brand kit), not a choice.
Range.getClientRects,
deduped to one rect per visual line) and lay one red bar at each line's vertical MIDDLE,
driven as ONE continuous L→R sweep. A single fixed-Y rule reads as an underline the moment
the headline wraps.setTimeout, no CSS keyframes —
so Playwright seeks frame-exact and the render is fully reproducible.render_beats.py enforces +
warns; a mismatch makes the concat demuxer silently drop frames.Events Format: line MUST carry the Name field or every cue gets a
leading-comma artifact. Suppress the proof/footnote + end-card beats (two text layers at
one spot both go unreadable).−20 dB under the VO, amix normalize=0 (with
normalize on the bed pumps), ~0.8s tail fade. Sound-off must still work without the bed.pip install playwright && playwright install chromium) for the frame-exact hyperframe render, and ffmpeg/ffprobe on PATH. If
Playwright is unavailable, compose.py + make_captions.py (the concat / mix / caption
path) still run; only render_beats.py needs the browser.watch (QC the final master — the red strike crosses the vertical MIDDLE of EVERY wrapped
myth line, the VO is intelligible, captions are legible with no card collision,
suppression is correct on the proof + end-card beats, framerate is uniform 25/1, no
clipping, every claim is legible sound-off). The recipe gates the paid create-vo-eleven
(VO), create-music-elevenlabs (bed), and FAL Whisper calls — this capability itself
makes NO paid calls.© gooseworks-ai, MIT. 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 14 other files (scripts) in skills/ads/capabilities/render-myth-vs-fact of gooseworks-ai/goose-skills.
Open the folder on GitHubat commit c650c6d
Render Myth Vs Fact 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 |
|---|---|---|---|---|---|---|
| Render Myth Vs Fact this skillgooseworks-ai/goose-skills | 1.2k | — | ~2.2k | Automated safety check: Pass | MIT | |
| KinocutKyaniteLabs/kinocut | 198 | — | ~5.7k | Automated safety check: Pass | Apache-2.0 | |
| Motion Adfabricioctelles/skills | 106 | — | ~4.1k | Automated safety check: Pass | Apache-2.0 | |
| Browser Video Recordingnirholas/three.ws | 230 | 1 repos | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Motion FilmCoWork-OS/CoWork-OS | 477 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Motion EditorCoWork-OS/CoWork-OS | 477 | — | ~2.1k | Automated safety check: Pass | MIT |
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…
fabricioctelles/skills
Produce a short motion-graphics video ad — a 15s Facebook/Instagram/TikTok spot — as a rendered MP4.
nirholas/three.ws
Create polished 60 fps 4:3 4K browser screen-recording style videos from Codex in-app browser captures, with browser-only crop, natural macOS cursor styling, deliberate click choreography…
CoWork-OS/CoWork-OS
Design and render a motion-design film entirely in code — launch videos, product promos, feature announcements, explainers, brand/event openers, social loops.
CoWork-OS/CoWork-OS
Build a local, offline motion-design editor app (After Effects / Screen Studio-lite) with scenes, layers, keyframes, spring easing, presets, stagger, a cursor layer, timeline, undo/redo, save/open…
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.
gooseworks-ai/goose-skills
Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.
gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.
gooseworks-ai/goose-skills
Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.
gooseworks-ai/goose-skills
Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.
gooseworks-ai/goose-skills
Find leads by scraping engagers from a competitor's top LinkedIn posts.
gooseworks-ai/goose-skills
Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…
Works with
Categories
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…. Render Myth Vs Fact is an agent skill from gooseworks-ai/goose-skills.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 MYTH cards that flip to teal-check FACT cards (per-line strikethrough that crosses EVERY wrapped line), a "what actually works" turn, an optional proof reveal, a punch line, and a static end card.
Render Myth Vs Fact fits situations like: the myth-vs-fact format; tasks that involve Video production; tasks that involve Motion graphics.
Run `npx skills add gooseworks-ai/goose-skills --skill render-myth-vs-fact -a claude-code`. Or copy the skill folder (skills/ads/capabilities/render-myth-vs-fact in gooseworks-ai/goose-skills) into .claude/skills/render-myth-vs-fact in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gooseworks-ai/goose-skills --skill render-myth-vs-fact -a codex`. Or copy the skill folder (skills/ads/capabilities/render-myth-vs-fact in gooseworks-ai/goose-skills) into .agents/skills/render-myth-vs-fact 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 gooseworks-ai/goose-skills --skill render-myth-vs-fact -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/render-myth-vs-fact, .gemini/skills/render-myth-vs-fact, .github/skills/render-myth-vs-fact and .opencode/skills/render-myth-vs-fact in your project.
Going by SKILL.md and its folder, Render Myth Vs Fact needs Python and JavaScript for the scripts in its folder. Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Render Myth Vs Fact is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Render Myth Vs Fact: Kinocut (KyaniteLabs/kinocut, 198 stars), Motion Ad (fabricioctelles/skills, 106 stars), Browser Video Recording (nirholas/three.ws, 230 stars) and Motion Film (CoWork-OS/CoWork-OS, 477 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.
Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.