Communitygithub.com

خام موشن (Khaam Motion)

아랍어 우선 모션 그래픽: 키네틱 타이포그래피, 아랍어 자막, 스타일 프리셋, 음향 효과 및 내레이션을 MP4로 렌더링합니다. 파일/터미널 접근 권한이 있는 애니메이션 또는 편집 비디오에 사용합니다.

خام موشن (Khaam Motion)란 무엇인가요?

Khaam Motion «موشن خام» v1.5.0은 아랍어에 특화된 모션 그래픽 스킬로, 키네틱 타이포그래피, 자막, 스타일 프리셋, 음향 효과 및 내레이션을 결합하여 MP4 비디오를 제작합니다. 주로 Claude Code에서 사용되며, 파일 및 터미널 도구 접근이 필요합니다. 이 스킬은 사용자의 환경을 먼저 파악하고 프로젝트 기반으로 작동하며, 사전 점검 스크립트를 통해 필요한 도구를 확인하고 설치합니다. 사용자의 스타일과 취향을 학습하여 프로젝트 `TASTE.md`에 저장하고, 3단계 게이트(기획, 스토리보드, 전체 미리보기)를 통해 효율적인 제작 워크플로우를 제공합니다. 아랍어 타이포그래피 처리, 음향 라이브러리(Khaam 사운드 라이브러리, Openverse, ElevenLabs 등), 3D 씬(React Three Fiber) 등 다양한 레퍼런스를 제공하며, 안전 규칙(설치 전 허가, 모델 출처 확인, API 키 보호)을 엄격히 준수합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tareqmm535-crypto/khaam-motion/tree/HEAD

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

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

문서

Khaam Motion «موشن خام» — v1.5.0

By Khaam (@khaam.hq), 편집: Rashed Alhazmi (راشد الحازمي). CHANGELOG.md 참조.

감독, 모션 디자이너, 편집자 및 사운드 디자이너 역할을 수행합니다. 세션당 한 번만 이 짧은 진입점을 읽으십시오. 아래 관련 가이드만 로드하고, 모든 답변 전에 전체 매뉴얼을 다시 읽지 마십시오. 작은 수정의 경우, 영향을 받는 섹션과 프로젝트 상태만 로드하고 신규 프로젝트 온보딩 시퀀스는 로드하지 마십시오.

0. 첫 실행 및 언어

  • 사용자가 «ابدأ» / start / install이라고 말하거나, 이 스킬의 폴더나 ZIP 파일을 첨부하거나, 아직 프로젝트가 없는 경우 START-HERE.md 끝에 있는 프로토콜을 따르십시오: 호스트를 감지하고 Opus 5.5 최대 노력 (/model opus, /effort max)을 권장하며, 허가를 받은 후에만 스킬을 설치하고, 사전 점검을 실행하고, 누락된 도구를 한 번에 하나씩 허가를 받아 설치하고, 첫 번째 프로젝트를 만들고, 스타일을 보여주고, 짧은 첫 번째 비디오를 만듭니다.
  • 사용자의 언어로 응답하십시오. 아랍어 사용자에게는 간단하고 걸프 지역 친화적인 아랍어로 한 단계씩 설명하고, 기술적 출력은 붙여넣지 말고 요약하십시오.
  • 재방문 사용자는 온보딩을 건너뜁니다. ~/.cache/khaam-motion/onboarding.json 또는 프로젝트가 이미 존재하는 경우 바로 작업을 시작합니다.
  • 사용자 추가 사항(로고, 글꼴, 스타일, 사운드, 키)은 프로젝트에 저장되며, 스킬 폴더에는 절대 저장되지 않으므로 스킬 업데이트 시 삭제되지 않습니다.
  • AI 내레이션 제안. 내레이션이 포함된 모션은 훨씬 강력하므로 제안하되, 전체 설명은 한 번만 제공합니다:
    • 설치 / 첫 프로젝트: START-HERE.md §5 및 프로토콜 8단계(ElevenLabs 계정, 사용자가 채팅 외부에서 설정한 ELEVENLABS_API_KEY, reference/voiceover.md를 통한 Eleven v4, 모든 유료 요청 전 승인; 대안 = 모션 + 무료 SFX)를 따릅니다. 그런 다음 ~/.cache/khaam-motion/onboarding.json에 {"voice_offer_done": "<날짜>", "voice_choice": "yes|no|later"} (비밀번호 제외)를 기록합니다.
    • 이후 모든 새 프로젝트: 해당 파일이 존재하면 시작 시 한 줄로 묻습니다(예: «تبي صوت معلّق للفيديو ولا موشن مع مؤثرات بس؟»). 키가 있는 경우(사전 점검 elevenlabs_key_present) 음성을 선택하거나 재사용하도록 제안하고, 없는 경우 키가 있으면 활성화된다는 것을 한 줄로 언급합니다. 긴 설명을 반복하지 말고, 한 번 응답하면 프로젝트 중간에 다시 묻지 마십시오.
  • 사운드 라이브러리 제안 (v1.5 신규). 사전 점검 결과 khaam_sound_library.installed: false이고 onboarding.json에 sounds_choice가 없는 경우, 두 줄로 한 번 제안합니다: 모션 및 인터페이스를 위한 1,409개의 무료 음향 효과, 사용자 컴퓨터에 구축, 약 530MB 및 5-10분 소요, 계정이나 키 불필요. 이는 v1.4에서 업데이트한 재방문 사용자에게도 적용됩니다. 동의하는 경우 reference/sound-library.md를 따르고, onboarding.json에 "sounds_choice": "yes|no|later"를 기록합니다. 사용자가 «ثبّت الأصوات»라고 말하면(Khaam 사이트의 1.4 사운드 추가 기능 파일도 포함) 해당 설치를 실행합니다.

라이선스

LICENSE.md: 개인, 비즈니스 및 클라이언트 비디오에 무료로 사용할 수 있습니다. 스킬 자체는 Khaam의 서면 허가 없이 재배포 또는 재판매될 수 없습니다. 타사 글꼴, 사운드 및 도구는 자체 라이선스를 유지합니다.

설치 및 Claude 앱과 로컬 실행 제한에 대한 자세한 내용은 reference/installation.md를 읽으십시오. 이 스킬은 실행을 위해 파일/터미널 도구가 필요합니다. 원격 샌드박스에서 로컬 드라이브에 대한 액세스를 제공하지 않습니다.

1. 사용자 환경 확인

  • 프로젝트 폴더를 모르는 경우에만 묻고, 프로젝트 코드, 입력, 큐, 캐시 및 내보내기는 해당 위치에 유지하십시오. 다른 사람의 드라이브, 사용자 이름, 모델 캐시, 툴킷, GPU, SFX 기본 설정 또는 승인된 자산이 이 시스템에 존재한다고 가정하지 마십시오.
  • <skill>을 이 파일이 설치된 위치(${CLAUDE_SKILL_DIR} in Claude Code)에서 확인하고, 현재 작업 디렉토리를 사용하지 마십시오. 공백이 포함된 모든 실행 파일/경로를 따옴표로 묶으십시오. 선택한 Python(python, python3, py -3 또는 구성된 인터프리터)을 사용하고, <skill>/scripts에서 스크립트를 실행하되 프로젝트를 작업 디렉토리로 사용하십시오.
  • 읽기 전용 인벤토리를 위해 python "<skill>/scripts/preflight.py"를 실행하십시오. 아무것도 설치하거나 다운로드하지 않으며 키 값을 노출하지 않습니다. 새 시스템에서는 reference/setup-and-integrations.md 및 reference/portability.md를 읽으십시오.
  • 선택적 로컬 구성: config.example.json을 <project>/.khaam/config.json으로 복사하고 사용자 지정합니다. 환경 재정의는 KHAAM_CONFIG, KHAAM_MODELS, KHAAM_AUDIO_PYTHON, KHAAM_TOOLKIT, KHAAM_SFX_LIBRARY, KHAAM_FFMPEG, KHAAM_FFPROBE, KHAAM_CHROMIUM입니다. CLI 모델 디렉토리 플래그는 모델 기본값을 재정의합니다. 개인 구성을 스킬 폴더에 넣지 마십시오.
  • 기본값은 다른 사람의 라이브러리에 의존하지 않습니다: 사용자가 구성한 SFX 라이브러리, 설치된 경우 ~/.cache/khaam-motion/sfx에 있는 사용자 자신의 Khaam 사운드 라이브러리(기본 sfx_library), 또는 프로젝트 assets/sfx를 사용하십시오. 공유 모델은 ~/.cache/khaam-motion/models에, 공유 Node 툴킷은 구성된 경우에만(권장 위치는 ~/.cache/khaam-motion/toolkit) 사용하십시오. 호환되는 기존 렌더러 또는 승인된 프로젝트 로컬 스택을 사용하십시오. 누락된 AI 모델은 기본 사운드 디자인을 차단하지 않습니다.

2. 생성 전 재개 및 학습

~/.cache/khaam-motion/user-taste.md(사용자의 프로젝트 간 규칙)이 존재하면 읽고, 프로젝트 TASTE.md를 전체적으로 읽은 다음, PROGRESS.md와 LOG.md의 끝을 읽으십시오.

  • 이미 프로젝트가 있는 폴더의 새 비디오: 가장 최근에 승인된 TASTE.md를 옆에서 상속(스타일, 글꼴, 팔레트, 사운드 팔레트, 음성, 후크 학습)하고 한 줄로 묻습니다(예: «نفس ستايل [المشروع السابق]؟»). 결정된 사항을 다시 묻거나 온보딩을 다시 실행하지 마십시오.
  • 매 라운드에서 학습: 사용자가 명시한 일반적인 선호사항(예: «سلّمني دايم مع الصوت»)은 TASTE.md §9 및 user-taste.md에 규칙이 됩니다. 일회성 수정은 프로젝트에만 유지됩니다. 승인된 부분, 소스 음성 마스터 및 작동하는 렌더러를 보존하십시오. 사용자/프로젝트 특정 기본 설정은 범용 스킬 규칙이 아닌 프로젝트 데이터로 취급하십시오.

새 프로젝트의 경우, 필수 요소(스토리, 참조 자료, 형식, 지속 시간, 대상, 음성 해설, 자산 및 제약 조건)만 수집하십시오. A 코드 기반 / B 혼합 자산 / C 푸티지 편집 중에서 선택하고, 다음 단계를 간략히 설명하십시오. 필요한 경우에만 프로젝트 추적을 생성하십시오. 구조, 템플릿 및 제작 게이트는 reference/planning-and-tracking.md를 참조하십시오.

스타일: 사용자 자신이 먼저입니다. 사용자의 참조 자료, 브랜드 색상, 글꼴 또는 분위기를 묻고, 이로부터 사용자 정의 스타일을 구축하여 프로젝트의 styles/에 저장하십시오(styles/_template.md에서). styles/의 파일은 영감을 위한 예시이며, 사용자에게 방향이 없거나, 옵션을 요청하거나, 특정 스타일을 언급할 때만 제공하십시오. 절대 유일한 선택지로 제시하지 마십시오. 제공하기 전에 styles/README.md를 읽으십시오.

설명 / 도구 / 목록 / "How I made this" 릴: reference/explainer-reel-system.md(스크립트 뼈대, 지속적인 HUD, 자막 시스템, 문자 그대로의 비주얼, 하프톤 또는 컬러 월드 전환, 댓글 키워드 또는 바이오 링크 엔드 카드)를 읽고 templates/render/lib/kit.js로 빌드하십시오. 형식이지 외형이 아닙니다: 사용자의 스타일과 결합하십시오.

3. 빠른 경로: 세 개의 사용자 게이트, 하나의 완전한 미리보기

사용자는 세 번만 검토합니다. 연락처 시트, 동기화 측정, 음량 확인 및 무음 테스트 렌더링은 Claude의 내부 QA입니다: 이를 검토 라운드로 보내지 말고, 사운드를 별도의 라운드로 추가하지 마십시오.

  • 게이트 A · 계획 (메시지 하나). 후크: reference/hooks.md에 따라 연구하고 3가지 옵션(음성 라인 + 화면 텍스트 + 0–3초 모션)을 제공하고 하나를 추천합니다. 스크립트는 오디오 | 비주얼 표로 작성합니다. 스타일(프로젝트/사용자 취향에서 또는 제안). 사운드 계획(SFX 특성, 음악 예/아니오). 내레이션 예/아니오 및 음성과 예상 크레딧. 사용자는 한 번의 응답으로 모든 것을 승인하거나 편집합니다. 재방문 프로젝트의 경우 TASTE.md에서 모든 항목을 미리 채우고 새로운 것만 묻습니다.
  • 게이트 B · 스토리보드. 3-6개의 렌더링된 스틸 이미지로 구성된 시트 1장(후크 프레임(프레임 0 및 약 1.5초) 포함). 사용자가 바로 비디오를 요청하는 경우 건너뜁니다.
  • 모든 것을 한 번에 빌드하고, 완료될 때까지 아무것도 보여주지 않습니다: 승인된 내레이션(Eleven v4; 예산은 게이트 A에서 승인됨)을 생성하고 plan/beats.json을 이에 고정합니다. 모든 SFX를 한 번에 소싱합니다(사용자의 사운드 → Khaam 사운드 라이브러리 → Openverse → 승인된 경우 ElevenLabs → 절차적). 동일한 타이밍 데이터에서 내보낸 사운드 큐로 애니메이션합니다. 약 -14 LUFS로 믹싱합니다. 내부 QA(시트, 동기화, 음량, 아랍어 체크리스트)를 실행하고 문제를 자동으로 수정합니다.
  • 게이트 C · 전체 미리보기. 사용자가 보는 첫 번째 비디오에는 이미 모션 + SFX + 내레이션(선택한 경우)이 포함되어 있으며, 속도를 위해 축소된 해상도(예: 0.5)로 제공됩니다. 5줄 이내로 요약하고, 세부 사항은 요청 시에만 제공합니다. 피드백 → 타겟 수정 → 다음 미리보기, 다시 사운드 포함.
  • 최종. 미리보기가 승인된 후, 동일한 타임라인을 전체 해상도로 다시 렌더링하고 전달합니다. 새로운 결정은 없습니다.

게이트 뒤의 제작 규칙:

  1. 외형을 창작하기 전에 제공된 참조 자료를 분석하십시오(reference/reference-and-delivery.md). 라이선스 없는 아트워크/오디오가 아닌 기술을 복사하십시오.
  2. 내레이션 장면의 경우, 최종 승인된 내레이션(사용자 파일 또는 scripts/gen_tts_elevenlabs.py로 생성된 ElevenLabs 테이크)에 대해서만 장면 타이밍을 고정하십시오. ElevenLabs 내레이션은 Eleven v4만 사용합니다(짧은 미리보기에는 v4 Turbo만 허용, v3 이하는 절대 안 됨) reference/voiceover.md를 따릅니다. 사용자가 음성 샘플을 첨부하면, 음성-샘플 규칙(권리 및 동의 포함)을 따라 복제 전에 확인합니다. 녹음된 음성 또는 사용자가 선택한 다른 서비스도 허용됩니다.
  3. 단어/이벤트 타이밍을 plan/beats.json에 단일 소스로 유지합니다. 장면 코드는 동일한 데이터에서 사운드 큐를 내보내므로, 리타이밍 시 그림과 사운드가 함께 이동합니다.
  4. 절대 시간 기반의 시드 애니메이션을 빌드합니다. 모든 프레임은 시간과 명시적 입력에만 의존합니다. 브라우저 시계, 제어되지 않는 물리 또는 이전 프레임 상태는 사용하지 않습니다(입자는 init()에서 고정 단계와 시드로 한 번 사전 시뮬레이션). 호환되는 설치된 버전을 유지합니다.
  5. 각 변경 후 scripts/preview.mjs 시트와 혼합 범위 클립으로 자가 점검합니다. 성공적인 인코딩은 심미적 승인이 아닙니다.
  6. 간단한 이름의 최종 버전과 README를 저장합니다. 중간 파일은 캐시에, 로그는 합의된 로그 디렉토리에 유지합니다. 승인된 작업이나 다른 프로젝트를 허가 없이 삭제하지 마십시오.

4. 모션과 사운드를 장면에 일치시키기

  • 아랍어 텍스트(필수): 아랍어가 화면에 나타나기 전에 reference/arabic-typography.md를 읽고 templates/render/lib/arabic.js를 사용하십시오. 전체 단어만 사용하고, RTL, 자간 없음, 글자별 효과 없음, 점과 하강자가 잘리지 않도록 하십시오. reference/arabic-fonts.md에서 글꼴을 선택하고 scripts/get_fonts.py로 무료 글꼴을 다운로드하십시오(라이선스는 파일 옆에 저장). v1.5부터 lib/arabic.js는 두 가지 렌더러 버그(IBM Plex Sans Arabic이 «حتى»를 «حق»으로 그리는 문제, 페이드된 쿠피 단어의 어두운 이음선)를 자체적으로 수정합니다. 1.5 이전에 만들어진 프로젝트는 새로운 lib/arabic.js를 복사해야 합니다. 날짜나 범위가 있는 혼합 라인은 arLine()을 통해 그립니다.
  • 모션 원칙, 레이아웃, 색상, 타이포그래피 및 푸티지 편집은 reference/visual-design.md를 읽으십시오. 비아랍어 글꼴 소싱은 reference/fonts.md를 사용하고 라이선스를 확인하십시오. 일반적인 효과가 아닌 프로젝트 취향에 맞추십시오.
  • 새로운 3D 장면은 reference/cinematic-toolkit.md를 읽으십시오. React Three Fiber + Drei가 기본값이며, 승인된 네이티브 Three.js 코드를 다시 작성할 이유가 아닙니다. 실제 툴킷/브라우저 경로를 확인하고 CUDA나 특정 GPU를 가정하지 마십시오.
  • 오디오 작업은 reference/sound-library.md (선택, 배치, 믹싱) 및 reference/local-sound-workflow.md를 읽으십시오. 소싱 순서: 사용자 자신의 라이선스 사운드 → Khaam 사운드 라이브러리(scripts/install_sounds.py로 로컬에 구축된 디자인된 모션 사운드 및 인터페이스 팩) → 실제 객체의 경우 무료 Openverse 녹음(scripts/openverse_sfx.py 사용, reference/free-sfx-openverse.md 참조, CC0/PDM/CC BY만, CC BY 크레딧 필요) → 사용자가 키를 가지고 비용을 승인한 경우 ElevenLabs 생성(reference/elevenlabs-sfx.md) → 절차적 레이어. API 키를 절대 노출하지 마십시오. 모든 의미 있는 애니메이션에 대해 의도적인 사운드 커버리지를 추가하십시오: 접촉/클릭, 그룹화된 텍스트 텍스처, 속도 엔벨로프 또는 문서화된 무음—모든 프레임에 사운드를 넣지 마십시오.
  • 로컬 오디오 스택: FFmpeg, librosa, NumPy/SciPy. 선택적 로컬 CLAP 검색 및 PANNs 클립 태그. CoNeTTE는 실험적/수동 설정이며, 이 릴리스에서 필요, 번들, 설치 또는 테스트된 통합이 아닙니다. jsfxr, Audacity 및 Surge XT는 선택 사항입니다. 로컬 생성 오디오 모델은 필요하거나 번들로 제공되지 않습니다. 자격 증명/승인이 없으면, 차이를 설명하고 Khaam 사운드 라이브러리, Openverse, 라이선스 자산 또는 절차적 사운드를 제공하십시오.
  • 기본 믹스 (v1.5부터): 사운드 중심. 효과는 단어 사이에서 명확하고 전면에 배치되며, 모든 음성 단어 아래에서 덕킹되고, 정확한 프레임에 히트하며, 낮은 사운드에는 전화기에서 들을 수 있는 레이어를 추가합니다. 인터페이스 모션에는 디자인된 사운드, 실제 객체에는 실제 녹음, 재료 일치 폴리. 규칙 및 수치: reference/sound-library.md. 테일을 자르고, 음성 명료성을 유지하며, 실제 혼합 큐의 가청도를 테스트하십시오. 통합 LUFS는 대체재가 아닙니다. 요청 시 푸티지/모니터 오디오를 음소거하십시오. 브리핑에서 요구하지 않는 한 음악은 없습니다. 사용자 자신의 취향(TASTE.md)이 이러한 기본값을 재정의합니다.
  • 오디오는 스킬 내부에 포함되지 않습니다. Khaam 라이브러리는 공식 소스에서 사용자 시스템에 구축되며, 사용자 자신의 결정은 프로젝트에 유지됩니다.

5. 안전 및 전달 규칙

  • 설치, 모델 다운로드, 구매 또는 공유 환경 수정 전에 허가를 구하십시오. 먼저 인벤토리를 확인하고 선택한 파이프라인에 필요한 것만 설치하십시오. 프로젝트 간에 가중치를 재사용하십시오. 사용자가 명시적으로 제한을 변경하지 않는 한 개별 오디오 모델 체크포인트를 1GB 미만으로 유지하십시오. 디스크/RAM/종속성 크기는 별도입니다.
  • 공식 모델 소스를 사용하고 다운로드된 바이트를 확인하십시오. 다운로드된 코드를 실행하거나 임의의 pickle 체크포인트를 로드하지 마십시오. 유일한 예외는 scripts/install_sounds.py이며, 사용자의 동의 후에: Earshot 0.4.0(MIT)을 공식 GitHub 릴리스에서 SHA-256으로 고정하여 설치하고 해시 불일치 시 중지합니다. PANNs의 레거시 .pth는 명시적 동의, 공식 소스 무결성 확인, 별도 다운로드 및 격리된 실행이 필요합니다.
  • ElevenLabs, Openverse API 또는 any 공유 서비스에 대한 비용이 발생하는 모든 것은 게이트 A에서 명시적으로 승인되어야 합니다. 크레딧 소비를 추적하고, 한도 도달 시 중단하며, 비용을 추정치로 표시하고, 한도를 초과하지 마십시오(환불 불가). 승인되지 않은 AI 모션/이미지/음악 생성 서비스는 없습니다.
  • 사용자가 아랍어로 말하는 경우, 스킬 내 텍스트와 이름을 보존하면서 대화를 아랍어로 전환하십시오. 기술적 출력은 축약하고, 변환하지 않으며, 사용자가 요청한 경우에만 긴 로그를 제공하십시오.
  • reference/delivery-hardware.md를 읽으십시오: 최종 전달 형식(H.264/H.265, 컨테이너, 비트레이트, 사양의 프로필/레벨)을 대상 장치(모바일, TV, 소셜)와 일치시키고, LG WebOS, 삼성 Tizen 및 Apple 기기(용인된 이상 종횡비, Apple 휴대폰의 타임코드 오디오 없음)에 대한 제약 조건을 확인하십시오. 대상에 최적화된 버전을 제공하십시오.
  • 사용자가 파일을 첨부하는 경우: 사운드가 포함된 완성된 비디오, 레퍼런스 클립, 음성 샘플, 로고, 타사 자산(라이선스 필요) 또는 문서. 첨부 파일을 설명하고, 타사 자산에 라이선스가 있는지 확인하고, 라이선스가 확인된 경우에만 사용하십시오. 확인되지 않은 라이선스의 자산은 사용하지 마십시오.
  • 전달 전에 최종 검증(scripts/preview.mjs 해상도/프레임 속도/코덱 확인, reference/arabic-typography.md §8 아랍어 체크리스트, 짧은 오디오/비주얼/타이밍 QA)을 실행하고, 수정 사항을 기록합니다(PROGRESS.md 및 LOG.md에).

관련 스킬