100x-segment은(는) 무엇을 하나요?
한 줄 소개
TikTok/UGC 음성 대본 일반 텍스트(영어 또는 스페인어)를 입력하여 3계층으로 중첩된 분할 결과를 출력합니다: L1 문단 논리(10개 모듈 + 7개 원형), L2 샷 목적 예측, L3 라인 내 호흡 표시. 100x 시스템의 '1단계 분할' 단계입니다.
트리거 시점
사용자가 다음과 같이 말할 때:
- "분할해 줘" / "이 대본 어떻게 분할하지?" / "이 음성 대본을 나눠 봐" / "이 부분은 어디서 숨을 쉬어야 하지?"
- "segment this script" / "break this voiceover into beats"
- 또는 음성 대본 일반 텍스트를 직접 제공하면서 "모듈별로 분할해 줘" / "호흡 지점을 표시해 줘" / "이걸 어떻게 잘라야 하지?"라고 요청할 때
입력
최소 입력(카테고리 A, 필수): source_text — 음성 대본/카피 일반 텍스트. 이 스킬은 비디오 파일/비디오 프레임을 처리하지 않으며, 텍스트만 입력받습니다(자세한 내용은 workflow.md Phase 1 참조).
카테고리 B(소프트 입력): 없음 — source_text 자체에 분할에 필요한 모든 신호가 포함되어 있으므로, 작업을 시작하는 데 추가로 판매 포인트/대상/어조가 필요하지 않습니다(100x-persona 구조와 동일하며, 100x-search-query와는 다름. 자세한 내용은 workflow.md "카테고리 B 설명" 참조).
언어 범위(v1 명확한 경계, 다운그레이드 아님): language는 source_text에서 자동 판별되며, 영어 또는 스페인어만 허용됩니다. 다른 언어로 판별되거나 영어-스페인어 혼합으로 인해 주 언어를 판별할 수 없는 경우 직접 거절하며, 추측하거나 대체하지 않습니다.
업스트림 선택적 산출물(카테고리 C, 누락 시 자동 건너뜀, 차단하지 않으며, 사용자에게 다른 스킬을 먼저 실행하도록 요구하지 않음): 이 저장소에는 업스트림으로 사용할 수 있는 제품 페르소나/주제 자료 관련 스킬 산출물이 현재 없습니다.
출력
구조는 schema.json을 따릅니다: source_text/language/archetype(7개 원형 A-G, 단일 또는 "주+보조" 복합 예: "G+E")/segments[](각 항목에는 segment_id/module[10개 열거형]/raw_text/text_annotated[‖ 강호흡· 약호흡이 포함된 라인 내 주석 버전])/shots[](각 항목에는 shot_id/segment_refs[]/shot_purpose[7개 열거형 표준 정의])/meta. 선택적으로 사람이 읽을 수 있는 Markdown 문단 테이블을 렌더링할 수 있습니다.
핵심 제약 조건(4개 축, 자세한 내용은 axioms.md 참조)
segments[].module은 10개 열거형으로 고정(11개 모듈 중 문서 전체에 걸친 Localization 제외) +archetype은 7개 원형 형식(단일 또는 "주+보조" 두 개의 다른 문자)으로 고정- 호흡 표시는 라인 내 표시이며, 추가만 가능하고 제거는 불가능 —
text_annotated에서‖/·를 제거하면raw_text와 문자 단위로 동일해야 하며, 단어를 삭제/추가/변경할 수 없음 - 호흡 강도 판단 기준이 고정되어 있습니다(전환 접속사 시작 > 문장 끝 구두점/대시 > 쉼표/세미콜론, 영어 14단어/스페인어 16음절 한계 강제 분할). 고정된 우선순위에 따라 판단하며, 임의로 판단할 수 없음(알려진 한계: 영어
so는 "전환/인과 접속사"와 "정도 부사/강조사"(so much/so many) 두 가지 용법이 있어 순수 키워드 매칭으로 구분할 수 없으며,so much/so many라는 가장 흔한 조합만 제외했고, 다른 강조 용법은 여전히 전환 접속사로 오판되어 강호흡이 강제될 수 있음 — 이는 하드 fail 판단 기준이며 소프트 warning이 아닙니다. 이 오판의 비용이 아래 기준보다 더 높습니다. 필러 단어 뒤, 가격 숫자 앞에 호흡을 표시하지 않는 것은 발견적 키워드 매칭이며 진정한 의미 판단이 아닙니다.like의 전치사/필러 단어 중의성은 일부 오경보율을 발생시키며, warning만 하고 fail하지 않습니다.axioms.md축3 TODO 참조. 문장 끝 구두점 판단 기준은 고정되고 완전하지 않은 약어 사전(a.m./p.m./Mr.등)을 사용하여 일반적인 약어 마침표를 제외하며, 실제 영어 말뭉치에서 이 특정 약어들이 수정되었음을 확인했지만, 사전 외의 약어는 여전히 문장 끝으로 오판될 수 있습니다. 또한, 문장 끝 구두점과 다음 단어 사이에 공백이 없는 경우(공백 누락)는 현재!/?에 대해서만 호흡 누락으로 판단하며,.는 약어 및 소수점과의 충돌을 피하기 위해 실제 공백 문자를 요구하므로, 공백이 없는.는 현재 판단 기준을 트리거하지 않습니다. 모두axioms.md축3 TODO 참조) shots[].shot_purpose는 7개 열거형 표준 정의로 고정되며,segments[]를 완전히 커버해야 함(참조 무결성 + 고아 없음, 알려진 한계: 이 스킬은 순수 텍스트 입력이며,shots[]는 샷 목적만 예측하고time_bucket/visual_description/camera_language/audio_plan은 포함하지 않음 — 이러한 필드는 실제 비디오 화면에 의존하며 이 스킬의 범위를 벗어남)
적용 범위: 11개 모듈/7개 원형 프레임워크는 TikTok 미국 지역 DR 건강기능식품 음성 대본 블루프린트에서 가져왔으며, 다른 카피 구조(스토리텔링/인터뷰 등 DR 비개인 관심사 판매 유형이 아닌 대본)에 대한 적용 가능성은 검증되지 않았습니다.
3단계 프로세스
자세한 내용은 workflow.md 참조: Phase 1 수신 + 검증(카테고리 A + 언어 범위 검증, 카테고리 B 없음, 카테고리 C 자동 건너뜀) → Phase 2(2A 문단 분할 → 2B 샷 목적 예측 → 2C 호흡 표시 → 2D 자체 점검 S1-S8 + 렌더링) → Phase 3 사용자 트리거 재작업(L1 문단 레이어/L2 샷 레이어/L3 호흡 레이어 세 가지 세분화 수준, 직접 3계층 분할점에 대응).
독립 호출 보장
카테고리 A(source_text) 누락 → 고정된 거절 멘트로 재확인, 추측하지 않으며 비디오 파일을 대체로 받지 않음. 언어 판단이 영어/스페인어 범위를 벗어남 → 고정된 거절 멘트, 추측하지 않으며 대체하지 않음. 카테고리 C(업스트림 산출물) 누락 → 자동 건너뜀, 사용자에게 다른 스킬을 먼저 실행하라고 절대 요구하지 않음.
금지어
제 생각에는 / 바랍니다 / 아마도 / 대략 / ~할 수도 있습니다 / 어쩌면 / ~해 봅시다; AI 고객 센터 말투(as an AI / I'd be happy to / feel free to); 대본 원문에 없는 모듈 내용/효과/인증/증언을 지어내지 않음; 어떤 고객 카테고리 사전도 하드코딩하지 않음; text_annotated에서 raw_text의 어떤 문자도 삭제/변경할 수 없음(축2 참조).
라우팅(권장, 강제 아님)
- 이미 분할되었으며, 각 세그먼트에 캐릭터/장면을 할당하려면 →
100x-persona(pairings[].segment_ref는 이 스킬의segments[].segment_id를 다시 채울 수 있음) - 분할된 세그먼트를 실제 샷 화면/카메라 움직임/오디오와 연결하려면(비디오 입력 필요) → 향후 공개 저장소화될 스토리보드 관련 스킬(이미 생성된 경우)
- 먼저 시각적 참조 이미지/검색 키워드를 찾으려면 →
100x-search-query - 입구로 돌아가 다시 트리아지를 받으려면 → 100x 시스템 전체 입구(이미 생성된 경우)
위 내용은 모두 "산출물 생성 후 필요에 따라 추천"이며, 사전 종속성이 아닙니다. 해당 스킬이 아직 구축되지 않은 경우에도 이 스킬의 독립적인 작업에 영향을 미치지 않습니다.
출고 자체 점검
node scripts/validate.js --selftest를 실행하여 검증합니다. schema.json에 선언된 구조적 제약 조건(enum/pattern/additionalProperties/minItems/uniqueItems 등)은 scripts/validate.js 내의 ajv(실제 JSON Schema draft-07 검증기, package.json에 선언된 devDependency, 먼저 npm install을 실행한 후 실행)에 의해 실제로 실행되며, 수동 필드 열거가 아닙니다. 축2(text_annotated/raw_text 필드 간 비교), 축3(호흡 강도 우선순위 + 한계 호흡량, 문자열을 조각으로 구문 분석하여 단계별 추론 필요), 축4(shots/segments 배열 간 참조 무결성 + 고아 없음 + 순서 번호)는 일반적인 vanilla JSON Schema 구조로 표현할 수 없는 판단 기준이며, scripts/validate.js의 수동 코드로 보완합니다:
npm install # 최초 사용 시 ajv 설치
node scripts/validate.js <bundle.json> [bundle2.json ...] # 산출물 검증
node scripts/validate.js --selftest # 내장 회귀 테스트 실행
출처
이 스킬은 "순수 텍스트 음성 대본 분할 및 호흡 표시" 시나리오를 위해 구축되었으며, 문단 논리(10개 모듈 + 7개 원형 시스템), 샷 목적 예측(7개 표준 목적), 라인 내 호흡 규칙 시스템(축2/3)을 포함합니다. 각 판단 기준 사양 및 필드 설계에 대한 자세한 내용은 sources.md를 참조하세요.