100X Video Reverse v2.3
Convierte el video de referencia en un paquete de reversión estándar que el usuario puede revisar directamente y que los Skills de generación posteriores pueden consumir. Por defecto, solo analiza y verifica; no invoca generación de pago, no sube el video original ni publica material.
Antes de comenzar
- Confirma que el video proporcionado por el usuario sea legible y respete los límites de autorización. Si el usuario no especifica un directorio de salida, usa directamente
outputs/100x-video-reverse/<video-stem>-<timestamp>/dentro del espacio de trabajo actual; no preguntes más por el directorio. Siempre solo lee el archivo fuente y escribe en un directorio nuevo e independiente. - Siempre lee workflow.md, output-contract.md y native-output.md. Para análisis de modelos, lee también analysis-prompt.md. Cuando se trate de textos comerciales, edición densa, subidas externas o preparación para generación, lee failure-gates.md. Solo lee golden-baseline.md cuando evalúes, reemplaces o actualices este Skill. La entrega por defecto se genera determinísticamente desde el paquete mediante
scripts/digest.py; el agente no reordena fragmentos manualmente. - Verifica la disponibilidad de
ffmpeg,ffprobe, Pythonjsonschemay permisos de lectura/escritura local. Si faltajsonschema, el validador debe detenerse de forma forzosa; solo instala dependencias en entornos aislados, sin instalación global. Antes de llamar a cualquier modelo externo, verifica en tiempo real la lista oficial de modelos y sus limitaciones de entrada; da prioridad al modelo especificado por el usuario. Si no se puede verificar, detén la llamada externa, pero continúa completando el paquete de evidencia local.
Flujo de ejecución
- Usa
scripts/prepare_evidence.pypara establecer la huella digital del archivo fuente, especificaciones, propuesta de puntos de corte con doble umbral, fotogramas densos y pista de audio independiente. Los puntos de corte automáticos son solo señales de diagnóstico, no límites reales de tomas. - Revisa simultáneamente el video completo y el paquete de evidencia, priorizando la capacidad de comprensión de medios local del agente actual; no exijas al usuario que configure una API adicional. Solo cuando la tarea actual tenga autorización explícita para análisis semántico externo, se puede usar el modelo de referencia
gemini-3.7-flashde Google; antes de llamarlo, verifica desde la lista oficial de modelos el ID real y la capacidad de entrada de video; si no está disponible, conserva el error original y detén la fase externa, sin cambiar silenciosamente a un modelo antiguo. Corrige la línea de tiempo de las tomas segúnreferences/analysis-prompt.md, distinguiendo hechos observables, inferencias y desconocidos; no uses intervalos fijos para reemplazar el corte semántico. - Establece IDs de activos estables y puntos de anclaje de coherencia entre tomas, cubriendo personas, productos, escenas, utilería, vestuario, audio y texto. No inventes marcas, precios, efectos, diálogos o texto en pantalla que no sean claramente visibles o audibles.
- Genera el
reverse.jsoncompleto: tomas, cuatro tipos de fotogramas clave, referencias a activos, audio/subtítulos, prompts genéricos, prompts adaptados al modelo, plan de segmentación, instrucciones de composición ymust_not_change. Cada segmento debe incluir además unexecution_plan: duración objetivo, estado de generación, modelo seleccionado, método de generación y material de entrada; si no se ha verificado en tiempo real la capacidad del modelo, escribe explícitamenteneeds_model_selection, sin disfrazarlo como ejecutable. - Usa
scripts/materialize_reverse_media.pypara materializar los fotogramas de las tomas y las capturas de los activos en rutas relativas dentro del paquete, y generamaterialization_manifest.json. Los medios existentes solo se reutilizan si el SHA-256 de la fuente, la marca de tiempo de la solicitud y el SHA-256 del archivo coinciden exactamente con el provenance; de lo contrario, detención forzosa, sin sobrescribir. - Usa
scripts/validate_reverse_package.pypara realizar una verificación previa de los medios y el contrato. Los errores graves deben corregirse antes de continuar; las advertencias deben mantenerse y explicarse, no convertirse en aprobación. - Una vez verificada estrictamente la validez, ejecuta
scripts/digest.pyy luego entrega el resultado tal cual según native-output.md. En Codex, usa--format fragment --fragment-dir <directorio de visualización del hilo actual>: la primera pestaña es un reproductor 9:16 estrecho a la izquierda + un panel de material de segmentos a la derecha; cada segmento muestra fijo el mismo grupo de primer fotograma / fotograma destacado / último fotograma; las imágenes se pueden arrastrar para obtener una vista previa JPEG; para la imagen original, copia la ruta del fotograma original dentro del paquete. La "localización de tomas" mantiene el enlace por toma; al hacer clic en cualquier grupo de tres fotogramas o en una toma, se pausa y se posiciona el video; primero se muestra una instrucción operativa en chino, luego el prompt de generación en inglés del segmento al que pertenece la toma. En pantallas estrechas, cambia a disposición vertical, pero los tres fotogramas siguen en el mismo grupo. Otros clientes usan por defecto--format md; si no se puede determinar la capacidad del cliente, no se asume un protocolo en línea.
Cuando el usuario proporciona comentarios de visualización, asigna cada comentario a tomas, activos o campos de prompt específicos, y márcalos explícitamente como "preferencia/corrección del usuario"; no los reescribas como hechos observables del video fuente. Crea un nuevo paquete de revisión, modificando solo los campos y medios afectados, y luego vuelve a validar completamente; no sobrescribas la versión anterior.
Comandos
python <skill-root>\scripts\prepare_evidence.py --video <source.mp4> --out <new-package-dir>
python <skill-root>\scripts\materialize_reverse_media.py --video <source.mp4> --package <new-package-dir>\reverse.json --source-manifest <new-package-dir>\source_manifest.json
python <skill-root>\scripts\validate_reverse_package.py --package <new-package-dir>\reverse.json --source-manifest <new-package-dir>\source_manifest.json --require-media --report <new-package-dir>\validation.json
python <skill-root>\scripts\digest.py --package <new-package-dir> --format md
# En línea para Codex; para múltiples paquetes, usa --out-root, que genera automáticamente 1 resumen de lote + N detalles independientes
python <skill-root>\scripts\digest.py --out-root <batch-root> --format fragment --fragment-dir <thread-visualization-dir>
<new-package-dir> no debe existir o debe estar vacío. No uses --out apuntando al directorio del video fuente.
Límites inquebrantables
- Que el paquete de reversión pase la validación solo indica que la estructura, la evidencia y las referencias son ejecutables; no implica que la similitud visual del video final sea aceptable.
- No generes, reintentes generación, realices postproducción ni puntúes dentro de este Skill. Eso debe ser consumido por Skills independientes que usen este contrato de salida.
- La respuesta nativa del agente es solo la capa de presentación de
reverse.jsony los medios dentro del paquete; no es una segunda fuente de verdad de negocio. Cualquier revisión debe modificar primero el paquete de máquina y luego actualizar la respuesta actual. - Al hacer clic en una toma, se muestra el prompt del segmento de generación al que pertenece esa toma; la unidad de generación del contrato de máquina es el segmento, no se debe fingir que existen prompts independientes por toma.
- Las etiquetas operativas, estados, categorías de activos y métodos de generación visibles por defecto se muestran en chino; los IDs de modelo, IDs de material, evidencia textual y prompts de generación en inglés mantienen su valor original. Si los campos de lectura humana de paquetes históricos están en inglés, solo se puede indicar y conservar el texto original, sin que el digest falsifique una traducción.
- No escribas "segmentos fijos de 10 segundos" como verdad de tomas debido a limitaciones actuales del proveedor. Prioriza la segmentación basada en tomas reales y límites narrativos; la advertencia de 10 segundos del validador es solo una advertencia de compatibilidad configurable aguas abajo.
- Sin autorización explícita, no subas el video local a URLs públicas, almacenamiento de objetos o servicios de terceros.
- No copies código candidato con licencia desconocida o propósitos opuestos; solo absorbe métodos y experiencias de fracaso verificados con el mismo estándar.
Criterios de finalización
Al finalizar, deben existir: source_manifest.json, evidence/evidence_manifest.json, medios de evidencia, reverse.json, materialization_manifest.json y validation.json; la verificación estricta de medios debe tener cero errores graves. La primera pestaña del fragment de Codex debe mostrar una vista previa de duración completa; en escritorio, usa un reproductor estrecho + panel de material de segmentos ancho, con cada segmento fijo de tres espacios (primero/destacado/último) y manteniendo el mismo grupo; los materiales faltantes muestran espacios de error. Arrastrar los tres fotogramas debe producir al menos un archivo JPEG utilizable; la imagen original se obtiene copiando la ruta dentro del paquete. Al hacer clic en los tres fotogramas o en una toma, se debe poder posicionar y ver el prompt del segmento al que pertenece. La capa operativa por defecto usa chino; los prompts en inglés se expanden según sea necesario; los cinco bloques restantes se expanden posteriormente. Los paquetes múltiples deben proporcionar primero un resumen ligero del lote, luego detalles independientes numerados; los elementos fallidos no deben desaparecer. La ruta del paquete de máquina aún debe indicarse en el cuerpo del texto. --legacy-unverified-media solo se permite para auditar paquetes históricos, está prohibido para nuevas entregas.
Limitaciones conocidas
- El "video original" dentro del fragment es una copia de visualización de baja tasa de bits H.264/AAC dentro del presupuesto, no es una segunda fuente; la ruta original y el SHA-256 siguen siendo los de
source_manifest.json. Un solo fragmento está limitado a 1 MB; si no cabe, se degrada explícitamente a imágenes de fotogramas, sin truncar el video. - Arrastrar directamente desde el fragment produce una imagen JPEG de vista previa derivada dentro del presupuesto, no el fotograma original del paquete; al arrastrar, se proporcionan simultáneamente el
Filedel navegador,DownloadURLde Chromium, data URI y la ruta del fotograma original. La aplicación de destino decide si acepta el formato de arrastre correspondiente; para obtener la imagen original sin pérdida, usa "copiar ruta del fotograma original". - La ruta del Artefacto de Claude Code aún no ha sido verificada con un anfitrión real; si no se puede confirmar la representación, se recurre a
--format md.