Communitygithub.com

OliviaPp8/minara-video-skills

애니메이션 작업 전에 Minara 비디오 스크립트를 작성합니다. (런치/프로모션 영상, 단일 장면 보충, 사용 사례 튜토리얼) 브리프, 제품 스크린샷, 프론트엔드 코드, Figma 프레임 또는 기능 노트를 기반으로 키프레임 시트를 포함하는 영어 전용 스크립트 문서를 생성하고, 각 키프레임에는 정지 이미지, 그림 설명, 나레이션, 화면 텍스트(花字), BGM 스타일/사운드 큐가 포함됩니다.

minara-video-skills란 무엇인가요?

이 스킬은 Minara 비디오 제작 파이프라인의 첫 단계로, 애니메이션 작업 전에 상세한 비디오 스크립트를 작성하는 역할을 합니다. 사용자가 제공한 브리프, 제품 스크린샷, 프론트엔드 코드, Figma 프레임 또는 기능 노트를 입력으로 받아, 마크다운 형식의 스크립트 문서와 키프레임 이미지 폴더를 출력합니다. 각 키프레임은 하나의 정지 이미지와 함께 그림 설명, 나레이션 대사, 화면 텍스트(花字)의 스타일/위치/시간, BGM 스타일/사운드 큐 등 7개의 필드로 구성되어, 비디오의 모든 시각적 요소를 사전에 정의합니다. 이 스킬은 Claude Code, Cursor, Codex와 같은 AI 어시스턴트 환경에서 활용되며, 스크립트는 항상 영어로만 작성되고 차분하고 중립적인 어조를 유지하며, AI 작성 패턴을 금지하는 등 엄격한 품질 기준을 따릅니다. 완성된 스크립트는 하위 스킬(minara-video, minara-usecase-video, minara-music 등)로 전달되어 실제 애니메이션, 음악 제작에 사용됩니다.

지원 대상✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/OliviaPp8/minara-video-skills/tree/HEAD/skills/minara-videoscript

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

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

미리보기

스킬 README에서

K3

문서

/minara-videoscript — Minara 비디오 스크립트

스크립트만 작성하며, 애니메이션은 포함하지 않습니다. 결과물은 하나의 마크다운 스크립트 문서와 정지 키프레임 이미지 폴더입니다. 운영자가 승인하면 다음 하위 스킬로 전달됩니다:

비디오 유형하위 스킬
마케팅/런치/데모 영상 (코드로 그림 구성, UI 재구성 가능)minara-video
사용 사례/초보자 튜토리얼 (UI를 충실히 재구성)minara-usecase-video
운영자 자신의 화면 녹화에 자막+나레이션 오버레이minara-guide-video
녹음된 나레이션을 잘라서 나레이션 트랙에 배치minara-voiceover (키프레임 시트의 Voiceover 및 Time 열을 읽음)
음악/사운드 효과minara-music (이 문서의 음악 섹션 및 사운드 큐를 읽음)

구조: 단일 장면 보충은 하나의 source.html에서 58개의 키프레임을 추출합니다. 전체 영화는 보통 610개의 장면으로 구성됩니다. 새 스크립트는 영어로만 작성합니다.

핵심 단위: 키프레임

스크립트는 키프레임의 시퀀스입니다. 키프레임은 시청자가 반드시 봐야 하는 순간의 정지 이미지 하나이며, 그 주변에서 일어나는 모든 내용이 옆에 기록됩니다. 모든 키프레임은 동일한 7개의 필드를 포함합니다:

필드내용
이미지![K3](keyframes/<topic>/K3.png). 출처 태그: UI 코드 / Figma / AIGC.
시간정지 이미지가 나타내는 타임코드(40.5s)와 해당 범위(39.8–41.6s).
지속 시간해당 범위의 길이(초) (정지 + 이전 동작).
그림화면에 무엇이 있고 무엇이 움직이는지, 순서대로. 카메라 무브(있는 경우).
나레이션이 범위에서 말하는 대사, 또는 —.
화면 텍스트 (花字)정확한 텍스트, 스타일, 위치, in/out 시간. 또는 —. 아래 규칙 참조.
음악이 범위의 BGM 에너지 + 정확한 시간의 사운드 큐.

대략적인 기준: 영화 2~4초당 하나의 키프레임, 장면당 최소 하나. 무언가가 완료된 프레임(프롬프트가 입력된, 차트가 그려진, 알림이 도착한)을 선택하고, 동작 중간의 블러는 피합니다.

언어: 영어만 사용 (운영자, 2026-10-19)

  • 스크립트 문서의 모든 내용은 영어로 작성: 제목, 메모, 흐름표, 키프레임 필드, 나레이션, 화면 텍스트, UI 복사본, 음악 노트, 미해결 질문. 중국어 번역 행, "中文对照" 열, 다른 언어는 없습니다. 키프레임 이미지 내의 텍스트에도 동일하게 적용됩니다.
  • UI 복사본은 영어 제품 UI에 나타나는 대로 정확하게 인용합니다.
  • 운영자는 중국어로 브리핑할 수 있습니다. 의미를 영어 스크립트로 번역합니다. 중국어로 작성하는 경우 채팅에서 중국어로 대화합니다. 문서만 영어입니다.

어조: 차분하고, 중립적이며, 자연스럽게

스크립트는 모델이 쓴 것이 아니라 사람이 쓴 것처럼 읽혀야 합니다. 차분하고 중립적으로: 무슨 일이 일어나는지 진술하고, 제품이 전달하도록 합니다.

  • 모든 나레이션 대사를 소리 내어 읽어보세요. 광고, 슬로건 생성기 또는 보도 자료처럼 들리면 다시 작성하세요. 동료에게 말하지 않을 표현이라면 삭제하세요.
  • 평범한 동사, 짧은 문장, 현재 시제. 축약형 사용 가능 (it's, you'll). 레지스터 예시: Just ask. / Backtest it. / Minara builds the workflow. / Then it keeps watching.
  • 중립적, 흥분하지 않음: 과장 형용사 없음, 느낌표 없음, 모두 대문자 없음, 이모지 없음.
  • 금지 단어: exciting, powerful, seamless(ly), effortless(ly), revolutionary, game-changing, unlock, unleash, elevate, supercharge, empower, cutting-edge, next-level, robust, leverage, harness, journey, landscape, delve, transform(ative), "at your fingertips".
  • 금지된 AI 패턴:
    • "Not just X, but Y" / "It's not X. It's Y."
    • 리듬을 위한 세 가지 나열 ("faster, smarter, safer")
    • "Imagine…", "What if…", "In a world where…", "Say goodbye to…", "Meet your new…"
    • 갈고리 역할을 하는 수사학적 질문
    • 콜론 또는 대시 공개 ("One thing changed: everything.")
    • 가짜 깊이를 추가하는 후행 -ing 절 ("…, giving you full control.")
    • 중요성 부풀리기 ("a pivotal moment", "redefines how…")
  • 전체 패턴 목록: AI 작성 패턴 목록 (예: Wikipedia "Signs of AI writing"). 전달하기 전에 모든 나레이션 대사와 모든 화면 텍스트를 이 목록과 대조하세요.
  • 이익 약속 없음 ("guaranteed", "risk-free"). 백테스트 또는 수익이 나타나면 위험 경고 줄을 표시하세요 (예: Past performance does not guarantee future results.).
  • 출처 자료에 없는 사실은 ⚠️로 표시하고 "미해결 질문"에 추가하세요. 지어내지 마세요.

워크플로우

  1. 입력 수집: 브리프, 스크린샷, 프론트엔드 코드 경로, Figma 링크, 기능 노트, 기존 컷, 음악 참고 자료(있는 경우). 추론할 수 없는 항목만 한 번에 하나의 결합된 질문으로 요청: 길이, 가로/세로, 플랫폼 (X / Discord / 웹사이트), 나레이션 유무, 영화 내 위치, 음악 분위기(운영자가 생각하는 것이 있는 경우).
  2. 프레젠테이션 선택 사항을 문서 상단에 고정하여 변경되지 않도록 함: 예시 케이스, 표면 (데스크탑/앱/웹), 시간대, 표시되지 않는 것. 아래 주제 규칙에 따라 케이스를 선택합니다.
  3. 먼저 텍스트를 초안 작성: 섹션 1 (전달할 내용), 사용자 흐름 및 UI 복사본, 장면 목록(타이밍 포함), 키프레임 목록(IDs, 시간, 그림, 나레이션, 화면 텍스트, 음악). 아직 이미지는 없음. 이렇게 하면 이미지 작업이 스토리를 주도하는 것을 방지합니다.
  4. 아래 경로를 사용하여 키프레임 이미지 생성, docs/keyframes/<topic>/K1.png …에 저장. UI 프레임이 먼저 (무료이고 정확함); 크레딧이 소모되는 AIGC 프레임 전에 먼저 문의.
  5. 문서 작성을 프로젝트의 docs/에 저장 (단일 장면: NN-script-scene-N-<topic>.md; 전체 영화: NN-script-<slug>.md). docs/가 없으면 프로젝트 루트. 링크하기 전에 모든 키프레임 PNG를 열고 Picture 필드와 대조 확인.
  6. 아래 체크리스트로 자체 점검. 나레이션 단어 수와 타이밍을 계산하고, 추정하지 마세요.
  7. 운영자에게 전송: 파일 경로와 3~5줄 (길이, 장면 수, 소스별 키프레임 수, 나레이션 단어 수/실행 시간 비율, 한 줄의 음악 방향, 미해결 질문 수). 운영자는 스크립트를 편집하고 키프레임을 표시하며, 코드를 편집하지 않습니다. 승인 전에 애니메이션 없음. 정지 이미지는 승인 전에도 허용되지만, 움직임은 허용되지 않습니다.
  8. 승인 후: 전달. 하위 스킬은 이 문서의 키프레임 시간을 기반으로 초당 스크립트를 확장하며, 아무것도 다시 작성되지 않습니다. minara-music은 Music 섹션에서 cues.json을 빌드합니다. 검토 위원회를 위해 minara-video의 assets/storyboard-template.html에서 storyboard.html을 생성합니다. AIGC 키프레임은 해당 AIGC 행에 매핑됩니다.

키프레임 이미지 만들기

세 가지 경로. 먼저 맞는 것을 사용하십시오. 스크립트는 혼합할 수 있으며, 각 키프레임은 사용된 경로를 명시합니다.

경로 A — UI 코드 (제품 UI인 경우 기본값)

프레임이 HTML로 그려지므로 복사본이 정확하고 프레임을 나중에 애니메이션에서 재사용할 수 있습니다.

  1. assets/keyframes-source-template.html을 docs/keyframes/<topic>/source.html로 복사합니다. 키프레임당 하나의 <section class="k" id="K1">; ?k=K1은 해당 프레임을 표시합니다.
  2. 실제 UI에서 각 프레임 채우기: 프론트엔드 코드(컴포넌트, i18n 문자열) 또는 기존 HyperFrames 구성에서 복사본, 데이터 및 구조를 가져옵니다. 크게 다시 그리기: 본문 ≥28px, 제목 ≥48px, 주요 숫자 80–140px, 화면당 3–5개 요소, Geist만 사용, Minara 팔레트 (#F2F2F2 스테이지, #15171A / #222222 / #FFFFFF UI, #B0B0B0 보조, 녹색 #07B56A 상승/성공 전용, 빨간색 #F75D5F 하락 전용), 그라데이션 없음, 오른쪽 하단에 "Illustrative data".
  3. 화면 텍스트(花字)를 프레임에 그려서 운영자가 실제 레이아웃을 검토할 수 있도록 합니다.
  4. 캡처:
    ~/.claude/skills/minara-videoscript/scripts/shoot_keyframes.sh \
      docs/keyframes/<topic>/source.html docs/keyframes/<topic> landscape K1 K2 K3
    
    출력은 2560×1440 (portrait: 1440×2560)으로 2K 전달과 일치합니다. 스크립트는 #k1도 전달하므로 이전 V2 소스 페이지(해시 선택)도 작동합니다.
  5. 애니메이션이 이미 존재하고 키프레임이 그 안의 순간인 경우: 다시 그리는 대신 구성을 찾습니다. 프로젝트의 테스트 페이지에서 ?t=<seconds> 또는 npm run snapshot -- <t1>,<t2>를 사용한 다음 PNG를 K<n>.png로 복사합니다.

경로 B — Figma

디자인이 Figma에 프레임이 있는 경우(아직 코드에 없는 새 화면, 캠페인 레이아웃).

  1. 링크에서 fileKey 및 nodeId를 가져옵니다 (node-id=1-2 → 1:2). get_design_context 전에 Figma 디자인-투-코드 지침을 로드합니다.
  2. get_screenshot을 maxDimension: 2560으로 사용한 다음 curl로 URL을 다운로드하여 docs/keyframes/<topic>/K<n>.png에 저장합니다.
  3. get_design_context / get_variable_defs를 사용하여 UI 복사본 테이블을 위한 정확한 복사본과 토큰을 가져옵니다.
  4. Figma 프레임이 조밀한 데스크탑 화면인 경우 참조 전용입니다: 경로 A를 통해 크게 다시 빌드하고 소스로 Figma → UI 코드를 기록합니다.

경로 C — 스크린샷에서 AIGC

제품 UI가 아닌 프레임용: 오프닝 이미지, 은유, 휴대폰을 사용하는 사람, 환경, 분위기 샷. 제품 UI 또는 실제 복사본이나 숫자가 있는 항목에는 절대 사용하지 마십시오. 이러한 항목은 A 또는 B를 통해 처리합니다.

  1. 먼저 물어보십시오. 이미지 생성은 크레딧을 소모합니다 (Figma generate_image는 Figma AI 크레딧 사용; Weave 모델은 견적 비용과 명시적 승인이 필요). 어떤 프레임, 어떤 모델, 비용을 말한 다음 기다립니다.
  2. 도구가 허용하는 경우 모델에 스크린샷 또는 경로 A 프레임을 참조로 제공합니다. 그렇지 않으면 프롬프트에서 참조를 설명합니다.
  3. 프롬프트 규칙: 16:9 (또는 9:16), Minara 팔레트를 단어로 설명 (밝은 회색 스테이지, 거의 검은색 UI, 흰색, 성공에만 녹색), 깨끗하고 미니멀, 부드러운 일광, 그라데이션 없음, 보라색-분홍색-주황색 없음, 이미지에 텍스트, 문자, 숫자 또는 로고 없음 (모델이 왜곡함; 텍스트는 코드에서 추가), 밈 이미지 없음, 실제 인물의 초상이나 다른 브랜드 없음.
  4. K<n>.png로 저장하고 정확한 프롬프트, 모델, 참조 이미지 및 날짜를 docs/keyframes/<topic>/prompts.md에 기록하여 프레임을 재생성하거나 AIGC 샷을 만드는 동료에게 전달할 수 있도록 합니다.
  5. 결과를 엽니다. 잘못된 텍스트, 잘못된 손, 잘못된 색상 또는 재고 AI 아트처럼 보이는 것은 거부합니다. 다시 생성하거나 경로 A 레이아웃으로 대체합니다.

화면 텍스트 (花字)

화면 텍스트는 UI 자체의 일부가 아닌 그림 위에 배치되는 모든 텍스트입니다: 캡션 라인, 제목, 주요 숫자, 종료 CTA.

  • 허용: (1) 나레이션 대사 또는 그 일부(캡션 또는 강조); (2) 실제 UI 복사본을 꺼내서 확대한 것; (3) 운영자가 요청한 제목, 주요 숫자 또는 CTA. 그 외에는 없음. 주석 단어, 레이블 벽, 떠다니는 키워드 또는 기능 태그 없음. 개념을 설명해야 하는 경우 그림과 동작으로 보여줍니다.

  • 나레이션 규칙 적용: 차분하고, 평범하며, 금지 단어 없음, 느낌표 없음, 문장 케이스.

  • 각 항목을 다음과 같이 작성: "Just ask." · 64px / 700 · #15171A · 창 위 왼쪽 상단 · 12.4s에 in, 14.0s에 out · minaraSnap으로 24px 상승.

  • 선택할 스타일 (하나의 영화에서 일관성 유지):

    스타일사용사양
    캡션나레이션 대사를 텍스트로 표시40–48px / 500, 하단 중앙, 어두운 배경에 흰색 또는 밝은 배경에 #15171A, 상자 없음
    헤드라인제목 또는 장면의 한 가지 주장64–96px / 700, tracking −0.02em, 왼쪽 정렬
    주요 숫자샷의 요점인 숫자120–200px / 700, 표 형식 숫자; 녹색/빨간색은 손익인 경우에만
    CTA종료 카드56–72px / 700 + 제품 이름 또는 URL
  • 모션: minaraSnap으로 in (0.6–0.9s, 작은 상승 또는 0.96에서 스케일), ≤0.3s 페이드로 out. 각 항목은 소리내어 읽는 데 걸리는 최소 시간 이상 유지 (0.4s/단어, 최소 1.2s).

  • 이모지 없음, 그라데이션 채우기 없음, 광택 없음, 윤곽선 또는 3D 텍스트 없음, 모두 대문자 없음.

음악 (BGM 스타일 및 사운드 큐)

문서는 minara-music에 필요한 모든 것을 제공하므로 음악은 스크립트와 함께 결정되며, 이후가 아닙니다.

  • 영화 수준 브리프 (한 블록): 템포 (BPM, 기본값 120), 키 (기본값 A 단조; 밝은 곡의 경우 C 장조), 느낌을 1~2줄로 평범하게 설명 (소프트 일렉트로닉, 따뜻한 패드, 가벼운 플럭 아르페지오, 보컬 없음.), 피해야 할 것 (EDM 드롭 없음, 트레일러 히트 없음, 로파이 크래클 없음, 보컬 컵 없음), 운영자가 제공한 경우 참조 트랙. 라이선스 트랙은 운영자만 제공합니다.
  • 키프레임별 에너지: silent / intro / light / build / full / breakdown / climax / outro 중 하나 (minara-music 용어), 그리고 분위기에 대한 몇 마디. 에너지는 스토리를 따릅니다: 제품 이름 또는 런치 주장은 climax; 개인정보 보호 또는 보안 비트는 breakdown; 종료 카드는 outro.
  • 사운드 큐: 가시적인 동작에만 사용되며 각각 정확한 시간 포함: tap 35.0s, typing 32.1–34.6s (cps 18), success 45.0s, notify 45.2s, whoosh 47.3s, thud 43.2s, bell 0.4s. 유형은 minara-music sfx 목록입니다.
  • 나레이션이 있으면 음악이 덕킹됩니다. 나레이션이 있을 때 브리프에 duck under VO라고 말합니다.

스크립트 문서 템플릿

# 스크립트 | <주제>: <한 줄 요약>            ← 전체 영화: "스크립트 | <영화 이름>"

> <장면 N / 전체 영화>의 현재 단일 스크립트.
> 목적: <장면 N 교체, XX–XXs / 새 영화>. 기존 컷은 이 스크립트가 승인될 때까지 변경되지 않습니다.
> 출처: <프론트엔드 코드 경로 / Figma 링크 / 스크린샷 경로 / 제품 문서>. ⚠️로 표시된 항목은 출처에 없으며 제품 확인이 필요합니다.
> **프레젠테이션 (고정)**: <케이스; 표면; 시간대; 표시되지 않는 것; 후속 질문 단계 유무>.
> **출력**: <2560×1440 또는 1440×2560>, 60fps. 키프레임: `docs/keyframes/<topic>/` (출처: `source.html`, AIGC 프롬프트: `prompts.md`).

## 1. 이것이 전달해야 할 내용
1. <시청자가 가장 먼저 기억해야 할 것>
2. … (최대 4개; 각각은 최소 하나의 키프레임에 매핑)

## 2. 사용자 흐름 및 UI 복사본
| 단계 | 사용자 동작 | UI 복사본 (정확) | 출처 |
(출처 = 코드 경로 / Figma 노드 / 스크린샷; 데모 프롬프트는 "(demo)"로 표시)

## 3. 키프레임 시트 (<총>s<, XX–XXs 교체>)
| 키 | 시간 | 지속 | 장면 | 그림 (짧게) | 나레이션 | 화면 텍스트 | 음악 | 이미지 출처 |
|---|---|---|---|---|---|---|---|---|
| K1 | 0.0–2.4s | 2.4s | S1 | 아바타가 중앙에 착지 | — | — | intro · bell 0.4s | UI 코드 |
(행당 하나의 키프레임; 범위는 연속적이며 합계가 총 시간이 됩니다. 이것은 하위 스킬이 읽는 테이블입니다.)

## 4. 장면 및 키프레임
### <장면 ID> | <장면 제목>

…

체크리스트 (자체 점검용)

전달하기 전에 다음을 확인하십시오:

확인 사항방법
모든 출처 입력이 수집되었고, ⚠️ 항목이 표시됨소스 링크, 스크린샷, 코드 경로 확인
프레젠테이션 선택 사항이 문서 상단에 고정됨케이스, 표면, 시간대 등 확인
나레이션 대사에 금지 단어/패턴 없음금지 목록과 대조, 소리내어 읽기
화면 텍스트에 금지 단어/패턴 없음동일한 대조
모든 키프레임 이미지가 존재하고 Picture 필드와 일치각 PNG 열어서 확인
이미지 출처 태그가 정확함 (UI 코드 / Figma / AIGC)태그 확인
키프레임 시간이 연속적이고 합계가 총 시간과 일치계산
나레이션 단어 수가 예산/런타임에 맞음단어 수 계산, 0.4s/단어 가정
음악 방향이 일관되고 에너지가 스토리 아크를 따름climax, breakdown, outro 등 확인
사운드 큐가 정확한 시간에 표시됨각 시간 확인 (예: tap 35.0s)
UI 복사본이 제품 UI에 정확히 일치프론트엔드 코드 / Figma와 대조
사용자 흐름이 완전하고 논리적임각 단계가 다음으로 이어지는지 확인
"Open questions" 섹션이 사실이 아닌 모든 내용을 포함⚠️ 항목 확인
문서가 운영자에게 전송될 준비가 됨 (요약 줄 포함)3~5줄 요약 준비

예시 워크플로우: 단일 장면 보충 스크립트 (5~8 키프레임)

  1. 운영자가 말함: "Backtesting 페이지에 대한 보충 비디오 스크립트를 작성해 주세요. 몇 가지 스크린샷이 있습니다."
  2. 당신이 질문: "길이는 얼마나 되나요? 가로인가요 세로인가요? 나레이션이 있나요?"
  3. 운영자 응답: "15초, 가로, 나레이션 있음."
  4. source.html에서 6개의 키프레임 초안 작성 (스크린샷에서 UI 복사본으로).
  5. shoot_keyframes.sh로 이미지 캡처.
  6. NN-script-scene-N-backtesting.md 문서 작성.
  7. 체크리스트 실행.
  8. 운영자에게 전송: docs/04-script-scene-4-backtesting.md — 15초, 1 장면, 6 키프레임 (UI 코드), 45 나레이션 단어 (60% 런타임), 미니멀 일렉트로닉 음악, 2개의 미해결 질문.

일반적인 함정

  • 출처를 추측하지 마십시오. 모든 UI 복사본은 실제 코드 또는 Figma와 대조하십시오. 확실하지 않으면 ⚠️를 추가하고 "Open questions"에 넣으십시오.
  • 이미지 먼저? 텍스트 초안을 먼저 작성하십시오. 이미지는 나중에. 텍스트가 스토리를 주도해야 합니다.
  • AIGC 남용하지 마십시오. UI 프레임에는 비싸고 덜 정확합니다. 실제로 비 UI 순간에만 사용하십시오.
  • 모든 나레이션 대사를 소리내어 읽으십시오. 페이지에서 괜찮게 보여도 말로 들리면 나쁠 수 있습니다.
  • 키프레임 이미지를 최종 문서에 링크하기 전에 확인하십시오. Picture 필드와 일치하는지 확인하십시오.

예시 키프레임 테이블 행

키시간지속장면그림 (짧게)나레이션화면 텍스트음악이미지 출처
K10.0–2.4s2.4sS1아바타가 중앙 빈 공간에 나타남——intro · bell 0.4sUI 코드
K22.4–5.0s2.6sS1프롬프트가 입력됨 (1 char/10 f)Just ask."Just ask." · 48px / 500 · 하단 중앙 · in 3.0s, out 4.8s · 0.6s 상승build · typing 2.5–4.8s (cps 18)UI 코드
K35.0–8.2s3.2sS2백테스트 결과 차트가 나타남. 카메라는 차트로 푸시 인.Minara backtests the strategy.—climax · success 7.0sUI 코드
K48.2–11.0s2.8sS2통계가 아래에 표시됨. 수익률 강조 표시. 30% 수익률.It shows you the stats."30%" · 140px / 700 · 초록색 #07B56A · 왼쪽 중앙 · in 8.8s, out 10.6s · 0.9s 스케일 0.96fullUI 코드
K511.0–13.5s2.5sS3화면이 확대되어 'Backtest again' 버튼을 보여줌.Try another one."Backtest again" · 40px / 500 · 버튼 위 · in 11.5s, out 13.0slightUI 코드
K613.5–15.0s1.5sS3앱 로고와 'Try Minara'가 있는 종료 화면.—"Minara" + "Try it" · 각각 72px / 700 · 중앙 · in 13.8s, out 15.0soutro · bell 14.5sUI 코드

문제 해결

문제해결 방법
shoot_keyframes.sh 실패source.html이 올바른 형식인지 확인. 템플릿을 다시 복사하여 시작.
이미지 품질이 낮음해상도가 2560×1440인지 확인. 더 큰 글꼴 크기로 다시 그리기.
Figma 링크가 작동하지 않음올바른 fileKey와 nodeId 확인. Figma에서 링크를 다시 복사.
AIGC 이미지에 텍스트가 포함됨텍스트가 없는 다른 모델로 재생성하거나 재시도. 필요시 경로 A로 대체.
나레이션 단어 수가 예산을 초과함대사를 단축하거나 운영자에게 예산 재협의 요청.
키프레임 시간이 중복됨범위가 연속적인지 확인. 겹치는 시간 수정.

Individual skills in this repo

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

OliviaPp8/minara-video-skills

Create Minara product guide/tutorial videos from screen recordings supplied by the operator. Use for /minara-guide-video, “给录屏加字幕配音”, retiming a new recording cut, building a timeline approval player, or correcting caption/product meaning. Drives caption-recording from source analysis through pre-render approval, final verification, and local delivery. Not for synthetic HyperFrames marketing videos.

OliviaPp8/minara-video-skills

Generate background music and synced sound effects for Minara videos from the per-second script. Translates each scene's mood and on-screen actions (taps, typing, success, notifications, transitions) into a cue sheet, then renders BGM + SFX locally (numpy synth, no external service), with optional ducking under the voiceover. Use for /minara-music, "配乐", "生成音乐", "BGM", "按脚本生成音乐", "加音效", or when a minara-video / minara-guide-video project needs a music bed.

OliviaPp8/minara-video-skills

Make Minara use case / beginner tutorial videos (mobile App or desktop), rebuilding the product UI in HyperFrames code and walking through the real user path step by step. Unlike minara-video (marketing demo, UI redesign allowed), this skill requires a faithful UI: copy, layout, components, and interaction paths all follow the product frontend code and screen recordings. Triggers: "use case 视频", "教程视频", "操作演示", "新手教程", "按 App 界面做一个视频"; also makes covers for these videos ("封面", "cover", "缩略图").

OliviaPp8/minara-video-skills

The operator's standard workflow for making Minara marketing / launch / demo videos. Built on the hyperframes skill, with a stricter process - confirm style → high-level storyboard → copy → build each scene separately → confirm a per-second script → iterate on a local test page → render only once the user is satisfied.

관련 스킬