Skip to content
Back to skills

Nuevo Video

ASecurity

Crea un short animado para TikTok, YouTube o ambos con los personajes y la línea editorial del canal — propone el guion en diálogo para aprobar, entrega los textos para publicar, genera las voces de cada personaje con ElevenLabs (o usa el audio de la persona, o va sin voz) y exporta el MP4 sincronizado. También configura la línea editorial y los fondos (/nuevo-video editorial) y las voces (/nuevo-video voz). Úsalo cuando pidan un video nuevo, los textos de un video, cambiar el estilo de TikTo...

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentsgovuenodeapi

Works with

  • api

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add miguelcotrinaia/claude-skills-shorts-animados --skill nuevo-video --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nuevo Video?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Nuevo Video
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/miguelcotrinaia-nuevo-video/badge)](https://www.skillsdirectory.com/skills/miguelcotrinaia-nuevo-video)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: nuevo-video
description: Crea un short animado para TikTok, YouTube o ambos con los personajes y la línea editorial del canal — propone el guion en diálogo para aprobar, entrega los textos para publicar, genera las voces de cada personaje con ElevenLabs (o usa el audio de la persona, o va sin voz) y exporta el MP4 sincronizado. También configura la línea editorial y los fondos (/nuevo-video editorial) y las voces (/nuevo-video voz). Úsalo cuando pidan un video nuevo, los textos de un video, cambiar el estilo de TikTok o YouTube, los fondos o las voces.
argument-hint: "<tiktok|youtube|ambos> <tema>  ·  editorial [cambio]  ·  voz"
---

# Nuevo video

La persona puede no saber programar: habla simple, corre tú los comandos y nunca le pidas que pegue claves en el chat.

| Lo que escribe | Qué haces |
|---|---|
| `/nuevo-video <tiktok\|youtube\|ambos> <tema>` | **Video** (pasos 0–9). Si no dice la plataforma, pregunta: "¿TikTok, YouTube o ambos?" |
| `/nuevo-video editorial [cambio]` | **Línea editorial y fondos**: crearla o cambiar algo puntual (sección al final). |
| `/nuevo-video voz` | **Voces**: ver o cambiar la voz de cada personaje y el modo (sección al final). |
| "dame los textos de `<id>`" | Ve directo al paso 6. |
| "ya dejé mi audio de `<id>`" | `npm run sincronizar -- <id>` → paso 8. |

## Video

0. **Preparación** (rápida, cada vez): `npm run estado`. La última línea dice
   `ESTADO node=… paquetes=… personajes=… canal=… editorial=… clave=… modo=…`.
   Si `npm` o `node` no se reconocen, o dice `node=viejo` o `paquetes=faltan`: haz "Preparar el estudio" de
   `CLAUDE.md` (instala lo que falte) y vuelve aquí.
1. **Perfiles.** Solo se piden si no hay uno propio:
   - `personajes=ejemplo` o `falta` → pregunta: **Crear mis personajes** (sigue el skill `personajes`, en
     `.claude/skills/personajes/SKILL.md`, y vuelve aquí) · **Usar los de ejemplo por ahora** ·
     **Quedarme con los de ejemplo** (pon `"plantilla": false` en `perfiles/personajes.json` para no volver a preguntar).
   - `canal` o `editorial` = `ejemplo` o `falta` → pregunta: **Configurar mi línea editorial** (sección
     "Línea editorial" de abajo, y vuelve aquí) · **Usar la de ejemplo por ahora** · **Quedarme con la de ejemplo**
     (pon `plantilla: false` en `perfiles/linea-editorial.md` y `"plantilla": false` en `perfiles/canal.json`).
   - "Por ahora" vale para esta conversación: no lo vuelvas a preguntar hasta la próxima.
   - Lee **`CLAUDE.md`** (diálogo, tipos de escena, encuadres, poses, reglas), **`perfiles/linea-editorial.md`**
     (quién habla, duración y estructura por plataforma), y de **`perfiles/personajes.json`** y **`perfiles/canal.json`**
     los nombres, papeles, personalidades, extras, @usuario y lema.
2. **Fondo** de cada video: `npm run ambientes -- --siguiente <tiktok|youtube>` (rotan claros y oscuros por plataforma).
   Si son dos videos, cada uno con el de su plataforma.
3. **Propón el guion primero**, sin crear archivos. Una tabla por plataforma con columnas:
   **escena · tipo y encuadre · quién · qué dice · qué se ve**. Debajo: fondo elegido y "~N palabras · ~S s"
   (~2.5 palabras por segundo de voz).
   - Sigue **exactamente** `perfiles/linea-editorial.md` para cada plataforma: duración, escenas, líneas, palabras,
     largo máximo de cada línea, gancho, estructura, cierre (`pregunta` o `curso`) y series.
   - **El diálogo es natural, no forzado:** cada línea la dice quien mejor transmite la idea, según "Quién habla" de la
     línea editorial y la personalidad de cada personaje. Usa los nombres reales de los personajes en la tabla.
     La voz en off solo cuando suma (dato, fecha, caso, transición; máx. 1 línea por escena). Los extras solo si la idea
     necesita a esa persona (máx. 1–2 escenas). Una escena con una sola voz está bien.
   - **Variedad visual:** no más de 2 `duo` seguidos, al menos una escena dinámica (`diagrama`, `pizarra`, `linea`,
     `pasos`, `comparar`). En listas y diagramas, cada elemento aparece cuando se nombra (`aparece`).
   - **Ambos:** mismo tema, dos guiones distintos (no copiar uno en el otro), cada uno con su serie.
   - Última línea: la firma de la línea editorial, dicha por el principal (con el @usuario escrito, ej. `@tucanal`).
   - `serie`: `"<TEMA> · <LEMA>"`. Verifica datos y cifras. Respeta la lista "Evitar" de la línea editorial.
   - Pregunta: **Aprobar** · **Ajustar** (qué cambiar). Itera hasta el visto bueno.
4. Con el visto bueno, crea `src/videos/<tema>-tiktok.ts` y/o `src/videos/<tema>-youtube.ts` (kebab-case, sin tildes)
   con `canal`, `ambiente` y `dialogo` en cada escena, y regístralos **al final** de `src/videos/index.ts`
   (el orden define la rotación de fondos). Usa `src/videos/cielo-azul-*.ts` como modelo de formato.
5. **Verifica:** `npm run typecheck` y `npm run revisar -- <id>`. Mira **solo** `out/revisar/<id>-hoja.png`
   (una toma por línea en una sola imagen): textos que se salen, solapes con personajes o títulos, tomas donde no se ve
   a quien habla. Corrige y vuelve a revisar. Las imágenes sueltas de `out/revisar/<id>/` son solo para ampliar un detalle.
6. **Entrega de textos** (siempre, por cada video):
   1. Corre `npm run guion -- <id>`: genera `out/<id>-guion-voz.txt` (con quién dice cada línea) y
      `out/<id>-guion-plano.txt` (solo el texto).
   2. Escribe los textos de publicación en `out/<id>-publicar.md`, siguiendo la sección "Textos para publicar"
      de `perfiles/linea-editorial.md` (descripción de TikTok; título y descripción de YouTube; hashtags fijos).
   3. **Muéstralos en el chat**, cada uno en su propio bloque de código para copiar y pegar, sin markdown dentro:
      **Guion por voces** (el contenido exacto de `out/<id>-guion-voz.txt`) y los textos de publicación.
7. **Voces con ElevenLabs. Confirma antes de generar**, una sola vez aunque sean dos videos:
   1. Corre `npm run voz:ia -- <id> --plan` por cada video: muestra qué voz tiene cada personaje, cuántas líneas dice,
      el modo y los caracteres. No gasta nada y funciona sin clave.
   2. **Si dice `SIN_CLAVE`** (no hay clave de ElevenLabs), pregunta:
      - **Pegar mi clave de ElevenLabs** → explícale: elevenlabs.io → Developers → API Keys → crear una con
        permiso Text to Speech (y Voices: Read para ver los nombres) → abrir el archivo `.env` de esta carpeta →
        pegarla después de `ELEVENLABS_API_KEY=` → guardar → avisarte. Luego vuelve a correr el `--plan`.
      - **Usar mi propio audio** (grabado o de otra app) → que lea el guion por voces del paso 6 **en orden, con una
        pausa corta entre líneas**, y guarde el audio como **`public/audio/<id>.mp3`** (también vale .wav o .m4a),
        un archivo por video, y te avise. Entonces corre `npm run sincronizar -- <id>` y sigue al paso 8.
      - **Sin voz por ahora** → sigue al paso 8 (vista previa en silencio; se le pone voz después).
   3. **Con clave, pregunta** (con la herramienta de preguntas si está disponible), mostrando las voces del plan:
      "¿Genero las voces así? Voz en off: <voz> · <Principal>: <voz> · <Secundario>: <voz> · Extras: <voz>.
      Usará ~N caracteres de los M disponibles." Si todos tienen la misma voz, dilo en una línea.
      Opciones: **Generar con estas voces** · **Cambiar alguna voz** · **Sin voz IA (usaré mi audio o ninguno)**.
      No generes nada sin su respuesta.
   4. **Cambiar alguna voz:** `npm run voces` lista las voces de su cuenta (nombre + voice ID), o acepta un voice ID
      que pegue. Pregunta qué personaje cambia y si es **solo para este video** (`npm run voz:ia -- <id> --secundario <voiceId>`;
      también `--principal`, `--narrador`, `--extra`) o **su nueva voz por defecto** (`npm run voces -- --usar <personaje> <voiceId>`).
      Si quiere oírla antes: `npm run voces -- --escuchar <personaje>` (el comando dice dónde quedó el mp3, en `out/voces/`).
   5. **Genera:** `npm run voz:ia -- <id>` (con las banderas de voz si eligió "solo para este video"), una vez por video.
      Crea `public/audio/<id>.mp3` y los subtítulos sincronizados con quién habla. Lo ya generado queda en caché:
      si luego cambia una línea, solo se paga esa.
   6. Si falla, explica el mensaje en simple. Si una voz **no está en su cuenta** (por ejemplo la voz por defecto, que
      es de otra cuenta), muéstrale sus voces con `npm run voces` para elegir otra. Si no hay créditos o la clave no
      tiene permisos, ofrece las opciones de "sin clave".
8. **Exporta el video:** `npm run render -- <id>` por cada video (2–5 min). Con voz sale `out/<id>.mp4` (video final).
   Sin voz sale `out/<id>-SIN-VOZ.mp4`: una vista previa **en silencio**; díselo con esas palabras, nunca la presentes
   como el video final. Si el render se detiene por "voz sin sincronizar", corre `npm run sincronizar -- <id>` y vuelve a exportar.
9. **Cierra** con una lista corta: fondo usado, voces (nombre por personaje, o "audio propio" / "sin voz"), duración de
   cada video y las rutas `out/<id>.mp4`, `out/<id>-guion-voz.txt`, `out/<id>-publicar.md`. Si quedó sin voz, recuerda
   en una línea dónde dejar el audio (`public/audio/<id>.mp3`) para terminarlo.

Si un tema necesita una escena que no existe, propón el tipo nuevo antes de crearlo (ver "Añadir un tipo de escena nuevo" en `CLAUDE.md`).

## Línea editorial (`/nuevo-video editorial`)

Vive en dos archivos: **`perfiles/linea-editorial.md`** (cómo se escribe: tono, público, quién habla, reglas y
estructura por plataforma, textos de publicación) y **`perfiles/canal.json`** (lo que se ve en el video: @usuario,
cómo se lee, lema, redes, cierre, estilo `agil`/`clase` por plataforma y fondos). El ejemplo está en `plantillas/ejemplo/`.

**Crear** (si es de ejemplo o no existe). Muestra primero, en 5–6 líneas, cómo es la línea de ejemplo y pregunta
en un solo mensaje:
1. Nombre del canal, **@usuario** y cómo se pronuncia.
2. **De qué trata** y **para quién** (público).
3. **Tono** (cercano, divertido, experto, inspirador…) y qué quiere **evitar**.
4. **Idioma y acento.**
5. Por plataforma: **objetivo**, **duración** y si comparten tema o van distintas. Sugerencia por defecto:
   TikTok ágil 40–60 s para comentarios; YouTube clase 60–90 s para búsquedas.
6. **Fondos:** **los 6 fondos que rotan** (por defecto) · **solo mis colores de marca** · **mezclar ambos**.
   Si elige marca o mezclar: su color principal y uno secundario (y, si quiere, el fondo oscuro y el claro).
7. Opcional: lema o nombre de la serie, **hashtag fijo**, frase de cierre, redes, qué dice la tarjeta final de YouTube.

Lo que no indique, propónlo tú tomando el ejemplo como base y díselo. Luego:
- Escribe `perfiles/linea-editorial.md` con la **misma estructura de secciones que el ejemplo** (incluida "Quién habla"
  con los nombres reales de sus personajes) y `plantilla: false` en el encabezado. Convierte la duración en palabras
  (~2.5 por segundo), escenas (una idea por escena, ~7–9 s cada una) y líneas.
- Escribe `perfiles/canal.json` con `"plantilla": false` (formato igual al ejemplo; `estilo`: `agil` o `clase`;
  `fondos.usar`: `rotar`, `marca` o `mezclar`; colores `#RRGGBB`; `idioma` tipo `es-PE`, `es-MX`, `es-ES`, `en-US`).
- Corre `npm run perfiles` y corrige hasta "✔ Perfiles válidos".
- Si cambió fondos o colores: `npm run ambientes` (tabla de contraste e imágenes en `out/ambientes/`). Mira las de
  marca: si algún texto no se lee, el script ya oscurece o aclara el color; si igual no convence, propón otro tono.
  Dile que puede verlas abriendo `out/ambientes.html`.
- Resume la línea editorial en 5–6 líneas y pide su visto bueno.

**Cambiar algo** (`/nuevo-video editorial más humor en TikTok`, "que YouTube dure 75 s", "cambia mi @", "usa mis colores"):
edita solo esa parte en el archivo que corresponda (guion → `.md`; lo visual y los fondos → `canal.json`), valida con
`npm run perfiles` y confirma el cambio en una línea. Aplica a los videos que se creen después; ofrece rehacer
alguno ya hecho si el cambio lo afecta (un @usuario o colores nuevos se aplican solos al volver a exportar).

Para volver al ejemplo: `npm run perfiles -- --restaurar canal` y `npm run perfiles -- --restaurar editorial` (confirma antes).

## Voces (`/nuevo-video voz`)

- `npm run voces -- --info` → voz de cada personaje, modo y créditos. Si dice `SIN_CLAVE`, explica cómo pegar la clave en `.env`.
- Cambiar la voz de un personaje: sigue la sección "Voces" del skill `personajes` (`npm run voces`, `--usar`, `--escuchar`).
- **Modo** (`config/voces.json`):
  - `lineas` (por defecto): una línea a la vez con `eleven_multilingual_v2`. Funciona en todos los planes.
  - `dialogo`: todas las voces en una sola actuación con `eleven_v3` (más natural, admite `tono`). Antes de cambiar,
    prueba si su plan lo permite: `npm run voces -- --probar` (~90 caracteres). Cambiar: `npm run voces -- --modo dialogo`.
    Si un día falla, `voz:ia` vuelve solo al modo por líneas y lo avisa.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.