🔬 Los dos poderes de la ads-skill
La ads-skill es un caso poco común de skill con dos poderes complementarios: análisis y generación. Son inseparables en el workflow: el análisis alimenta la generación.
🔬 Poder 1: análisis
- →Recibe una URL o un archivo de video UGC
- →Extrae fotogramas a 2fps mediante ffmpeg
- →Transcribe audio con Whisper
- →Identifica segmentos HOOK/SHOW/PROOF/CTA
- →Genera un informe de análisis viral
🎬 Poder 2: Generación
- →Recibe 4 inputs: imagen/audio/video/actor
- →Enruta al modelo ideal (4 opciones)
- →Ejecuta dialogue gate (confirma el costo)
- →Llama a la API de Arcads y consulta el estado periódicamente
- →Devuelve la URL del video generado
🤖 Enrutamiento inteligente entre 4 modelos
En lugar de que el usuario tenga que elegir el modelo, la skill abstrae esa decisión con una lógica de enrutamiento clara. La tabla de decisión está en prompting/model-routing.md.
Tabla de enrutamiento
| Modelo | Cuándo usar | Característica |
|---|---|---|
| Seedance 2.0 (predeterminado) | UGC con voz, lip sync necesario | Mejor sincronización labial |
| Veo 3.1 | Frame inicial específico, consistencia visual | Frame de referencia bloqueado |
| Sora 2 | Videos de más de 30 s o con estilo cinematográfico | Largo / cinematográfico |
| Kling 3.0 | Contenido visual sin voz | Silencioso / estético |
# Model Routing — ads-skill
## Árvore de decisão
if has_speech AND needs_lip_sync:
→ Seedance 2.0 # padrão para UGC com ator
elif has_reference_frame AND visual_consistency_critical:
→ Veo 3.1 # frame inicial travado
elif duration_seconds > 30 OR cinematic_style:
→ Sora 2 # longo / cinematográfico
elif silent AND visual_only:
→ Kling 3.0 # silencioso / estético
else:
→ Seedance 2.0 # fallback padrão
## Rationale
Seedance: único com lip sync confiável para português
Veo: quando frame 0 é crítico (ex.: unboxing específico)
Sora: quando a narrativa precisa de mais de 30 segundos
Kling: produto sem locutor (ex.: product shots, natureza)
💡 Abstracción = poder para el usuario
El usuario no necesita saber que existen 4 modelos. Describe lo que quiere ("necesito un UGC con el actor João hablando sobre el producto") y la skill elige el modelo correcto. Ese es el valor real de una skill bien diseñada: complejidad oculta, poder accesible.
📁 Estructura completa de ads-skill
La ads-skill tiene 12 archivos distribuidos en 4 capas. Cada archivo tiene una responsabilidad única y bien definida.
ads-skill/
├── SKILL.md # frontmatter + fluxo + hard rules
├── .env.example # ARCADS_API_KEY, ARCADS_BASE_URL
├── reference.md # docs API Arcads, endpoints, parâmetros
│
├── scripts/
│ ├── arcads_check.sh # verifica ffmpeg + .env + deps
│ ├── arcads_analyze.sh # extrai frames+áudio, gera relatório UGC
│ ├── arcads_actors.sh # lista atores disponíveis na conta
│ ├── arcads_upload.sh # faz upload de mídia para Arcads storage
│ ├── arcads_generate.sh # cria job de geração (retorna job_id)
│ ├── arcads_talking.sh # variante: talking head com script
│ └── arcads_status.sh # polling de status até concluir
│
└── prompting/
├── viral-analysis.md # fórmulas para análise UGC viral
├── ugc-formulas.md # templates HOOK/SHOW/PROOF/CTA
└── model-routing.md # árvore de decisão de modelo
El ciclo de vida de una generación
arcads_check.sh: verifica ffmpeg, .env y la conectividad de la APIarcads_analyze.sh: extrae la estructura del UGC de referenciaarcads_actors.sh: enumera los actores disponibles, el usuario eligejob_id)arcads_status.sh: polling hasta completed⚠️ Reglas estrictas de ads-skill
Tres hard rules protegen las tres cosas más importantes: la integridad del contenido, el presupuesto y la seguridad de las credenciales.
NUNCA parafrasees la transcripción: solo verbatim
La transcripción del video UGC se extrae palabra por palabra. La skill no puede reescribir, resumir ni "mejorar" el texto.
Los anuncios UGC virales tienen un timing específico: una pausa en el segundo 1.3s, una inflexión en el 2.7s. Una paráfrasis cambia la duración de las palabras y rompe la sincronización con el frame. Lo que funciona en 2 segundos puede durar 3.2s y hacer que el espectador se vaya.
SIEMPRE ejecutar el dialogue gate antes de generar
Antes de cualquier llamada a la API de Arcads, presenta un resumen completo: actor elegido, modelo, costo estimado en créditos, duración estimada.
Una generación de 15s en Seedance cuesta ~8 créditos Arcads. Un loop accidental o un input incorrecto puede consumir 100 créditos ($50-200) en segundos. El gate es el único freno antes del gasto real.
NUNCA registres la API key en ningún output
Los scripts leen $ARCADS_API_KEY del entorno. La clave nunca aparece en logs, en la salida del terminal, en archivos de depuración ni en ninguna otra salida.
Los scrapers encuentran en minutos las API keys expuestas en los logs. Una clave de Arcads comprometida permite que terceros generen videos en tu cuenta — con cargos ilimitados hasta que te des cuenta.
⏱️ El framework UGC de 15 segundos
Todo anuncio UGC viral de 15 segundos sigue la misma estructura de 5 segmentos. La ads-skill identifica y extrae automáticamente cada uno.
✓ Cada segmento en la práctica
- HOOK (0-2s): sorpresa, pregunta provocadora, contradicción, algo raro que está pasando
- SHOW (2-6s): demostración real del producto, beneficio visible en acción
- PROOF (6-11s): número específico ("3 kg en 7 días"), testimonio, antes/después
- CTA (11-14s): una sola acción — "haz clic en el enlace de la bio", "compra ahora"
✗ Errores fatales por segmento
- HOOK débil: logo del producto en los primeros 2s (desplazamiento inmediato)
- SHOW incorrecto: imagen de stock, no una demostración real
- PROOF vago: "funciona muy bien" sin un número
- CTA múltiple: dos verbos de acción ("haz clic Y comparte")
🔗 La ads-skill como espejo de los módulos 3.1–3.3
Cada decisión de diseño de ads-skill se tomó siguiendo los mismos principios que aprendiste en los tres módulos anteriores. Aquí la teoría se convierte en código.
Mapeo de teoría → implementación
SKILL.md en la raíz con frontmatter YAMLscripts/ + prompting/ads-skill, name: ads-skillarcads_*.sh💡 Tu próxima skill: copiar la estructura, adaptar el dominio
La ads-skill es una plantilla de referencia para cualquier skill que integre una API externa con varios modelos. La estructura check → analyze → gate → upload → generate → status funciona para:
- • Generación de imágenes (DALL-E, Midjourney, Stable Diffusion)
- • Síntesis de audio (ElevenLabs, Murf, Play.ht)
- • Procesamiento de documentos (análisis de contratos, extracción de datos)
- • Cualquier API con polling asíncrono
Descarga la skill ads-skill completa · ~26 KB
Todo el código de este caso de estudio: SKILL.md, los scripts arcads_*.sh, los archivos de prompting/ e o reference.md. Estúdiala y adáptala para tu propia skill.
🎬 Resumen del Módulo — y de la Ruta Skills
🔁 Siguiente ruta:
Ruta 4 — Automatización: ahora que sabes crear skills, aprende a encadenarlas en workflows automáticos, hooks y rutinas programadas que se ejecutan sin intervención manual.