Communitygithub.com

EvovexAI/EvoFlow

사용자가 모션이 메시지인 짧고 디자인 중심의 모션 그래픽(운동 타이포그래피, 숫자 카운트업, 차트/데이터 시각화, 로고 스팅, 브랜드 록업, 로우더 서드, 콜아웃, 소셜 오버레이, 애니메이션 헤드라인/트윗/뉴스 아이템, 모션 포스터, 캡처된 페이지 하이라이트)을 원할 때 사용합니다. 일반적으로 10초 미만에서 최대 30초 정도이며, 내레이션, 음성 해설, 실사 액션 주제가 없습니다. MP4 또는 투명 오버레이로 렌더링할 수 있습니다. 더 길고, 여러 장면이 있거나 내레이션이 있는 작품, 브랜드 릴, 내레이션이 있는 웹사이트 비디오, 주제 설명, 제품 프로모션, PR 비디오, 기존 영상에 자막을 추가하는 경우에는 적합하지 않습니다. 빠른 모션 중심 작품인지 긴/내레이션 작품인지 확실하지 않으면 /hyperframes를 참조하세요.

EvoFlow란 무엇인가요?

EvoFlow는 짧고 디자인 중심의 내레이션이 없는 모션 그래픽 제작에 특화된 AI 에이전트 스킬입니다. 운동 타이포그래피, 데이터 시각화, 로고 애니메이션 등 모션 자체가 메시지를 전달하는 10초 미만(최대 30초)의 작품을 빠르게 제작하도록 설계되었습니다. 내레이션, 음성 해설, 실사 액션, 또는 여러 장면이 포함된 장편 비디오에는 적합하지 않으며, 해당 요청은 /general-video 등 다른 스킬로 리디렉션됩니다. EvoFlow는 macOS Apple Silicon 및 Linux x64를 지원하며, CLI 도구 hyperframes를 기반으로 합니다. 초기화, 계획(검색 필요 여부 결정 및 카테고리 선택), 자산 소싱, 디자인, 빌드, 렌더링, 검증의 7단계로 구성된 체계적인 워크플로를 따릅니다. 주요 기능으로는 자산 우선 접근 방식(디자인 전에 실제 재료 소싱), 재사용 우선 컴포지션(카탈로그 블록 및 애니메이션 규칙 활용), 검증 단계를 통한 오류 복구 메커니즘 등이 있습니다. 포트폴리오에는 Kinetic Typography, Stat, Charts, Logo Reveal, Lower Thirds, Webpage, News, Tweet, Asset Fusion 등 다양한 카테고리가 포함되어 있습니다.

지원 대상~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/EvovexAI/EvoFlow/tree/HEAD/skills/public/motion-graphics

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

모션 그래픽 — 디스패치 항목

Step 0 전에 경로를 확인하세요. 이 스킬은 짧고 디자인 중심이며 내레이션이 없는 모션 그래픽을 제작합니다(모션이 메시지이며, 10초 미만, 음성 해설 없음). 더 길고, 여러 장면이 있거나 내레이션이 있는 작품 → /general-video; 웹사이트에 대한 내레이션 비디오 → /general-video; 주제 설명 → /faceless-explainer; 제품 프로모션 → /product-launch-video; 기존 영상에 자막 → /embedded-captions. 범위 외: 실시간/렌더링 시 데이터, 또는 캡처할 수 없는 영상. 모션 우선인지 내레이션인지 확실하지 않다면? 먼저 /hyperframes를 읽으세요.

짧고 디자인 중심의 모션 그래픽입니다. 자산 우선: 샷을 디자인하기 전에 자산 전략을 결정하고 실제 자료를 소싱한 다음, 보유한 자료를 중심으로 샷을 디자인하고, 카탈로그 기능을 재사용하여 컴포지션합니다. 모든 아티팩트는 PROJECT_DIR = videos/<project-name>/에 저장되며(Step 0에서 생성), 아래 모든 경로는 이 디렉토리를 기준으로 합니다.

단계실행주요 아티팩트상세 흐름
initBashhyperframes.jsonStep 0
plan서브에이전트 — 검색 여부 결정? + 분류 + 자산 전략shot-plan.json (초안: 카테고리, asset_needs 쿼리, 브리프)agents/director.md (Part 1)
source ◇Bash — 미디어 사용 해결 (asset_needs가 비어 있으면 건너뜀)assets/ + assets/index.mdphases/source/guide.md
design서브에이전트 — 해결된 자산을 중심으로 샷 디자인shot-plan.json (최종: 블록 + 레이아웃 + 모션 + 위치)agents/director.md (Part 2)
build서브에이전트 — 재사용 우선 컴포지션compositions/index.htmlagents/builder.md
renderBash — hyperframes render (MP4, 또는 오버레이용 --format webm/mov)renders/video.mp4Step 5
verifyBash — lint / inspect -> 실패 시 복구 서브에이전트(해당 위치에서 수정)agents/finalize.md

◇ source는 선택된 카테고리가 자산을 선언한 경우에만 실행됩니다. 순수 코드/텍스트 카테고리(예: kinetic-type, 대부분의 charts/stat)에는 asset_needs: []가 있으며 계획 단계에서 디자인 단계로 바로 넘어갑니다.

카테고리 — 검색 결정에 따라 분류

plan의 첫 번째 결정은: 검색이 필요한가? 입니다. 이 분기는 카테고리를 두 그룹으로 나눕니다. 그런 다음 특정 카테고리가 선택됩니다. 검색 기반의 경우 검색 결과 유형별로 선택합니다. 각 카테고리는 하나의 categories/<id>/module.md(계획 + 빌드 규칙)이며, 공유 모션 어휘는 references/motion-vocabulary.md에 있습니다(→ hyperframes-animation 규칙/청사진 + 레지스트리 블록).

형식 카테고리 — 검색 없음, 사용자가 콘텐츠 제공:

카테고리의도참고 사항
kinetic-type강력한 한 줄 / 인용구 / 제목, 모션 우선 텍스트caption-* 블록 + 애니메이션 규칙
stat단일 히어로 숫자 / 카운트업 + 링apple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
charts데이터의 막대 / 선 / 파이 / 레이스 / % 표시data-chart 블록
logo-reveal로고 스팅 / 브랜드 록업 (사용자 로고)logo-outro / rules/svg-path-draw
lower-thirds이름 / 직함 바, 콜아웃, 소셜 오버레이caption-* + 레지스트리 오버레이 블록

검색 기반 카테고리 — 먼저 검색한 다음 콘텐츠 유형별로 애니메이션 적용 (RWA 경로):

반환된 콘텐츠카테고리애니메이션
웹페이지/링크webpage웹페이지 / UI 애니메이션 (스크롤, 나타내기, 커서, 콜아웃)
뉴스 기사news헤드라인 나타내기 + 소스 카드 + 주요 사실 콜아웃
트윗tweet애니메이션 트윗 카드
이미지/엔티티asset-fusion자산의 지오메트리가 차트가 됨 (RWA 다이제틱 퓨전)

빌드 순서: 한 번에 하나씩, 커버리지 우선(대략적인 것도 괜찮음). kinetic-type는 프로토타입에서 이식됨; 나머지는 따름.

전제 조건

macOS Apple Silicon 또는 Linux x64. 시스템 도구: brew install node ffmpeg. npx hyperframes doctor 한 번 실행. macOS GPU 렌더: export PRODUCER_BROWSER_GPU_MODE=hardware.

선택적 키 (설정되지 않은 경우 로컬 폴백) — 미디어 사용을 통해 자산을 소싱/생성하는 카테고리에만 필요:

키용도폴백
GEMINI_API_KEY / GOOGLE_API_KEY이미지 생성 (미디어 사용 해결)생성 건너뛰기 / 검색 전용
(자산 스카우트/검색 제공자)webpage/news/tweet + asset-fusion 실제 자산 검색카테고리가 자산 없음으로 저하됨

흐름

Step 0 — 초기화

cwd는 에이전트 워크스페이스 루트이며, 모든 아티팩트를 PROJECT_DIR = videos/<project-name>/ 아래에 작성합니다. <project-name>: 사용자가 제공한 디렉토리를 사용하거나, 의도에서 짧은 케밥-케이스 이름을 사용합니다(<subject>-motion). 워크스페이스 기본 이름이나 타임스탬프를 사용하지 마십시오.

$PROJECT_DIR/hyperframes.json이 없는 경우에만:

PROJECT_DIR="${MOTION_GRAPHICS_DIR:-videos/<project-name>}"
mkdir -p "$(dirname "$PROJECT_DIR")"
npx hyperframes init "$PROJECT_DIR" --non-interactive --example=blank

init은 설치된 스킬을 GitHub의 최신 버전과 비교하여 오래된 것이 있으면 전역 세트를 업데이트합니다.

제약사항: 워크스페이스 루트에서 hyperframes init을 실행하지 마십시오. PROJECT_DIR 내부에 다른 hyperframes/를 중첩하지 마십시오. 모든 Bash 명령(마스터 + 서브에이전트)은 (cd "$PROJECT_DIR" && ...) 서브셸입니다 — 절대 cd를 바로 사용하지 마십시오.

Step 1 — 계획 (서브에이전트: Director Part 1)

하나의 서브에이전트를 디스패치합니다. 프롬프트 = 전체 agents/director.md + ## Dispatch context (SKILL_DIR / PROJECT_DIR / 사용자 요청 / Schema: <SKILL_DIR>/references/shot-plan-ir.md). 다음을 수행해야 합니다:

  1. 결정: 검색이 필요한가? (첫 번째 분기)
    • 아니오 → 형식 카테고리(kinetic-type / stat / charts / logo-reveal / lower-thirds)를 선택합니다. 콘텐츠는 사용자가 제공합니다. asset_needs: [].
    • 예 → 검색 계획을 asset_needs[]로 내보냅니다(뉴스 / 웹 / 트윗 / 이미지, 양극 쿼리). 특정 검색 기반 카테고리(webpage / news / tweet / asset-fusion)는 Step 2에서 반환된 콘텐츠 유형에 의해 확인되고 Step 3에서 확정됩니다.
  2. 초안 shot-plan.json을 작성합니다(엔벨로프 + 선택한 형식 카테고리 또는 검색 의도 + asset_needs + 한 문단 분량의 샷 브리프). 스키마: references/shot-plan-ir.md.

검증: [ -s "$PROJECT_DIR/shot-plan.json" ] && echo ok || echo missing.

Step 2 — 소스 ◇ (Bash: 미디어 사용, 조건부)

shot-plan.json.asset_needs가 비어 있지 않으면 자산을 해결합니다(검색 / 생성 / 가져오기 → 고정된 프로젝트-로컬 경로 + 원장). phases/source/guide.md를 참조하십시오(media-use resolve를 래핑하며, 검색 기반 카테고리는 뉴스/웹/트윗/이미지 검색을 사용합니다). asset_needs가 비어 있으면 Step 3으로 건너뜁니다.

# 설명용 — phases/source/guide.md 참조
(cd "$PROJECT_DIR" && node <SKILL_DIR>/phases/source/resolve.mjs --plan ./shot-plan.json --out ./assets)

우아하게 저하: 검색/제공자를 사용할 수 없으면 카테고리가 자산 없음으로 대체됩니다(context.log에 기록).

Step 3 — 디자인 (서브에이전트: Director Part 2)

서브에이전트를 디스패치합니다(프롬프트 = agents/director.md Part 2 + Step 2가 실행된 경우 해결된 assets/index.md를 포함한 디스패치 컨텍스트 + catalog-map.md). 사용 가능한 자산을 중심으로 샷을 디자인합니다: 카탈로그 블록 + hyperframes-animation 규칙/청사진, 레이아웃, 모션, 비트, 그리고 (asset-fusion의 경우) element_positions + 스포이드 팔레트를 선택합니다. shot-plan.json을 확정합니다(content.block + content.customize + 카테고리별 콘텐츠).

Step 4 — 빌드 (서브에이전트: Builder, 재사용 우선)

서브에이전트를 디스패치합니다. 프롬프트 = 전체 agents/builder.md + 디스패치 컨텍스트(shot-plan.json, catalog-map.md, 카테고리의 module.md, references/motion-vocabulary.md, references/builder-contract.md). 재사용 우선: npx hyperframes add <block> + 해당 위치에서 커스터마이즈; 간격과 자산 퓨전 어포던스만 직접 작성합니다. HF 계약을 준수하는 compositions/index.html을 출력합니다(일시 중지된 GSAP 타임라인 window.__timelines, class="clip" + 안정적인 ID, tl.seek(0), 결정론적).

Step 5 — 렌더링 (Bash)

(cd "$PROJECT_DIR" && npx hyperframes render . --skill=motion-graphics -q draft -o ./renders/video.mp4)
# 투명 오버레이 변형: --format webm  (또는 mov)

Step 6 — 검증 (Bash → 실패 시 복구 서브에이전트)

(cd "$PROJECT_DIR" && npx hyperframes lint . && npx hyperframes inspect .)

exit 0 → 완료. lint/inspect 오류 시 복구 서브에이전트 디스패치(agents/finalize.md: 스냅샷 QA + 한 번의 제자리 수정 패스 + 재렌더링). 복구에서 고정된 지속 시간을 변경하지 마십시오.

보고 + 선택적 미리보기

최종 출력(renders/video.mp4, 또는 .webm / .mov 오버레이 변형) + 지속 시간을 보고합니다. 실행 중에는 미리보기를 열지 마십시오. 요청 시에만 제공되며, 렌더링 후에 시작되어 최종 파일을 제공합니다:

(cd "$PROJECT_DIR" && npx hyperframes preview)   # Studio UI; 또는 공유 가능한 링크용 `npx hyperframes play`

플래그는 hyperframes-cli 스킬(references/preview-render.md)에 있습니다.

재개 테이블

상태계속 위치
shot-plan.json 없음Step 1 (계획)
shot-plan.json에 asset_needs 있고, assets/ 없음Step 2 (소스)
shot-plan.json 확정, compositions/index.html 없음Step 3/4 (디자인+빌드)
compositions/index.html 존재, renders/video.mp4 없음Step 5 (렌더링) + Step 6
renders/video.mp4 존재보고 + 중지

디자인 노트 (유지보수자 — 실행 시 이 내용을 읽지 않음)

  • 자산 우선 근거: 소싱은 전면에 배치되며 샷 디자인에 정보를 제공합니다(RWA 흐름: 분석 → 검색 → 검토 → 컴포지션). 검색 기반 카테고리(webpage/news/tweet)와 asset-fusion은 모두 미디어 사용 검색(뉴스/웹/트윗/이미지)에 의존하며, 이는 미디어 사용의 문서화된 RWA 계보입니다.
  • 재사용 우선: 생태계 내에서 LLM 생성 템플릿에 해당하는 것은 "카탈로그 블록 + hyperframes-animation 규칙 컴포지션"입니다. HF의 일시 중지된 GSAP 타임라인은 Remotion의 useCurrentFrame과 유사합니다.
  • 카테고리 모듈 계약: 하나의 categories/<id>/module.md(계획 + 빌드)이며, references/motion-vocabulary.md를 공유합니다(+ 선택적 평가). 카테고리 추가 = 폴더를 추가하고 agents/director.md에 분류기 라인을 등록하고 catalog-map.md에 행을 추가합니다. 단계 파이프라인은 변경되지 않습니다.
  • 디렉토리 구조:
    videos/<project-name>/
      hyperframes.json  context.log
      shot-plan.json            # IR (Director 출력)
      assets/  assets/index.md  # 미디어 사용 출력 (소싱된 경우)
      compositions/index.html   # Builder 출력
      renders/video.mp4
    
  • 등록: hyperframes 라우터에서 — "디자인 중심의 짧은 모션 그래픽" 의도 + 워크플로 설명을 추가합니다. /general-video에서 모션 그래픽 트리거를 분리합니다. 반대 사용 금지 엣지를 추가합니다. motion-graphics-genre.md §5-7 참조.

Individual skills in this repo

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

EvovexAI/EvoFlow

Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on "captions/subtitles", "embed/cinematic captions", "VFX captions", "炸/特效/酷炫字幕", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription → hyperframes remove-background matting → HTML render → ffmpeg overlay. Requires hyperframes and a single-subject clip.

EvovexAI/EvoFlow

The fallback workflow for authoring custom HyperFrames video compositions at any length or format — longer or multi-scene pieces, brand / sizzle reels, montages, title cards, static loops, and freeform compositions. Input- and length-agnostic. If a specialized workflow clearly fits the input — a marketed product, a website, a topic explainer, a GitHub PR, existing footage, a short motion graphic, or a Remotion port — prefer it (see /hyperframes); use this only as the general fallback when none fit.

EvovexAI/EvoFlow

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). HyperFrames-native: single paused timeline, seek-safe, deterministic.

EvovexAI/EvoFlow

HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).

EvovexAI/EvoFlow

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class="clip"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

EvovexAI/EvoFlow

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.

EvovexAI/EvoFlow

Audio and media assets for HyperFrames compositions, produced by one shared audio engine (`scripts/audio.mjs`) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound effects (HeyGen audio-library retrieval by default, with local Lyria / MusicGen BGM generation and a bundled SFX library as the no-credential fallback), Whisper transcription, background removal, and caption authoring. Use for voiceover / TTS, BGM, SFX / sound effects, transcription, captions / subtitles / lyrics / karaoke / per-word styling, voice + provider selection, and music-mood prompting.

EvovexAI/EvoFlow

Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, registry discovery, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).

EvovexAI/EvoFlow

READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphic — a promo, explainer, captioned clip, title card, overlay, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames domain skills, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.

EvovexAI/EvoFlow

Use when the user has a music track (an audio file, or a video to pull audio from) and wants a beat-synced HyperFrames video, calm to hard-hitting. The music drives everything: one analyzer reads it once, the orchestrator lays out the frames and fills a per-frame plan, and one sub-agent builds each frame. Typography and templates are the floor — a complete video needs zero assets — but any images or videos the user supplies are cut into the frames on the same beat grid (beat-cut / ken-burns). The genre (lyric video, slideshow, kinetic promo) falls out of the per-frame choices; the pipeline never branches on it.

EvovexAI/EvoFlow

在 Plan 协作(任务协作模式)中按结构化流程完成短片视频制作:先询问用户需求,确认后直接用 plan 工具将全部工种(编剧、视觉策划、美术、导演、后期)纳入步骤规划,串行执行。

EvovexAI/EvoFlow

turn a product or marketing URL, pasted script, or brief into a product launch video, including SaaS promos, feature reveals, app launches, company promos, and product marketing videos. Use this skill when the user wants to market, launch, promote, or reveal a product. Do not use it for general non-launch website tours, non-product topic explainers, GitHub pull requests, captioning existing footage, or short unnarrated motion graphics. If the intent is unclear, route through /hyperframes first. This is the new shot-sequence architecture: every visual frame is authored as a time-coded shot sequence picked from a menu of golden blueprints, so frames develop over their full duration instead of freezing after entrance.

EvovexAI/EvoFlow

turn a GitHub pull request (a PR URL like github.com/<owner>/<repo>/pull/<N>, an <owner>/<repo>#<N> ref, or 'this PR' in a checked-out repo) into a code-change explainer video, up to ~3 min (sweet spot 30-90s) — changelog, feature reveal, fix, or refactor walkthrough, rendered from the diff / commits / files. The input is a CODE CHANGE read via the gh CLI; there is no website capture. Use this skill for a GitHub PR. Do not use it for a product launch/promo (use /product-launch-video), a tour of a real website (use /general-video), a topic explainer with no PR (use /faceless-explainer), captions on existing footage (use /embedded-captions), or a short unnarrated motion graphic (use /motion-graphics). If the intent is unclear, route through /hyperframes first.

EvovexAI/EvoFlow

Port an existing Remotion (React) composition to HyperFrames HTML. Use ONLY when the user explicitly asks to port/convert/migrate/translate a Remotion source. Do NOT use: (a) authoring a new HyperFrames composition; (b) Remotion mentioned in passing; (c) Remotion code shared as reference only; (d) "same video as my Remotion one" without explicit migrate request — treat as fresh build. Doubt → `/general-video`. One-way, Remotion-only: no reverse export (HyperFrames→Remotion or any framework), no non-Remotion source (After Effects, Framer Motion, plain React/CSS) → out of scope, re-create via `/general-video`. Flags unsupported patterns (useState, useEffect, async calculateMetadata, third-party React libs, `@remotion/lambda`) and recommends runtime interop over lossy translation. Unsure whether to port vs. build fresh, or only a passing Remotion mention? → /hyperframes.

EvovexAI/EvoFlow

本地文字转语音,使用sherpa-onnx(离线,无需云端)。当需要离线语音合成时使用。

관련 스킬