Communitygithub.com

100x-prompt-compose

Completa una plantilla de generación de anuncios UGC con variables de producto/persona/escena y produce el prompt final listo para modelos de IA generativa.

¿Qué es 100x-prompt-compose?

100x-prompt-compose es una habilidad diseñada para el sistema 100x que automatiza la composición de prompts para la generación de contenido audiovisual, especialmente anuncios UGC (User Generated Content). Su función principal es tomar un ID de plantilla de prompt (o una descripción que permita seleccionar una de las 14 plantillas disponibles en `templates.json`) y un conjunto de variables (como producto, persona, escena) para generar un prompt final renderizado palabra por palabra, empaquetado según las especificaciones del modelo de destino (Veo, Seedance o 即创). Esta habilidad es crucial para conectar la creación de prompts con modelos de IA generativa de video/imagen, asegurando que el output cumpla con las reglas de cada modelo (duración máxima, lista de palabras prohibidas, sufijos de realismo, etc.). Se activa cuando el usuario solicita 'componer un prompt', 'rellenar una plantilla', 'generar un prompt de video' o describe un producto y una escena. La habilidad sigue un flujo de tres fases (recepción/validación, renderizado/empaquetado, y retrabajo opcional), con 4 axiomas clave que garantizan la integridad de la sustitución, la validez de las referencias a imágenes, la prohibición de palabras de iluminación en variables de escena, y el cumplimiento estricto de las restricciones del modelo de video. Se puede invocar de forma independiente, sin depender de otras habilidades del ecosistema 100x, aunque recomienda su uso posterior a la creación de personajes o escenarios.

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

Preguntar en tu IA favorita

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

Documentación

¿Qué hace 100x-prompt-compose?

Posicionamiento en una frase

Ingresa un ID de plantilla de prompt (o una descripción de necesidad) + variables, y genera el prompt final renderizado palabra por palabra, empaquetado según el modelo objetivo (Veo/Seedance/Jichuang). Pertenece al paso "prompt + modelo" del sistema 100x, conectando los skills upstream de personajes/escenas/palabras clave de búsqueda con el modelo de generación AI downstream.

Cuándo activarlo

El usuario dice:

  • "Ayúdame a armar un prompt" / "Completa la plantilla y dame el prompt" / "¿Qué modelo usar para este video?" / "Genera un prompt para video" / "Selecciona una plantilla y asigna variables"
  • "compose a video prompt" / "fill in this template" / "which model should I use for this" / "generate an AI video prompt"
  • O proporciona directamente una descripción de producto/personaje/escena, solicitando un prompt listo para alimentar a un modelo de generación de imágenes/video

Entrada

Entrada mínima (Categoría A, obligatoria): template_id (uno de los 14 templates, ver templates.json) o una descripción de necesidad lo suficientemente única como para coincidir con una plantilla (categoría + escenario use_when, ver workflow.md Phase 1, paso 1); todas las variables en variables[] cuyo label no contenga "(opcional)" deben ser proporcionadas (no adivinar ni inventar apariencias/diálogos específicos).

Complemento suave (Categoría B, si falta se degrada, ver workflow.md Phase 1, pasos 2/4): variables cuyo label contenga "(opcional)"; selección de model para plantillas de video (si falta, preguntar una vez; si no responde, por defecto model_hint[0]).

Salida opcional upstream (Categoría C, si falta se omite silenciosamente, no bloquea ni obliga al usuario a ejecutar otro skill): existing_refs_input (bloqueos de producto/personaje establecidos en llamadas anteriores, ver axioma 2).

Salida

Estructura según schema.json: ComposedPromptBundle = template_id/category + variables_used + rendered_body (cuerpo chino renderizado palabra por palabra, ya incluye realism_suffix) + reference_locks (registro de creación o referencia de bloqueos de producto/personaje) + (para plantillas de video) model + video_unit (prompt final empaquetado según modelo + duración) + meta. Opcionalmente, renderizar un resumen legible (nombre de plantilla/tabla de variables/prompt final).

Restricciones principales (4 axiomas, ver axioms.md)

  1. El prompt final debe reemplazar palabra por palabra el cuerpo de la plantilla, sin paráfrasis ni eliminaciones: rendered_body debe ser el resultado de interpolación palabra por palabra del cuerpo de la plantilla correspondiente en templates.json (incluyendo expansión de marcadores entre corchetes), no una reescritura libre "que tenga el mismo significado"
  2. Las referencias a números de imágenes de referencia deben apuntar a bloqueos ya declarados, no pueden ser ficticias: la primera aparición de un producto/personaje bloquea su apariencia, las siguientes deben escribir "referencia N producto/personaje", y N debe existir realmente en el conjunto de números ya establecidos (limitación conocida: aquí solo se puede verificar "si el formato es correcto" y "si el número realmente existe", no se puede verificar si la descripción del primer bloqueo es realmente específica (todos los elementos de apariencia del producto / todos los cinco elementos de edad+raza+género+vestimenta+apariencia del personaje) —— persona: "a person", product_lock: "a thing" y otros textos de marcador de posición vacíos pueden pasar la validación actualmente, porque schema.json/scripts/validate.js solo verifican que la cadena no esté vacía, el formato y la existencia del número, sin hacer juicios semánticos de contenido; se evaluó el uso de heurísticas como la longitud mínima para bloquear, pero también eliminarían ejemplos cortos válidos de la propia plantilla, por lo que no se implementó, y se registra fielmente en el párrafo "límite conocido" del axioma 2 de axioms.md; aún depende completamente de que el invocador siga la disciplina de "preguntar cuando falte, no inventar" del paso 2 de la Fase 1 de workflow.md)
  3. Las variables de escena no pueden contener palabras de iluminación; la iluminación se controla de manera uniforme mediante el sufijo: si las variables scene/scenes/place/rooms coinciden con la lista cerrada de palabras de iluminación, se rechazan; las palabras de clima están permitidas
  4. Para videos, el límite de duración y la lista de palabras prohibidas se ejecutan según el modelo seleccionado, con tolerancia cero: veo 8.0s/seedance 10.0s + sus respectivas listas de palabras prohibidas + oración fija al final; Jichuang no tiene material de fuente dedicado, solo se verifica la clasificación de tomas narrativas, sin verificación estricta de duración/palabras prohibidas (limitación conocida: actualmente no se incluye material de axioma dedicado para el modelo Jichuang, ver sources.md); limitación conocida (confirmada mediante pruebas con corpus real, no suposiciones teóricas): la lista de palabras prohibidas de veo/seedance es una coincidencia de límites de palabras puramente léxica, no puede distinguir entre "professional" usado como adjetivo de estilo AI (el objetivo de la lista de palabras prohibidas, como "professional lighting") y "professional" usado como descripción fiel de la profesión real del hablante (por ejemplo, traducir fielmente la profesión real del hablante al inglés y que contenga esta palabra) —— describir fielmente la identidad real también resultará en FAIL, solo se puede reemplazar con un sinónimo que no choque, ver el párrafo "límite conocido" del axioma 4 de axioms.md

Proceso de tres fases

Ver workflow.md: Fase 1 Recepción + Validación (seleccionar plantilla → variables completadas → escena sin palabras de iluminación → [video] seleccionar modelo → contexto de números de referencia) → Fase 2 (renderizado palabra por palabra → expansión de corchetes → registro de bloqueos de referencia → [video] empaquetado según modelo → autoverificación elemento por elemento) → Fase 3 Retrabajo iniciado por el usuario (L1 variable única / L2 cambiar modelo / L3 completo; no hay rama de "diálogo no en inglés" —— la biblioteca de plantillas exige que los diálogos sean en inglés americano para TikTok en EE. UU., sin excepción, ver la última fila de la tabla de la Fase 3 de workflow.md).

Garantía de invocación independiente

Si falta la Categoría A (no se puede seleccionar plantilla + faltan variables obligatorias) → preguntar con un mensaje de rechazo fijo, sin adivinar ni inventar apariencias/diálogos específicos. Si falta la Categoría B, se degrada (las variables opcionales se procesan según la semántica de la plantilla; si falta model, preguntar una vez y luego usar el valor predeterminado). Si falta la Categoría C (existing_refs_input), se omite silenciosamente: este skill no exige al usuario "ejecutar primero IMG-01 para establecer un bloqueo de producto" antes de comenzar; en la primera aparición, se permite directamente usar descripciones textuales en lugar de imágenes de referencia.

Palabras prohibidas

Hágame / Espero / Quizás / Más o menos / Posible / Tal vez / Dejemos que; tono de atención al cliente AI (as an AI / I'd be happy to / feel free to); no inventar certificaciones de eficacia o testimonios de usuarios que no estén en el guion/texto; no inventar detalles de apariencia de producto o personaje que el usuario no haya proporcionado para completar variables; las palabras prohibidas para empaquetado de video veo/seedance se encuentran en profiles/veo.md/profiles/seedance.md (palabras de estilo AI como cinematic/stunning/flawless, etc. + comillas dobles + bloques de código markdown; la lista específica está en los archivos correspondientes, no se repite aquí para evitar desincronización con la tabla de constantes del script).

Enrutamiento (recomendado, no obligatorio)

  • Si solo hay un texto, sin materiales de producto/personaje/escena → skills de personaje/escena (si existen)
  • Si se buscan imágenes de referencia visual antes de decidir cómo completar la plantilla → skill de palabras clave de búsqueda (si existe)
  • Si el prompt ya está listo y se quieren hacer múltiples variantes → skill de fisión de prompts (si existe)
  • Si se quiere volver a la entrada para un nuevo triaje → entrada general del sistema 100x (si existe)

Todo lo anterior son "recomendaciones posteriores a la salida según necesidad", no dependencias previas; si el skill correspondiente aún no está construido, no afecta el funcionamiento independiente de este skill.

Autoverificación de fábrica

Ejecutar node scripts/validate.js --selftest para verificar. El axioma 1 (reconstrucción de plantilla), axioma 2 (integridad de bloqueos de referencia), axioma 4 (duración/palabras prohibidas/oración final específica del modelo) son criterios que cruzan archivos/entradas/listas de palabras grandes; schema.json (vanilla JSON Schema) no puede expresarlos, quien realmente ejecuta el juicio es scripts/validate.js:

npm install                                                    # Primera vez, instalar ajv
node scripts/validate.js <bundle.json> [bundle2.json ...]    # Validar salidas
node scripts/validate.js --selftest                           # Ejecutar casos de prueba incorporados

Fuentes

Este skill se construye combinando la biblioteca de plantillas de prompts con las reglas de adaptación de los principales modelos (Veo / Seedance): templates.json proporciona 14 plantillas de prompts estandarizadas; profiles/veo.md y profiles/seedance.md proporcionan las especificaciones de empaquetado para los modelos objetivo. El sistema de criterios incluye integridad de referencias, detección de listas cerradas de palabras y validación de duración y palabras prohibidas del modelo. Los detalles de diseño y las explicaciones de las fuentes se encuentran en sources.md.

Individual skills in this repo

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

Skills relacionados