Communitygithub.com

100x-프롬프트-컴포즈

UGC 광고 생성 템플릿에 제품/페르소나/장면 변수를 채워 넣고 최종 생성 프롬프트를 출력합니다.

100x-프롬프트-컴포즈란 무엇인가요?

이 스킬은 AI 기반 영상 또는 이미지 생성에 필요한 최종 프롬프트를 자동으로 구성해주는 도구입니다. 100x 체계 내에서 '프롬프트 + 모델' 단계를 담당하며, 상위 스킬(인물/장면/검색어)의 결과물을 입력받거나 사용자가 직접 변수를 제공하면 14개의 사전 정의된 템플릿 중 하나를 선택하여 변수를 실제 문장으로 치환합니다. Veo, Seedance, 即创(Jichuang) 등 여러 대상 모델에 맞춰 포장 규칙(최대 재생 시간, 금지어, 종결문 등)을 적용하며, 참조 이미지에 대한 제품/인물 잠금(Lock) 메커니즘을 통해 일관성을 유지합니다. 변수가 누락된 경우 일부는 추측 없이 사용자에게 확인을 요청하고, 선택적 변수는 기본값으로 처리하는 등 엄격한 입력 검증과 함께 독립적으로 실행될 수 있어, 사용자가 전체 100x 체계 없이도 단일 프롬프트 생성 작업을 수행할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kezd088/100x-skill-tiktok/tree/main/skills/100x-prompt-compose

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

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

문서

100x-프롬프트-컴포즈은(는) 무엇을 하나요?

한 줄 요약

프롬프트 템플릿 ID(또는 요구사항 설명)와 변수를 입력하면, 각 템플릿을 그대로 렌더링하고 대상 모델(Veo/Seedance/即创)에 맞게 포장한 최종 생성 프롬프트를 출력합니다. 100x 체계에서 '프롬프트+모델' 단계를 담당하며, 상위의 인물/장면/검색어 스킬과 하위의 AI 생성 모델을 연결합니다.

언제 트리거되나?

사용자가 다음과 같이 말할 때:

  • "프롬프트 조립해 줘" / "템플릿 채워서 프롬프트 줘" / "이 영상에 무슨 모델 써?" / "영상 프롬프트 생성해 줘" / "템플릿 골라서 변수 넣어 줘"
  • "compose a video prompt" / "fill in this template" / "which model should I use for this" / "generate an AI video prompt"
  • 또는 제품/인물/장면 설명을 바로 주면서, 이미지/영상 생성 모델에 바로 넣을 수 있는 프롬프트를 요구할 때

입력

최소 입력(카테고리 A, 필수): template_id (14개 템플릿 중 하나, templates.json 참조) 또는 템플릿을 유일하게 매칭할 수 있는 요구사항 설명(제품군 + use_when 시나리오, workflow.md Phase 1 단계 1 참조); 해당 템플릿의 variables[]에서 label에 "(선택)"이 포함되지 않은 변수는 모두 제공해야 함 (추측하거나 구체적인 외형/대사 내용을 지어내지 않음).

소프트 보충(카테고리 B, 누락 시 다운그레이드, workflow.md Phase 1 단계 2/4 참조): label에 "(선택)"이 포함된 변수; 영상 템플릿의 model 선택 (누락 시 한 번 묻고, 응답 없으면 model_hint[0] 기본값 사용).

상위 옵션 산출물(카테고리 C, 누락 시 조용히 건너뜀, 차단하지 않으며 사용자에게 다른 스킬을 먼저 실행하라고 요구하지 않음): existing_refs_input (이전 호출에서 설정된 제품/인물 잠금 번호, 공리 2 참조).

출력

구조는 schema.json 참조: ComposedPromptBundle = template_id/category + variables_used + rendered_body (그대로 치환된 중국어 본문, realism_suffix 포함) + reference_locks (제품/인물 잠금 설정 또는 참조 기록) + (영상 템플릿인 경우) model + video_unit (모델에 맞게 포장된 최종 프롬프트 + 재생 시간) + meta. 선택적으로 사람이 읽을 수 있는 요약(템플릿 이름/변수 목록/최종 프롬프트)을 추가로 렌더링할 수 있음.

핵심 제약 조건 (4가지 공리, 자세한 내용은 axioms.md 참조)

  1. 최종 프롬프트는 템플릿 본문을 그대로 치환해야 하며, 의역하거나 생략하면 안 됨 — rendered_body는 반드시 templates.json의 해당 템플릿 body를 그대로 치환한 결과여야 함 (대괄호 자리 표시자 전개 포함), "의미만 통하면 된다"는 식의 자유로운 재작성이 아님.
  2. 참조 이미지 번호 참조는 이미 선언된 잠금을 가리켜야 하며, 허상을 가리키면 안 됨 — 제품/인물이 처음 등장할 때 잠금 외형을 기록하고, 이후에는 "참조도N 제품/인물"이라고 써야 함. N은 실제로 존재하는 번호 집합에 속해야 함 (알려진 한계: 여기서 검증할 수 있는 것은 '형식이 맞는가'와 '번호가 실제로 존재하는가'뿐이며, '최초 잠금 설명 자체가 실제로 구체적(제품 외형 요소 완비 / 인물 연령+인종+성별+복장+외모 5대 요소 완비)인가'는 검증할 수 없음 — persona: "a person", product_lock: "a thing" 같은 빈 자리 표시자는 현재 검증을 통과함. schema.json/scripts/validate.js는 문자열이 비어 있지 않은지, 형식이 맞는지, 번호가 존재하는지만 검사하고, 의미 내용은 판단하지 않기 때문임. 최소 길이 같은 휴리스틱을 사용하여 막는 방안을 평가했지만, 템플릿 자체의 합법적인 짧은 예제까지 오탐할 수 있어 구현하지 않았으며, axioms.md 공리 2의 '알려진 경계' 단락에 사실대로 기록함. 여전히 호출자가 workflow.md Phase 1 단계 2 '누락 시 재확인, 추측하지 않음' 규율을 철저히 따라야 함.**)
  3. 장면 변수에 조명 관련 단어를 쓰면 안 됨. 조명은 접미사로 통일 제어함 — scene/scenes/place/rooms 등의 변수가 닫힌 집합의 조명 단어와 일치하면 거부. 날씨 단어는 허용.
  4. 영상은 선택된 모델의 최대 재생 시간과 금지어 목록을 엄격히 준수해야 하며, 무관용 원칙 적용 — veo 8.0초/seedance 10.0초 + 각각의 금지어 목록 + 마지막 고정 문장; 即创는 전용 출처 자료가 없으므로, 내러티브/카메라 분류만 검증하고 재생 시간/금지어는 강제로 검증하지 않음 (알려진 한계: 현재 즉창 모델 전용 공리 자료가 포함되지 않았으며, 자세한 내용은 sources.md 참조); 알려진 한계 (실제 말뭉치 테스트로 확인된 것이지, 이론적 가정이 아님): veo/seedance의 금지어 목록은 순수 어휘적 단어 경계 매칭 방식으로, 'AI 관용 형용사로 사용된 professional' (금지어 목록의 원래 대상, 예: "professional lighting")과 '실제 직업을 충실히 설명하는 professional' (예: 실제 직업을 충실히 영어로 번역한 경우)을 구분하지 못함. 실제 직업을 충실히 설명해도 FAIL 판정을 받을 수 있으며, 동의어로 다시 작성하는 것 외에는 방법이 없음. 자세한 내용은 axioms.md 공리 4의 '알려진 경계' 단락 참조

3단계 프로세스

자세한 내용은 workflow.md 참조: 1단계 수신 + 검증 (템플릿 선택 → 변수 준비 → 장면에 조명 단어 없음 → [영상] 모델 선택 → 참조 번호 컨텍스트) → 2단계 (그대로 치환 → 대괄호 전개 → 참조 잠금 기록 → [영상] 모델 포장 → 항목별 자체 점검) → 3단계 사용자 트리거 재작업 (L1 단일 변수 / L2 모델 변경 / L3 전체; '비영어 대사' 분기는 없음 — 템플릿 라이브러리 규정상 대사는 미국 TikTok 시장을 대상으로 미국식 영어를 사용해야 하며, 예외 없음. workflow.md 3단계 표 마지막 행 참조).

독립 실행 보장

카테고리 A 누락 (템플릿을 선택할 수 없음 + 필수 변수 누락) → 고정된 재확인 문구를 사용하여 추측이나 구체적인 외형/대사 내용을 지어내지 않음. 카테고리 B 누락 시 다운그레이드 (선택 변수는 템플릿 자체 의미로 처리; model 누락 시 한 번 묻고 기본값 사용). 카테고리 C (existing_refs_input) 누락 시 조용히 건너뜀 — 이 스킬은 사용자에게 "먼저 IMG-01을 실행하여 제품 잠금을 생성하라"고 요구하지 않으며, 첫 등장 시 텍스트 설명으로 참조 이미지를 대체할 수 있음.

금지어

~해 주세요 / 기대합니다 / 아마도 / 대략 / ~할 수도 있습니다 / 아마 / ~해 봅시다; AI 고객 센터 어조 (as an AI / I'd be happy to / feel free to); 스크립트/카피에 없는 효능 인증/사용자 증언을 지어내지 않음; 사용자가 제공하지 않은 제품 외형/인물 세부 사항을 변수를 채우기 위해 지어내지 않음; veo/seedance 영상 포장 금지어는 profiles/veo.md/profiles/seedance.md 참조 (AI 관용어 cinematic/stunning/flawless 등 + 쌍따옴표 + markdown 펜스, 구체적인 목록은 해당 파일 참조. 스크립트 상수 테이블과의 불일치를 방지하기 위해 여기에 중복 기재하지 않음).

라우팅 (권장 사항, 강제 아님)

  • 제품/인물/장면 소스가 없고 카피만 있는 경우 → 인물/장면 스킬 (구축된 경우)
  • 먼저 시각적 참조 이미지를 찾은 후 템플릿을 채우고 싶은 경우 → 검색어 스킬 (구축된 경우)
  • 프롬프트가 이미 준비되었고 여러 변형을 일괄 생성하고 싶은 경우 → 프롬프트 분화 스킬 (구축된 경우)
  • 입구로 돌아가서 다시 분류하고 싶은 경우 → 100x 체계 전체 입구 (구축된 경우)

위의 모든 사항은 '산출물 생성 후 권장 사항'이며, 전제 조건이 아님. 해당 스킬이 아직 구축되지 않은 경우에도 이 스킬은 독립적으로 작동하는 데 영향을 받지 않음.

출하 자체 점검

node scripts/validate.js --selftest를 실행하여 검증. 공리 1 (템플릿 재구성), 공리 2 (참조 잠금 완전성), 공리 4 (모델별 재생 시간/금지어/종결문)는 파일 간/항목 간/대규모 단어 목록 조건이며, schema.json (바닐라 JSON Schema)으로 표현할 수 없음. 실제 판정을 실행하는 것은 scripts/validate.js:

npm install                                                    # 최초 사용 시 먼저 ajv 설치
node scripts/validate.js <bundle.json> [bundle2.json ...]    # 산출물 검증
node scripts/validate.js --selftest                           # 내장 회귀 테스트 실행

출처

이 스킬은 프롬프트 템플릿 라이브러리와 Veo/Seedance 등 주요 모델의 어댑터 규칙을 결합하여 구축됨: templates.json은 14개의 표준화된 프롬프트 템플릿을 제공; profiles/veo.md와 profiles/seedance.md는 대상 모델의 포장 규칙을 제공함. 판정 체계는 참조 무결성, 닫힌 집합 단어 목록 탐지, 모델별 재생 시간 및 금지어 검증을 포함. 자세한 설계 결정 및 출처 설명은 sources.md 참조.

Individual skills in this repo

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

관련 스킬