Finance Story
Una idea financiera contada como una breve historia animada. Un mundo de analogía simpático (por ejemplo, un aula cuyo marcador es el Sensex) sostiene toda la explicación. Un narrador la cuenta, y cada golpe cae sobre la palabra hablada. Este es el pipeline story-animator, así que lee ~/.claude/skills/story-animator/SKILL.md y sus references/ primero y síguelos. Este skill solo añade las preferencias del usuario para reels financieros sobre eso.
Guía de marca primero. Lee /Users/sohambhattacharya/Documents/Personal/projects/story-animator/brand/BRAND.md antes de escribir nada. Establece la voz (simple, humana, sin guiones largos, sin punto y coma, sin frases formales), la fórmula de 8 tiempos, la paleta, las fuentes, las zonas seguras, los formatos de subtítulos y las reglas de seguridad SEBI (sección 7). Donde discrepe con este archivo, gana la guía. Las plantillas de reel (portada, tarjeta de gancho, tarjeta de texto, número grande, término real y tarjeta final) están en brand/studio/src/templates/reel.tsx. Cópialas o impórtalas para esos tiempos, y renderiza la portada del reel con el skill finance-social.
La película de referencia aprobada (2026-11-04, "esto estuvo bien") es examples/sensex-classroom/ (Film.tsx, story.ts, audio_cues.json). Léela antes de construir una nueva. Muestra el mundo de analogía, el marcador, los personajes frijol, el token, la cámara en 9:16 y la tarjeta de cierre.
Las preferencias del usuario (de los comentarios)
-
Sin presentador. Nunca dibujes un presentador o personaje parlante en la parte inferior. El usuario descartó el antiguo estilo de presentador "finance-reel" y todas sus reglas (voz Zara, hinglish, el aspecto mínimo de un número por pantalla). No los recuperes a menos que se te pida.
-
Aspecto story-animator. Un mundo animado de libro ilustrado suave y plano con personajes simpáticos (cuerpos redondos de frijol, ojos grandes mediante
Face), una fuente de luz cálida, movimientos de cámara suaves, subtítulos Patrick Hand. El color cuenta la historia: cálido para los buenos momentos, gris azulado para "sombrío", cálido de nuevo en el giro. -
Un mundo de analogía para toda la película. Asigna cada concepto a algo en ese mundo:
- el índice es el marcador o pizarrón en la pared, que muestra el número real;
- las empresas son los estudiantes, y las empresas más grandes son estudiantes más grandes;
- el dinero extranjero (FPIs) son aviones de papel que vuelan hacia afuera y regresan por la ventana;
- el petróleo son barriles en los escritorios que se encogen cuando el petróleo se abarata. Mantén la forma de la historia: configuración → problema (algo sombrío) → giro ("Entonces… dos cosas cambiaron") → recompensa (el número sube) → una conclusión de una línea. Elige un objeto token que se vaya y regrese (el avión de papel).
-
Idioma y voz: Narración en inglés, voz Rameez | Documentary Narrator (
RG0hCuGFvl2jxhd4LmtU, acento indo-inglés), modeloeleven_v4, 2 tomas. Deletrea los acrónimos con puntos ("F.P.I.s") y escribe los números como palabras ("docecientos veinticinco"). Usa solo etiquetas ligeras:[excited],[curious],[warm, storytelling],[softly],[building],[brightly],[delighted],[warmly]. Transcribe ambas tomas con--model mediumy conserva la que dice cada palabra. En el reel #1, la toma B dijo "industries" en lugar de "investors". -
Forma y duración: 9:16, 60 s (
durationFrames: 1800). Rameez habla a aproximadamente 2.7 palabras/s: 132 palabras dieron 49.5 s. Así que escribe alrededor de 150–155 palabras para llenar 60 s con voz. De lo contrario, los últimos ~10 s son un aplauso + tarjeta de cierre sobre música, lo cual el usuario aceptó. -
Números honestos. Verifica cada cifra con una búsqueda web (modo extendido para datos de mercado, dos o más fuentes). Muestra las cifras reales (cierre del índice, los puntos movidos) en el marcador, y no muestres una cifra en la que las fuentes no coincidan (en el reel #1, el precio del Brent). Enumera las fuentes para el usuario con enlaces. Los datos de mercado (Sensex, Nifty, precios de acciones) pueden ser recientes o antiguos, pero deben verificarse con dos o más fuentes y llevar su fecha exacta (regla cambiada por el usuario, 2026-11-05). Las cifras económicas (repo, IPC, PIB) usan la última cifra oficial con su fecha. Guarda cada número en
sources.mden la carpeta del reel (BRAND.md 7.3). -
Tarjeta de cierre (los últimos ~7 s): el concepto en una línea ("Sensex: el promedio de la clase de las 30 empresas más grandes de la India"), una línea relacionada, luego "Solo con fines educativos. No es asesoramiento de inversión." y una línea de cifras/fuente con la fecha. Sin logotipos de empresas reales.
-
Sonido: música más 3 efectos sutiles (un suave silbido de avión de papel, una cascada de monedas ligera, un campanilleo suave y brillante), cada uno colocado justo después de su palabra clave. Música:
eleven_music_v2_5, 1 toma, pizzicato y marimba juguetones, con un arco que sigue la historia (un descenso para la parte sombría, un aumento en el giro, un levantamiento alegre en la recompensa). Mezcla congain_dbde música alrededor de −3.5 ysfx_bus_db−13. Eso dio al fondo 16.8 dB por debajo de Rameez; a −9 estaba demasiado bajo (22 dB). -
Final de guardar y compartir (cada reel). La última línea del narrador pide a los espectadores que guarden y compartan el reel si les resultó útil, y menciona finance.unboring. Adáptalo al tema, p. ej. "¿Te resultó útil? Guárdalo para la próxima vez que alguien diga 'el Sensex está arriba', y compártelo con un amigo que todavía no lo entiende. Sigue a finance punto unboring para más." Escribe el identificador como "finance punto unboring" en la narración para que se pronuncie correctamente, y como @finance.unboring en la tarjeta de cierre, debajo de la línea del concepto y encima del descargo de responsabilidad. Cuenta esta línea en el presupuesto de ~150 palabras.
-
Portada diseñada (cada reel, regla del 2026-11-07). Nunca ofrezcas un fotograma del reel como portada. Los fotogramas se veían poco atractivos en el feed y no daban razón para abrirlo. Cada reel se envía con su propia portada de 1080×1920 que (a) indica el tema, (b) hace que el espectador sienta curiosidad con una pregunta o brecha que el reel realmente responde, y (c) muestra a Mini reaccionando, más gráficos dibujados para este tema. Una palabra dorada, título de máximo 5 palabras, todo dentro del área media 3:4 (BRAND.md 5.1).
Flujo de trabajo: dos puertas, nada gastado antes de la aprobación
El usuario proporciona las entradas: concepto a enseñar, idea de gancho, ángulo de la historia (y opcionalmente una noticia).
Puerta 1: propuesta (un mensaje, sin créditos gastados)
- Verifica cada cifra (WebSearch extendido, dos o más fuentes).
- Envía UN mensaje con cuatro partes para que el usuario confirme:
- Guion: la columna vertebral en tres oraciones, el token y la narración completa (aproximadamente 150 palabras). La narración TERMINA con la línea de guardar y compartir (regla 9 siguiente).
- Voz: la voz propuesta (por defecto Rameez,
RG0hCuGFvl2jxhd4LmtU) con supreview_urlgratuita decreative_list_voices, más 1–2 alternativas con enlaces de vista previa si el tema sugiere una sensación diferente. - Storyboard: la tabla de tiempos (# / línea de narración / qué vemos / cámara), incluyendo la tarjeta de cierre.
- Portada: etiqueta del tema, título de curiosidad (palabra dorada marcada), y qué están haciendo Mini y el arte. También enumera las fuentes y el costo (narración aproximadamente 1800 créditos por 2 tomas, música 900, efectos alrededor de 17 cada uno, aproximadamente 2750 en total).
- Detente y espera. No gastes créditos ni renderices nada hasta que el usuario confirme las cuatro partes. Si cambian algo, envía la parte revisada y espera de nuevo.
Puerta 2: producción (después de que el usuario confirme)
- Proyecto:
cp -R ~/.claude/skills/story-animator/template ./<slug>junto a los otros proyectos,npm install, y reutiliza un venv existente de faster-whisper (ln -s ../sensex-class-average/.venv .venv) o crea uno. EstableceSHAPES["9:16"]. - Voz → temporización →
story.ts(SUBS,CUES,CAM), como en los Pasos 4–5 de story-animator. - Dibujo: comienza desde
examples/sensex-classroom/Film.tsxcuando la analogía encaje, y reutiliza sus piezas (Room, WindowPane, SunShaft, Board, Bean, Desk, Plane +arcAt, Confetti, Card). De lo contrario, construye un mundo nuevo en el mismo estilo. - Hoja de contacto en cada tiempo, y corrige:
- En 9:16 mantén los sujetos por encima de los subtítulos. El
cyde la cámara del plano general era aproximadamente 560 para filas en el mundo y 478–790. En cy 520 los subtítulos estaban sobre la primera fila. - Nunca dejes la mitad del encuadre vacía. En un primer plano del pizarrón, mantén los personajes visibles debajo de él (siempre están en pantalla y hacen un saludo de "hola" en su cola en lugar de aparecer de la nada).
- El mundo visible en 9:16 es aproximadamente 607/z × 1080/z. Para un momento de "50 de ellos", retrocede a z ≈ 0.58.
- En 9:16 mantén los sujetos por encima de los subtítulos. El
- Portada: dibújala en el propio mundo y personajes del proyecto del reel, o extiende
ReelCoverenbrand/studio/src/templates/reel.tsxcon nuevo arte. Renderízala enout/cover.png. Verifica el recorte 3:4 y un tamaño pequeño de feed de teléfono (aproximadamente 360 px de ancho): el tema y el título deben seguir siendo legibles. - Sonido → mezcla → renderizado →
ffprobe(1080×1920, h264 + aac, 60 s). Envía el reel y la portada. Informa la voz, los créditos gastados, lo que se midió y las fuentes. Pide al usuario que lo vea y escuche una vez.
Después de la salida: descripciones (siempre, en el mismo mensaje de entrega)
Los reels se publican desde @finance.unboring en Instagram (Reels) y YouTube (Shorts). Con cada reel terminado, proporciona texto listo para pegar en bloques de código:
- Leyenda de Instagram: una línea de gancho; 3–5 líneas cortas de la explicación; una línea de guardar y compartir + sigue a @finance.unboring; "Datos: <fuente, fecha>. Solo con fines educativos. No es asesoramiento de inversión."; 3–5 hashtags incluyendo #financeunboring (Instagram limita las publicaciones a 5). Sigue las plantillas exactas en la sección 6 de BRAND.md.
- Título de YouTube Shorts: menos de 70 caracteres, terminando en #Shorts.
- Descripción de YouTube: 2–3 líneas de la explicación, sigue a @finance.unboring, las fuentes, el descargo de responsabilidad y 4–6 hashtags.