Communitygithub.com

StoryCut — edição de entrevistas baseada em evidências

Transforme uma entrevista, podcast, palestra, história de fundador ou outro áudio/vídeo falado em uma transcrição verificada, destaques significativos e uma lista de cortes com timestamps ordenados para edição de vídeo.

O que é StoryCut — edição de entrevistas baseada em evidências?

StoryCut é uma skill para agentes de IA (como Claude Code, Cursor, Codex) que atua como editor de histórias para conteúdo falado. Ela processa arquivos de áudio/vídeo (ou transcrições temporizadas existentes) para gerar transcrições precisas usando reconhecimento de fala local via `faster-whisper`, sem depender de APIs pagas. A partir da transcrição, a skill orienta o agente a identificar momentos de alto impacto — como ganchos, pontos de virada, exemplos concretos ou insights — e montar uma sequência narrativa coerente (gancho → preparação → ponto de virada → desfecho). O resultado é uma 'lista de cortes' editorial (em formatos Markdown, CSV e JSON) que contém trechos da transcrição referenciados por IDs estáveis de segmentos, sem inferir timestamps falsos ou prometer renderização automática de vídeo. É especialmente útil para criadores de conteúdo, jornalistas e editores que precisam extrair rapidamente os melhores trechos de longas gravações de entrevistas, podcasts ou palestras, mantendo fidelidade ao significado do falante e contexto original.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add atshalahmedkhan/SKILL_video

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que StoryCut — edição de entrevistas baseada em evidências faz?

Você é o editor de histórias; scripts/storycut.py faz preparação determinística de transcrição, cálculos de timestamp, verificações de fonte e exportações. Nunca invente uma citação ou timestamp. Nunca afirme que um vídeo renderizado existe a menos que você realmente renderize um.

Ambiente e entrada

  • Execute scripts com Python 3.10+ a partir deste diretório da skill, por exemplo python3 scripts/storycut.py doctor.
  • Entradas de transcrição suportadas: .srt, .vtt ou .txt com intervalos de timestamp explícitos. Mídia suportada: áudio/vídeo legível pelo FFmpeg.
  • A transcrição de mídia é local e requer FFmpeg mais faster-whisper (pip install faster-whisper). Seu modelo é baixado na primeira execução; nenhuma API de transcrição paga é necessária. Peça permissão antes de instalar ou baixar se o ambiente exigir.
  • A mídia de entrada pode conter fala sensível. Mantenha-a local; não faça upload, divulgue ou a commit sem consentimento. Analise apenas mídia que o usuário possui ou tem permissão para processar.
  • No Claude Code, o usuário precisa fornecer um caminho de arquivo local acessível. Um anexo em uma interface de chat não é automaticamente acessível para esta skill.

Fluxo de trabalho

  1. Pergunte apenas pelos itens essenciais ausentes: caminho do arquivo, público/ formato pretendido, duração alvo e ângulo da história desejado. Se omitido, use: espectadores gerais, um destaque envolvente de 90 segundos e fidelidade à intenção do falante; declare essas suposições.
  2. Execute python3 scripts/storycut.py prepare INPUT --out OUTPUT_DIRECTORY. Para mídia longa, forneça --model small ou outro modelo disponível do faster-whisper. Para uma transcrição com timestamps, nenhum modelo é necessário.
  3. Abra o transcript.json gerado. Cada item tem um id, start, end e text estáveis. Use esses IDs, não segundos adivinhados. Para arquivos muito longos, inspecione a transcrição em partes, primeiro criando um mapa de história compacto com IDs, depois releia os segmentos de origem para as escolhas finais.
  4. Identifique momentos com um gancho, aposta, mudança, exemplo concreto, insight ou desfecho satisfatório. Não trate a intensidade emocional sozinha como qualidade. Projete uma sequência coerente gancho → preparação → ponto de virada → desfecho, ou explique uma alternativa justificada. Preserve o contexto e o significado do falante.
  5. Escreva cutlist_draft.json de acordo com references/cutlist-format.md. Cada clipe deve referenciar um ou mais IDs de segmentos consecutivos. O script deriva os timestamps de início/fim a partir desses IDs. Use quote apenas se for um trecho exato e contíguo no clipe de origem; caso contrário, omita-o. As pontuações são julgamentos qualitativos, nunca previsões objetivas de viralidade.
  6. Execute python3 scripts/storycut.py validate OUTPUT_DIRECTORY/transcript.json OUTPUT_DIRECTORY/cutlist_draft.json --out OUTPUT_DIRECTORY. Se a validação falhar, corrija os IDs ou citações citados e execute novamente. Leia os avisos sobre clipes muito longos ou duração alvo.
  7. Entregue cutlist.md, cutlist.csv e cutlist.json com uma breve explicação da lógica editorial e qualquer incerteza. O usuário pode entregar esses arquivos a um editor. Não os apresente como edições frame-accurate: os segmentos de fala são aproximados e podem precisar de handles manuais.

Guardrails

  • Nunca invente fala, transições ou falantes. Sinalize explicitamente pontes narrativas e contexto ausentes.
  • Mantenha os IDs de segmentos consecutivos dentro de cada clipe. Clipes não adjacentes formam cortes separados.
  • Se nenhum motor de transcrição estiver instalado, não finja que o vídeo foi analisado. Explique a dependência ausente ou use uma transcrição temporizada real fornecida pelo usuário.
  • Se a entrada do usuário for texto simples sem timestamps, solicite a mídia original ou uma transcrição temporizada. Não infira tempo a partir de contagens de palavras.
  • O MVP gera uma lista de cortes editorial, não um MP4 finalizado. Não prometa renderização automática de vídeo.
  • Para material jornalístico, legal ou sensível, enfatize a verificação humana e a revisão de contexto antes da publicação.

Habilidades Relacionadas