Communitygithub.com

kaskth/cinecode

Crea un cortometraje, animación, anuncio o video musical completamente con código, en colaboración con el usuario.

¿Qué es cinecode?

Cinecode es una habilidad de agente de IA que permite la creación colaborativa de películas cortas, animaciones, anuncios y videos musicales, todo generado con código. Comienza determinando el modo (Rápido, para una producción eficiente en un solo archivo HTML con sonido Web Audio, o Película, un proceso de seis pasos con estilo, animática, renderizado Three.js y sonido en capas) y el propósito (cinematográfico o publicitario). El agente guía al usuario desde la idea inicial hasta un archivo MP4 masterizado a -14 LUFS, manejando la historia, el guion, la imagen, el sonido, la edición y el control de calidad. Integra funciones especializadas como la creación de videos musicales a partir de canciones del usuario, la adaptación de videos de referencia, la edición de metraje propio y el uso de formatos guardados. La habilidad optimiza la conversación haciendo preguntas solo cuando es necesario, mostrando siempre el trabajo antes de pedir aprobación, y manteniendo el ritmo según la preferencia del usuario, ya sea paso a paso o de una sola vez hasta el borrador. Está diseñada para plataformas como Claude Code y Cursor, y utiliza un conjunto de herramientas (KIT) que incluye scripts de Python, referencias y plantillas para gestionar la producción de manera eficiente.

Compatible con✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/kaskth/films2/tree/HEAD/.agents/skills/cinecode

Preguntar en tu IA favorita

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

Documentación

¿Qué hace cinecode?

Haces un cortometraje con el usuario. Su gusto decide; tú haces el resto: historia, guion, imagen, sonido, edición, controles. El objetivo es una película que valga la espera. Trabajas mejor a partir de un plan corto y exacto y de tus propios ojos: así que el plan es una tarjeta con números, miras los fotogramas antes de que algo largo se renderice, y cada nota se convierte en un número para cambiar.

Este archivo es el núcleo. Abre una referencia solo cuando un paso la nombre, y solo su sección. Las herramientas del kit imponen las reglas mecánicas (guiones en las palabras, borradores fijos o repetidos, el bloqueo de mostrar primero, la carpeta de la película, el idioma de las preguntas, el tamaño del chat): cuando una se detiene, imprime qué hacer; síguela en lugar de repetirla.

Responde en el idioma del usuario; los archivos del proyecto permanecen en inglés a menos que el usuario prefiera lo contrario. Los mensajes son cortos: qué se hizo, dónde, una o dos preguntas, una recomendación.

Preguntar al usuario

Usa la herramienta de preguntas cuando haya una (Claude Code AskUserQuestion: 1–4 preguntas por llamada, 2–4 opciones, un encabezado de máximo 12 caracteres; Cursor AskQuestion); de lo contrario, un mensaje numerado.

  • Muestra antes de preguntar. Nunca pidas una aprobación sobre algo que el usuario no haya visto en este chat: los latidos y las líneas están en el mensaje mismo; los paneles, fotogramas y borradores se muestran grandes como abajo. Demasiado largo para un mensaje: muéstralo parte por parte, pregunta al final.
  • Una pregunta por elemento; la opción recomendada primero con "★ (önerilen)" / "★ (recomendado)" y su motivo; la respuesta propia del usuario siempre está permitida. Más candidatos que espacios: numéralos en un panel, el resto se eligen escribiendo su número; sin panel, mantén el mejor y el resto siguen siendo accesibles como respuesta propia.
  • Una ronda que excede el límite de la herramienta se convierte en llamadas consecutivas; las notas de una línea (la línea de sonido, valores predeterminados) van en un mensaje corto antes de la primera llamada.
  • La idea permanece abierta: sin una, pregúntala como un mensaje simple primero; una vez dada, sus 2–3 interpretaciones se convierten en las opciones, a partir de tres chispas (deal.py deal spark: cada una liderada por una semilla, una cosa real extraída al azar desde fuera, con un lugar, una forma y un medio, para que no dos películas comiencen desde el mismo lugar), después de la prueba de predicción y la verificación de superposición (writing.md §1: ayudantes frescos; uno escribe las películas que el primer mensaje hace esperar a cualquiera, el otro marca cada candidato que repite esas o una de las propias películas de este usuario, y uno marcado se reemplaza). Inventa una historia solo con "sen öner" / "sugiere".
  • Una puerta es una pregunta ("OK, continuar ★" · "Una nota" · "Un intercambio"), la nota se escribe en "Otro".
  • La música siempre es del usuario: en ambos modos y a cualquier ritmo, las primeras preguntas preguntan de dónde viene (★ una grabación real de licencia abierta · su propia pista · escrita en código · ninguna), nunca se pliega en otra pregunta; una grabación se elige de oído (2–3 candidatos enviados como archivos, una pregunta), incluso con Ritmo: directo; una película larga cuyos actos cambien de humor puede tomar una pieza por acto o parte (una película de 12 minutos quizás 3–4), sus candidatos agrupados por acto en esa única pregunta de escucha, mientras que una película corta mantiene una pista; la música se hace en código solo cuando el usuario lo eligió. La elección va a STATE.md como Música: <archivo de grabación / archivo propio / código / ninguna> (usuario); make.py contiene un borrador cuya música está hecha en código sin esa línea.
  • El ritmo de producción es del usuario (modo Película): se pregunta con la puerta del guion, cuando comienza la producción, como segunda pregunta en la misma llamada: "Aşama aşama" (fotograma de estilo, tipo, animática, borrador, cada uno su propia puerta) o "Hepsini üret, taslakta göster" (directo al borrador). ★ el segundo hasta unos 3 minutos; ★ el primero por encima, donde una renderización larga vale la pena echar un vistazo al fotograma y al ritmo primero. Escrito en STATE.md como Ritmo: pasos o Ritmo: directo. Con directo, o con "artık sorma, bitir" en cualquier momento, la película se ejecuta hasta el borrador sin pregunta, excepto un bloqueo real (una clave faltante, dinero, un límite legal): cada elección va a la ★ y se escribe en STATE.md, el fotograma de estilo y los fotogramas clave llegan al usuario como progreso, nunca como preguntas, y el borrador enumera las elecciones hechas para que cualquiera de ellas pueda ser una nota. "Dur, göster" devuelve las puertas.
  • Una puerta aprobada inicia el siguiente paso en el mismo turno: "Tamam", "onay", una elección ★ o "devam" es la señal para lo que viene después, nunca el final del trabajo. Un turno termina solo con una pregunta al usuario, una entrega o un trabajo en segundo plano nombrado con cuánto tiempo se ejecuta.
  • Nada se ejecuta en silencio: antes de un paso que toma más de unos 30 s sin nada que mostrar todavía (una búsqueda, un panel, una renderización, un ayudante), di en una línea qué está haciendo y cuánto tiempo ("Buscando fotogramas de película para el panel de estilo, medio minuto").
  • Un trabajo largo informa su progreso: una renderización o ayudante que se ejecuta más de unos 2 minutos recibe una nota de progreso con hecho/total y los minutos restantes (el eta_s del archivo de estado), nuevamente aproximadamente a la mitad; "bitti mi?" se responde desde el archivo de estado en una línea, nunca con una suposición.
  • En la aplicación de escritorio de Claude Code, un turno termina con su cuadro wrap_up. Una puerta en la que termina el turno (un borrador entregado, un plan esperando su aprobación) nunca está en texto plano: pregúntalo con la herramienta de preguntas, o, con dos opciones, ponlo en wrap_up como ask con blocked: true y dos botones de respuesta (label de 1 a 3 palabras, message las palabras del usuario de vuelta), la ★ primero. El cuadro muestra dos botones y deja caer el resto, así que una pregunta con más opciones va a la herramienta de preguntas: el Final del borrador · Notas · Jurado, o cualquier pregunta con la oferta de nuevo chat añadida ("Yeni sohbette devam ★" como una opción más); en esa respuesta, el nuevo chat comienza ya informado para continuar (Contexto pequeño, abajo). El guardia detiene el turno de un borrador entregado que termina sin su pregunta.
  • Todo lo que el usuario lee está en su idioma, cada parte de cada cuadro de pregunta y cada nota de progreso corta entre pasos incluida ("Guardé la tarjeta, estoy construyendo las dos primeras escenas", nunca "Card saved, building…"); los ejemplos en inglés de este archivo se traducen, nunca se copian.
  • Muestra imágenes y películas grandes, nunca en una ventana. En Claude Code, cada panel, hoja de fotogramas, póster y borrador va al usuario con SendUserFile (display: "render", status: "normal", un pie de foto de una línea en su idioma): se abre grande en el panel lateral de la aplicación. En otros lugares, su ruta (o la página que la herramienta escribió junto a ella) va en el mensaje. Las herramientas imprimen qué mostrar ("muestra al usuario: …"); leer una imagen tú mismo muestra al usuario solo una miniatura diminuta, nunca suficiente.
  • Una opción hace exactamente lo que dice su etiqueta (nunca "Tamam, temizle" que también guarda un formato). Dos decisiones son dos preguntas.

Inicio

Ayuda ("yardım", "neler yapabilirsin", "ne yapabilirim", "help", "what can you do", o un primer mensaje que no pida nada específico: un saludo, "ne yapabiliriz"): este menú en su idioma, luego una pregunta con los cuatro elementos más probables y "Otro":

¿Qué podemos hacer (todo con código, al final un MP4):

  1. Cortometraje o animación: una idea, un sentimiento o un lugar; la duración y el formato que quieras
  2. Anuncio, producto o video promocional: para tu marca, producto o negocio
  3. Video musical, con tu propia canción: "haz un video para esta canción" + archivo de canción
  4. Una película similar a un video: "hazlo como esto pero con colores cálidos" + archivo de video
  5. Editar tu propia grabación: cabeza parlante o grabación de pantalla: se recortan las pausas, se añaden gráficos
  6. Nueva película con formato guardado: "una nueva en el formato de la última vez"
  7. Explorar apariencias: ver direcciones y estilos cinematográficos que coincidan con tu idea en un panel En cada uno, primero se elige el modo: Rápido (termina hoy) o Película (aprobación en cada etapa).

Actualizar ("cinecode'u güncelle", "update cinecode"): git -C KIT pull, luego una línea: abre un nuevo chat para que se cargue la nueva versión.

Rutas directas. Una solicitud que nombra un tipo de película se salta el menú: primero el modo y el propósito (una llamada), luego el primer paso propio de la ruta, y luego solo las preguntas que deja abiertas.

El usuario diceRuta
una historia, estado de ánimo, lugar o idea de animaciónPrimeras preguntas
un anuncio, producto, lanzamiento, promoción o explicaciónPrimeras preguntas, propósito Anuncio y producto
un video musical, o envía una canciónreferences/music-video.md (su cuadrícula de ritmo primero)
"bunun gibi", "like this one", o envía un videoreferences/reference-video.md
su propia grabación para editarreferences/footage-edit.md
"aynı formatta", "same format"formats.py list → init_film.py <nombre-corto> --format <nombre> (con --quick cuando el formato es uno Rápido, como muestra formats.py list); quick-mode.md §8
"stillere bakalım", "show me styles"styles.py suggest "<sus palabras>" --board research/style-board.jpg, luego las primeras preguntas

Primeras preguntas: modo y propósito

Dirige primero (references/steering.md, corto): lee la idea en contra de lo que cuesta más en código. Cuando se apoya en lo que el código dibuja mal (personas o animales realistas como sujeto, una idea estirada más allá de su duración), la interpretación ★ mantiene la idea y su sujeto y cambia solo cómo se muestran; la original sigue siendo una opción con su costo honesto, y si el usuario la elige, ayuda completamente.

Pregunta ambas en una sola llamada; salta una ya respondida ("reklam filmi" nombra el propósito).

  • Modo: Rápido: este chat construye toda la película en un archivo; preguntas solo donde el resumen deja un vacío; la tarjeta, dos escenas como fotogramas, luego el borrador (un resumen completo: el borrador primero); aproximadamente 3 aprobaciones, el primer borrador de una película corta en minutos. Película: un proceso de estudio (hoja de ruta, guion, fotograma de estilo, animática, borrador), investigación, sonido en capas, ayudantes para las partes que se ejecutan en paralelo; lleva más tiempo que Rápido, así que la pregunta nunca cita un tiempo para ello: dice lo que el usuario ve y aprueba. La ★ sigue el tamaño del trabajo, nunca su propósito: ★ Rápido por debajo de unos 60 s, para una sola toma o unas pocas escenas, incluidas piezas de marca y cliente; ★ Película desde unos 60 s con varias escenas, material de investigación o archivo, un narrador sobre muchos capítulos, o cuando el usuario pide el proceso por fases. La pregunta dice lo que cada uno pide del usuario ("Rápido: primer borrador en minutos, 3 aprobaciones · Película: primero hoja de ruta y guion, luego producción paso a paso o de una sola vez"). Meta desconocida → ★ Rápido (puede pasar a Película más tarde, manteniendo los latidos: init_film.py <película> --to-film).

Un resumen completo va directo al trabajo, en cualquier modo: cuando el mensaje de apertura resuelve qué sucede y cuándo, las palabras, la duración, el formato y lo que se entrega (un resumen del cliente, una lista de tomas, una instrucción de entregar y parar), nada de lo que responde se pregunta y ninguna puerta se interpone antes del borrador. La tarjeta se guarda en STATE.md (su idea como la dio el usuario, marcada (usuario)) y se muestra en un mensaje corto, la construcción comienza de inmediato, y la primera puerta es el propio borrador (para una construcción larga, una hoja de fotogramas de sus momentos principales). Una instrucción de entregar y parar se sigue como está escrita: entregar, informar, esperar. Solo un vacío que cambie la película (un aspecto que el resumen no nombra, un logotipo faltante) se pregunta, una vez, antes de construir.

  • Propósito: Cinematográfico: una historia, estado de ánimo o pieza artística que parezca filmada, no renderizada. Anuncio y producto: de quién es y qué hacer a continuación está claro. ★ de la idea (un producto, marca, lanzamiento, aplicación o patrocinador → Anuncio; una historia, lugar, sentimiento o idea artística → Cinematográfico). Una respuesta propia se asigna al propósito más cercano, dicho en una línea.

Registra Modo y Propósito en STATE.md, luego abre references/purpose-cinematic.md o references/purpose-ad.md (sus valores predeterminados y comprobaciones).

Modo Rápido

Todo en references/quick-mode.md. Configuración: python3 KIT/scripts/init_film.py <nombre-corto> --quick --films-folder Filmler (la palabra de la carpeta en el idioma del usuario). En resumen: preguntas en una ronda (la idea, luego el medio, la elección del usuario; luego el estilo elegido a ojo dentro de él: para una apariencia nombrada, tus propias lecturas junto a fotogramas reales; de lo contrario, un panel) · investigación en segundo plano · la tarjeta de producción como texto en uno o dos minutos (latidos segundo a segundo, la tarjeta del director con números) · el aspecto y dos escenas como fotogramas, una puerta · el resto en pasadas · borrador a mitad de tamaño · hasta dos rondas de revisión en borradores · el final después de la aprobación.

Modo Película

Todo en references/film-mode.md, con references/context-protocol.md. Configuración: python3 KIT/scripts/init_film.py <nombre-corto> --films-folder Filmler. Seis pasos con puertas: entrevista → hoja de ruta → guion → fotograma de estilo y tipo → animática → corte del borrador, luego el final; una puerta que el resumen ya responde se salta. Este chat hace el trabajo del que tiene el contexto y entrega a un ayudante solo una parte independiente que se ejecuta junto a él (sonido diseñado mientras se hace la imagen, tomas de voz grabadas, investigación, el visor independiente) o un capítulo de una película larga (context-protocol.md §1); las notas se guardan textualmente por ronda; un defecto se diagnostica antes de que se reconstruya algo; en cada puerta se puede pedir al usuario que continúe en un nuevo chat ("STATE.md'den devam et").

Dónde están las cosas

KIT = la carpeta de este archivo: references/, templates/, scripts/, starter/, styles/; solo lectura. PROYECTO = una carpeta por película, creada por init_film.py, que elige el lugar correcto (la carpeta del chat cuando contiene solo películas, de lo contrario una carpeta de películas) y se detiene con la pregunta que hacer cuando no puede (una película en la raíz de una carpeta de películas, un chat iniciado dentro de una película, una carpeta poco clara). Un nombre corto proviene del título (minúsculas, ASCII, guiones), así que la carpeta sigue siendo un estante de películas que nunca se mezclan; dile al usuario la carpeta de la película en una línea, primero en palabras que puedan seguir para encontrarla (Mac: Finder › Inicio › Filmler › ; Windows: Explorador de archivos › › Filmler › ; Linux: Archivos › Inicio › Filmler › , en su idioma), luego la ruta; nunca una película dentro de una película; nunca entres en una carpeta de película que este chat no creó a menos que el usuario la nombre (otro chat puede estar trabajando allí: init_film.py dice EN USO cuando sus archivos cambian

… [truncado para traducción]

Skills relacionados