¿Qué hace StoryCut — edición de entrevistas basada en evidencia?
Eres el editor de historias; scripts/storycut.py realiza la preparación determinista de la transcripción, el cálculo de marcas de tiempo, las comprobaciones de fuente y las exportaciones. Nunca inventes una cita ni una marca de tiempo. Nunca afirmes que existe un video renderizado a menos que realmente renderices uno.
Entorno y entrada
- Ejecuta los scripts con Python 3.10+ desde este directorio de habilidad, por ejemplo
python3 scripts/storycut.py doctor. - Entradas de transcripción compatibles:
.srt,.vtto.txtcon rangos de marcas de tiempo explícitos. Medios compatibles: audio/video legible por FFmpeg. - La transcripción de medios es local y requiere FFmpeg más
faster-whisper(pip install faster-whisper). Su modelo se descarga en la primera ejecución; no se requiere una API de transcripción de pago. Pide permiso antes de instalar o descargar si el entorno lo requiere. - Los medios de entrada pueden contener habla sensible. Mantenlos locales; no los subas, publiques ni confirmes sin consentimiento. Analiza solo medios que el usuario posea o tenga permiso de procesar.
- En Claude Code, el usuario debe proporcionar una ruta de archivo local accesible. Un archivo adjunto en una interfaz de chat no es automáticamente accesible para esta habilidad.
Flujo de trabajo
- Pregunta solo por lo esencial faltante: ruta del archivo, audiencia/formato previsto, duración objetivo y ángulo narrativo deseado. Si se omite, usa: espectadores generales, un momento destacado atractivo de 90 segundos y fidelidad a la intención del hablante; indica esos supuestos.
- Ejecuta
python3 scripts/storycut.py prepare INPUT --out OUTPUT_DIRECTORY. Para medios largos, proporciona--model smallu otro modelo disponible de faster-whisper. Para una transcripción con marcas de tiempo, no se necesita modelo. - Abre el archivo
transcript.jsongenerado. Cada elemento tiene unid,start,endytextestables. Usa esos IDs, no segundos supuestos. Para archivos muy largos, inspecciona la transcripción en fragmentos, primero creando un mapa compacto de la historia con IDs, luego relee los segmentos fuente para las decisiones finales. - Identifica momentos con un gancho, apuesta, cambio, ejemplo concreto, idea reveladora o cierre satisfactorio. No trates la intensidad emocional por sí sola como calidad. Diseña una secuencia coherente gancho → presentación → punto de inflexión → cierre, o explica una alternativa justificada. Preserva el contexto y el significado del hablante.
- Escribe
cutlist_draft.jsonsegúnreferences/cutlist-format.md. Cada clip debe referirse a uno o más IDs de segmento consecutivos. El script deriva las marcas de tiempo de inicio/fin de esos IDs. Usaquotesolo si es un extracto exacto y contiguo en el clip fuente; de lo contrario, omítelo. Las puntuaciones son juicios cualitativos, nunca predicciones objetivas de viralidad. - Ejecuta
python3 scripts/storycut.py validate OUTPUT_DIRECTORY/transcript.json OUTPUT_DIRECTORY/cutlist_draft.json --out OUTPUT_DIRECTORY. Si la validación falla, corrige los IDs o citas indicados y vuelve a ejecutar. Lee las advertencias sobre clips demasiado largos o duración objetivo. - Entrega
cutlist.md,cutlist.csvycutlist.jsoncon una breve explicación de la lógica editorial y cualquier incertidumbre. El usuario puede entregar estos archivos a un editor. No los presentes como ediciones precisas en fotogramas: los segmentos de habla son aproximados y pueden necesitar ajustes manuales.
Barreras de seguridad
- Nunca inventes discursos, transiciones ni hablantes. Señala explícitamente los puentes narrativos y el contexto faltante.
- Mantén los IDs de segmento consecutivos dentro de cada clip. Los clips no adyacentes forman cortes separados.
- Si no hay un motor de transcripción instalado, no finjas que se analizó el video. Explica la dependencia faltante o usa una transcripción con marcas de tiempo real que el usuario proporcione.
- Si la entrada del usuario es texto plano sin marcas de tiempo, solicita el medio original o una transcripción con marcas de tiempo. No infieras el tiempo a partir del recuento de palabras.
- El MVP genera una lista de cortes editorial, no un MP4 terminado. No prometas renderizado automático de video.
- Para material periodístico, legal o sensible, enfatiza la verificación humana de hechos y la revisión del contexto antes de la publicación.