Communitygithub.com

효과-스킬

세로 방향의 얼굴 카메라 클립에 36가지 비디오 효과(머리 뒤 네온 텍스트, 매거진 커버, 사람 주위를 도는 릴, 유리 위젯, 체크리스트 렌더링, 티어 목록, 글리치 등) 중 하나를 적용하고 Remotion으로 4K로 렌더링합니다. 사용자가 /effects를 입력하거나, 셀카/페이스캠 비디오를 첨부하고 효과, 편집, '릴 효과'를 요청하거나, 효과 목록을 보고 싶을 때 사용합니다.

효과-스킬란 무엇인가요?

이 스킬은 사용자가 업로드한 세로 얼굴 카메라 클립에 36가지 다양한 비디오 효과를 적용하여 4K로 렌더링하는 AI 에이전트 능력입니다. 주요 기능은 `node SKILL_DIR/scripts/effects.mjs` 스크립트를 통해 관리되며, doctor 명령어로 설치 상태를 확인하고, render 명령어로 효과를 렌더링하며, list 명령어로 효과 목록을 제공하고, sheet 명령어로 모든 효과를 한 프레임에 미리 볼 수 있습니다. 이 스킬은 Claude Code, Cursor, Codex 등 명령줄 기반 AI 어시스턴트와 함께 사용하도록 설계되었습니다. 사용자가 /effects를 입력하고 비디오와 효과를 지정하면, 스킬은 자동으로 필요한 프로필 정보를 수집하고, 효과에 맞는 텍스트 옵션을 설정한 후 Remotion을 사용하여 렌더링합니다. 렌더링 과정에서 진행 상황을 5단계 체크리스트로 표시하며, --hd, --fast, --start, --seconds 등 다양한 옵션을 지원하여 사용자 맞춤형 결과물을 제공합니다. 특히 ✂ 표시가 있는 효과는 그래픽 카드가 있으면 이미지당 약 1초가 소요되며, 그래픽 카드가 없는 경우 느리게 작동할 수 있음을 사용자에게 안내합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Dryxio/effects-skill/tree/main

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

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

문서

/effects

인수: $ARGUMENTS

모든 작업은 이 스킬의 폴더(이 파일이 있는 폴더, 보통 ~/.claude/skills/effects)에서 실행됩니다. 해당 폴더를 SKILL_DIR이라고 부릅니다. 사용자에게는 사용자의 언어로 응답합니다(기본값: 프랑스어).

1. 설치 확인

node SKILL_DIR/scripts/effects.mjs doctor를 실행합니다. ✗가 표시되면 사용자에게 일회성 설치(3–10분, 약 1–2GB 다운로드)임을 알리고 bash SKILL_DIR/setup.sh를 백그라운드에서 실행한 후 doctor를 다시 실행합니다. doctor가 그래픽 카드가 없다고 하면 ✂ 표시된 효과는 느릴 것(이미지당 약 15초)이라고 경고하고 --seconds 5 또는 --fast를 제안합니다.

2. 필요한 것 수집

  • 클립: 사용자가 첨부하거나 지정한 비디오(세로 9:16 얼굴 카메라가 가장 좋음; 모든 형식은 1080×1920으로 잘림). 클립이 없으면 요청합니다. 경로를 임의로 만들지 마세요.
  • 효과: 첫 번째 인수. 없거나 알 수 없는 경우 node SKILL_DIR/scripts/effects.mjs list를 실행하고 목록을 보여준 후 어떤 효과를 원하는지 묻습니다. "all" / "toutes" / "aperçu" → sheet 명령어를 실행합니다(4단계).
  • 프로필: SKILL_DIR/profile.json이 없으면 사용자의 이름(또는 브랜드명)과 @를 한 번 물어본 후 다음과 같이 작성합니다: {"name": "Salim", "handle": "@salim", "accent": "#ff2d87"}(accent는 선택 사항). 이후에는 매번 재사용합니다.
  • 텍스트: 사용자가 제공한 단어가 있으면 그 단어를 사용하고, 그렇지 않으면 기본값을 사용합니다. 각 효과가 읽는 옵션은 아래 표에 나와 있습니다.

3. 체크리스트 표시와 함께 렌더링

스크립트가 ✓ n/5 줄을 출력할 때마다 다음 5단계 작업 목록을 만들고 체크 표시합니다:

  1. 얼굴 찾음
  2. 배경에서 분리
  3. 텍스트를 사용자 뒤에 배치
  4. 색상 보정
  5. 4K로 렌더링
node SKILL_DIR/scripts/effects.mjs render <효과> "<클립>" [옵션]

시간이 오래 걸리는 경우(✂ 표시된 효과는 그래픽 카드가 있으면 이미지당 약 1초, 즉 10초 비디오의 경우 약 2~3분) 백그라운드에서 실행하고 진행률 줄을 전달합니다. 출력 파일은 클립과 같은 위치에 <클립>-<효과>.mp4(2160×3840)로 생성됩니다. 사용자에게 해당 경로를 알려줍니다.

유용한 옵션:

옵션효과
--hd4K 대신 1080p, 두 배 빠름
--start 3 --seconds 8클립의 일부 구간만 유지
--smooth15fps 대신 30fps로 컷아웃(두 배 시간 소요, 빠른 움직임에 더 부드러움)
--fast빠르지만 거친 컷아웃(머리카락 주변에 배경 약간 남음)
--images <폴더>orbit, phone-fan, profile-wall, tier-list 효과를 위한 릴 스크린샷
--grade warm|cool|bw|none색상 보정(기본값: warm)
--accent "#00c2ff"주요 색상
--props '{"notes":["…"]}'기타 속성(JSON)

긴 ✂ 렌더링 전에 사용자의 텍스트가 길거나 특이한 경우, 먼저 미리보기를 실행(약 30초)하고 확인합니다:

node SKILL_DIR/scripts/effects.mjs still <효과> "<클립>" [동일 옵션]

4. 클립에서 모든 36가지 효과 보기

node SKILL_DIR/scripts/effects.mjs sheet "<클립>" [--name … --handle …]

<클립>-36-effets.jpg(각 효과의 한 프레임)가 생성됩니다. 사용자에게 보여주고 선택할 수 있도록 합니다.

각 효과가 읽는 텍스트

--headline 또는 --title에서 단어를 *별표*로 감싸면 색상이 적용됩니다. \n은 줄 바꿈입니다.

효과읽는 옵션(기본값은 대괄호 안)
glass-widgets--name --handle --followers [71K], --props '{"chart":{"values":[…],"labels":[…],"unit":"K"}}'
documentary ✂--headline ["UN *CLIP.*\n36 EFFETS.\n*ZÉRO* APP."] --name --handle --kicker --word (고스트 텍스트)
orbit ✂--images
kallaway-split--props '{"chart":{"title":"Mes 7 meilleurs reels\npar *vues*","values":[615,353,…],"labels":["Reel 1",…],"unit":"K"}}'
spotlight ✂--word [CLAUDIT] (짧은 단어 하나가 가장 좋음)
checklist--props '{"steps":[["Visage trouvé","chaque frame"],…]}' (5쌍)
timeline--title ["Claude *le monte*"] --headline (칩스)
lineup--title
shortcut-rain없음
red-collage ✂--headline --word (배경 텍스트)
comment-box--comment ["claude 🔥"] --handle
cover-star ✂--name (거대 제목) --headline --handle
headline-wall--props '{"notes":["…","…","…","…"]}'
phone-fan--word [MES REELS] --handle --images
rabbit-hole없음
profile-wall--handle --name --followers --images
noise없음
the-bill--name --handle
split-headline--title ["Claude *monte* mes reels."] (별표로 감싼 단어가 강조됨)
pastel-word ✂--word [REELS]
tier-list--title --images
polaroid--title (캡션, 기본값은 이름)
filmstrip없음
comic-book--word [BOUM]
glitch--word [GLITCH]
duotone--word [FOCUS] --accent
scanline--title
cinema--kicker [Chapitre I] --title (자막)
breaking-news--headline --word --name --handle
quote-card--title (인용문) --name --handle
countdown--accent
progress-ring--word [regardé] --handle
emoji-burst없음
neon-frame--word [live] --accent
typewriter--title 또는 --headline
zoom-punch--title (펀치당 한 단어)

문제 발생 시

  • clip introuvable: 경로를 확인하고 공백이 있으면 따옴표로 감쌉니다.
  • 폰트는 Google Fonts에서 가져오고 Remotion은 첫 번째 렌더링 시 헤드리스 Chrome을 다운로드합니다. 둘 다 인터넷이 필요합니다.
  • ✂ 효과에서 사람이 거의 보이지 않거나 여러 명이 있는 경우: 컷아웃은 사람으로 인식되는 모든 대상을 유지합니다. 사용자에게 그렇게 알려줍니다.
  • 준비된 파일은 SKILL_DIR/.work/에 캐시됩니다(클립당 하나의 폴더). 디스크 공간을 확보하기 위해 언제든지 삭제할 수 있습니다.

관련 스킬