mkt-plan-short-video-edit-16-9
Planificador de dos capas para videos de diapositivas 16:9:
- Capa estructural (15 tipos de pensamiento visual) — diseño de diapositivas: Antes-Después, Mapa Mental, Diagrama de Flujo, Matriz 2×2, Diagrama de Venn, Línea de Tiempo, Pirámide, Tabla Comparativa, Iceberg, Ciclo, Embudo, Mapa Conceptual, Cuadrícula de Iconos, Infografía Numérica, 3 Pilares. Impulsado por el arquetipo de escena (gancho → antes-después, problema → cuadrícula de iconos, solución → 3 pilares, …).
- Capa de ilustración (biblioteca de 25 metáforas) — imágenes dibujadas a mano en papel crema compuestas dentro de la estructura: reloj de arena, cadena rota, orbe robot, alcancía rota, caracol ↔ cohete, Lego ensamblado, escalones, llave-cerradura, cumbre de montaña…
El JSON de salida es consumido por el editor mkt-hyperframe-talking-head-video-16-9 — reemplaza el llenado manual en el punto de control scenes-outline con un plan reproducible.
Salida
| Archivo | Qué es |
|---|---|
visual-plan.json | Validado por esquema. Por escena: visual_type (uno de 15) + metaphor + tier_letter + items[] + badges[] + pip_events[]. |
prompts.md | Indicaciones numeradas (1.png, 2.png, …) en papel crema. Cada una lleva la directiva estructural (Antes-Después / Pirámide / Embudo / …) + metáfora + título/subtítulo en vietnamita. Pega en AI33 / Nano Banana Pro. |
scenes.json (vía apply_plan_to_scenes.py) | Adaptador para el formato del editor. |
Esquema (resumen de 1 página):
{ workspace_slug, total_duration, brand,
scenes: [{
id, num, kind, variant, start, end,
kicker, heading, accent_words[], voiceover_anchor,
tier_letter, // ≤5 caracteres: "8h" / "0h" / "∞" / "100tr" / "AI"
items[], badges[],
broll: [{
kind: "infographic-cream-paper",
visual_type, // 1 de 15 — ver references/visual-thinking-types.md
metaphor, // 1 de 25 — ver references/visual-thinking-library.md (o "ninguna")
title_vi, subtitle_vi,
palette_accents[], layout_description,
placeholder_filename, aspect
}],
pip_events: [{t_in, t_out, trigger}]
}]
}
Requisitos estrictos
- Cada b-roll
infographic-cream-paperdebe llevar tantovisual_type(1 de 15) comometaphor(1 de 25 o"ninguna"para diagramas puramente estructurales). Las diapositivas de solo texto son rechazadas. - Tier-letter ≤ 5 caracteres (números/símbolos/palabras clave de marca ganan — ver
references/tier-letter-selection-rules.md). - Ventanas PIP no superpuestas, con un intervalo ≥ 0.3s.
- Títulos en vietnamita con signos diacríticos completos. Los nombres de marca y símbolos matemáticos se mantienen en inglés.
Proceso
1. Detectar escenas
Lee script.txt + transcript.json (o transcript-cleaned.json). Reutiliza detect_scenes.py del editor si está presente, de lo contrario recurre a una heurística de 5 escenas (gancho → problema → solución → resumen → llamada a la acción).
Soporte para listicles: guiones con estructura de listicle (1 gancho + N consejos + 1 CTA) → produce N+2 escenas. Usa kind: "tip-1", "tip-2", …, "tip-N" para las escenas del cuerpo — el generate_root_index.py del editor downstream las monta como compositions/scene-{num}.html independientemente de N (sin colisión con fs-lesson-1/recap-card). Se recomienda N = 3..7 (máximo 10).
1b. Expansión de subagentes LLM downstream (CONTRATO DEL CONSUMIDOR)
Después de que este planificador escriba visual-plan.json, el orquestador (mkt-full-video-with-11-hyperframe-heygen-16-9) NO llama a generate_compositions.py (generador Python Jinja2 obsoleto). En su lugar, lanza N Agentes general-purpose en paralelo en 1 mensaje — 1 subagente por escena — cada uno creando compositions/scene-{num}.html a partir del visual-plan.json de este skill.
Esto significa:
- Cada bloque de escena en
visual-plan.jsondebe ser lo suficientemente autocontenido para que un subagente aislado pueda crear su composición sin coordinación — con kicker, heading, accent_words, tier_letter, items, badges, metáfora de b-roll conlayout_description,pip_eventscon temporización relativa+absoluta. - La metáfora predeterminada "robot-orb-with-tasks" debe ser reemplazada (por edición manual del LLM orquestador) con una metáfora específica de la escena (
scroll-tape-wasted,edit-regenerate-loop,projects-vault-shared-knowledge,right-tool-for-job-vehicles,pacific-vs-vietnam-timezone, …) antes de la expansión — metáfora genérica → composición aburrida. - Los campos
metaphorylayout_descriptionse leen directamente en el prompt del subagente; descripciones más ricas → mejores composiciones. - La imagen vive solo en la capa ROOT (
<img id="broll-N">en index.html). El HTML de la composición NO debe incrustarimage-slot. El prompt del subagente debe prohibir explícitamente los image-slot incrustados.
2. Elegir visual_type por escena (EL NUEVO PASO)
Consulta el mapa de arquetipos en references/visual-thinking-types.md. Valores predeterminados por arquetipo:
| Arquetipo | visual_type predeterminado | Alternativa |
|---|---|---|
| gancho | before-after | number-infographic |
| problema / fracaso | icon-grid | iceberg |
| punto de inflexión | before-after | flowchart |
| solución | three-pillar | flowchart |
| diferenciador | comparison-table | venn |
| prueba / resultado | number-infographic | comparison-table |
| resumen | number-infographic | mind-map |
| llamada a la acción | icon-grid | three-pillar |
3. Elegir metaphor de la biblioteca
references/visual-thinking-library.md — 25 entradas dibujadas a mano. Elige una cuya imagen encaje naturalmente dentro del visual_type elegido (por ejemplo, antes-después + dong-ho-cat, tres pilares + robot-orb-with-tasks, infografía numérica + heo-dat-vo-ket-sat). Establece "ninguna" solo cuando un diagrama puramente estructural sea más legible (por ejemplo, comparison-table de verificaciones de características).
4. Derivar tier-letter, items, badges
Ver references/tier-letter-selection-rules.md. Números + unidades ganan (8h, 100tr, 15h). Símbolos permitidos (∞, →, ×). Límite estricto de ≤ 5 caracteres.
5. Calcular eventos PIP
1 ventana por escena de forma predeterminada: t_in = scene_start + 1.4s, t_out = t_in + 3.5s (limitado a 0.3s antes del final de la escena). Las escenas de solución largas (≥ 12s) obtienen 2 ventanas. El gancho no obtiene ninguna.
6. Generar prompts.md
render_infographic_prompts.py recorre visual-plan.json, inyecta la directiva visual_type al inicio de cada indicación, luego superpone metáfora + elementos decorativos + paleta. El resultado es una indicación editorial en papel crema lista para pegar.
Punto de control con el usuario
Después de ejecutar plan_visuals.py, presenta un resumen en markdown (NO el JSON sin procesar) — ver references/plan-checkpoint-protocol.md. Formato:
### Escena 1 · GANCHO (0.07–13.73s)
- Tipo visual: **before-after** → HyperFrame `tier-row`
- Tier-letter: **8h → 0h** (rosa ↔ lima)
- Metáfora: **reloj de arena lleno↔vacío** (1.png)
- PIP: no (escena de gancho)
### Escena 3 · SOLUCIÓN (27.37–47.75s)
- Tipo visual: **three-pillar** → HyperFrame `hero-orb`
- Especificaciones: ∞ Recuerda chatear · 100tr Lee documentos · 8h Auto-grabación
- Metáfora: **robot-orb-with-tasks** (3.png)
- PIP: 28.77→32.77s + 34.37→38.87s
Patrones de respuesta del usuario:
OK→ finalizar y pasar al editorcambia escena N tipo visual a funnel→ parchearvisual_typecambia escena N metáfora a caracol→ parchearmetaphor+ regenerarprompts.mdcambia tier-letter escena N a 25→ parcheartier_letterfusiona escenas N+M→ reestructurar
Archivos
mkt-plan-short-video-edit-16-9/
├── SKILL.md
├── scripts/
│ ├── plan_visuals.py ← PRINCIPAL. --workspace <dir>
│ ├── render_infographic_prompts.py ← visual-plan.json → prompts.md
│ └── apply_plan_to_scenes.py ← visual-plan.json → scenes.json (adaptador del editor)
├── assets/templates/
│ ├── visual-plan.schema.json ← Esquema JSON (visual_type + metaphor requeridos)
│ └── infographic-prompt.j2 ← Jinja: directiva estructural + metáfora + paleta
└── references/
├── visual-thinking-types.md ← 15 tipos estructurales (EL lente principal)
├── visual-thinking-library.md ← 25 entradas de metáforas (capa de ilustración)
├── tier-letter-selection-rules.md ← Selector de glifos
├── scene-archetype-pattern-mapping.md ← Arquetipo → variante + árbol de decisión de metáfora
└── plan-checkpoint-protocol.md ← Plantilla de resumen + manejadores de revisión
Ejemplo práctico
Proyecto de producción loi-ich-claude-ai:
| Escena | Tipo | visual_type | Metáfora | Tier | Variante HyperFrame |
|---|---|---|---|---|---|
| 1 | gancho | before-after | dong-ho-cat | 8h / 0h | tier-row |
| 2 | problema | icon-grid | broken-chain | 3× | chats-stack |
| 3 | solución | three-pillar | robot-orb-with-tasks | ∞ / 100tr / 8h | hero-orb |
| 4 | resumen | number-infographic | heo-dat-vo-ket-sat | 15h | counter-row |
| 5 | CTA | icon-grid | gift-box-open | AI | terminal-row |
Ese es el estándar de oro — dado script.txt + transcript.json para ese proyecto, plan_visuals.py --workspace . debería volver a derivar esta tabla.