Communitygithub.com

CutCraft

Edita y finaliza vídeos mediante conversación, incluyendo inspección de material, selección de tomas, cortes precisos, reencuadre, color, transiciones, efectos, música/SFX/B-roll con licencia, y subtítulos quemados o en archivo lateral. Úsalo cuando el usuario pida 剪片、剪影片、上字幕、加字幕、改逐字稿、合併影片、做短影音、加音效/配樂/特效, o desee un flujo completo de inspeccionar → elegir → editar → revisar → modificar.

¿Qué es CutCraft?

CutCraft es una habilidad avanzada para agentes de IA (como Claude Code, Cursor o Codex) que permite editar y finalizar vídeos de forma conversacional. Convierte el material bruto y el diálogo con el usuario en un vídeo final pulido, siguiendo un flujo de trabajo estructurado: inspección del material, selección de tomas, edición precisa, y correcciones iterativas sin necesidad de interfaz gráfica. Soporta tanto subtítulos quemados como en archivo lateral (SRT), con capacidad de corrección de transcripciones mediante comandos como “la frase 18 dice...”, manteniendo la sincronía original. El agente gestiona todo el proyecto en un espacio de trabajo con carpetas `/成品` (entregables) y `/過程` (procesos intermedios), y ofrece un punto de control consolidado donde el usuario aprueba decisiones creativas (formato, paleta de colores, estilo de subtítulos, música, etc.) mediante previsualizaciones visuales. CutCraft prioriza la privacidad: recomienda Whisper local para transcripción sin subida de datos, y nunca almacena credenciales junto al proyecto. Además, verifica la calidad antes de cada entrega, aplicando cortes seguros (sin partir palabras), fundidos de audio, normalización de pistas y subtítulos con precisión de píxeles.

Compatible con✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/chang416/cutcraft/tree/main/skills/cutcraft

Preguntar en tu IA favorita

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

Documentación

¿Qué hace CutCraft?

Convierte material bruto y una conversación en un vídeo final obvio. Mantén cada proyecto dentro de un espacio de trabajo CutCraft con nombre, muestra las opciones visuales de subtítulos antes de editar, haz las preguntas creativas una sola vez, y haz que las correcciones de la transcripción sean inmediatamente reversibles.

Contrato innegociable

  1. Ejecuta la compuerta de preparación primero. En el primer uso y después de cambios en el entorno, ejecuta python3 helpers/check_environment.py. Si falta una dependencia requerida o condicional solicitada, pausa la edición, muestra al usuario la URL oficial del script y las instrucciones de configuración exactas, y pide solo la aprobación o credencial faltante. Lee references/onboarding.md para la gestión de claves y orientación sobre la plataforma.
  2. Nunca almacenes secretos en este paquete o en un proyecto. Almacena las claves de ElevenLabs en ~/.config/cutcraft/.env con modo 600, o usa Whisper local para no necesitar clave ni subir transcripciones. Nunca coloques una clave en un argumento de comando, registro, transcripción, captura de pantalla, repositorio, caché de plugin o carpeta de proyecto.
  3. Crea el espacio de trabajo antes de generar nada. Infiere un nombre de proyecto corto a partir de la descripción del usuario y el material inspeccionado. Confirma solo cuando dos nombres materialmente diferentes sean plausibles. Ejecuta helpers/project_workspace.py --name "<nombre>" y usa las rutas que devuelva.
  4. Inspecciona primero, pregunta una vez, edita después de la aprobación. Inventaría y transcribe las fuentes, inspecciona imágenes representativas, crea imágenes reales de previsualización de subtítulos, luego haz todas las preguntas creativas restantes en un único punto de control consolidado. No comiences a cortar antes de que el usuario elija o acepte los valores recomendados por defecto.
  5. Muestra las opciones visualmente. Genera tres imágenes de previsualización de subtítulos que tengan en cuenta el material (recomendado, limpio/narrativo y llamativo/redes sociales, a menos que el material requiera opciones diferentes). Indica la fuente, el tamaño, la colocación, el fondo, el idioma y el ritmo de las señales debajo de cada imagen. El usuario puede responder con un número de opción o ajustes como 往下 4% o 字大 15%.
  6. Mantén el resultado final obvio. Coloca solo los artefactos de entrega en 成品/. El vídeo principal debe llamarse <proyecto>_final.mp4. Coloca las vistas previas, clips, transcripciones, EDL, descargas, activos generados e informes en 過程/.
  7. Exporta texto editable con cada entrega subtitulada. Entrega <proyecto>_逐字稿.md y <proyecto>.srt junto al vídeo final. Usa IDs de señal y marcas de tiempo estables para que el usuario pueda decir, por ejemplo, 第 18 句改成…….
  8. Aplica las correcciones de transcripción inmediatamente. Resuelve las señales solicitadas, ejecuta helpers/apply_transcript_corrections.py contra 過程/master.srt, vuelve a ejecutar la validación, vuelve a renderizar el vídeo final con el SRT corregido, regenera la transcripción y reemplaza los artefactos de entrega. Conserva los tiempos a menos que el usuario informe de un problema de sincronía. No vuelvas a transcribir el material fuente no modificado.
  9. Sin interfaz de revisión. No inicies un servidor ni crees archivos de interfaz de usuario en el navegador. Toda la revisión se realiza a través de archivos de vídeo/imagen entregados y correcciones conversacionales.
  10. Haz que el trabajo sea reanudable. Actualiza cutcraft.project.json en cada punto de control. Conserva las firmas de las fuentes, el estado de aprobación, las revisiones, las rutas finales y la procedencia de los activos. Usa proxies solo para inspección; renderiza siempre a partir de los originales.
  11. Verifica antes de la entrega. Ejecuta la comprobación previa determinista y quality_report.py, inspecciona la salida renderizada en los límites de corte y en momentos representativos de subtítulos, escucha la mezcla final y verifica la duración/los flujos de salida. Si un corte eliminó un tartamudeo o un falso inicio, vuelve a transcribir la sección renderizada para demostrar que ha desaparecido.

Diseño del proyecto

Raíz por defecto: ~/Documents/Codex/CutCraft/ (visible en Finder; mantén la habilidad instalable en ~/.codex).

CutCraft/
└── <proyecto>/
    ├── cutcraft.project.json
    ├── 成品/
    │   ├── <proyecto>_final.mp4
    │   ├── <proyecto>_逐字稿.md
    │   └── <proyecto>.srt
    └── 過程/
        ├── project.md
        ├── creative_brief.json
        ├── inventory.json
        ├── takes_packed.md
        ├── edl.json
        ├── master.srt
        ├── transcript_corrections.json
        ├── asset_registry.json
        ├── transcripts/
        ├── clips/ y clips_*/
        ├── assets/
        ├── animations/
        ├── proxies/
        ├── downloads/
        └── verify/

Nunca dupliques el material fuente del usuario dentro del proyecto a menos que el usuario lo pida. Registra las rutas absolutas de las fuentes en edl.json y deja los originales intactos.

Un único punto de control consolidado

Inspecciona suficiente material para hacer recomendaciones, renderiza las imágenes de comparación de subtítulos, luego haz todas las preguntas aplicables juntas:

  • Objetivo, audiencia prevista, plataforma, relación de aspecto, resolución, duración objetivo, formato con fecha límite.
  • Historia/orden, líneas que deben mantenerse, material que debe cortarse, nombres/términos que el ASR debe deletrear exactamente.
  • Ritmo, recorte/reenfoque, estado de ánimo cromático, transiciones, efectos, superposiciones, B-roll, necesidades de censura/privacidad.
  • Subtítulos: quemados/archivo lateral/ambos, idioma o modo bilingüe, textual/limpiado, fuente, tamaño, posición, fondo, ritmo de señales, zonas seguras de la interfaz en pantalla.
  • Audio: limpieza, sonoridad, música/SFX/voz en off proporcionados, o estado de ánimo e intensidad deseados.
  • Fuente de activos: archivos proporcionados por el usuario, activos generados o bibliotecas libres específicas. Si se solicita material libre, ofrece las opciones adecuadas en references/free-assets.md, pide al usuario que elija, y registra el elemento, creador, URL, licencia, atribución y suma de verificación con asset_registry.py.
  • Privacidad de la transcripción: recomienda Whisper local cuando la privacidad sea importante; de lo contrario, ofrece ElevenLabs para diarización gestionada. Explica el comportamiento de subida antes de enviar material a cualquier proveedor en la nube.
  • Autonomía editorial y cualquier cosa explícitamente prohibida.

Adjunta las imágenes de previsualización en este punto de control. Da una recomendación por defecto para cada elección e incluye 全部用建議值 como respuesta válida. Persiste la respuesta en 過程/creative_brief.json; no reabras preguntas ya resueltas a mitad de la edición.

Flujo de trabajo

  1. Ejecuta las comprobaciones de preparación y resuelve solo los requisitos faltantes.
  2. Inspecciona los nombres de archivo y la descripción del usuario; infiere un nombre de proyecto y crea el espacio de trabajo.
  3. Ejecuta inventory.py --work-dir <過程> <sources_dir>. Para fuentes largas o 4K, crea proxies en caché para inspección. Ejecuta analyze_media.py para localizar cambios de plano, silencios, fotogramas negros y congelados.
  4. Transcribe a <過程>/transcripts/ con el proveedor en la nube/local aprobado, luego empaqueta las transcripciones. Lee la transcripción empaquetada, muestra fotogramas tempranos/medios/tardíos y puntos de edición ambiguos, y anota los riesgos de ortografía del ASR.
  5. Genera tres vistas previas de estilo de subtítulos a partir de fotogramas representativos. Pregunta el punto de control consolidado y guarda el resumen aprobado.
  6. Construye edl.json, obtén o genera los activos aprobados, y edita sin hacer preguntas triviales de gusto una por una.
  7. Construye los subtítulos. Para chino, usa build_cn_subtitles.py; para otros idiomas, usa render.py --build-subtitles. Sigue references/subtitles.md.
  8. Ejecuta validate_project.py, renderiza una vista previa evaluable en 過程/verify/ y haz una autoevaluación. Limita los bucles de corrección/re-renderizado a tres antes de informar de un problema persistente.
  9. Renderiza <成品>/<proyecto>_final.mp4 a partir de las fuentes originales, copia el SRT final a <成品>/<proyecto>.srt y genera <成品>/<proyecto>_逐字稿.md con export_transcript.py.
  10. Ejecuta quality_report.py, resuelve cada error, revisa visual y audiblemente las advertencias, luego marca el manifiesto como entregado con project_state.py.
  11. Entrega las tres rutas explícitas, el informe de control de calidad, un resumen de edición conciso y la procedencia de los activos. Nunca obligues al usuario a buscar final entre los intermedios.

Corrección de producción

  • Aplica los subtítulos al final, después de cada superposición y recorte.
  • Deriva los candidatos a corte de los límites de palabras y el silencio; nunca cortes dentro de una palabra. Usa un relleno de 30–200 ms apropiado al ritmo.
  • Aplica fundidos de audio cortos en los límites de los segmentos para evitar clics.
  • Normaliza el lienzo, la velocidad de fotogramas, el formato de píxel, el espacio de color, la frecuencia de muestreo y la disposición de canales antes de unir clips.
  • Almacena en caché las transcripciones y los proxies por ruta de origen, tamaño y hora de modificación; vuelve a ejecutar solo cuando esa firma cambie.
  • Calcula las marcas de tiempo de los subtítulos en la línea de tiempo de salida, no en la línea de tiempo de origen.
  • Garantiza señales de una línea seguras para píxeles cuando se apruebe una línea; valida contra la fuente y el lienzo reales.
  • Usa solo activos proporcionados por el usuario, generados, de dominio público o compatibles con licencias. Registra título, creador, URL de origen, licencia, fecha de descarga y atribución requerida.
  • Mezcla el diálogo primero. Atenúa la música por debajo del habla y escucha; la normalización de la sonoridad no puede rescatar una mezcla deficiente.
  • Mantén al agente principal como propietario del resumen creativo, EDL, sincronización de subtítulos, línea de tiempo final, mezcla y control de calidad. Paraleliza solo trabajos de entrada inmutable que escriban rutas únicas.

Lee references/editorial-craft.md cuando el proyecto necesite selección de múltiples tomas, transiciones, etalonaje, animación, rampas de velocidad o edición guiada por música. Lee references/edl.md antes de crear o extender el EDL.

Ayudantes

  • check_environment.py — dependencias requeridas/condicionales y preparación de credenciales con URLs de configuración oficiales.
  • project_workspace.py — crea o reutiliza el proyecto con nombre 成品/ + 過程/.
  • project_state.py — registra atómicamente puntos de control reanudables, aprobaciones, revisiones y rutas de salida.
  • inventory.py — sondea los formatos de origen y los riesgos de normalización.
  • analyze_media.py — detecta cambios de escena, silencios, fotogramas negros y fotogramas congelados.
  • create_proxy.py — proxies de inspección ligeros en caché asignados a originales inmutables.
  • transcribe.py, transcribe_batch.py — transcripción a nivel de palabra con ElevenLabs o Whisper local en caché.
  • pack_transcripts.py — vista de edición compacta a nivel de frase.
  • timeline_view.py — inspección de tira de película, forma de onda, palabras y puntos de corte.
  • subtitle_style_preview.py — previsualización exacta del estilo/colocación de libass en fotogramas reales.
  • build_cn_subtitles.py — construcción de señales con ancho de píxel consciente del chino.
  • render.py — normaliza, corta, une, superpone, mezcla y luego subtitula al final.
  • validate_project.py — comprobaciones rápidas de EDL, activos, sincronización y subtítulos.
  • asset_registry.py — registro de licencia, atribución y suma de verificación de activos con cierre en caso de fallo.
  • quality_report.py — informe final de flujo, duración, fotogramas negros/congelados/silencio y evidencia de control de calidad.
  • build_cut_report.py — resumen de cortes categorizado.
  • apply_transcript_corrections.py — correcciones de señales/texto con cierre en caso de fallo, registro de auditoría y copia de seguridad.
  • export_transcript.py — transcripción legible y direccionable por señal para entrega.
  • cleanup_session.py — limpieza opcional solo después de que el usuario pida explícitamente eliminar archivos de proceso; nunca interpretes 完成 como eliminación.

Resuelve cada ayudante y referencia en relación con el directorio que contiene este SKILL.md.

Comportamiento de revisión

Trata la transcripción entregada por el usuario como la fuente de la verdad del texto después de que la haya corregido. Para correcciones solo de texto, mantén la sincronización de las señales y las decisiones de edición, parchea el SRT, valida y vuelve a renderizar. Para informes de sincronía, inspecciona la ventana renderizada afectada y ajusta solo esos límites de señal. Para cambios editoriales, actualiza el EDL y el informe de cortes, luego ejecuta la ruta completa de renderizado/control de calidad afectada.

Añade cada sesión a 過程/project.md con la estrategia, las decisiones aprobadas, la procedencia de los activos, las revisiones, la evidencia de control de calidad y los problemas pendientes. Conserva 過程/ por defecto para que las revisiones futuras sigan siendo económicas y trazables.

Skills relacionados