Communitygithub.com

tianbester-ZA/script

15~60초 유료 소셜 영상 및 릴스(UGC, 파운더, 토킹헤드, 스킷) 대본을 작성하고, Butcherbird의 '광고 1개당 1페이지' 슛팩 형식으로 패키징합니다. 17권의 광고 서적 검색을 통해 모든 훅, 약속, 증거, 제안 결정을 검증한 후 별도의 비평 과정을 거칩니다.

script란 무엇인가요?

이 스킬은 Butcherbird 에이전시의 소셜 비디오 광고 대본 작성 프로세스를 완전히 자동화합니다. 유료 광고, 유기적 릴스 등 어떤 형식이든 15~60초 길이의 대본을 작성하며, 단순히 대본만 쓰는 것이 아니라 '슛팩'이라는 실제 촬영 가능한 패키지를 만듭니다. 가장 중요한 특징은 17권의 광고/마케팅 서적(캐플스, 슈와츠, 홉킨스 등)을 참조하여 모든 광고 결정(훅, 약속, 증거, 제안, 마무리)을 사실과 이론으로 뒷받침한다는 점입니다. 이후 별도의 비평가 에이전트가 대본을 평가하고, AI는 그 비평을 반영하여 최종 대본을 완성합니다. Claude Code, Cursor 등 명령줄과 파일 시스템을 지원하는 모든 AI 에이전트 플랫폼에서 사용 가능하며, 광고주에게 보여주기 전에 모든 미확정 사항을 해결하고 허위 정보를 절대 생성하지 않는 엄격한 규칙을 따릅니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tianbester-ZA/butcherbird-skills/tree/main/plugins/bb/skills/script

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

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

문서

/bb:script

목표

팀이 오후 안에 촬영할 수 있는 슛팩. 모든 광고는 소리 없이도 2초 안에 낯선 사람의 시선을 사로잡고, 한 사람에게 구매할 이유를 주며, 그들이 행동할 수 있는 하나의 딜로 끝납니다. 그 뒤에는 각 훅, 약속, 증거 아래에 있는 책의 구절을 명시한 추론 시트가 있습니다.

여기서 시작: 읽고, 다시 말하고, 한 번만 질문하세요

이 작업을 실행하는 사람이 맥락을 쥐고 있으며, 그 사람이 여기서 말하는 것이 작업의 질을 결정합니다. 질문이 없어서 실패한 광고가 있었고, 실제 맥락을 제공해서 성공한 릴스가 있었습니다.

먼저 읽고, 질문하지 마세요: 클라이언트의 성공 사례, 페르소나, 리뷰, 과거 광고; 실제 제품, 가격, 오퍼; 브리프에 이미 언급된 내용.

다시 말하세요: 구매자, 앵글, 스테이지, 오퍼를 증거에서 읽은 대로. 당신이 아는 내용을 채워 넣어, 그들이 다시 입력하지 않고 확인만 하게 하세요.

한 라운드의 짧은 질문(AskUserQuestion이 있다면 그걸로, 아니면 메시지 내에서)으로 누락된 것만 물어보세요. 보통 두세 개:

  1. 이 광고가 움직여야 할 사람은 누구이며, 그들이 자신에 대해 어떤 그림을 그리게 해야 하고, 본 직후 무엇을 해야 합니까?
  2. 오늘 우리가 보여줄 수 있는 정확한 제품, 오퍼, 가격, 행동 이유, 증거는 무엇입니까? 말하는 사람에게 실제로 무슨 일이 일어났습니까?
  3. 누가 말하고 있으며, 어떤 어조여야 하고, 실제로 촬영할 수 있는 것은 무엇입니까: 카메라, 사람, 장소, 소품, 시간?

그런 다음 예 또는 변경을 위해 위치를 제안하세요: 구매자 × 앵글 × 인지도 단계, 대본 모드(창업자 스토리, 실제 댓글 답변, 데모, 문제 중심, 공정 비교, 현장 챌린지 또는 엔터테인먼트, 직접 오퍼) 및 형식.

답변을 job/brief.md에 넣고, 멈추지 않고 끝까지 작업하세요. 이미 모든 것을 제공했거나 '그냥 진행하라'고 말했다면 질문하지 마세요. 아무도 답할 수 없다면(헤드리스 실행), 당신이 물었을 질문을 말하고 합리적인 해석을 채택하세요.

취향은 작업에 속한다

job/brief.md의 첫 줄에 작업을 쓰세요: 유료 광고, 유기적 릴스, 또는 오프닝 라운드에서 설정한 것. 어떤 비디오에서 누군가가 좋아했던 것이 다른 비디오로 이어지지 않습니다. 유기적 릴스와 광고는 다른 작업입니다: 광고는 판매하기 위한 것입니다. 따라서 광고는 누구를 위한 것인지, 제품의 판매 포인트, 증거, 구매 이유로 평가되며, 유기적 콘텐츠의 농담이나 분위기로 평가되지 않습니다. 농담은 판매를 진행시키는 경우에만 광고에서 자리를 얻습니다.

이것이 존재하는 이유

방치하면 Claude는 예의 바른 광고를 만듭니다: 한 사람이 카메라를 보며, 부드러운 말로 된 훅, 작은 개그, 딜을 두 번 말하고, 매번 같은 마무리. 깔끔하고 촬영 가능하지만 평범합니다. 모델은 안전하고 평범한 선택으로 쏠리며, 규칙 목록이 이를 막지 못합니다.

효과가 있는 것은: 단어를 쓰기 전에 어필을 찾고, 선택하기 전에 많은 훅을 만들고, 당신 앞에 책의 메모를 두고, 당신의 추론을 전혀 모르는 비평가가 초안을 판단하게 하는 것입니다. 책은 질문과 구절이며, 목소리가 아닙니다. "슈와츠처럼 써라"는 아무 효과도 없습니다. "이 시청자는 차갑습니다. 따라서 첫 줄이 제품을 설명하기보다 시청자를 설명해야 하지 않습니까?" 라는 구절과 그 배경이 효과를 냅니다.

좋은 결과물의 기준

  • 형태가 다른 다섯 개의 광고. 실행 순서를 읽어도 광고 4를 광고 1로부터 예측할 수 없어야 합니다.
  • 낯선 사람이 음소거 상태에서도 이해할 수 있는 첫 프레임과 적은 단어의 텍스트. 카메라가 캐릭터가 될 수 있고, 마지막 개그는 표정일 수 있습니다. 모든 아이디어가 토킹헤드일 필요는 없으며, 모든 아이디어가 누군가 수영장에 빠지는 것으로 끝날 필요는 없습니다.
  • 누구를 위한 것이며 왜 구매할지에 대해 빠르고 명확하고, 모든 광고는 하나의 딜로 끝납니다. 브리프가 재미를 원할 때 스킷은 환영이며, 여전히 판매해야 합니다: 농담이 판매 포인트이며, 다시 말할 때 제품이 필요합니다.
  • 연출 가능: "이것을 하세요. 이것을 하세요. 이것을 말하세요." 아이디어를 전달하는 가장 간단한 설정, 보통 한 장소와 최소한의 인원.
  • 광고당 하나의 딜, 한 번, 마무리에서 정확히, 12단어 이하로, 가장 강력하고 진실된 형태로 표현.
  • 형용사 대신 정확한 숫자와 구체적인 세부 사항, 각각의 출처 추적 가능.
  • 한 사람에게 말을 걸고, 그녀가 가진 하나의 믿음을 바꿉니다. 예쁜 장면을 보여주는 제품은 아무리 예뻐도 쇼케이스일 뿐이며 실패합니다.
  • 출하된 형식과 똑같이 보이는 패키지. 인용, 미해결 질문, 미확인 표시가 없습니다.

명령어

참조 파일은 짧게 작성합니다. 셸 상태는 명령어 간에 유지되지 않으므로 항상 전체 형식을 사용하고, 비평가 에이전트에게도 전체 형식을 제공하세요.

  • scripts/...는 ${CLAUDE_SKILL_DIR}/scripts/...를 의미합니다. references/...는 ${CLAUDE_SKILL_DIR}/references/...를 의미합니다.
  • search.py는 python3 "${CLAUDE_PLUGIN_ROOT}/skills/books/scripts/search.py"를 의미합니다.
  • 북 카드: ${CLAUDE_PLUGIN_ROOT}/skills/books/cards/.

작업 경로

현재 작업 중인 폴더 또는 브리프가 명명한 폴더(job/) 내 <client>-scripts/<yyyy-mm-dd>-<slug>/에서 작업합니다. 각 단계는 무언가를 작성하므로, 다시 시작된 세션은 마지막 파일부터 이어받습니다.

0. 먼저 클라이언트부터 읽습니다. 위의 오프닝 라운드를 적절히 수행: 클라이언트 자체 성공 사례와 그 수치, 페르소나, 고객의 말(리뷰, 광고 댓글), 노트가 가리키는 곳. "파일 없음"은 아직 찾지 않았음을 의미합니다. 그런 다음 클라이언트 노트나 프로필 스킬, 클라이언트 자체 성공 사례 폴더(해당 클라이언트만, examples/README.md 참조), lessons.md, 브리프. 가격, 딜, 날짜를 해당 출처에서 재확인. job/brief.md 작성: 출처와 날짜가 있는 사실과 딜, 카메라에 나올 사람, 이 브랜드만이 가진 것, 클라이언트 자신의 아이디어를 한 줄씩, 오프닝 라운드의 답변.

1. 진단. references/diagnose.md를 로드합니다. 한 명의 실제 인물로 시작: 그녀 유형의 이름, 그녀의 하루, 현재 사용하는 것, 그녀가 말할 것, 왜 그녀이고 다른 페르소나가 아닌지, 증거와 함께. 그런 다음 어필, 현재 하는 행동, 인지도, 들은 횟수, 믿지 않는 것, 딜이 존재하는 이유, 이 브랜드만이 가진 것을 결정합니다. reasoning.md §1 작성, 슬롯당 하나의 블록.

2. 이 작업을 위해 책을 검색합니다. references/search.md를 로드합니다. 책이 무엇을 말하는지 기억에서 시작하지 마세요: 이 제품의 실제 문제에 대해 610회 검색을 실행하고, --show로 노트를 읽고, 이 브리프와 관련된 812개를 유지합니다. reasoning.md §2 작성: id, 한 줄, 해당 슬롯.

3. 훅. references/hooks.md를 로드합니다. 광고당 최소 4가지 유형에 걸쳐 6~8개, 평범한 것 하나와 클라이언트에게 보여주기 망설여질 이상한 것 최소 두 개를 포함합니다. 세 개를 유지: 하나는 안전한 것, 하나는 이상한 것, 하나는 딜을 언급하지 않는 것. reasoning.md §3 작성. 아무도 보지 않더라도 옵션을 만듭니다: 선택하고, 선택되지 않은 것은 시트에 남깁니다.

4. 초안. references/body-and-close.md, references/offer-and-proof.md, references/pack-format.md를 로드합니다. job/pack-draft.md를 작성합니다. reasoning.md §4 작성: 광고당 훅, 약속, 증거, 본문, 마무리 각각에 대한 행, 각각의 구절 포함.

5. 점검.

python3 "${CLAUDE_SKILL_DIR}/scripts/check_pack.py" job/pack-draft.md --event "Black Friday"
python3 "${CLAUDE_SKILL_DIR}/scripts/cite_check.py" job/reasoning.md

모든 빨간 줄을 수정합니다. 노란 줄은 판단이 필요한 사항입니다. 출력을 job/checks.txt에 저장합니다.

6. 비평. 사용 가능한 가장 강력한 모델에서 pack-draft.md, brief.md, references/critic.md, 전체 search.py 명령어(편집의 경우 푸티지 시트 포함)를 사용하여 새 에이전트를 시작합니다. reasoning.md나 이 채팅은 포함하지 않습니다: 비평가는 변명이 아닌 브리프의 작업에 대해 광고를 판단합니다. 질문은 실제 구절을 명명하고 그 노트를 읽습니다. 비평은 노트를 반환하며, 다시 쓰기는 절대 반환하지 않습니다. job/critic.md로 저장합니다.

7. 다시 쓰기. 비평가가 인용한 각 구절 뒤의 노트를 읽고 조치를 취합니다: 일부 id는 다른 것에 관한 것으로 밝혀질 수 있으며, 노트는 여전히 자체 논리로 옳을 수 있습니다. 브리프가 이길 경우, reasoning.md §5에 서면으로 동의하지 않는다고 기록합니다. 5단계를 다시 실행합니다. 한 라운드, 최대 두 라운드. 결과는 job/pack.md입니다.

8. 패키징.

python3 "${CLAUDE_SKILL_DIR}/scripts/build_pack.py" job/pack.md --pdf

PDF를 열고 모든 페이지를 확인합니다: 잘린 부분 없음, 페이지당 하나의 광고. 경고: 줄을 읽습니다. 답변에 광고당 한 줄과 책 이름을 한 번 언급하는 한 문장을 제공합니다. 클라이언트에 로그가 있으면 날짜가 포함된 줄을 추가합니다.

결정된 것은 결정된 것이다

사용자가 결정한 사실은 결정된 것입니다. 아무도 미확인 항목 목록이나 작은 질문 페이지가 있는 패키지를 원하지 않습니다. 따라서 그러지 마세요: 합리적인 해석을 사용하고, reasoning.md §0에 한 줄의 이유를 쓰고, 넘어가세요. 확인된 내용은 패키지의 settled: 줄에 넣으며, 점검기가 이를 존중합니다. 숫자에 진정한 출처가 없다면, 그것 없이 광고를 작성하고 기록하세요.

결정이나 클라이언트를 바꿀 수 있는 것만이 답변에 한 줄의 평문으로 제기됩니다. 출처를 찾을 수 없는 숫자는 절대 만들어내지 않으며, 질문으로도 절대 나타나지 않습니다.

이미 존재하는 푸티지 편집

때로는 작업이 촬영이 아닌 보유한 푸티지에 대한 단어입니다. 같은 경로, 세 가지 차이점. 0단계는 푸티지에서 시작합니다: 클립과 시간별로 사용 가능한 순간을 나열합니다. 대본은 촬영된 것만 약속할 수 있기 때문입니다. 1단계는 푸티지 확인을 추가합니다: 모든 주장에 대해 이를 보여주는 클립 순간을 명명하고, 샷이 없는 주장은 다시 쓰거나 삭제합니다. 페이지 상단에 mode: edit를 프론트 매터에 넣습니다: Say 줄은 화면상의 단어를 유지하고, 마무리는 화면상의 텍스트이며, Film 섹션은 ## The footage입니다. 패키지를 /bb:edit에 전달합니다.

엄격한 제한

  • 작업당 한 클라이언트. 다른 클라이언트의 어떤 정보도 브리프, 패키지, 시트에 들어가지 않으며, 어떤 클라이언트의 정보도 이 스킬에 들어가지 않습니다.
  • 허구의 숫자, 마감일, 재고 수량, 리뷰 없음. 긴급성은 진실되고 이유가 있는 것만.
  • 책 텍스트는 그대로 두세요. 책이 가르치는 것을 자신의 말로 말하고 id를 인용하세요.
  • 이 스킬에서 사용자의 승인 없이는 어떤 것도 클라이언트에게 보내지거나, 게시되거나, 비용이 지출되지 않습니다. 패키지는 이 작업을 실행하는 사람에게 전달되며, 그 사람이 보냅니다.

노하우

초당 단어 수. 초당 2.5개의 말하는 단어: 15초는 약 35단어, 20초는 약 50단어, 30초는 약 75단어, 60초는 약 150단어. 액션에도 시간이 걸립니다.

책은 릴스에 관한 것이 아닙니다. 인쇄물, 우편 주문, TV 및 실험실 연구입니다. 숫자를 그 당시 사람들을 움직인 것으로 취급하세요. Hormozi의 것은 자신의 주장입니다. Cialdini의 대부분은 호의이며 구매가 아닙니다. 그 어느 것도 음소거된 피드를 테스트하지 않습니다. 음소거 문법, 캐릭터로서의 카메라, 마지막 개그는 실제 릴스를 보는 데서 비롯되므로, 거기서 찾아야 합니다: 클라이언트 자신의 참조 자료와 사용자가 보낸 모든 것.

책이 충돌하는 곳. 각 참조는 불일치 사항과 15~60초 비디오에서 우리가 선호하는 방향으로 끝납니다. 시트에서 광고를 결정할 때 선호도를 명명하세요.

투표는 의견 테스트입니다. 비평가와 심사위원은 영리함을 선호합니다. 분할 실행은 종종 그렇지 않습니다(caples-0221, caples-0279). 따라서 평범한 훅은 비평가가 감명받지 않더라도 다른 옵션으로 촬영되며, 실제 수치가 결정합니다.

훅과 유지. 훅률 = 3초 재생 ÷ 노출. 유지율 = ThruPlays ÷ 3초 재생. 훅이 약 20% 미만: 오프닝만 다시 편집. 유지율이 약 40% 미만: 중간을 다시 편집. 둘 다 양호하고 구매 없음: 오퍼 또는 마무리, 편집 아님.

다음 때 로드하세요

참조시기
references/diagnose.md1단계, 그리고 대본이 평평하다고 느껴지고 이유를 모를 때마다
references/search.md2단계, 또는 검색 결과가 비어 있을 때
references/hooks.md3단계, 그리고 "이 광고 다시 훅" 작업을 위해
references/body-and-close.md4단계
references/offer-and-proof.md1단계에서 신념 격차와 딜의 이유를 위해; 4단계
references/pack-format.md4단계 및 8단계
references/critic.md비평가 에이전트만(6단계)
examples/README.md0단계, 클라이언트의 성공 사례를 찾기 위해
evals/judge.md두 패키지 간의 블라인드 테스트만

교훈

lessons.md에는 실제 결과에서 나온 날짜가 있는 불릿이 저장됩니다: 광고, 날짜가 있는 수치, 비트 뒤의 구절, 시도된 것. 0단계에서 최근 5개를 읽습니다. 비평가는 초안을 이에 대해 점검합니다. 이 폴더는 업데이트될 때마다 교체되므로, 클라이언트 자신의 교훈과 성공 사례는 해당 클라이언트의 폴더에 들어가고, 모든 사람을 위한 교훈은 리포(CONTRIBUTING.md)를 통해 들어갑니다.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

관련 스킬