Communitygithub.com

toonfacts

Ricks Clips 스타일(2D 캐릭터가 있는 다채로운 3D 세계, 건조한 내레이터, 단어별 자막)로 애니메이션 만화 사실 단편을 제작합니다. 이야기 중심, 후크 게이트 적용: 진짜 이야기, 역사, 흥미로운 사실로, 각 영상은 처음 3초 안에 열리는 하나의 질문으로 구성됩니다. Remotion과 three.js를 사용하여 처음부터 끝까지 제작합니다.

toonfacts란 무엇인가요?

Toonfacts는 사용자가 간단한 자연어 명령만으로 바이럴 애니메이션 사실 단편을 처음부터 끝까지 제작할 수 있게 해주는 AI 에이전트 스킬입니다. 이 스킬은 아이디어 생성, 사실 조사, 대본 작성, ElevenLabs 음성 해설, 3D 애니메이션 렌더링, 자체 검토, 최종 MP4 출력까지 전체 워크플로우를 자동화합니다. Claude Code 내에서 작동하며, Remotion 및 three.js를 활용하여 'Ricks Clips' 스타일(다채로운 3D 세계의 2D 캐릭터, 건조한 내레이터, 단어별 자막)로 애니메이션을 만듭니다. 각 동영상은 처음 3초 안에 시청자의 호기심을 사로잡는 하나의 질문(후크)으로 시작해야 하며, 스킬은 후크가 충분히 강력한지 자동으로 확인합니다. 새로운 동영상 제작, 기존 동영상 업데이트, 리뷰, 아이디어 생성 등 다양한 모드를 지원합니다. 이 스킬은 장면의 물리적 일관성을 강제하고(assertScene 사용), 텍스트가 올바르게 맞춰졌는지 확인하며(fitText 사용), 음성 해설의 자연스러움(웃음이나 과장된 연기 배제)을 보장하여 고품질 출력을 유지합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/alifmahmudashik/toonfacts/tree/HEAD

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

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

문서

Toonfacts: 애니메이션 만화 사실 단편, 하나의 스킬

원하는 내용을 평범한 말로 말씀하세요. 이 하나의 스킬이 전체 작업을 수행합니다: 아이디어, 사실, 대본, 샷 계획, 자막, ElevenLabs 음성 해설, 빌드, 자체 검토, 렌더링, 그리고 나중 업데이트까지. 사용자에게 스타일에 대해 설명하도록 요청하지 마세요. 이 스킬에 정의되어 있습니다.

모드 (사용자의 말에서 선택)

사용자 발화모드읽을 문서
"new video", "new video about X", "surprise me", "make the next short"Newdocs/new-video.md
"update video ", "fix the video", "change X in ", "apply the latest rules"Updatedocs/update-video.md
"continue video " (오디오 저장과 같은 수동 단계 후)Continuedocs/new-video.md, 누락된 첫 번째 단계부터 재개
"review video", "check ", "check this mp4"Reviewdocs/review.md만
"video ideas", "give me ideas"Ideasdocs/new-video.md 1단계만: 진짜 이야기와 흥미로운 사실을 조사하고, 이야기 강도와 후크 강도로 점수를 매기고, videos/_ideas.md에 기록하고, 한 줄 이야기, 그 형태, 초안 후크와 함께 상위 5개를 보여주며, 아무것도 빌드하지 않음
"update the skill"Upgrade사전 점검 2단계만 실행한 후 버전 변경 보고

요청이 명확하지 않으면, 비디오 이름이 언급되지 않았을 때는 New를, 언급되었을 때는 Update를 선택하세요. 비디오가 어떻게 빌드되고 어떻게 보여야 하는지는 docs/engine.md에 있습니다. New와 Update 모두 이 문서를 사용합니다.

운영 규칙 (모든 모드)

  • 샷은 내레이터의 말과 일치해야 하며, 기계적으로 확인됩니다. 모든 샷은 자신이 주장하는 바(무엇을 읽는지, 누가 무엇을 보는지, 무엇이 무엇을 조준하는지, 무엇을 쥐고 있는지)를 선언하고 assertScene을 호출합니다. 소품에 그려진 모든 문자열은 fitText를 거칩니다. tools/check_scene.py는 해당 호출이 존재할 때까지 렌더링을 차단합니다. 실패하는 게이트를 지나 렌더링하지 말고, 잘린 표지판을 텍스트를 줄이거나 공차를 넓혀서 고치지 마세요: 지오메트리를 수정하세요.
  • 후크는 장식이 아니라 게이트입니다. docs/new-video.md 2단계에서 후크 게이트를 통과하는 첫 줄이 나올 때까지 대본이 작성되지 않으며, templates/review_checklist.md 상단의 후크 블록이 통과할 때까지 비디오가 제공되지 않습니다. 약한 첫 줄은 다시 작성해야 하는 이유이며, 나중에 패치로 넘어갈 일이 아닙니다.
  • 질문하지 마세요. 합리적인 선택을 하고, 비디오의 NOTES.md에 기록하고, 계속 진행하세요. 음성 해설을 생성할 수 없거나(docs/new-video.md 3단계 참조), 필요한 도구가 없거나, 결정을 되돌릴 수 없는 경우에만 중단하세요.
  • 비디오당 하나의 폴더, 모든 것이 그 안에: videos/<slug>/ (slug = 소문자 단어를 하이픈으로 연결한 제목). 최종 MP4와 publish.txt는 최상위에, 작업 파일은 source/에, 이전 렌더링은 versions/에 있습니다. 임시 파일(스틸, 콘택트 시트, 테스트 렌더링)은 work/<slug>/에만 넣습니다. 대화에만 작업을 남기지 마세요.
  • ElevenLabs 크레딧은 음성 해설당 한 번만 사용하세요 (한 번 녹음). 음성 단어가 변경되거나, 오디오를 사용할 수 없거나, docs/new-video.md 3단계 4항목의 성능 검사(웃음 또는 과장된 연기)에 실패한 경우에만 다시 생성하세요. 그런 다음 한 번 더, 태그를 줄여서 생성하세요.
  • 자연스러움이 표현보다 중요합니다. 내레이터는 절대 웃지 않습니다: 전체 대본에 [laughs] 또는 [chuckles]가 없어야 하며, 최대 3개의 태그만 허용되고 음성 해설 텍스트에 느낌표가 없어야 합니다. 그림이 코미디를 전달합니다. 자신의 농담에 웃는 내레이터는 AI 녹음의 가장 명확한 신호입니다.
  • API 키를 절대 출력하거나 저장하지 마세요. ElevenLabs MCP는 사용자가 Claude Code에 추가합니다. 연결된 대로 사용하세요.
  • 비디오를 절대 게시하거나 업로드하지 마세요. 결과물은 최종 MP4, 썸네일, 조사된 publish.txt(제목, 설명, 해시태그, 태그)입니다.
  • 최종 응답: 몇 줄(무엇을 만들었거나 변경했는지, 위치, 중요한 선택, 다음 단계 하나). 단계별 요약은 하지 마세요.

사전 점검 (자동, 모든 실행, 모든 모드)

  1. 프로젝트 및 폴더. Remotion 프로젝트를 찾으세요(package.json과 src/가 있는 폴더). videos/, videos/_ideas.md, work/가 없으면 생성하세요.
  2. 이 스킬을 최신 상태로 유지하세요. 이 스킬 폴더가 git 클론이면, 자동으로 git pull --ff-only를 실행하고 CHANGELOG.md에서 변경된 내용을 읽으세요. 최종 응답에서 변경된 경우에만 새 버전을 언급하세요. git 클론이 아니면 건너뛰세요.
  3. 도구. ffmpeg, Python 3, @remotion/three (프로젝트에 @remotion/three와 three가 없으면 설치)를 확인하세요. ElevenLabs MCP 도구(이름: text_to_speech, generate_speech, creative_generate_speech, list_voices, speech_to_text, transcribe)를 찾으세요. 지연된 경우 ToolSearch로 로드하세요. 도구가 없으면 음성 해설 단계까지 계속 진행하고, NEEDS_AUDIO.md를 작성하여 ElevenLabs MCP를 연결하거나(또는 오디오를 제공해야 함) 설명하고 거기서 중단하세요.
  4. 이전 별도 스킬. .claude/skills/cartoon-3d-short/ 또는 .claude/skills/new-video/도 존재하면 사용하지 마세요. 최종 응답에서 이 스킬이 두 스킬을 대체하므로 해당 두 폴더를 제거할 수 있다고 한 번 알리세요.
  5. 레거시 도우미 파일. video-ideas/SKILL-UPDATE.md (첫 줄이 "# Instructions for Claude Code"로 시작)와 video-ideas/README.md (첫 줄이 "# video-ideas")가 있으면 삭제하세요. 다른 것은 절대 삭제하지 마세요.
  6. 이전 게시 파일 이름 바꾸기 (한 번). 게시 파일은 이제 마크다운이 아닌 일반 텍스트입니다. 사용자가 복사해서 사용하기 때문입니다. 모든 videos/<slug>/publish.md에 대해 videos/<slug>/publish.txt로 복사하면서 마크다운을 제거하세요(#, **, 백틱, 테이블 파이프 제거, 제목은 대문자로 변경, 내용은 동일하게 유지). 최종 응답에서 삭제할 수 있는 publish.md 파일을 알리세요. 직접 삭제하지 마세요.
  7. 이전 레이아웃 마이그레이션 (한 번, 이동만 하고 삭제하지 않음). 이전 버전의 video-ideas/ 또는 out/이 존재하면:
    • video-ideas/_ideas.md는 videos/_ideas.md가 됩니다.
    • 각 video-ideas/<slug>/에 대해: publish.md(또는 publish.txt)는 videos/<slug>/publish.txt로 이동합니다. 다른 모든 파일(script.md, voiceover*.mp3, words.json, NOTES.md, REVIEW.md, CHANGES.md, NEEDS_AUDIO.md, 리뷰 시트)은 videos/<slug>/source/로 이동합니다.
    • out/의 각 최종 렌더링을 파일 이름이나 제목(out/<slug>.mp4 또는 The_Man_Who_... 같은 이름)으로 slug와 일치시킵니다. 가장 최신 파일은 videos/<slug>/<slug>.mp4가 되고, 이전 파일은 날짜 순으로 videos/<slug>/versions/<slug>_v1.mp4, _v2.mp4가 됩니다.
    • out/의 다른 모든 것(스틸, 콘택트 시트, QA, 테스트 렌더링, 비디오별 임시 폴더)은 work/legacy-out/으로 이동하고, 위의 두 도우미 파일은 work/legacy/로 이동합니다. 일치시킬 수 없는 파일도 거기에 남습니다.
    • 완료되면 최종 응답에 무엇이 어디로 이동했는지 목록을 간략히 작성하고, 빈 video-ideas/와 out/ 폴더를 삭제할 수 있다고 알리세요. src/, public/, scripts/, audio/, backup/은 건드리지 말고, 이미 work/에 있는 파일은 그대로 두세요.

폴더 구조

videos/                        # 완료되었거나 진행 중인 모든 것, 비디오당 하나의 폴더
  _ideas.md                    # 사용되었거나 거부된 모든 주제 (먼저 읽고, 마지막에 추가)
  <slug>/
    <slug>.mp4                 # 최종 비디오: 업로드할 파일
    thumbnail.jpg              # 제작된 표지, 2160x3840 (원시 프레임 아님)
    publish.txt                # 제목, 설명, 해시태그, 태그, 카테고리, 고정 댓글 + 연구 출처
    source/                    # script.md  voiceover.mp3  words.json  NOTES.md  REVIEW.md  CHANGES.md
    versions/                  # 이전 렌더링: <slug>_v1.mp4 ... (Update 모드에서 보관)
work/                          # 임시 파일, 안전하게 삭제 가능: 스틸, 콘택트 시트, QA, 테스트 렌더링, REMOTION_TMP (다른 드라이브가 없으면)
  <slug>/

이 스킬의 내용

경로설명
docs/new-video.mdNew 및 Continue: 아이디어, 연구, 대본, 음성 해설, 빌드, 리뷰, 전달
docs/update-video.mdUpdate: 변경 사항 분류, 이전 버전 보호, 적용, 재렌더링, 회귀 검사
docs/review.md리뷰 루프 (콘택트 시트, 검사, 점수, 수정)
docs/engine.md비디오가 어떻게 빌드되고 보여야 하는지: 파이프라인, 모든 비디오에 대한 규칙, 프레이밍, 조명, 카메라 흐름, 자막, 반응, 품질 게이트
references/story_format.md6비트 스토리 형식, 코미디 도구 상자, 페이싱 수치
references/ (기타)스타일 바이블, 측정 보고서, 참조 프레임 및 시트
templates/렌더러 소스 (bridge/), 오디오 합성, 스크립트, 샷 계획, 대본 및 리뷰 템플릿
docs/history/두 개의 이전 저장소 README, CHANGELOG 및 원래 문구 보관. 지침 아님
tools/review_video.sh길이, 하드 컷 및 음량 검사 + 콘택트 시트
tools/make_thumbnail.py2160x3840 Shorts 썸네일 디자인: 캐릭터를 잘라내고, 제작된 배경 위에 놓고, 텍스트를 쌓음
tools/check_scene.py물리적 진실을 선언하지 않거나 소품 텍스트가 맞춰지지 않은 샷의 렌더링을 차단
tools/check_voice.py음성 해설 녹음 확인: 속도, 일시 중지, 음량, 전달이 너무 빠른 구간(웃음, 급함)

관련 스킬