Claude Code 플러그인, 통째로 깔지 않고 알맹이만 빼왔다

지난 편 → 6편 — 챗GPT랑 클로드, 왜 서로 대화는 못 시킬까 Claude Code로 한동안 일하다 보면, 남이 만들어 둔 도구를 가져다 쓰고 싶어지는 순간이 옵니다. 마켓플레이스에 올라온 플러그인 중 하나가 눈에 들어왔습니다. 코드를 필요 이상으로 부풀리지 않게, "게으른 시니어 개발자"처럼 최소로만 짜도록 붙잡아 주는 도구였습니다. 마음에 들었습니다. 그런데 막상 설치하려니 손이 멈췄습니다. 제가 원한 건 그 안에 담긴 원칙 하나 였는데, 플러그인은 그것 말고도 이런저런 것들을 통째로 데려옵니다. 안 쓸 기능까지 제 환경에 얹히는 게 영 내키지 않았습니다. 그래서 깔지 않고, 열어서 필요한 알맹이만 빼내기로 했습니다. 그러려면 먼저 "플러그인"과 "스킬"이 뭐가 다른지부터 알아야 했습니다. 스킬과 플러그인은 뭐가 다른가 한 줄로 하면 이렇습니다. 스킬은 부품 하나, 플러그인은 부품을 담은 상자. 스킬(Skill) 은 최소 단위입니다. SKILL.md 라는 마크다운 파일 하나가 전부고, 필요하면 옆에 보조 파일(스크립트·데이터)을 둘 수 있습니다. 두는 곳도 단순합니다. 개인용: ~/.claude/skills/<이름>/SKILL.md 프로젝트용: .claude/skills/<이름>/SKILL.md 파일 맨 위 frontmatter에 "이 스킬을 언제 써야 하는지"를 적어두면, Claude가 상황을 보고 알아서 불러 씁니다. 아니면 /스킬이름 으로 직접 부를 수도 있습니다. 말하자면 "이 일은 이렇게 처리해라"라고 적어둔 지침 한 장 입니다. 플러그인(Plugin) 은 그 부품들을 담아 배포하는 상자입니다. .claude-plugin/plugin.json 이라는 매니페스트를 중심으로, 여러 종류의 구성요소를 한 번에 묶습니다. skills/ — 스킬들 agents/ — 커스텀 에이전트(서브에이전트...

AI로 만들어본 것들 (1편) — 유튜브 쇼츠를 하루 만에 만들었습니다

결론부터: 완벽한 AI 영상을 만들려다 3주를 날렸습니다. 포기하고 있는 자산(사진 몇 장 + 화면 녹화)에 AI 도구(TTS·ffmpeg)를 엮었더니 채널 개설부터 첫 영상 공개까지 하루면 됐습니다. AI 시대의 제작은 "AI가 다 만들어주는 것"이 아니라 "도구를 엮는 것"이었어요.

3주 동안 아무것도 못 올렸습니다

분리수거 앱을 만들고 나니 홍보가 필요했습니다. 유튜브 쇼츠가 좋겠다 싶었죠. 문제는 그다음이었어요.

저는 "AI로 그럴듯한 영상을 통째로 뽑겠다"고 마음먹었습니다. 손 연기 장면을 AI로 생성하고, 배경음악 깔고, 자막도 예쁘게. 그런데 AI 영상 생성은 계속 어긋났어요. 정량이 초과되거나, 실제 촬영분과 결이 안 맞거나. 3주 동안 완성본이 하나도 안 나왔습니다.

돌아보면 문제는 도구가 아니라 저였어요. "완벽한 한 방"을 노린 게 정체의 원인이었습니다.

"완벽 말고 완성"으로 문턱을 넘었어요

어느 순간 방향을 바꿨습니다. AI 손 연기는 버리고, 이미 가진 것으로 만들기로요.

  • 제품 사진 몇 장
  • 앱 실행 화면 녹화
  • 배출 결과 화면 캡처

여기에 AI 도구를 붙였습니다. 목소리는 구글 클라우드 TTS로, 조합은 ffmpeg로요. 화려한 AI 생성 영상은 없지만, 돌아가는 완성본이 그날 나왔습니다. 채널 개설부터 첫 영상 공개까지 하루였어요.

이게 첫 번째 교훈입니다. 완벽을 노리면 0편이고, 완성을 노리면 1편이 나옵니다.

상표를 피하는 법 — 제품 뒷면과 크롭

첫 번째 실무 함정은 상표였습니다. 특정 제품이 화면에 로고째 나오면 곤란하죠.

해결은 단순했어요. 제품을 뒷면(성분표)으로 촬영했습니다. 브랜드 로고가 안 보이니까요. 그리고 앱 결과 화면 하단에 깔린 광고 배너는 잘라냈습니다(크롭).

ffmpeg -y -i rec.mp4 -t 11 -vf "crop=1080:1900:0:90" -an out.mp4

위아래를 잘라 광고와 상태바를 날린 겁니다. 별것 아닌 것 같아도, 이런 게 없으면 남의 상표나 광고가 내 영상에 박혀버립니다.

TTS가 403을 뱉었습니다

두 번째 함정은 목소리였어요. 구글 클라우드 TTS를 호출했는데 403 (권한 거부)이 왔습니다.

한참 헤맸는데 원인은 quota project(과금 프로젝트)가 지정되지 않아서였어요. 요청에 x-goog-user-project 헤더로 프로젝트를 명시하니 그때야 음성이 왔습니다.

이게 문서만 봐서는 안 나오는 종류예요. 실제로 던져보고 403을 받고, 에러 메시지를 뜯어보고 나서야 알았습니다. AI 도구도 결국 "붙여봐야" 아는 함정이 있습니다.

참고로 구글 TTS는 월 100만 자까지 무료라, 쇼츠 수십 편은 공짜로 만들 수 있었어요.

자막이 두 번 나왔습니다

세 번째 함정이 제일 뜻밖이었어요. 자막을 영상에 직접 새겨 넣었는데(번인), 업로드하고 보니 자막이 두 겹으로 겹쳐 있었습니다.

범인은 유튜브였어요. 유튜브가 음성을 듣고 자동 자막(STT)을 만들어 붙였는데, 그게 제 번인 자막과 겹친 겁니다. 발행 후 스튜디오에서 한국어(자동) 자막을 삭제하니 해결됐어요.

그리고 배출 결과 화면처럼 이미 화면에 글자가 있는 파트는 번인 자막을 아예 생략했습니다. 안 그러면 화면 텍스트와 자막이 또 겹치거든요.

도구를 엮으니 하루면 됐어요

정리하면 이런 흐름이었습니다.

단계사람이AI/도구가
자산 준비촬영·캡처—
목소리대본 작성구글 TTS 생성
자막·조합대본 배치ffmpeg 번인·합성
업로드제목·태그유튜브 자동 분류

영상은 훅 → 문제 → 시연 → 결과 → CTA의 5파트로 짰고, ffmpeg로 각 파트를 만들어 이어붙였습니다. 사람이 한 건 촬영과 판단이고, 반복 작업은 도구가 했어요.

정리 — AI 제작은 "엮기"였습니다

3주간 저를 막은 건 "AI가 다 만들어줄 것"이라는 기대였습니다. 그 기대를 내려놓고 "AI 도구 여러 개를 내가 엮는다"로 생각을 바꾸니 그날 완성됐어요.

AI는 손 연기 영상을 통째로 뽑아주진 못했지만, 목소리를 만들고 자막을 새기고 영상을 합치는 각각의 조각은 훌륭히 해냈습니다. 그 조각들을 엮는 판단과 순서를 정하는 게 제 몫이었고요.

완벽한 한 방을 기다리지 말고, 있는 도구를 엮어 완성부터 하세요. 3주를 날린 사람의 조언입니다.

다음 편

이번엔 콘텐츠였지만, 다음은 코드입니다. 수만 줄짜리 레거시 코드베이스를 Gemini와 Claude에게 역할을 나눠 지도로 만든 이야기를 해보겠습니다. → 2편 — Gemini와 Claude로 레거시 코드베이스 지도 만들기

댓글