Communitygithub.com

VideoHero

Controla la aplicación local VideoHero a través de su CLI compatible para descubrir voces y modelos, generar voz a partir de texto, renderizar presentaciones PPTX/PDF como videos narrados, y monitorear o cancelar trabajos de VideoHero. Úsalo cuando un usuario pida a un agente crear contenido multimedia con VideoHero; no lo uses para herramientas multimedia genéricas o automatización de clics en la interfaz de usuario.

¿Qué es VideoHero?

Esta habilidad permite a un agente de IA interactuar con la aplicación de escritorio VideoHero exclusivamente a través de su interfaz de línea de comandos (CLI) oficial `videohero`. Está diseñada para tareas de creación de contenido multimedia como síntesis de voz a partir de texto (text-to-speech) y renderización de presentaciones (PPTX/PDF) en videos narrados. La habilidad sigue un flujo de trabajo estructurado: primero descubre las capacidades y voces disponibles mediante comandos de la CLI, luego ejecuta operaciones de generación usando rutas absolutas y maneja trabajos de larga duración a través de identificación y monitoreo de trabajos sin intervenir directamente en el almacenamiento SwiftData o los directorios del proyecto de VideoHero. Es importante destacar que la habilidad no automatiza la interfaz de usuario SwiftUI de VideoHero ni modifica sus archivos internos; toda interacción debe realizarse a través de la CLI. La habilidad se apoya en archivos de referencia detallados (como `references/cli-protocol.md` y `references/setup-and-testing.md`) para manejar operaciones específicas, estados de trabajos, recuperación de errores y configuración de integración local. Está diseñada para evitar suposiciones no verificadas, usar identificación por 'id' estable de voces en lugar de títulos localizados, y reportar progreso significativo durante trabajos de renderización. No debe realizar retoques con configuraciones diferentes sin autorización explícita, ni inventar tiempos de finalización.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add kyinwind/videohero-skill

Preguntar en tu IA favorita

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

Documentación

¿Qué hace VideoHero?

Utilice VideoHero solo a través de su CLI videohero compatible. No automatice la interfaz SwiftUI, modifique el almacén SwiftData de VideoHero, llame a sus ejecutables auxiliares privados ni construya archivos dentro de sus directorios de proyecto.

Resuelva el ejecutable de la CLI a partir de una ruta absoluta proporcionada por el usuario o el kit de pruebas, luego a partir de un VIDEOHERO_CLI absoluto, y solo entonces a partir del comando videohero en PATH. Siga usando ese mismo ejecutable resuelto para todo el flujo de trabajo. Comience con:

CLI="/ruta/absoluta/proporcionada/por/el/usuario/bin/videohero"
"$CLI" version --format json
"$CLI" capabilities --format json

Si no se proporcionó una ruta absoluta, resuelva command -v videohero y use su ruta absoluta devuelta como CLI.

Si el ejecutable falta, la automatización está deshabilitada o el protocolo informado es incompatible, deténgase y explique qué debe habilitar o instalar el usuario en VideoHero. No sustituya comandos supuestos. El primer protocolo estable esperado es la versión 1.

Flujo de trabajo

  1. Lea las capacidades actuales en lugar de confiar en motores, voces, formatos o valores predeterminados recordados.
  2. Ejecute videohero doctor --workflow <flujo> --format json antes de una generación costosa. Para una solicitud concreta, incluya sus parámetros de entrada y salida cuando la CLI instalada los soporte.
  3. Resuelva la voz solicitada desde videohero voices list --format json. Use su id estable, no su título localizado. Si la descripción del usuario coincide con varias voces, presente los candidatos significativos en lugar de elegir en silencio.
  4. Envíe la operación con rutas absolutas y --format json sin --wait, luego analice el id de trabajo devuelto. Prefiera --text-file para texto largo o sensible.
  5. Para un id de trabajo devuelto, use videohero jobs wait <job-id> --format ndjson cuando el usuario desee que el turno actual espere; de lo contrario, informe el id de trabajo y use jobs status más tarde. Durante los trabajos de presentación, transmita cambios significativos de etapa/progreso y una estimation cuando esté presente. Una estimación ausente significa que VideoHero no tiene suficiente historial compatible; nunca invente un tiempo de finalización. Use jobs cancel solo cuando el usuario solicite la cancelación o la tarea actual autorice explícitamente la cancelación.
  6. Considere el éxito como confirmado solo cuando el estado final sea succeeded, delivery.state sea delivered y la CLI salga con código 0. Devuelva el destinationPath real del recibo y cualquier advertencia.

La representación de presentaciones crea y guarda continuamente un proyecto de VideoHero editable por defecto cuando capabilities.presentation.persistsProject es verdadero. No agregue ni invente una opción --save-project. La conversión de texto a voz sigue siendo un trabajo de audio temporal y no debe crear un proyecto de VideoHero. En ambos casos, nunca escriba usted mismo el almacén SwiftData de VideoHero o el directorio del proyecto; la aplicación posee la persistencia.

No descargue modelos, acepte licencias, habilite el control del agente, autorice una voz personal, sobrescriba una salida existente ni reintente una generación fallida con configuraciones materialmente diferentes a menos que el usuario haya autorizado esa acción. Un tiempo de espera no es evidencia de que el envío falló: consulte el trabajo o reintente con la misma clave de idempotencia.

Rutas

Mantenga las rutas como argumentos de comando separados. No interpole texto del usuario en la sintaxis del shell. Cuando una solicitud sea compleja, escriba un JSON de solicitud versionado compatible con capabilities y pase su ruta en lugar de ensamblar una línea de comandos frágil.

Skills relacionados