플러그인 설치: 설정 또는 업데이트 명령 전에 이 스킬이 HyperFrames 플러그인 내부에 있을 때는 플러그인 실행 규칙을 따르세요. 독립 실행형 설치의 경우 아래 업데이트 지침을 그대로 사용합니다.
먼저, 이 스킬을 최신 상태로 유지하세요 — 실행 전 사용자 확인:
npx hyperframes skills update faceless-explainer. 모든 것이 최신 상태이면 빠르게 아무 작업도 하지 않습니다. 그렇지 않으면 이 스킬과 이에 의존하는 핵심 도메인 스킬을 업데이트합니다.
media-use: 오디오/이미지/로고를 가져오기 전에
/media-use를 호출하여 HeyGen 카탈로그의 BGM/SFX/이미지와 공식 소스의 브랜드 로고를 확인하세요. 기존 자산을 등록하려면 먼저--adopt를 실행하세요./media-use스킬 참조. 호스트 앱이 자체 음악 또는 사운드 이펙트 도구를 제공하는 경우, 해당 도구를 음악 및 사운드 이펙트에 사용하세요.
얼굴 없는 설명 영상(Faceless Explainer)을 HyperFrames로
이 스킬을 사용하여 텍스트를 설명 영상으로 변환하세요: 디자인 시스템을 선택하고, 교육 스토리를 계획하며, HyperFrames에서 프레임별로 제작하세요. 얼굴 없음(Faceless) 은 모든 시각적 요소가 다운스트림에서 창조된다는 것을 의미합니다 — 캡처 단계나 실제 자산 인벤토리가 없습니다.
시작점은
/hyperframes입니다. 당신은 오케스트레이터입니다. 각 단계를 실행하고, 게이트를 확인한 후에만 계속 진행하세요. 이 스킬은 텍스트에서 주제를 설명하는 용도이며, 캡처할 제품이나 웹사이트가 없는 경우를 위한 것입니다. 다른 의도, 단순히 "비디오 만들기", 또는 어떤 불확실성이 있다면 → 먼저/hyperframes를 읽으세요 — 의도 레이어가 모든 경로 결정을 소유하며,BRIEF.md없이 여기에 도착한 새로운 생성 요청은 어쨌든 그 경로를 통해 진행됩니다(설정의 시작 규칙).
당신은 오케스트레이터입니다. videos/<project>/ 디렉토리에서 작업하세요. 순서대로 단계를 실행하고 각 게이트를 통과한 후에만 계속하세요. 사용자 게이트 단계는 Step 0, Step 3, Step 6입니다. Step 0 전에 ../hyperframes/references/brief-contract.md를 읽으세요 — 게이트 유형과 BRIEF.md의 flow/storyboard가 Step 3/4/6 게이트를 관리하는 모드를 어떻게 파생시키는지 정의합니다. Step 5를 제외한 모든 단계를 직접 수행하세요. Step 5에서는 프레임당 하나의 하위 에이전트를 파견합니다. 디자인이나 모션 규칙을 여기에 두지 마세요. 해당 규칙은 프레임 작업자 하위 에이전트, 이 스킬의 로컬 ../hyperframes-animation/rules/ + ../hyperframes-animation/blueprints/, 그리고 hyperframes-creative에 있습니다.
워크플로우: Step 0 설정 → hyperframes.json; Step 1 브리핑 → capture/extracted/; Step 2 디자인 시스템 → frame.md; Step 3 스토리보드/스크립트 → STORYBOARD.md 및 SCRIPT.md; Step 3.1 오디오 → audio_meta.json; Step 4 비주얼 디자인 → 보강된 STORYBOARD.md; Step 5 프레임 → compositions/frames/NN-*.html 및 index.html; Step 6 최종 렌더링 → renders/video.mp4.
Step 0: 설정
목표: 확인된 브리핑과 함께 시작하고, HyperFrames 프로젝트를 생성하며, 브리핑을 지속 가능하게 만듭니다.
브리핑은 여기서 질문하는 것이 아니라 의도 레이어에 의해 확인됩니다. 시작 규칙, 순서대로: (1) BRIEF.md가 존재함 → 읽고 아무것도 묻지 마세요 — 브리핑이 확정되었으며, 그 flow/storyboard가 모드를 파생시킵니다(브리핑 계약 § 1). (2) BRIEF.md는 없지만 프로젝트가 존재함(hyperframes.json / STORYBOARD.md가 디스크에 있음) → 스토리보드의 프론트매터와 기록된 기본 설정에서 재개하세요. 절반만 구축된 프로젝트를 다시 조사하지 마세요. (3) 둘 다 아님 — 여기에 직접 도착한 새로운 생성 요청 → /hyperframes를 읽고 의도 레이어(references/intent-interview.md)를 실행하세요. 레시피와 기억된 기본값을 확인하고, 이 경로의 질문(../hyperframes/references/routes/faceless-explainer.md)을 수행하며, 잠긴 브리핑을 반환합니다. 수정 요청은 이 모든 것을 건너뜁니다 — 수정을 수행하세요.
hyperframes.json이 없는 경우에만 초기화하세요. <project>는 주제에서 케밥-케이스로 이름을 지정하세요(예: compound-interest-explained). 워크스페이스 이름이나 타임스탬프는 절대 사용하지 마세요.
npx hyperframes init "videos/<project>" --non-interactive --example=blank --skill=faceless-explainer — init은 설치된 스킬을 GitHub의 최신 버전과 비교하여 오래된 것이 있으면 글로벌 세트를 업데이트합니다.
초기화 후, <PROJECT_ROOT>를 videos/<project>로 설정하고 모든 후속 상대 경로 명령을 해당 디렉토리를 작업 디렉토리로 사용하여 실행하세요. 아래 명령에서 .는 <PROJECT_ROOT>를 의미합니다. 호출자 디렉토리에 .media, capture 또는 출력 파일을 절대 쓰지 마세요.
init 직후에 BRIEF.md를 작성하세요 (절대 그 전에 작성하지 마세요 — init은 비어 있지 않은 디렉토리를 거부합니다): 의도 레이어의 잠긴 브리핑, 형태는 ../hyperframes/references/brief-format.md를 따릅니다. <MEDIA_DIR>을 설치된 /media-use 스킬 디렉토리로 확인하세요. 그런 다음 node <MEDIA_DIR>/scripts/prefs.mjs record --hyperframes .를 사용하여 기본 설정 기반 답변을 각각 기록하세요(brief-format.md가 하위 집합을 지정합니다). 의도 레이어가 레시피를 채택한 경우, node <MEDIA_DIR>/scripts/recipe.mjs use --hyperframes . --name <name>을 실행하세요. 레시피는 frame.md를 프로젝트로 복사하고(Step 2는 건너뜀), Step 3 초안 작성의 기반이 되는 스켈레톤을 반환합니다. 레시피는 답변을 채우고 승인은 하지 않습니다. 검토 게이트는 여전히 실행됩니다.
설정을 진행하기 전에 로그인 상태를 표시하세요 — npx hyperframes auth status를 실행하고 그 출력을 그대로 전달하세요. 음성/BGM이 HeyGen 또는 로컬 엔진을 사용할지 여부와 로그아웃된 경우 로그인 방법을 보고합니다. 한 가지 분기를 적용하세요:
- 협업 모드: 사용자가 로그인하거나 명시적으로
offline/go를 선택할 때까지 기다리세요. - 자율 모드: 상태를 알리고 사용 가능한 로컬 엔진을 통해 계속 진행하세요.
오프라인 제공자가 없을 때 필요한 기능을 조용히 생략하지 마세요. 장벽을 표면화하세요. 이 결정을 다른 질문에 포함시키거나 per-repo .env에 키를 쓰지 마세요. 인증 소유권 및 오프라인 대체: /media-use references/setup-providers.md § 제공자.
게이트: hyperframes.json과 BRIEF.md가 존재합니다. 기본 설정 기반 답변이 기록되었습니다(브리핑 계약 § 2). 로그인 상태가 표시되었습니다(로그인됨 또는 오프라인으로 계속 진행).
Step 1: 브리핑 (캡처 없음)
목표: 사용자의 텍스트를 정보 소스로 프로젝트에 통합합니다. 웹사이트 캡처나 실제 자산은 없습니다 — 이것은 얼굴 없는 설명 영상입니다.
사용자의 전체 입력을 그대로 저장한 다음, 합성 캡처 패키지를 수동으로 생성하세요:
capture/extracted/visible-text.txt— 전체 기사/노트/주제/브리핑을 그대로 담습니다. 이것은 정보의 소스이지 스토리 템플릿이 아닙니다(Step 3에서 재구성됩니다).capture/extracted/tokens.json—{ "title": "", "description": "", "colors": [], "fonts": [] }.title/description을 브리핑에서 채우세요. 사용자가 명시적으로 브랜드 색상이나 글꼴을 제공하지 않는 한colors/fonts는 비워 두세요 — 제공한 경우 추가하세요(디자인 프리셋은 어쨌든 완전한 팔레트를 제공합니다).
사용자가 스크립트를 붙여넣거나 자신의 문구를 유지하기를 원하는 경우, user_script.txt로 그대로 저장하세요. VO_MODE(그대로 또는 재구성)는 BRIEF.md에서 가져옵니다 — 의도 레이어는 스크립트가 도착할 때 이 질문을 합니다. 브리핑에 없는 경우에만 여기서 한 번 묻고, Step 3을 위해 답변을 저장하세요.
npx hyperframes capture를 실행하지 마세요 (URL이 없습니다). asset-descriptions.md를 만들거나 capture/assets/를 채우지 마세요 — 얼굴 없는 시각적 요소는 Step 4-5에서 창조되며, 캡처되지 않습니다. 한 가지 예외: 사용자가 실제 이미지를 제공한 경우, public/<basename> 아래에 배치하고 Step 3을 위해 기록하세요.
게이트: capture/extracted/visible-text.txt와 capture/extracted/tokens.json이 존재합니다. 설명 영상의 주제와 대상을 하나의 명확한 문장으로 말할 수 있습니다.
Step 2: 디자인 시스템
목표: 하나의 사전 제공된 프레임 프리셋을 선택하고, 스크립트가 이 비디오의 frame.md + 캡션 스킨으로 변환합니다.
BRIEF.md가 style_preset을 지정하는 경우 — 사용자가 의도 레이어의 쇼케이스에서 눈으로 직접 선택한 것 — 그것을 사용하십시오. 판단 호출은 브리핑이 침묵할 때만 직접 하십시오. 그런 다음 하나의 호출을 합니다 — 어떤 프리셋을 사용할지: ../hyperframes-creative/references/design-spec.md를 읽고 ../hyperframes-creative/frame-presets/를 탐색하세요. 주제, 톤 및 대상에 가장 잘 맞는 프리셋을 선택하세요. 그런 다음 실행하세요:
node <SKILL_DIR>/scripts/build-frame.mjs --preset <name> --hyperframes .
스크립트는 나머지를 결정적으로 수행합니다. 프리셋의 FRAME.md를 frame.md로 복사하고 capture/extracted/tokens.json의 모든 브랜드 토큰에 리믹스합니다(브랜드 색상이 역할별로 프리셋의 색상 키에 매핑됨, 프리셋의 표시 + 본문 글꼴이 브랜드의 것으로 교체됨). 프리셋의 캡션 스킨을 .hyperframes/caption-skin.html으로 복사하고, 자체 검증합니다(매핑이 깨지면 1로 종료). 종료 코드 0이 반환되면 즉시 진행하십시오 — 명세서를 수동 편집하지 마십시오.
얼굴 없는 설명 영상은 일반적으로 브랜드 색상/글꼴이 없습니다(tokens.json colors/fonts가 비어 있음) → 스크립트는 프리셋 자체 팔레트(완전한 배송 가능한 디자인)를 유지합니다. 사용자가 브랜드 색상/글꼴을 지정한 경우에만 실행 전에 tokens.json에 추가하고, 매핑이 실제로 필요한 경우에만 수동으로 frame.md를 조정하세요.
게이트: build-frame.mjs가 0으로 종료됨 — frame.md가 명명된 프리셋에서 존재하고, (프리셋이 제공하는 경우) .hyperframes/caption-skin.html이 캡션 스킨 소스로 존재합니다. 선택한 프리셋이 기본 설정으로 기록되었습니다(--key style_preset --workflow <this workflow>, 브리핑 계약 § 2).
Step 3: 스토리보드 및 스크립트
목표: 텍스트를 승인된 프레임별 교육 계획으로 변환합니다.
../hyperframes-creative/references/story-spine.md(훅 언어, 증거보다 가치, 제안서로서의 스토리보드, 소스 추적 가능한 시각적 요소), references/story-design.md, ../hyperframes-animation/blueprints-index.md, ../hyperframes/references/storyboard-format.md, ../hyperframes/references/script-format.md를 읽으세요. 이를 사용하여 STORYBOARD.md를 작성하고, 내레이션이 필요할 때 SCRIPT.md를 작성하세요. 프론트매터 duration:을 브리핑의 length에서 설정하세요 — 대략적인 예상치입니다. 어셈블리는 실제 길이와 비교하여 보고합니다.
설명 구조(개념 / 방법 / 목록 / 스토리), 훅 전략, 명확성 기법, 감정적 비트, 유형-열거 매핑 및 VO_MODE에 대해 story-design.md를 사용하세요. 비디오의 순서는 내러티브 디자인에서 오며, 입력 텍스트의 단락 순서가 아닙니다 — 재정렬, 병합, 생략, 압축하세요. 부드러운 가이드로, ../hyperframes-animation/blueprints-index.md의 역할→블루프린트 메뉴를 참고하세요: 각 비트에 대해, 후보 블루프린트가 암시하는 형태로 음성 해설을 작성하고, 해당 후보 blueprint: id를 태그하세요. 교육적 진실은 여전히 어떤 비트가 존재하는지 결정합니다 — 블루프린트에 맞추기 위해 비트를 강제하지 말고, 입증된 형태가 가능하다고 해서 비트를 발명하지 마세요. 얼굴 없는 시각적 요소는 다운스트림에서 창조되므로 프레임은 자산 인벤토리를 가지지 않습니다. 사용자가 실제 public/<basename> 이미지를 제공한 경우가 아니면 asset_candidates를 비워 두세요. 스토리보드 및 스크립트 참조의 정확한 필수 필드를 사용하세요.
초안 작성 후, 검토 루프의 계획 패스를 실행하세요 — ../hyperframes/references/review-loop.md § 1: 계획을 제안으로 제시하고 두 가지 질문을 하세요 — 승인 또는 변경, 그리고 스케치 먼저(권장) 또는 건너뛰기. 피드백은 채팅 응답으로 도착하고 승인될 때까지 반복됩니다. 이것은 체크포인트 게이트입니다(브리핑 계약 § 1): 자율 모드에서는 물어볼 것이 없습니다 — 동일한 요약을 헤드업으로 게시하고 계속 진행하세요. 스케치는 빌드에 통합되고, 최종 미리보기와 그 한 가지 질문은 Step 6에서 옵니다.
게이트: STORYBOARD.md가 존재하며, 모든 프레임에 필수 내러티브 필드가 있습니다. 내레이션이 필요할 때 SCRIPT.md가 존재합니다. 사용자가 프레임별 계획을 승인했습니다(자율 모드: 요약이 헤드업으로 게시됨).
Step 3.1: 오디오
목표: 승인된 스크립트에서 내레이션, 단어 타이밍, 음악 및 오디오 메타데이터를 생성합니다.
Step 3 승인 후 오디오를 시작하세요. 백그라운드에서 실행한 다음 Step 4로 계속 진행하세요. (로그인 상태는 이미 Step 0에서 표시되었습니다. 엔진은 자동으로 대체됩니다.)
호출하기 전에 사용자의 요청에서 내레이션 음성을 선택하세요. 요청이 음성, 성별 또는 톤을 지정한 경우, 일치하는 음성 ID를 선택하고 --voice <id>와 함께 전달하세요. 파이프라인 기본값은 HeyGen의 경우 Marcia (여성) / Kokoro의 경우 am_michael입니다. 따라서 "남성 음성"과 같은 요청은 플래그를 전달하지 않으면 조용히 무시됩니다. 음성 ID는 제공자별로 다릅니다. Step 0의 로그인 상태가 선택한 제공자에 따라 확인하세요: HeyGen (로그인됨) node <MEDIA_DIR>/audio/scripts/heygen-tts.mjs --list (또는 GET /v3/voices?engine=starfish); Kokoro (오프라인) <MEDIA_DIR>/audio/references/tts.md의 음성 테이블(접두사 am_/bm_ 남성, af_/bf_ 여성). 사용자가 선호도를 표현하지 않은 경우, 파이프라인 기본값보다 먼저 기억된 음성(브리핑 계약 § 2)으로 대체하고, 사용한 음성을 말하세요. 둘 다 지정되지 않은 경우에만 --voice를 생략하세요. 사용자가 이 실행에서 명시적으로 음성을 선택한 경우, 기록하세요(prefs.mjs record --key voice).
node <SKILL_DIR>/scripts/audio.mjs --script ./SCRIPT.md --storyboard ./STORYBOARD.md --hyperframes . --out ./audio_meta.json --voice <voice-id> &
오디오 스크립트는 내레이션, 단어 타이밍, HeyGen의 음악 라이브러리에서 BGM 조회 및 타이밍 메타데이터를 처리합니다. BGM 분위기는 스토리보드의 music: 필드에서 가져옵니다. 이것은 생성이 아닌 검색을 위해 HeyGen Audio API를 사용하며, TTS와 동일한 ~/.heygen 자격 증명을 사용합니다. 제공자 세부 정보는 ../media-use/audio/references/tts.md를 읽으세요. 호스트 앱의 자체 도구가 음악이나 사운드 효과를 만드는 경우, 파일을 assets/ 아래에 놓고 "source": "host"로 표시된 audio_meta.json 파일에 나열하세요: 음악은 music: none과 함께 bgm { "path": "assets/…", "source": "host" }로; 사운드 효과는 sfx 항목 { "frame": <n>, "file": "assets/…", "offset_s": 0, "duration_s": <길이>, "source": "host" }로. 모든 오디오 패스는 이를 유지하며, 호스트 사운드가 있는 프레임은 조회된 큐를 얻지 못합니다.
내레이션이 없고 SCRIPT.md가 없으면 음성 생성을 건너뛰세요. 스토리보드에 음악 분위기가 있으면 BGM이 계속 실행될 수 있습니다.
표준 완전 무음 마커 (이 오디오 모델을 재사용하는 워크플로우 간에 공유됨): STORYBOARD.md 최상위 YAML 블록의 music: none, SCRIPT.md 없음, 그리고 sfx: 큐 또는 호스트 오디오 없음. 이 조합은 프로젝트를 무음으로 표시합니다 — 이후 렌더링은 오디오 트랙 없이 출력됩니다. 오디오 파이프라인은 이를 감지하고(파일 스캔하여 SCRIPT.md 누락 확인) 0초 길이로 종료됩니다. 무음 단계를 강제로 실행하려면 기존 파일을 제거하고 music: none을 설정하세요.
게이트: Step 3.1은 선택 사항입니다. audio_meta.json이 완료되면(또는 무음 프로젝트에서 누락됨) 건너뛰거나 확인할 수 있습니다. Step 4는 여기에서 차단되지 않습니다.
Step 4: 비주얼 디자인
목표: 스토리보드의 각 프레임을 시각적으로 설명하여 프레임 작업자(Step 5)가 자율적으로 프레임을 구축할 수 있는 충분한 정보를 제공합니다.
../hyperframes-creative/references/visual-rules.md 및 ../hyperframes-animation/blueprints-index.md를 읽으세요. STORYBOARD.md를 강화하세요: 각 프레임에 대해, 주제 콘텐츠를 표현하는 데 필요한 시각적 요소(타이포그래피, 도표, 아이콘, 다이어그램, 데이터 차트)를 설명하는 visual_description 및 visual_notes 필드를 추가하거나 편집하세요. 후보 블루프린트가 있는 프레임의 경우, 블루프린트의 예제 시각적 요소가 설명을 안내해야 합니다. detect 출처가 없는 한 자산을 참조하지 마세요(Step 1의 public/<basename>).
'SECTION' 헤더 프레임을 프리셋의 캡션 스타일과 일치시키기 위해 메모를 추가하거나 조정하지 마세요 — 캡션 스킨은 헤더를 자동으로 변환합니다. 'DIVIDER' 프레임은 캡션 없이 완전히 채워진 시각적 요소가 필요합니다. music: 값을 각 섹션/프레임의 분위기에 맞게 조정하되, 완전히 다른 트랙을 선택하지 마세요 — 오디오 스크립트는 BGM 선택으로 이어집니다. 각도는, Scene(장면)으로 묶인 프레임 그룹이 단일 음악 트랙을 공유합니다.
강화가 완료되면(수동 편집 없이 프레임워크에 따라), node <SKILL_DIR>/scripts/validate-visuals.mjs --storyboard ./STORYBOARD.md --hyperframes .를 실행하세요. 이 스크립트는 모든 프레임에 visual_description이 있는지 확인하고, 선택적으로 블루프린트 규칙을 확인합니다. 종료 코드 0이면 진행하세요.
게이트: validate-visuals.mjs가 0으로 종료됨 — STORYBOARD.md에 각 프레임의 visual_description이 완료됨. audio_meta.json이 존재하거나(완료됨) 프로젝트가 무음으로 표시됨.
Step 5: 프레임 구축
목표: 각 프레임을 개별 HTML 파일로 생성하고, 이를 하나로 묶습니다.
각 프레임에 대해 별도의 하위 에이전트를 파견하세요. 프레임 작업자 스킬에 위임합니다. 이 Step의 소유권은 유지하되, 직접 프레임을 작성하지 마세요. 각 프레임 작업자에게 다음을 전달하세요:
- 해당 프레임의
STORYBOARD.md내용(모든 필드 및 강화된 비주얼 설명 포함) frame.md의 설계 사양.hyperframes/caption-skin.html의 캡션 스킨(해당하는 경우)<SKILL_DIR>/scripts/의 빌드 스크립트 경로<MEDIA_DIR>/의 미디어 디렉토리 경로
프레임 작업자는 다음을 생성합니다:
compositions/frames/NN-descriptive-name.html— 독립적으로 볼 수 있는 완전한 HTML 프레임- 선택적 자산 참조(이미지, 아이콘 등은
public/에 배치됨)
모든 프레임이 완료되면, node <SKILL_DIR>/scripts/assemble.mjs --hyperframes .를 실행하여 compositions/index.html을 생성합니다. 이 스크립트는 프레임을 순서대로 조립하고, 캡션 시스템을 연결하며, 프레임 간 전환을 추가하고, 단일 독립형 미리보기를 출력합니다.
중요: 프레임 작업자는 비주얼 요소를 창조하는 책임을 집니다. 각 프레임은 얼굴 없는 접근 방식(타이포그래피 중심, 추상 그래픽, 도표)을 반영해야 하며, 실제 사진이나 스톡 이미지는 사용하지 마세요(사용자가 제공한 경우 제외).
게이트: compositions/frames/에 모든 프레임이 존재합니다. compositions/index.html이 생성되었습니다. 사용자가 확인을 위해 미리보기를 볼 수 있습니다(Step 6이 공식 검토 단계입니다).
Step 6: 최종 렌더링 및 검토
목표: 최종 비디오를 렌더링하고, 사용자에게 검토를 위해 제시하며, 요청된 대로 내보냅니다.
렌더링하기 전에 최종 미리보기 단계를 사용자에게 알리세요. Step 3에서 스케치를 건너뛰었다면 지금 선택적 피드백을 받으세요. compositions/index.html(조립된 미리보기)을 열거나 제공할 수 있는 방법을 알려주세요. 수정 사항이 있으면 이 단계가 사용자 게이트이므로 처리하세요. 승인되면:
npx hyperframes render ./compositions --output ./renders/video.mp4 --profile high --audio ./audio_meta.json
> + BRIEF.md의 길이 대비 최종 duration, 프레임 수, 각 주요 섹션의 실제 분량에 대한 2-3문장 요약을 제공하세요.
> + "Ready at renders/video.mp4"를 말하고 그만 두세요. 더 많은 비디오를 원하는지 묻지 마세요. 다른 작업을 수행하지 마세요. 다른 작업을 제안하지 마세요. 지시된 대로 종료하세요.
렌더링 출력은 ./renders/video.mp4입니다. 오디오 메타데이터(audio_meta.json)가 있는 경우 내레이션, 음악 및 타이밍과 동기화됩니다. 무음 프로젝트는 오디오 트랙이 없는 비디오를 생성합니다.
호스트 앱 참고: 이 앱이 자체 렌더링 엔진을 제공하는 경우, npx hyperframes render를 호출하는 대신 자체 API를 통해 마지막 조립 단계를 호출하세요 — 그러나 프레임은 여전히 compositions/frames/에 생성됩니다.
게이트: renders/video.mp4가 존재함. 사용자가 최종 출력을 확인했거나(선택 사항, 자율 모드에서 자동 진행), 자율 모드에서 렌더링이 헤드업으로 완료되었습니다.
스킬 참조
| 참조 | 위치 | 목적 |
|---|---|---|
| 브리핑 계약 | ../hyperframes/references/brief-contract.md | 게이트 유형, 확인, 기본 설정 저장소 |
| 브리핑 형식 | ../hyperframes/references/brief-format.md | BRIEF.md 구조, 기본 설정 키 |
| 디자인 사양 | ../hyperframes-creative/references/design-spec.md | 프레임 프리셋, 디자인 원칙 |
| 스토리 스파인 | ../hyperframes-creative/references/story-spine.md | 내러티브 구조, 훅 전략 |
| 스토리 디자인 | references/story-design.md | 설명 유형, VO_MODE, 명확성 |
| 스토리보드 형식 | ../hyperframes/references/storyboard-format.md | 필수 스토리보드 필드 |
| 스크립트 형식 | ../hyperframes/references/script-format.md | 필수 스크립트 필드 |
| 비주얼 규칙 | ../hyperframes-creative/references/visual-rules.md | 장면별 비주얼 디자인 지침 |
| 블루프린트 인덱스 | ../hyperframes-animation/blueprints-index.md | 역할→블루프린트 메뉴, 프레임 템플릿 |
| 검토 루프 | ../hyperframes/references/review-loop.md | 계획 및 스케치 검토 프로세스 |
| 설정 제공자 | ../media-use/references/setup-providers.md | 제공자 확인 및 오프라인 대체 |
| TTS 참조 | ../media-use/audio/references/tts.md | 오프라인 음성 테이블 |
| 스크립트 디렉토리 | <SKILL_DIR>/scripts/ | build-frame.mjs, audio.mjs, assemble.mjs |
| 미디어 도구 | <MEDIA_DIR>/scripts/ | prefs.mjs, recipe.mjs, 오디오 스크립트 |