Communitygithub.com

nsijwali/yamlreel-비디오-스킬

YAML 사양을 작성하고 오픈소스 yamlreel CLI로 로컬에서 렌더링하여 비디오 편집기 없이 짧은 비디오(YouTube Shorts, Reels, TikTok 세로, 가로 또는 정사각형)를 만듭니다.

yamlreel-비디오-스킬란 무엇인가요?

이 스킬은 사용자가 주제를 입력하면 YAML 사양을 작성하고 로컬에서 `yamlreel` CLI를 사용하여 렌더링함으로써 완성된 짧은 비디오(YouTube Shorts, Reels, TikTok 등)를 생성합니다. 비디오 편집기가 필요 없으며, 출력물로 MP4 비디오, 포스터 이미지, 콘택트 시트(contact sheet) 및 바로 붙여넣기 가능한 공유 텍스트를 제공합니다. 주요 워크플로우는 설정 확인, 주제/포맷/길이 등 명확화, 스크립트 및 아웃라인 작성, `yamlreel story` 명령어로 초안 생성, 사양 편집, 프리뷰 렌더링 및 검사, 최종 렌더링 순으로 진행됩니다. 이 스킬은 Claude Code, Cursor 등 AI 에이전트와 함께 사용하도록 설계되었으며, 비디오 제작 과정에서 사용자가 직접 제어할 수 있도록 단계별로 확인하고 피드백을 제공합니다. 보안 규칙으로는 비밀 정보나 내부 데이터를 사양에 포함하지 않으며, 로컬 TTS 서버 외에는 음성 사용을 금지합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nsijwali/yamlreel-video-skills/tree/HEAD

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

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

문서

yamlreel-비디오-스킬은(는) 무엇을 하나요?

YAML 사양을 작성하고, yamlreel로 로컬에서 렌더링한 다음, 콘택트 시트를 확인하고 비디오를 반환합니다. <skill>은 이 파일이 있는 디렉토리를 의미합니다.

워크플로우

  1. 설정. python3 <skill>/scripts/check_setup.py를 실행합니다 (yamlreel 버전 및 기능도 확인합니다). 실패할 경우 출력된 수정 사항을 사용자에게 보여줍니다. 사용자가 동의한 후에만 --install을 실행합니다. 직접 글꼴이나 시스템 패키지를 설치하지 마십시오.
  2. 명확화 한 번의 메시지에 기본값을 제시합니다: 주제, 대상, 포맷(기본값 세로), 길이(기본값 30초), 테마(midnight|sumi|washi), 음성(기본값 없음). 사용자가 이미 말한 내용은 건너뜁니다.
  3. 스크립트 우선. references/writing-guide.md의 비트 형식(대상 길이, 비트당 하나의 [BEAT - input -> action -> result] 블록과 그 음성 대사, 그리고 전달 노트)으로 videos/<slug>/script.txt를 작성하고 사용자에게 보여줍니다. 사용자가 먼저 검토를 요청했다면, 초안 작성이나 렌더링 전에 멈추고 진행 승인을 기다립니다. 아웃라인. 그런 다음 videos/<slug>/outline.yaml을 작성합니다(주제, 후크, 문제, 각각 name, say, show가 있는 1-6단계, plus when_to_use, question, answers). 규칙은 references/writing-guide.md에 있습니다: 15초 = 한 가지 아이디어; 30-45초 = 한 가지 아이디어와 최대 3단계; #Shorts의 경우 최대 60초.
  4. 초안: yamlreel story videos/<slug>/outline.yaml --out videos/<slug>/spec.yaml --format <fmt> --theme <t>. 직접 생성한 파일에만 --force를 전달합니다.
  5. 사양 편집. 모든 TODO를 교체합니다. meta.title/description/tags, formats, music.seed를 설정합니다. 화면 텍스트는 짧게; 내레이션은 화면을 설명하고 절대 반복하지 않습니다. 장면 유형별 필드는 references/scene-types.md를 참조하세요.
  6. 프리뷰: python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage preview --out videos/<slug>/out를 실행합니다. 오류 발생 시 메시지(알 수 없는 필드 오류는 허용된 키를 나열함)와 references/troubleshooting.md를 바탕으로 사양을 수정합니다. 최대 3회 재시도 후 사용자에게 보고합니다.
  7. 검사(필수). RESULT 줄에 나열된 모든 contact.png를 이미지 뷰어 도구로 엽니다. 다음을 확인합니다: 겹침 없음, 잘리거나 줄어든 텍스트 없음, 스틸 이미지 전체에서 진행 상황이 드러남, 첫 번째 스틸에서 후크를 읽을 수 있음. 사양을 수정하고 최대 3회 루프로 6단계를 반복합니다.
  8. 최종: python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage final --out videos/<slug>/out.
  9. 선택적 개선. 사용자가 사운드 효과, 음량 수정 또는 반복 확인을 원하고 yamlreel audit --help가 작동하면, 완성된 video.mp4에 대해 references/polish.md를 따릅니다(사양을 건드리지 않음).
  10. 보고 각 video.mp4, poster.jpg, contact.png의 경로를 알리고 share-copy.txt의 내용을 붙여넣습니다. 사용자에게 단순화된 내용을 사실 확인하도록 상기시킵니다. 게시는 사용자의 몫입니다.

render.py 종료 코드: 0 정상, 1 yamlreel 오류(stderr 출력), 2 사전 점검 거부(메시지에 이유 설명), 3 프리뷰 경고가 최종 렌더링을 차단(텍스트 단축, at 큐 재정렬, 사용자가 동의한 경우에만 --allow-warnings 사용), 4 잘못된 인수(예: --contact-frames가 1-8 범위 밖). 마지막 줄은 모든 출력 경로가 포함된 RESULT {json}입니다. 로그는 <out>/render-log.txt에 기록됩니다.

기본값 및 사실

  • 렌더링은 --no-voice(음악 전용)를 사용합니다. 자막과 내레이션은 음성 없는 렌더링에서 보이지 않습니다. 이는 예상된 동작입니다.
  • 출력은 <out>/{preview,final}/<format>/에 저장됩니다. 항상 --out videos/<slug>/out을 전달하여 두 프로젝트가 폴더를 공유하지 않도록 합니다(기본값은 <spec folder>/out입니다).
  • 고정된 music.seed는 렌더링을 결정론적으로 유지합니다. 사용자가 요청하지 않으면 watermark를 추가하지 마십시오.
  • 음성 해설은 선택 사항이며 사용자가 직접 준비해야 합니다: references/voiceover.md를 참조하세요.
  • 복사할 예제: examples/*.yaml.

안전 규칙

  • 비밀, 토큰, .env 내용, 내부 호스트명 또는 개인/고객 데이터를 사양에 절대 넣지 마십시오: 이들은 프레임과 share-copy.txt에 기록됩니다. 코드 예제는 플레이스홀더를 사용합니다.
  • 사용자의 프로젝트 폴더 내에서만 읽고 쓰십시오. 이미지를 사양 옆에 배치하십시오. 사용자가 명시적으로 요청하고 폴더 이름을 지정하지 않는 한 --allow-path 또는 --allow-private-hosts를 절대 추가하지 마십시오.
  • 음성은 사용자가 지정한 로컬 TTS 서버에서만 사용하며, 내레이션 텍스트가 해당 서버로 전송됩니다. 절대 원격 URL을 사용하지 마십시오.
  • 시스템 패키지나 글꼴을 설치하거나 사용자의 동의 없이 ~/.config/yamlreel/config.yaml을 편집하지 마십시오.
  • shot 장면: 사용자가 제공한 공개 HTTPS URL 또는 프로젝트 내의 로컬 이미지만 사용합니다.
  • 결과물을 절대 업로드하거나 게시하지 마십시오.

관련 스킬