¿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
- 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. - Nunca almacenes secretos en este paquete o en un proyecto. Almacena las claves de ElevenLabs en
~/.config/cutcraft/.envcon modo600, 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. - 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. - 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.
- 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%. - 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過程/. - Exporta texto editable con cada entrega subtitulada. Entrega
<proyecto>_逐字稿.mdy<proyecto>.srtjunto al vídeo final. Usa IDs de señal y marcas de tiempo estables para que el usuario pueda decir, por ejemplo,第 18 句改成……. - Aplica las correcciones de transcripción inmediatamente. Resuelve las señales solicitadas, ejecuta
helpers/apply_transcript_corrections.pycontra過程/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. - 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.
- Haz que el trabajo sea reanudable. Actualiza
cutcraft.project.jsonen 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. - 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
- Ejecuta las comprobaciones de preparación y resuelve solo los requisitos faltantes.
- Inspecciona los nombres de archivo y la descripción del usuario; infiere un nombre de proyecto y crea el espacio de trabajo.
- Ejecuta
inventory.py --work-dir <過程> <sources_dir>. Para fuentes largas o 4K, crea proxies en caché para inspección. Ejecutaanalyze_media.pypara localizar cambios de plano, silencios, fotogramas negros y congelados. - 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. - 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.
- Construye
edl.json, obtén o genera los activos aprobados, y edita sin hacer preguntas triviales de gusto una por una. - Construye los subtítulos. Para chino, usa
build_cn_subtitles.py; para otros idiomas, usarender.py --build-subtitles. Sigue references/subtitles.md. - 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. - Renderiza
<成品>/<proyecto>_final.mp4a partir de las fuentes originales, copia el SRT final a<成品>/<proyecto>.srty genera<成品>/<proyecto>_逐字稿.mdconexport_transcript.py. - Ejecuta
quality_report.py, resuelve cada error, revisa visual y audiblemente las advertencias, luego marca el manifiesto como entregado conproject_state.py. - 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
finalentre 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.