Communitygithub.com

kaskth/cinecode

사용자와 함께 코드로 단편 영화, 애니메이션, 광고 또는 뮤직비디오를 제작합니다. 빠른 모드와 영화 모드의 두 가지 모드로 진행됩니다.

cinecode란 무엇인가요?

이 스킬은 사용자가 코드만으로 단편 영화, 애니메이션, 광고, 뮤직비디오를 만들 수 있도록 돕는 AI 에이전트 도구입니다. 사용자의 취향과 아이디어를 바탕으로 스토리, 대본, 영상, 사운드, 편집, 최종 마스터링까지 전 과정을 코드로 처리합니다. Claude Code, Cursor, Codex 등 다양한 플랫폼에서 사용할 수 있으며, 'Quick' 모드(하나의 HTML 파일, 웹 오디오 사운드, 저해상도 초안, 3분 이내)와 'Film' 모드(스타일 프레임, 애니메틱, Three.js 렌더링, 레이어드 사운드의 6단계 게이트 과정) 중 선택할 수 있습니다. 또한 사용자 자신의 노래로 뮤직비디오 만들기, 참고 영상과 유사한 스타일로 변경하기, 자신이 촬영한 푸티지 편집하기 등 다양한 옵션을 제공하며, 최종 출력은 -14 LUFS로 마스터링된 MP4 파일입니다.

지원 대상✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/kaskth/films2/tree/HEAD/.agents/skills/cinecode

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

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

문서

cinecode은(는) 무엇을 하나요?

사용자와 함께 단편 영화를 만듭니다. 사용자의 취향이 결정하고, 나머지(스토리, 대본, 영상, 사운드, 편집, 검수)는 도구가 처리합니다. 목표는 기다릴 가치가 있는 영화입니다. 짧고 정확한 계획과 직접 눈으로 확인하는 것이 가장 효과적이므로, 계획은 숫자가 적힌 하나의 카드로 하고, 긴 렌더링 전에는 항상 스틸 이미지를 먼저 확인하며, 모든 수정 사항은 변경할 숫자로 기록합니다.

이 파일이 핵심입니다. 참고 문서는 특정 단계에서 이름을 언급할 때만, 해당 섹션만 엽니다. 키트의 도구들은 기계적 규칙(단어 내 대시, 스틸 또는 반복 초안, 먼저 보여주기 잠금, 영화 폴더, 질문 언어, 채팅 크기)을 강제합니다. 도구가 중단되면 수행할 작업을 출력하므로, 다시 설명하기보다 도구의 지시를 따릅니다.

사용자의 언어로 응답하며, 프로젝트 파일은 사용자가 원하지 않는 한 영어로 유지됩니다. 메시지는 간결하게 작성합니다: 무엇이 만들어졌는지, 어디에 있는지, 한두 가지 질문, 추천.

사용자에게 질문하기

질문 도구가 있을 때는 해당 도구를 사용하고(Claude Code AskUserQuestion: 호출당 1-4개 질문, 2-4개 옵션, 최대 12자 헤더; Cursor AskQuestion), 그렇지 않으면 번호가 매겨진 메시지 하나를 사용합니다.

  • 묻기 전에 보여주세요. 사용자가 이 채팅에서 보지 않은 내용에 대해 승인을 구하지 마세요. 비트와 대사는 메시지 자체에 포함하고, 보드, 스틸 이미지, 초안은 아래와 같이 크게 표시합니다. 한 메시지에 너무 긴 경우: 부분별로 보여주고 마지막에 질문합니다.
  • 항목당 하나의 질문; 권장 옵션을 먼저 "★ (önerilen)" / "★ (recommended)"과 그 이유와 함께 표시하고, 사용자의 직접 답변은 항상 허용됩니다. 옵션이 슬롯보다 많은 경우: 보드에 번호를 매기고 나머지는 번호를 입력하여 선택하도록 하며, 보드가 없으면 최상의 옵션을 유지하고 나머지는 사용자 직접 답변으로 접근 가능하게 합니다.
  • 도구 한도를 초과하는 라운드는 연속 호출로 진행됩니다. 한 줄짜리 메모(사운드 라인, 기본값)는 첫 번째 호출 전에 짧은 메시지로 전송합니다.
  • 아이디어는 열려 있습니다: 아이디어가 없으면 일반 메시지로 먼저 질문하고, 아이디어가 주어지면 2-3가지 해석을 옵션으로 제시합니다. 각 옵션은 세 가지 스파크(deal.py deal spark: 각각 시드, 외부에서 우연히 선택된 실제 사물, 장소, 형태, 매체로 이끌리므로 두 영화가 같은 곳에서 시작되지 않음)에서 생성되며, 예측 테스트와 중복 검사(writing.md §1: 새로운 도우미; 하나는 첫 메시지가 누구나 예상하게 만드는 영화를 작성하고, 다른 하나는 해당 영화 또는 사용자의 이전 영화와 중복되는 모든 후보를 표시하며, 표시된 후보는 교체됨) 이후에 진행됩니다. "sen öner" / "suggest"에 대해서만 스토리를 창작합니다.
  • 게이트는 하나의 질문("OK, 계속 ★" · "한 가지 수정" · "변경")이며, "기타"에 수정 사항을 입력합니다.
  • 음악은 항상 사용자의 것입니다: 두 모드와 모든 속도에서 첫 질문은 음악 출처를 묻습니다(★ 실제 오픈 라이선스 녹음 · 사용자 트랙 · 코드로 작성 · 없음). 다른 질문에 포함시키지 않습니다. 녹음은 귀로 선택하며(2-3개 후보를 파일로 전송, 하나의 질문), Pace: through의 경우에도 마찬가지입니다. 분위기가 변하는 긴 영화는 각 막 또는 부분당 하나의 트랙을 사용할 수 있으며(예: 12분 영화는 3-4개), 해당 질문에서 후보를 막별로 그룹화하고, 짧은 영화는 하나의 트랙을 유지합니다. 사용자가 선택한 경우에만 코드로 음악을 만듭니다. 선택은 STATE.md에 Music: <녹음 파일 / 자체 파일 / 코드 / 없음> (user)로 기록합니다. make.py는 해당 줄이 없으면 코드로 만든 음악이 포함된 초안을 보관합니다.
  • 제작 속도는 사용자가 결정합니다 (영화 모드): 대본 게이트와 함께, 제작이 시작될 때 동일한 호출에서 두 번째 질문으로 묻습니다: "Aşama aşama" (스타일 프레임, 타이포, 애니메틱, 초안, 각각 자체 게이트) 또는 "Hepsini üret, taslakta göster" (바로 초안 컷으로). ★ 약 3분까지는 두 번째 방식; ★ 그 이상에서는 긴 렌더링 전에 프레임과 페이싱을 먼저 확인하는 것이 좋으므로 첫 번째 방식을 권장합니다. STATE.md에 Pace: steps 또는 Pace: through로 기록합니다. through이거나, 어느 시점에서 "artık sorma, bitir"라고 하면, 실제 차단 요소(누락된 키, 비용, 법적 제한)가 없는 한 질문 없이 영화를 초안까지 진행합니다. 모든 선택은 ★로 설정하고 STATE.md에 기록하며, 스타일 프레임과 주요 스틸 이미지는 진행 상황으로 사용자에게 도달하지만 질문으로는 사용되지 않으며, 초안에는 선택 사항이 나열되어 사용자가 수정 사항을 남길 수 있습니다. "Dur, göster"는 게이트를 다시 활성화합니다.
  • 승인된 게이트는 동일한 턴에서 다음 단계를 시작합니다: "Tamam", "onay", ★ 선택 또는 "devam"은 다음 단계로의 진행을 의미하며, 작업의 끝이 아닙니다. 턴은 사용자에게 질문, 전달, 또는 실행 시간을 명시한 백그라운드 작업이 있을 때만 종료됩니다.
  • 아무것도 조용히 실행되지 않습니다: 아직 보여줄 것이 없는 상태에서 약 30초 이상 걸리는 단계(검색, 보드, 렌더링, 도우미) 전에 한 줄로 무엇을 하고 있는지와 예상 시간을 알립니다("Stil panosu için film kareleri arıyorum, yarım dakika").
  • 긴 작업은 진행 상황을 보고합니다: 약 2분 이상 실행되는 렌더링 또는 도우미는 완료/전체 및 남은 시간(상태 파일의 eta_s)을 약 절반 지점에서 다시 한 번 진행 상황 메모로 알립니다. "bitti mi?"라는 질문에는 상태 파일에서 한 줄로 답변하며, 추측으로 답변하지 않습니다.
  • Claude Code 데스크톱 앱에서 턴은 wrap_up 상자로 종료됩니다. 턴이 종료되는 게이트(전달된 초안, 승인을 기다리는 계획)는 일반 텍스트가 아닙니다. 질문 도구로 질문하거나, 두 가지 선택 사항이 있는 경우 wrap_up에 ask로 blocked: true와 두 개의 응답 버튼(label 1-3단어, message 사용자의 답변 그대로)을 넣고 ★를 먼저 배치합니다. 상자는 두 개의 버튼만 표시하고 나머지는 생략하므로, 더 많은 선택 사항이 있는 질문은 질문 도구로 보냅니다: 초안의 최종 · 수정 · 심사, 또는 새 채팅 제안이 추가된 질문("Yeni sohbette devam ★"을 하나의 옵션으로). 해당 답변에 새 채팅은 이미 계속하도록 지시받은 상태로 시작됩니다(작은 컨텍스트, 아래 참조). 가드는 전달된 초안의 턴이 질문 없이 종료되지 않도록 방지합니다.
  • 사용자가 읽는 모든 것은 사용자의 언어로 작성됩니다. 모든 질문 상자와 단계 사이의 짧은 진행 메모도 포함됩니다("Kartı kaydettim, ilk iki sahneyi kuruyorum", "Card saved, building…"로 번역하지 않음). 이 파일의 영어 예제는 번역되며, 복사되지 않습니다.
  • 그림과 영화는 크게 표시하고, 창 안에 표시하지 않습니다. Claude Code에서 모든 보드, 스틸 시트, 포스터 및 초안은 SendUserFile (display: "render", status: "normal", 사용자 언어로 된 한 줄 캡션)로 사용자에게 전송됩니다. 앱의 사이드 패널에서 크게 열립니다. 다른 곳에서는 해당 경로(또는 도구가 옆에 작성한 페이지)를 메시지에 포함합니다. 도구는 사용자에게 무엇을 보여줄지 출력합니다("show the user: …"). 이미지를 직접 읽으면 사용자에게 아주 작은 썸네일만 표시되므로 충분하지 않습니다.
  • 옵션은 레이블이 말하는 대로 정확히 수행됩니다 (절대 "Tamam, temizle"와 같이 형식을 저장하지 않음). 두 가지 결정은 두 개의 질문입니다.

시작

도움말 ("yardım", "neler yapabilirsin", "ne yapabilirim", "help", "what can you do", 또는 특정 요청 없이 보내는 첫 메시지(인사, "ne yapabiliriz" 등)): 사용자 언어로 된 이 메뉴와 함께 네 가지 가장 가능성 있는 항목과 "기타"를 포함한 하나의 질문을 표시합니다:

Neler yapabiliriz (hepsi kodla, sonunda bir MP4):

  1. Kısa film ya da animasyon: bir fikir, bir his ya da bir yer; istediğin süre ve biçimde
  2. Reklam, ürün ya da tanıtım videosu: markan, ürünün ya da işin için
  3. Müzik videosu, kendi şarkınla: "bu şarkıya klip yap" + şarkı dosyası
  4. Bir videoya benzeyen film: "bunun gibi yap ama renkleri sıcak olsun" + video dosyası
  5. Kendi çekimini kurgulamak: konuşan kafa ya da ekran kaydı: duraklamalar kırpılır, grafikler eklenir
  6. Kayıtlı formatla yeni film: "geçen seferki formatta yeni bir tane"
  7. Görünüşlere göz atmak: fikrine uyan sinema yönlerini ve stilleri bir panoda görmek Her birinde önce mod seçilir: Hızlı (bugün biter) ya da Film (her aşamada onay).

업데이트 ("cinecode'u güncelle", "update cinecode"): git -C KIT pull, 그런 다음 한 줄: 새 버전이 로드되도록 새 채팅을 엽니다.

직접 경로. 영화 종류를 지정하는 요청은 메뉴를 건너뜁니다: 먼저 모드와 목적(한 번 호출), 그런 다음 경로의 첫 번째 단계, 그런 다음 열려 있는 질문만 진행합니다.

사용자가 말한 내용경로
스토리, 분위기, 장소 또는 애니메이션 아이디어첫 번째 질문
광고, 제품, 출시, 프로모션 또는 설명첫 번째 질문, 목적 광고 및 제품
뮤직비디오 또는 노래 파일 전송references/music-video.md (먼저 비트 그리드)
"bunun gibi", "like this one", 또는 비디오 전송references/reference-video.md
자신의 푸티지 편집references/footage-edit.md
"aynı formatta", "same format"formats.py list → init_film.py <short-name> --format <name> (포맷이 Quick 모드인 경우 --quick 포함, formats.py list에 표시됨); quick-mode.md §8
"stillere bakalım", "show me styles"styles.py suggest "<their words>" --board research/style-board.jpg, 그런 다음 첫 번째 질문

첫 번째 질문: 모드와 목적

먼저 방향 설정 (references/steering.md, 짧음): 코드로 가장 비용이 많이 드는 부분에 대해 아이디어를 평가합니다. 아이디어가 코드로 그리기 어려운 부분(주제로서의 사실적인 사람이나 동물, 길이를 초과하는 아이디어)에 치우친 경우, ★ 해석은 아이디어와 주제를 유지하고 표시 방식만 변경합니다. 원래 아이디어는 정직한 비용과 함께 옵션으로 남으며, 사용자가 선택하면 완전히 지원합니다.

두 질문을 한 번의 호출로 묻습니다. 이미 답변된 질문은 건너뜁니다("reklam filmi"는 목적을 지정함).

  • Mod / Mode: Hızlı / Quick: 이 채팅에서 전체 영화를 하나의 파일로 만듭니다. 질문은 브리핑에 공백이 있는 경우에만 합니다. 카드, 두 장면의 스틸 이미지, 그런 다음 초안(완전한 브리핑: 초안 먼저). 약 3번의 승인, 짧은 영화의 첫 번째 초안을 몇 분 안에 완성합니다. Film: 스튜디오 프로세스(로드맵, 대본, 스타일 프레임, 애니메틱, 초안), 리서치, 레이어드 사운드, 병렬로 실행되는 부분을 위한 도우미; Quick보다 시간이 더 걸리므로 질문에 시간을 명시하지 않습니다: 사용자가 보고 승인할 내용을 설명합니다. ★는 작업 규모에 따라 결정되며, 목적에 따라 결정되지 않습니다: ★ 약 60초 미만, 단일 샷 또는 몇 장면, 브랜드 및 클라이언트 작업 포함 시 Quick; ★ 약 60초 이상, 여러 장면, 리서치 또는 아카이브 자료, 여러 챕터에 걸친 내레이터, 또는 사용자가 게이트 프로세스를 요청할 때 Film. 질문은 각 모드가 사용자에게 요구하는 사항을 설명합니다("Hızlı: ilk taslak dakikalar içinde, 3 onay · Film: önce yol haritası ve senaryo, sonra üretimi aşama aşama ya da tek seferde"). 목표가 불명확한 경우 → ★ Quick (비트를 유지하면서 나중에 Film으로 전환 가능: init_film.py <film> --to-film).

완전한 브리핑은 즉시 작업을 시작하며, 두 모드 모두에서: 시작 메시지가 무엇이 언제 발생하는지, 단어, 길이, 형식 및 전달 사항(클라이언트 브리핑, 샷 목록, 전달 및 중지 지침)을 결정하는 경우, 답변된 내용은 묻지 않으며 초안 이전에 어떤 게이트도 서지 않습니다. 카드는 STATE.md에 저장되고(사용자가 제공한 아이디어, (user)로 표시) 짧은 메시지로 표시되며, 빌드는 즉시 시작되고 첫 번째 게이트는 초안 자체입니다(긴 빌드의 경우 주요 순간의 스틸 시트). 전달 및 중지 지침은 작성된 대로 따릅니다: 전달, 보고, 대기. 영화를 변경하는 공백(브리핑에 명시되지 않은 외관, 누락된 로고)만 빌드 전에 한 번 질문합니다.

  • Amaç / Purpose: Sinematik / Cinematic: 렌더링된 것이 아니라 촬영된 것처럼 보이는 스토리, 분위기 또는 예술 작품. Reklam & ürün / Ad & product: 소유자와 다음 단계가 명확합니다. ★ 아이디어에서 결정(제품, 브랜드, 출시, 앱 또는 스폰서 → Ad; 스토리, 장소, 감정 또는 예술 아이디어 → Sinematik). 사용자 직접 답변은 더 가까운 목적에 매핑되며 한 줄로 표시됩니다.

STATE.md에 Mode와 Purpose를 기록한 다음 references/purpose-cinematic.md 또는 references/purpose-ad.md(기본값 및 검사 항목)를 엽니다.

Quick 모드

모든 내용은 references/quick-mode.md에 있습니다. 설정: python3 KIT/scripts/init_film.py <short-name> --quick --films-folder Filmler (폴더 단어는 사용자 언어로). 요약: 한 라운드의 질문(아이디어, 그런 다음 매체, 사용자 선택; 그런 다음 내부에서 직접 눈으로 선택한 스타일: 명명된 외관의 경우 실제 스틸 이미지 옆에 직접 해석; 그렇지 않으면 보드) · 백그라운드 리서치 · 프로덕션 카드를 1-2분 내에 텍스트로(초 단위 비트, 숫자가 포함된 감독 카드) · 외관과 두 장면을 스틸 이미지로, 게이트 · 나머지를 패스로 · 절반 크기 초안 · 초안에 대해 최대 두 번의 수정 라운드 · 승인 후 최종.

Film 모드

모든 내용은 references/film-mode.md와 references/context-protocol.md에 있습니다. 설정: python3 KIT/scripts/init_film.py <short-name> --films-folder Filmler. 6개의 게이트 단계: 인터뷰 → 로드맵 → 대본 → 스타일 프레임 및 타이포 → 애니메틱 → 초안 컷, 그런 다음 최종; 브리핑이 이미 답변한 게이트는 건너뜁니다. 이 채팅은 컨텍스트를 보유한 작업을 수행하고, 독립적인 부분(사운드 디자인, 보이스 테이크 녹음, 리서치, 독립 뷰어) 또는 긴 영화의 챕터(context-protocol.md §1)만 도우미에 넘깁니다. 수정 사항은 라운드별로 그대로 저장됩니다. 결함은 재구축 전에 진단됩니다. 각 게이트에서 사용자에게 새 채팅에서 계속하도록 요청할 수 있습니다("STATE.md'den devam et").

파일 위치

KIT = 이 파일이 있는 폴더: references/, templates/, scripts/, starter/, styles/; 읽기 전용입니다. PROJECT = 영화당 하나의 폴더로, init_film.py가 생성하며 적절한 위치를 선택합니다(채팅 폴더에 영화만 있는 경우 해당 폴더, 그렇지 않으면 films 폴더)하고, 불가능한 경우(영화 폴더의 루트에 영화, 영화 내부에서 시작된 채팅, 불명확한 폴더) 질문과 함께 중지됩니다. 짧은 이름은 제목에서 유래하며(소문자, ASCII, 하이픈), 폴더는 섞이지 않는 영화 선반 역할을 합니다. 사용자에게 영화 폴더를 한 줄로 알리고, 먼저 사용자가 따라갈 수 있는 단어로 위치를 설명합니다(Mac: Finder › Home › Filmler › ; Windows: File Explorer › › Filmler › ; Linux: Files › Home › Filmler › , 사용자 언어로), 그런 다음 경로를 표시합니다. 영화 안에 영화를 넣지 않습니다. 사용자가 명시하지 않는 한 이 채팅이 생성하지 않은 영화 폴더로 들어가지 않습니다(다른 채팅이 작업 중일 수 있음: init_film.py는 파일이 변경될 때 IN USE를 표시함)

…

(truncated for translation)

관련 스킬