¿Qué hace 100x-segment?
Una frase de posicionamiento
Ingresa un guion de voz en off de TikTok/UGC en texto plano (inglés o español) y obtén tres capas independientes y superpuestas de segmentación: L1 (lógica de párrafos: 10 módulos + 7 arquetipos), L2 (predicción del propósito de cada toma) y L3 (marcas de pausa respiratoria en línea). Corresponde al paso "1 segmentación" del sistema 100x.
Cuándo activarlo
El usuario dice:
- "Ayúdame a segmentar esto" / "¿Cómo divido este guion?" / "Separa este texto en bloques" / "¿Dónde debo respirar aquí?"
- "segment this script" / "break this voiceover into beats"
- O simplemente proporciona un texto de guion en plano y solicita "dividir en módulos" / "marcar las pausas respiratorias" / "cómo segmentar esto"
Entrada
Entrada mínima (categoría A, obligatoria): source_text — un texto plano de guion/guion en off. Este skill NO acepta archivos de video/fotogramas de video, solo texto (consulta workflow.md Fase 1).
Categoría B (entrada opcional): ninguna — source_text contiene todas las señales necesarias para la segmentación, no se requiere información adicional sobre puntos de venta, audiencia o tono para comenzar a trabajar (similar a 100x-persona, diferente de 100x-search-query; consulta "Explicación de la categoría B" en workflow.md).
Rango de idiomas (límite explícito en v1, no una degradación): language se determina automáticamente a partir de source_text, aceptando solo inglés o español; si se detecta otro idioma o una mezcla inidentificable de inglés y español, se rechaza directamente, sin adivinanzas ni sustituciones.
Salida opcional de nivel superior (categoría C, se omite silenciosamente si falta, no bloquea y nunca obliga al usuario a ejecutar otro skill primero): actualmente no hay ningún skill en este repositorio que pueda proporcionar un perfil de producto o tema como entrada ascendente.
Salida
La estructura se define en schema.json: source_text/language/archetype (7 arquetipos A-G, único o compuesto "principal+secundario" como "G+E")/segments[] (cada elemento contiene segment_id/module [10 valores enumerados]/raw_text/text_annotated [versión con marcas de pausa fuerte ‖ y pausa débil · incrustadas en el texto])/shots[] (cada elemento contiene shot_id/segment_refs[]/shot_purpose [7 valores enumerados con definiciones estándar])/meta. Opcionalmente, se puede renderizar una tabla de párrafos legible por humanos en Markdown.
Restricciones principales (4 axiomas, consulte axioms.md para más detalles)
segments[].moduleestá limitado a 10 valores enumerados (de los 11 módulos, se excluye Localization que es transversal) +archetypelimitado a 7 arquetipos (único o compuesto de dos letras diferentes).- Las marcas de pausa son anotaciones en línea, solo se añaden, nunca se eliminan —
text_annotatedsin‖/·debe ser idéntico palabra por palabra araw_text; no se permite eliminar, agregar ni modificar palabras. - La prioridad de las marcas de pausa (fuerte/débil) está fijada (conjunción adversativa al inicio > puntuación al final de la oración/guion > coma/punto y coma; límite forzoso de 14 palabras en inglés / 16 sílabas en español por respiración). Se determina según una prioridad fija, sin improvisación (limitaciones conocidas: en inglés,
sopuede ser tanto una conjunción adversativa/causal como un adverbio de grado/énfasis (ej.so much/so many); la simple coincidencia de palabras clave no distingue entre estos usos; solo se ha excluido la combinación más comúnso much/so many; otros usos enfáticos aún pueden ser malinterpretados como conjunciones adversativas, lo que exige una pausa fuerte — esto es un criterio de fallo duro, no una advertencia suave. El costo de un falso positivo es mayor que el siguiente criterio. Las reglas de no marcar pausa antes de palabras de relleno ni antes de números de precio se basan en coincidencia de palabras clave heurística, no en comprensión semántica real; la ambigüedad delikecomo preposición o palabra de relleno puede generar cierta tasa de falsos positivos, que solo se trata como advertencia, no como fallo; consulte el axioma 3 enaxioms.mdTODO. La regla de puntuación al final de la oración utiliza un diccionario fijo y no exhaustivo de abreviaturas (ej.a.m./p.m./Mr.etc.) para excluir puntos de abreviaturas comunes. Ya se ha confirmado en corpus real de inglés que estas abreviaturas específicas funcionan correctamente, pero las abreviaturas fuera del diccionario aún pueden malinterpretarse como final de oración. Además, cuando la puntuación final está pegada a la siguiente palabra sin espacio (espacio faltante), actualmente solo se detecta para!/?como pausa faltante; para., debido a la posible confusión con abreviaturas o puntos decimales, se requiere un carácter de espacio en blanco real; los.pegados sin espacio no activan la detección; todo esto se detalla en el axioma 3 deaxioms.mdTODO). shots[].shot_purposeestá limitado a 7 valores enumerados con definiciones estándar y debe cubrir completamentesegments[](integridad referencial + cero huérfanos; limitación conocida: este skill trabaja solo con texto, por lo queshots[]solo predice el propósito de la toma, sin incluirtime_bucket/visual_description/camera_language/audio_plan— estos campos dependen de las imágenes de video reales y están fuera del alcance de este skill).
Límite de aplicabilidad: El esqueleto de 11 módulos/7 arquetipos está extraído del esquema de guiones de venta directa (DR) de suplementos para la salud en TikTok EE.UU. La aplicabilidad a otras estructuras de guion (narrativos, entrevistas, etc., no orientados a ventas directas en privado) no ha sido verificada.
Flujo de trabajo en tres fases
Consulte workflow.md para más detalles: Fase 1: Recepción y validación (categoría A + validación de idioma, sin categoría B, categoría C se omite silenciosamente) → Fase 2 (2A: Segmentación de párrafos → 2B: Predicción del propósito de la toma → 2C: Anotación de pausas → 2D: Autocomprobación S1-S8 + renderizado) → Fase 3: Retrabajo iniciado por el usuario (tres niveles de granularidad: capa L1 de párrafos, capa L2 de tomas, capa L3 de pausas, cada una directamente correspondiente a los puntos de segmentación).
Garantía de invocación independiente
Si falta la categoría A (source_text) → se solicita con un mensaje de rechazo fijo, sin adivinanzas ni aceptación de archivos de video como sustituto.
Si el idioma detectado está fuera del rango inglés/español → mensaje de rechazo fijo, sin adivinanzas ni enrutamiento.
Si falta la categoría C (salida ascendente) → se omite silenciosamente, nunca se obliga al usuario a ejecutar otro skill primero.
Palabras prohibidas
Déjame / espero / quizás / probablemente / tal vez / puede que / vamos a; lenguaje de atención al cliente tipo AI (as an AI / I'd be happy to / feel free to); no inventar contenido/efectos/certificaciones/testimonios que no estén en el texto original del guion; no codificar ningún diccionario de categorías de productos de clientes; text_annotated no puede eliminar ni modificar ninguna palabra de raw_text (ver axioma 2).
Enrutamiento (recomendado, no obligatorio)
- Si ya está segmentado y se quiere asignar personajes/escenarios a cada segmento →
100x-persona(lospairings[].segment_refpueden hacer referencia a lossegments[].segment_idgenerados por este skill). - Si se quiere emparejar los segmentos con tomas reales/movimientos de cámara/audio (requiere entrada de video) → un skill de storyboarding futuro de código abierto (si existe).
- Si se quiere buscar primero imágenes de referencia/palabras clave →
100x-search-query. - Si se quiere volver a la entrada general del sistema 100x → entrada general del sistema 100x (si existe).
Todas las anteriores son "recomendaciones posteriores a la salida", no dependencias previas; si los skills correspondientes aún no están construidos, no afectan el funcionamiento independiente de este skill.
Autocomprobación de fábrica
Ejecute node scripts/validate.js --selftest para verificar. Las restricciones estructurales declaradas en schema.json (enum/pattern/additionalProperties/minItems/uniqueItems etc.) son ejecutadas por ajv (un validador real de JSON Schema draft-07, declarado como devDependency en package.json, primero ejecutar npm install) dentro de scripts/validate.js, no mediante enumeración de campos manual. Los axiomas 2 (comparación entre campos text_annotated/raw_text), axioma 3 (prioridad de fuerza de pausa + límite de respiración, que requiere analizar la cadena en fragmentos y razonar segmento por segmento) y axioma 4 (integridad referencial entre arrays shots/segments + cero huérfanos + numeración secuencial) son criterios que la estructura vanilla de JSON Schema no puede expresar; se implementan mediante código manual en scripts/validate.js:
npm install # Primera vez, instalar ajv
node scripts/validate.js <bundle.json> [bundle2.json ...] # Validar salida
node scripts/validate.js --selftest # Ejecutar casos de regresión internos
Fuentes
Este skill está construido para el escenario de "segmentación de guiones de voz en off en texto plano y anotación de pausas", incluyendo la lógica de párrafos (sistema de 10 módulos + 7 arquetipos), la predicción del propósito de las tomas (7 tipos estándar) y el sistema de reglas de pausas en línea (axiomas 2/3). Las especificaciones de cada criterio y el diseño de los campos se detallan en sources.md.