kenectai
CLAUDE.md0 starsChanged 4 months agoApache-2.0View on GitHub
Open-source video rendering framework (KENECT AI fork of HyperFrames, Apache-2.0): write HTML, render video. This repo ships 20 AI agent skills via vercel-labs/skills. Install them before writing compositions — they encode framework-specific patterns that generic docs don't cover. Keep --full-depth: it installs the current main. Without it, skills add fetches the skills.sh registry blob, which lags main by hours (you'd get a stale skill). kenectai skills update already uses full-depth. /kenectai is the entry skill — read it first. It's…
In this repository21 other files it gives its agents.
- AGENTS.mdAGENTS.md
- embedded-captionsSkill
- faceless-explainerSkill
- figmaSkill
- general-videoSkill
- kenectai-animationSkill
- kenectai-cliSkill
- kenectai-coreSkill
- kenectai-creativeSkill
- kenectai-keyframesSkill
- kenectai-registrySkill
- kenectaiSkill
- media-useSkill
- motion-graphicsSkill
- music-to-videoSkill
- product-launch-videoSkill
- pr-to-videoSkill
- remotion-to-kenectaiSkill
- slideshowSkill
- talking-head-recutSkill
- website-to-videoSkill
The file
We split this CLAUDE.md into the rules it gives an agent
6 rules. About 0 are common, 2 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Keep --full-depth: it installs the current main.
- Distinctive: line 48
When adding a new skill, or substantially renaming / repurposing an existing one, update all agent-facing discoverability surfaces in …
- Very specific: line 52
If the skill changes the routing surface for "make a video" requests, also update the capability map and intent router in …
- Distinctive: line 76
Always lint and format changed files before committing.
- Very specific: line 80
After creating or editing any .html composition:
- Very specific: line 112
TypeScript: Avoid any and as T assertions.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
KENECT AI
Open-source video rendering framework (KENECT AI fork of HyperFrames, Apache-2.0): write HTML, render video.
Skills
This repo ships 20 AI agent skills via vercel-labs/skills. Install them before writing compositions — they encode framework-specific patterns that generic docs don't cover.
npx skills add sthuthillc/kenectai --full-depth # interactive picker
npx skills add sthuthillc/kenectai --all --full-depth # install all 20 (skips picker)
npx skills add sthuthillc/kenectai --skill <name> --full-depth # just one (bare name, no leading slash)Keep --full-depth: it installs the current main. Without it, skills add fetches the skills.sh registry blob, which lags main by hours (you'd get a stale skill). kenectai skills update already uses full-depth.
/kenectai is the entry skill — read it first. It's the capability map for the domain skills below AND the intent router for the creation workflows. The full README skills section mirrors this list; keep them in sync (see "Skill catalog maintenance" below).
Creation workflows
/product-launch-video— a product URL (or a pre-written script / text brief in no-capture mode) → product launch / promo video, up to ~3 min (sweet spot ~30-90s)./website-to-video— a general website / URL → a video of the site (tour / showcase / social clip from captured screenshots + assets); for a product launch / promo, use/product-launch-video./faceless-explainer— arbitrary text, no URL and no website capture → faceless explainer, up to ~3 min (sweet spot ~30-90s); every visual is LLM-invented (typography / abstract graphics / diagram / data-viz)./pr-to-video— a GitHub PR (URL /owner/repo#N/ "this PR") → code-change explainer, up to ~3 min (changelog / feature reveal / fix / refactor). A PR link, not a product website./embedded-captions— an existing talking-head video (MP4) → the same footage with captions / subtitles added (verbatim rail + embedded climax, or pure-cinematic embed); the footage itself is untouched (no NLE-style editing)./talking-head-recut— an existing talking-head / interview / podcast video (MP4) → the same footage packaged with designed graphic overlays (kinetic titles, lower-thirds, data callouts, pull-quotes, side panels, PiP) synced to the transcript; the clip plays unchanged underneath, footage untouched. For plain captions/subtitles →/embedded-captions./motion-graphics— a short (typically under 10s) design-led motion graphic, motion-is-the-message, no narration: kinetic type, a stat / number count-up, a chart, a logo sting, a lower-third / overlay, or an animated tweet / headline / captured-page highlight; rendered to MP4 or a transparent overlay. Longer / narrated / custom →/general-video./music-to-video— a music track (audio file, or video to pull audio from) → beat-synced video (lyric / slideshow / kinetic promo). Music drives pacing; user-supplied images / videos are cut onto the same beat grid./slideshow— a presentation / pitch deck / interactive deck — discrete slides, fragment reveals, branching, hotspot navigation, presenter mode. Output is a navigable deck, not a rendered video./general-video— fallback for any other video creation (title card, longer brand / sizzle reel, multi-scene montage, static loop, custom composition); the original kenectai flow — design → plan → layout → build → validate, any length./remotion-to-kenectai— port an existing Remotion (React) composition to KENECT AI HTML. One-way migration, not creation.
Domain skills (loaded on demand)
Atomic capabilities the creation workflows compose against — pull one when you need that specific layer:
/kenectai-core— the composition contract:data-*timing attributes,class="clip", tracks, sub-compositions, variables, framework-owned media playback, determinism rules. Read before writing composition HTML./kenectai-animation— all animation knowledge: atomic motion rules, scene blueprints, transitions, runtime adapters (GSAP default, plus Lottie / Three.js / Anime.js / CSS / WAAPI / TypeGPU)./kenectai-keyframes— seek-safe keyframe authoring across runtimes: GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth; pluskenectai keyframesdiagnostics for surfacing and verifying rendered motion./kenectai-creative— non-animation creative direction:frame.md/design.mdhandling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns./media-use— the media OS: resolve any media need (BGM, SFX, image, icon, logo, voice, color grade, LUT) into a frozen local file or paste-ready block + ledger record; generate via TTS / music / image models when the catalog misses; transcribe, caption, remove backgrounds, and reuse assets across projects. One sharedscripts/audio.mjsengine + manifest tracking; keeps search noise on disk./kenectai-cli— CLI dev loop:init,add,lint,check,snapshot,preview,render,publish,doctor,lambda(AWS Lambda cloud rendering)./kenectai-registry— install and wire registry blocks and components into compositions viakenectai add. Covers authoring a new block or component to contribute upstream./figma— import Figma assets, tokens, components, and storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI) plus Motion animations (MCP) and shaders (MCP source / native export) into a composition.
Skill catalog maintenance
When adding a new skill, or substantially renaming / repurposing an existing one, update all agent-facing discoverability surfaces in lockstep:
- The skill list above (CLAUDE.md) AND the workflow list in the root
AGENTS.md(it carries workflows only, no domain-skill section) AND the## Skillssection inREADME.mdANDdocs/guides/skills.mdx(rendered at docs.kenectai.com/guides/skills). Out-of-date entries silently kill discovery. - The scaffolded project template
packages/cli/src/templates/_shared/CLAUDE.md+AGENTS.md— written into everykenectai initproject, so a stale entry there ships to users. The two template files must stay byte-identical. - If the skill changes the routing surface for "make a video" requests, also update the capability map and intent router in
skills/kenectai/SKILL.md— that's the canonical router agents read first. - Mirror the Router / Creation workflows / Domain skills grouping across all surfaces so a skill always lives in the same column.
- Skill count appears in the README and CLAUDE.md intro lines ("20 AI agent skills…") — update on add/remove. The
docs/guides/skills.mdxpage and the CLI templates deliberately omit a count to avoid drift; keep them count-free.
The skill's own SKILL.md frontmatter description: is the source of truth for the one-line "use when" blurb; copy from there into the catalog rather than paraphrasing.
Build & Test
bun install # Install dependencies (NOT pnpm — do not create pnpm-lock.yaml)
bun run build # Build all packages
bun run test # Run all testsLinting & Formatting
Uses oxlint and oxfmt (not eslint, not prettier, not biome).
bunx oxlint <files> # Lint
bunx oxfmt <files> # Format
bunx oxfmt --check <files> # Check formatting (CI / pre-commit)Always lint and format changed files before committing. Lefthook pre-commit hooks enforce this automatically.
Composition Validation
After creating or editing any .html composition:
npx @kenectai/cli lint # Static HTML structure check
npx @kenectai/cli check # Browser gate (headless Chrome — runtime errors, layout, motion, WCAG contrast)Both must pass before previewing or considering work complete.
Project Structure
packages/
cli/ → kenectai CLI (create, preview, lint, render)
core/ → Types, parsers, generators, linter, runtime, frame adapters
engine/ → Seekable page-to-video capture engine (Puppeteer + FFmpeg)
player/ → Embeddable <hyperframes-player> web component
producer/ → Full rendering pipeline (capture + encode + audio mix)
shader-transitions/ → WebGL shader transitions for compositions
studio/ → Browser-based composition editor UI
registry/
blocks/ → Installable sub-composition scenes (50+)
components/ → Installable effects and snippets
examples/ → Starter project templates
docs/ → Mintlify documentation site (docs.kenectai.com)
skills/ → AI agent skill definitionsKey Conventions
- Package manager: bun (not pnpm, not npm for workspace operations)
- Commit format: Conventional commits (
feat:,fix:,docs:,refactor:,test:) - TypeScript: Avoid
anyandas Tassertions. Prefer type guards and narrowing. - Compositions: HTML files with
data-*attributes. Clips needclass="clip". GSAP timelines must be paused and registered onwindow.__timelines. - Frame Adapters: Animation runtimes plug in via the seek-by-frame adapter pattern. GSAP is the primary adapter.
- Deterministic rendering: No
Date.now(), no unseededMath.random(), no render-time network fetches.
Documentation
- Docs: https://docs.kenectai.com/introduction
- Catalog (50+ blocks): https://docs.kenectai.com/catalog/blocks/data-chart
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

