Communitygithub.com

100x-segment

Divide un guion de voz en off de TikTok/UGC (texto plano en inglés o español) en tres capas de segmentación superpuestas.

¿Qué es 100x-segment?

Este skill, 100x-segment, está diseñado para procesar guiones de voz en off de TikTok/UGC en texto plano (inglés o español) y generar una segmentación en tres niveles independientes y superpuestos: L1 (lógica de párrafos con 10 módulos y 7 arquetipos), L2 (predicción del propósito de cada toma) y L3 (marcas de pausa respiratoria en línea). Utiliza un conjunto de 4 axiomas estrictos para garantizar la precisión: los módulos y arquetipos están limitados a enumeraciones fijas, las marcas de pausa solo se añaden (nunca se eliminan ni se modifican las palabras originales), las reglas de prioridad para la fuerza de las pausas están fijadas mediante criterios deterministas (con limitaciones documentadas, como la ambigüedad de 'so' en inglés), y los propósitos de toma deben cubrir todos los segmentos sin huérfanos. Funciona exclusivamente con entrada de texto (no acepta archivos de video) y rechaza idiomas fuera del inglés o español. El flujo de trabajo consta de tres fases: recepción y validación, procesamiento (segmentación, predicción de tomas, anotación de pausas y autocomprobación), y retrabajo por capas según la necesidad del usuario. Está diseñado para ser invocado de forma independiente, sin dependencias de otros skills, aunque al final ofrece rutas recomendadas hacia otros skills del ecosistema 100x (como 100x-persona o 100x-search-query) para enriquecer el contenido generado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kezd088/100x-skill-tiktok/tree/main/skills/100x-segment

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿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)

  1. segments[].module está limitado a 10 valores enumerados (de los 11 módulos, se excluye Localization que es transversal) + archetype limitado a 7 arquetipos (único o compuesto de dos letras diferentes).
  2. Las marcas de pausa son anotaciones en línea, solo se añaden, nunca se eliminan — text_annotated sin ‖/· debe ser idéntico palabra por palabra a raw_text; no se permite eliminar, agregar ni modificar palabras.
  3. 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, so puede 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ún so 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 de like como 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 en axioms.md TODO. 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 de axioms.md TODO).
  4. shots[].shot_purpose está limitado a 7 valores enumerados con definiciones estándar y debe cubrir completamente segments[] (integridad referencial + cero huérfanos; limitación conocida: este skill trabaja solo con texto, por lo que shots[] solo predice el propósito de la toma, sin incluir time_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 (los pairings[].segment_ref pueden hacer referencia a los segments[].segment_id generados 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.

Individual skills in this repo

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

Skills relacionados