Communitygithub.com

Twitter/X 인플루언서 발굴

제품이나 브랜드를 홍보할 Twitter/X 인플루언서를 찾습니다. 인플루언서 발굴, 파트너십을 위한 Twitter 계정 탐색, 특정 분야의 크리에이터 식별, 인플루언서 아웃리치 목록 구축이 필요할 때 사용하세요.

X 인플루언서 발굴란 무엇인가요?

이 스킬은 주어진 브랜드나 제품과 관련된 Twitter/X 인플루언서를 체계적으로 발견, 평가, 순위화하여 최종 연락처 정보까지 제공하는 완전한 워크플로우입니다. 사용자는 회사명이나 도메인, 틈새/분야, 선호하는 팔로워 규모, 최대 결과 수 등의 입력만으로 즉시 실행 가능한 인플루언서 목록을 얻을 수 있습니다. 내부적으로는 Exa, Brand.dev, Fiber, ScrapeCreators 등 여러 데이터 소스를 병렬로 활용해 인플루언서 후보를 최대한 폭넓게 수집하고, 각 후보의 Twitter 프로필과 최근 트윗 데이터를 분석하여 관련성(40%), 참여율(25%), 팔로워 수(15%), 콘텐츠 품질(10%), 청중 적합도(10%)를 종합 점수화하여 상위 결과를 제공합니다. 이 스킬은 로컬 터미널(GooseWorks CLI)과 터미널 프리 클라이언트(MCP 도구 연결) 두 가지 런타임에서 모두 동일하게 동작하도록 설계되었습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gooseworks-ai/goose-skills/tree/HEAD/skills/social/capabilities/find-twitter-influencers

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

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

문서

Twitter 인플루언서 찾기

설정

자격 증명 설정 전에 사용 가능한 런타임을 선택하세요.

  • 터미널 프리 클라이언트: 아래의 셸 명령어는 건너뜁니다. 연결된 MCP 도구를 사용하세요. ScrapeCreators 작업의 경우 scrapecreators-api를 읽고 call_data_provider를 선호하세요. 연결된 도구 없이 다른 제공업체 단계를 수행해야 하는 경우, 워크플로우를 유지하는 동등한 내장 공개 웹 메서드를 사용하거나 해당 단계를 사용 불가능으로 명확히 보고하세요.
  • 로컬 터미널: 아래의 GooseWorks 자격 증명 및 프록시 명령어를 사용하세요.

~/.gooseworks/credentials.json 파일에서 자격 증명을 읽어옵니다:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

~/.gooseworks/credentials.json 파일이 존재하지 않으면, 사용자에게 다음 명령어를 실행하라고 알리세요: npx gooseworks login

로컬 프록시 엔드포인트는 Bearer 인증을 사용합니다: -H "Authorization: Bearer $GOOSEWORKS_API_KEY". 아래의 ScrapeCreators 작업 설명은 두 런타임 모두에서 환경 중립적으로 유지됩니다.

회사, 제품 또는 틈새 시장과 관련된 Twitter/X 인플루언서를 발견, 평가, 강화합니다. 참여 지표, 관련성 근거 및 연락처 정보가 포함된 순위 목록을 반환합니다.

워크플로우

1. 요청 분석

사용자의 질문에서 다음 항목을 추출합니다:

  • 회사명 또는 도메인 (필수) — 인플루언서를 찾고 있는 브랜드
  • 틈새/분야 (선택 사항) — 예: "핀테크 Twitter", "AI/ML 크리에이터", "DTC 뷰티"
  • 규모 선호도 (선택 사항) — 중간 규모(10K-100K), 대규모(100K+), 혼합(기본값: 10K+ 최소)
  • 최대 결과 수 (선택 사항, 기본값 20 — 사용자 요청에 따라 늘리거나 줄임)

2. 회사 정보 확인

Brand.dev를 사용하여 도메인, 업종, 설명, 타겟 고객 및 키워드를 가져옵니다. 이 컨텍스트는 모든 후속 검색의 기반이 됩니다.

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"brand-dev","path":"/v1/brand/retrieve-by-name","query":{"name":"Acme","Corp":""}}'

도메인이 직접 제공된 경우:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"brand-dev","path":"/v1/brand/retrieve","query":{"domain":"acme.com"}}'

결과에서 회사 컨텍스트 문자열을 만듭니다: 회사명, 도메인, 업종, 설명 및 타겟 고객 키워드. 예: "Acme Corp acme.com developer tools API platform engineering teams". 이 문자열을 모든 검색 쿼리에 사용합니다.

3. 후보자 발견

최대 범위를 확보하기 위해 세 가지 전략을 병렬로 실행합니다:

전략 A — 선별된 인플루언서 목록 검색을 위한 Exa 검색 (기본, 가장 신호 강함):

중요: x.com 및 twitter.com 프로필은 Exa의 검색 인덱스에 없습니다. 따라서 includeDomains: ["x.com"]를 사용하면 Twitter 결과가 0개 반환됩니다. 대신, 해당 분야의 인플루언서에 대한 선별된 목록 페이지, 블로그 게시물 및 기사를 검색하세요. contents.text를 사용하여 페이지 콘텐츠를 가져와 Twitter 핸들을 추출합니다.

최대 범위를 위해 5개 이상의 쿼리 변형을 실행합니다. 핵심 틈새와 인접 틈새를 모두 포함하세요 — 많은 인플루언서가 관련 주제에 걸쳐 활동합니다. 각 쿼리는 텍스트 콘텐츠와 함께 10개의 결과를 반환합니다:

# 쿼리 1: 핵심 틈새 — 선별된 목록
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "best {niche} Twitter accounts to follow",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

# 쿼리 2: 핵심 틈새 — 다른 표현
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "top {industry} influencers on X Twitter must follow",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

# 쿼리 3: 핵심 틈새 — 생각의 리더
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "{niche} thought leaders creators Twitter handles",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

# 쿼리 4: 인접 틈새 1 (예: 틈새가 "신원 확인"인 경우 "사기 방지" 시도)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "top {adjacent_niche_1} influencers Twitter accounts to follow",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

# 쿼리 5: 인접 틈새 2 (예: "사이버 보안", "규제 기술", "생체 인식")
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/search"}'
  "query": "best {adjacent_niche_2} experts creators on X Twitter",
  "numResults": 10,
  "contents": {"text": {"maxCharacters": 5000}}
}'

인접 틈새 선택: 회사 컨텍스트(2단계)에서 2-3개의 관련 분야를 식별합니다. 예:

  • 신원 확인 → 사기 방지, 사이버 보안, 규제 기술, 생체 인식
  • 핀테크 → 은행, 결제, DeFi, 금융 규제
  • AI/ML → 데이터 과학, MLOps, 개발자 도구
  • DTC 뷰티 → 스킨케어, 웰니스, 라이프스타일, 클린 뷰티

이러한 쿼리는 Twitter 핸들, 약력 및 팔로워 수가 포함된 텍스트 콘텐츠가 있는 리스트컬 페이지(예: "Top 60 Fintech Influencers", "FinTwit Accounts to Follow")를 반환합니다. 4단계에서 이를 구문 분석합니다.

전략 B — Exa findSimilar (강력한 리스트컬 발견에서 확장):

전략 A가 결과를 반환한 후, 가장 좋은 선별된 목록 URL 1-2개를 선택하고 유사한 페이지를 찾습니다:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"exa","path":"/findSimilar"}'
  "url": "https://example.com/top-fintech-twitter-influencers",
  "numResults": 5,
  "contents": {"text": {"maxCharacters": 5000}}
}'

이렇게 하면 키워드 검색이 놓칠 수 있는 추가 선별된 목록을 찾을 수 있습니다. findSimilar에 Twitter/X 프로필 URL을 사용하지 마세요. Exa 인덱스에 없으며 빈 결과를 반환합니다.

전략 C — Fiber 자연어 검색 (LinkedIn 중심 전문가 포착):

일부 인플루언서는 LinkedIn에 더 잘 색인되어 있지만 활성 Twitter 계정을 가지고 있습니다. Fiber가 이를 찾을 수 있습니다. 핵심 틈새 및 인접 주제를 다루는 2-3개의 쿼리를 실행합니다:

# 핵심 틈새
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"fiber","path":"/v1/natural-language-search/profiles"}'
  "query": "{niche} thought leader content creator with Twitter presence at {industry} companies",
  "pageSize": 20
}'

# 인접 틈새 — 더 넓은 범위
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"fiber","path":"/v1/natural-language-search/profiles"}'
  "query": "{adjacent_niche} influencer expert with large social media following",
  "pageSize": 20
}'

Fiber 결과를 5단계의 Twitter와 교차 참조 — 활성 Twitter 계정이 있는 사람만 유지합니다. 또한 Fiber 결과에서 LinkedIn URL을 추출합니다. 이는 7단계의 연락처 강화에 중요합니다.

4. 사용자 이름 추출 및 중복 제거

Exa 리스트컬 페이지의 텍스트 콘텐츠에서 여러 패턴을 사용하여 Twitter 핸들을 구문 분석합니다:

  • 기사 텍스트의 @username 언급
  • x.com/username 또는 twitter.com/username과 일치하는 URL
  • 후행 URL 경로(예: /status/123, /followers) 제거 — 기본 프로필 사용자 이름만 유지
  • 비프로필 패턴(검색 페이지, 해시태그 페이지, x.com/home, x.com/search) 폐기
  • 사용자 이름별로 중복 제거(대소문자 구분 없음)
  • 명백한 브랜드/회사 계정(예: @stripe, @shopify) 식별 및 제거 — 개인 크리에이터에 집중

Fiber 결과에서 소셜 프로필의 Twitter/X URL을 추출합니다. 새 핸들을 후보 풀에 추가합니다.

또한 리스트컬 페이지에서 Twitter 핸들과 함께 언급된 LinkedIn URL을 추출합니다. 7단계의 연락처 강화를 위해 저장합니다.

목표: 중복 제거 후 약 100-150개의 고유 핸들. 선별된 목록 페이지는 일반적으로 각각 20-50개의 핸들을 언급하므로, 핵심 및 인접 틈새에서 5개 이상의 좋은 리스트컬 결과가 큰 후보 풀을 생성합니다.

5. Twitter 프로필 + 참여도 가져오기

Scrape Creators를 사용하여 구조화된 Twitter 데이터를 가져옵니다. 이것은 2단계 프로세스입니다: 모든 후보의 프로필 가져오기(저렴, 각 1크레딧), 그런 다음 프로필 필터링 후 상위 ~2배 결과 수(예: 20개 결과를 목표로 하는 경우 ~40개)의 트윗을 가져옵니다.

1단계 — 모든 후보의 프로필 가져오기:

provider: scrapecreators
method: GET
path: /v1/twitter/profile
query:
  handle: examplehandle

중첩된 JSON을 반환합니다. core 및 legacy 객체 내부의 주요 필드:

  • core.screen_name, core.name — 핸들 및 표시 이름
  • legacy.description — 약력 텍스트
  • legacy.followers_count, legacy.friends_count, legacy.statuses_count — 개수
  • legacy.location, legacy.created_at — 위치 및 계정 사용 기간
  • is_blue_verified — 인증 상태

프로필 URL은 https://x.com/{screen_name}입니다.

중요 — 프로필 가져오기 병렬화: 순차 루프에서 하나씩 프로필을 가져오지 마세요. 대신, 모든 프로필 가져오기 호출을 병렬로 시작합니다(단일 메시지에서 여러 도구 호출). 이렇게 하면 총 대기 시간이 몇 분에서 몇 초로 획기적으로 줄어듭니다. 필요한 경우 10-15개의 병렬 호출 일괄 처리로 그룹화합니다.

하드 필터를 적용하여 풀을 좁힙니다:

  • 팔로워가 10,000명 미만(기본 최소값 — 사용자가 다른 임계값을 지정하면 조정 가능)
  • 약력이 비어 있거나 틈새와 완전히 관련 없음
  • 정지되거나 찾을 수 없는 계정(API 오류 반환)
  • 약력이 X를 떠났음을 나타냄(예: "Mastodon/Bluesky에서 찾아보세요", "이 사이트를 포기했습니다")
  • 너무 광범위하거나 일반적인 계정 — 콘텐츠가 대상 틈새와 특별히 관련이 없는 계정은 제거합니다. 예를 들어, 500K+ 팔로워가 있는 일반 "기술 전도사" 계정이 틈새에 대해 거의 트윗하지 않는 경우 20K 팔로워 전문가보다 가치가 떨어집니다. 계정의 약력과 최근 트윗이 대상 틈새 또는 인접 틈새와 특정 연결을 보여주지 않으면 팔로워 수에 관계없이 제외합니다.

2단계 — 상위 후보의 트윗 가져오기 (프로필 필터링 후 — 필터링을 허용하기 위해 대상 결과 수의 약 2배, 예: 20개 결과를 목표로 하는 경우 ~40개):

provider: scrapecreators
method: GET
path: /v1/twitter/user-tweets
query:
  handle: examplehandle

트윗 객체 배열을 반환합니다. 중요 — 데이터는 각 트윗 객체 내부에 중첩되어 있습니다:

  • legacy.full_text — 트윗 텍스트
  • legacy.favorite_count — 좋아요(정수)
  • legacy.retweet_count — 리트윗(정수)
  • legacy.reply_count — 답글(정수)
  • legacy.created_at — 타임스탬프
  • views.count — 조회수(항상 존재하지 않을 수 있음)
  • url — 트윗에 대한 직접 링크(최상위 필드)

참고: favorite_count, retweet_count, reply_count는 각 트윗의 최상위 수준이 아니라 legacy 객체 내부에 있습니다.

중요 — 트윗 가져오기 병렬화: 프로필 가져오기와 마찬가지로 모든 트윗 가져오기 호출을 병렬로 시작합니다(단일 메시지에서 여러 도구 호출). 순차적 for 루프를 사용하지 마세요. 이것이 가장 큰 속도 최적화입니다.

각 후보에 대해 참여도가 가장 높은 상위 3개 트윗 (좋아요 + 리트윗 + 답글)을 식별합니다. 최종 결과 테이블에 포함하기 위해 URL과 함께 가장 좋은 트윗 하나를 저장합니다.

트윗 데이터에서 다음을 계산합니다:

  • 트윗당 평균 좋아요 수
  • 트윗당 평균 리트윗 수
  • 트윗당 평균 답글 수
  • 참여율: (평균 좋아요 + 평균 리트윗 + 평균 답글) / 팔로워 * 100
  • 게시 빈도: created_at 날짜에서 유추
  • 콘텐츠 테마: 가장 많이 트윗하는 주제(full_text에서)

추가 하드 필터 (트윗 가져오기 후 적용):

  • 지난 30일 동안 트윗 없음(비활성)
  • 보호된/비공개 계정

답글 전용 계정(트윗의 >80%가 다른 사람에 대한 답글이고 참여도가 미미함)은 건너뜁니다.

6. 점수 및 순위 매기기

복합 점수 매기기 모델을 적용합니다:

요소가중치신호
관련성40%약력 키워드, 콘텐츠 테마, 대상 회사와의 청중 중복
참여율25%높을수록 좋음; 마이크로 인플루언서가 매크로보다 여기서 더 나은 경우가 많음
팔로워 수15%로그 스케일 — 100K 이상에서는 수익 체감
콘텐츠 품질10%원본 콘텐츠 대 리트윗, 스레드 깊이, 미디어 사용
청중 적합성10%그들의 팔로워가 회사의 타겟 청중과 일치합니까? 약력 + 콘텐츠 테마에서 유추

점수 매기기 지침:

  • 관련성: 약력 및 최근 트윗 주제를 2단계의 회사 컨텍스트 문자열과 비교합니다. 정확한 틈새 일치 = 높은 점수. 인접 틈새 = 중간. 일반적/관련 없음 = 낮음.
  • 참여율 벤치마크: >3% 우수, 1-3% 좋음, <1% 평균 이하(팔로워 계층에 따라 다름)
  • 콘텐츠 품질: 리트윗이 >50%인 계정은 불이익. 원본 스레드, 통찰력, 미디어가 풍부한 게시물에 보너스.

복합 점수로 모든 후보의 순위를 매깁니다. 최종 목록을 위해 상위 N개(기본값 20)를 선택합니다. 20은 좋은 기본값입니다 — 사용자에게 실제 옵션을 제공하면서 압도하지 않습니다. 사용자가 더 요청하면 늘리되, 자격이 되는 경우 항상 최소 상위 20개를 포함합니다.

7. 연락처 강화

최종 목록에 대해 이메일 주소와 LinkedIn 프로필을 찾습니다. 핵심 통찰력: 먼저 LinkedIn URL을 찾으십시오 — 이를 통해 이메일을 발견할 수 있습니다. Scrape Creators person 엔드포인트에 LinkedIn URL을 제공하면 이메일 주소를 반환할 수 있습니다.

프로세스:

  1. LinkedIn URL 목록 수집: Fiber 결과, 리스트컬 페이지, 인플루언서 Twitter 약력에서 가져옵니다.
  2. 누락된 경우: Twitter 약력이 LinkedIn을 언급하면 추출합니다. 약력에 linkedin.com/in/...이 포함된 경우 즉시 사용 가능합니다.
  3. Twitter 프로필에서 이메일을 확인합니다(일부는 legacy.description에 포함됨).
  4. LinkedIn URL이 있는 후보의 경우 Scrape Creators person API를 호출합니다:
provider: scrapecreators
method: GET
path: /v1/person
query:
  linkedinUrl: https://www.linkedin.com/in/exampleprofile
  1. 이메일을 찾을 수 없고 금전적 가치가 정당화되는 고가치 후보의 경우 Hunter.io를 사용합니다:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/email-finder","query":{"domain":"example.com","first_name":"John","last_name":"Doe"}}'

참고: Hunter.io는 전체 이름이 확인된 경우에만 작동합니다. LinkedIn 또는 bio에서 추출합니다.

8. 결과 표시

표 형식으로 결과를 제시합니다. 각 행에 대해:

  • 순위
  • 인플루언서 이름 및 Twitter 프로필 링크
  • Twitter 핸들
  • 팔로워 수
  • 참여율 (%)
  • 관련성 점수 및 1-2문장 근거
  • 가장 좋은 트윗에 대한 링크가 있는 상위 콘텐츠 스니펫
  • 이메일 (찾은 경우)
  • LinkedIn 링크 (찾은 경우)

요약을 포함합니다:

  • 발견된 총 후보 수 / 상위 작동 가능한 인플루언서
  • 평균 팔로워 및 참여율
  • 권장되는 최종 목록 크기 초과 시 최종 목록 축소 방법에 대한 메모
  • 추가 발견을 위한 제안된 인접 틈새

연락처 데이터

Twitter 프로필 검색 (Scrape Creators)

provider: scrapecreators
method: GET
path: /v1/twitter/profile
query:
  handle: examplehandle

사용자 트윗 검색 (Scrape Creators)

provider: scrapecreators
method: GET
path: /v1/twitter/user-tweets
query:
  handle: examplehandle

사람 프로필 검색 (Scrape Creators)

provider: scrapecreators
method: GET
path: /v1/person
query:
  linkedinUrl: https://www.linkedin.com/in/exampleprofile

Scrape Creators API 설명서

https://docs.scrapecreators.com 참조

아이디어

  • 틈새 인플루언서 확보를 위한 Twitter 목록
  • 특정 비즈니스 브랜드의 인플루언서 마케팅 캠페인

Individual skills in this repo

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

gooseworks-ai/goose-skills

Burned-in captions for a finished vertical video, three kinds. transcribe.py gets word timings from the video's own audio through the GooseWorks proxy (fal Whisper, bills the Ads agent, cents); captions.py burns one to three words at a time with Pillow + ffmpeg (no libass needed), either pinned to a split-screen seam (plate 25% above / 75% below) or at a fixed height, in a plate, outline or one-word serif style, with an optional red hook card; plates.py burns per-beat caption blocks (black, one union silhouette, placed in the emptiest band) for formats with no voice. The last caption (the CTA) holds to the final frame. Use as the last step of any video ad.

gooseworks-ai/goose-skills

Assemble a cartoon / animated / hand-crafted music-video ad from a config — a sung song carries the whole narrative while N per-bar i2v clips (one recurring animated character, one look pack) are each cut to their BAR window from librosa beat-tracking and hard-concatenated on the bar, VEED-whisper white bold-sans captions in the BOTTOM third (Alignment 2, above the logo bug, no pill) burned from the song's word timings re-spelled against the locked lyrics, a persistent brand logo bug held over the body (suppressed on the end card), and closed on a solid-brand-color PIL end card with the song still playing under it — never AI-rendered text. This is the FREE deterministic assembly stage (cut-to-bar + hard concat + logo bug + captions + end card + song mux); the song, character, keyframes, and clips come from create-music-elevenlabs / create-image-fal / create-video-fal. Use for the cartoon-music-video format.

gooseworks-ai/goose-skills

Assemble a cinematic live-action-style music-video ad from a config — an original sung anthem carries the whole narrative while N 35mm-film-look i2v clips are each cut to their lyric window and hard-concatenated on the beat as a 3-act arc, the anthem muxed at loudnorm I=-14, cinematic lower-third serif captions built from the song's OWN word timings (never Whisper) with the hook line landing on the chorus drop, and closed on a brand end card composited from the real asset — never AI-rendered text. This is the FREE deterministic assembly stage (cut-to-window + hard concat + anthem mux + captions + end card); the anthem, keyframes, and clips come from create-music-elevenlabs / create-image-gpt-image-fal / create-video-fal. Use for the cinematic-music-video format.

gooseworks-ai/goose-skills

Assemble an editorial-motion podcast-clip ad from a config — a real clipped podcast MP3 carries the narrative while N flat limited-palette editorial-illustration keyframes (one look pack) are animated NOT by generative i2v but by DETERMINISTIC ffmpeg ken-burns (zoompan) + hard cuts (no crossfades, which expose geometric drift), each beat snapped to its spoken line, the real audio muxed, Whisper-driven captions burned only mid-sentence, and closed on a PIL brand end card — never AI-rendered text. This is the FREE deterministic assembly stage (ffmpeg ken-burns + hard concat + audio mux + captions + end card); the real audio is clipped from source and the keyframes come from create-image-fal. Use for the editorial-motion-podcast format.

gooseworks-ai/goose-skills

Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.

gooseworks-ai/goose-skills

Generate a single 4-15s vertical video clip with ByteDance Seedance 2.0 reference-to-video via fal.ai. Multi-image reference (avatar + product + setting), native lip-synced VO + ambient audio (generate-audio on by default), internal multi-cut handling within one render. Routes through the GooseWorks FAL proxy (bills the Ads agent). The default clip atom for AI-creator UGC ads built on the NB2 + Seedance architecture. Validated on beauty-by-earth/video-01.

gooseworks-ai/goose-skills

Mandatory pre-publish review gate for a UGC video render. Transcribes the finished render's AUDIO with Whisper and word-diffs it against the approved spoken script, then gates set_final_render — blocking a render whose generated audio mis-voices a word (e.g. the approved "human-vetted" spoken as "human witted"), drops an approved phrase, or comes back silent. Runnable, gating counterpart to content-goose's review-transcript-integrity atom. Every ugc-video-formats recipe runs this after render and BEFORE set_final_render.

gooseworks-ai/goose-skills

Render pixel-accurate Apple Notes (iPhone, light mode) screenshot mockups from a JSON note spec. Outputs HTML + PNG at the iPhone 16/15 Pro native 1180×2556. Supports paragraphs, images, checklists, dividers, autocorrect underline, smart quotes, and an optional iOS keyboard chrome overlay used by the parent video-ad molecule.

gooseworks-ai/goose-skills

Extract competitor and customer intelligence from any company's landing page HTML. Discovers tech stack, analytics tools, ad pixels, customer logos, SEO metadata, CTAs, hidden elements, and more. No API keys required.

gooseworks-ai/goose-skills

Find speakers, hosts, and guest profiles at conferences and events on Luma. Two modes - free direct scrape for hosts, or Apify-powered search for full guest profiles with LinkedIn/Twitter/bio.

관련 스킬