Communitygithub.com

TaherZiad/montage-crew

Agente 2 do pipeline de edição de vídeo. Encontra e remove erros de fala — gaguejos, palavras repetidas, falsos começos e retakes (regravações) — de uma gravação de cabeça falante. Use após cortar silêncios, quando for solicitado cortar erros, remover gaguejos / repetições / reinícios preenchidos, limpar escorregadas ou manter a melhor take. Funciona com revisão: propõe cada corte com contexto e um motivo para aprovação, depois renderiza apenas os cortes aprovados via ffmpeg. Requer uma transcrição em nível de palavra.

O que é montage-crew?

O skill 'Cut Mistakes & Repeats (Pipeline Agent 2)' é o segundo passo de um pipeline de edição de vídeo automatizado, projetado para remover erros comuns de fala — como gaguejos, palavras repetidas imediatamente, falsos começos e retakes (regravações) — de gravações de cabeça falante. Ele opera sobre a transcrição gerada pelo Agente 1 (corte de silêncios) e utiliza um detector mecânico para encontrar candidatos a corte, mas, como a distinção entre repetições enfáticas e erros reais é subjetiva, o agente é *revisado por padrão*: ele apresenta cada candidato com contexto e uma recomendação, e tanto o agente quanto o usuário decidem quais cortes aplicar. Os cortes aprovados são então renderizados via ffmpeg (trim+concat), mantendo o áudio e vídeo sincronizados. O skill suporta plataformas baseadas em Node.js e ffmpeg, e é ideal para fluxos de edição que exigem precisão e controle humano sobre decisões editoriais. Ele também gera um log de decisões e uma transcrição corrigida que alimenta o Agente 3 (gráficos animados).

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/TaherZiad/montage-crew/tree/HEAD/skills/montage-crew/references/external/hyperframes-student-kit

Perguntar na sua IA favorita

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

Documentação

Cortar Erros e Repetições (Agente 2 do Pipeline)

Segunda etapa da edição automatizada, executada após cortar silêncios. Remove o que um editor humano corta numa segunda passada: gaguejos ("o o", "eu- eu-"), palavras imediatamente repetidas, falsos começos (uma frase abandonada que recomeça) e retakes (uma linha regravada — mantenha a take limpa, descarte a errada).

Decidir o que conta como erro é julgamento, não uma fórmula — repetição enfática ("nunca, nunca") e duplicação retórica ("a primeira peça é, é isto…") são mecanicamente idênticas a um gaguejo. Portanto, este agente é revisado por padrão: ele apresenta candidatos com contexto completo; o agente (e o usuário) decidem; apenas os cortes aprovados são renderizados.

Quando usar

  • "cortar os erros", "remover gaguejos / repetições", "limpar as escorregadas", "manter a melhor take", "cortar falsos começos"
  • Como a segunda etapa do fluxo de edição principal, sobre a saída de cortar silêncios.

O fluxo em três partes

1. Encontrar candidatos (mecânico)

node .claude/skills/cut-mistakes/scripts/find-cut-candidates.mjs \
  <silence-transcript.json> --out-dir video-projects/<slug>/assets

A entrada é normalmente o <stem>.silence-transcript.json do Agente 1, para que os cortes caiam na linha do tempo já silenciada. Escreve:

  • <stem>.cut-candidates.json — candidatos estruturados (tipo, confiança, intervalo de corte proposto, texto remove/mantém, contexto, recomendação)
  • <stem>.cut-candidates.md — proposta legível

Tipos de candidatos: gaguejo (repetição imediata de palavra), retake (segmento duplicado/quase duplicado via similaridade Jaccard), falso_comeco (frase curta abandonada que recomeça).

2. Revisão (o portão — OBRIGATÓRIA)

Leia cada candidato em contexto e decida manter ou cortar. O detector mecânico não consegue distinguir ênfase intencional/retórica de um erro real, portanto não confie cegamente em recomendar — leia remove + context. Falsos positivos comuns: repetição enfática ("nunca, nunca é mãos-livres"), cópula seguida de pergunta ("a peça é, é isto…"), listagem.

Apresente os candidatos ao usuário com uma recomendação por item; colete as aprovações. Escreva os cortes aprovados num ficheiro:

{ "cortes": [ { "inicio": 100.93, "fim": 101.06, "motivo": "falso começo eu-" }, ... ] }

(inicio/fim em segundos na linha do tempo do vídeo/transcrição de entrada. Você pode alargar o intervalo de um candidato — por exemplo, para um retake, corte desde o início da take errada até ao reinício limpo.)

3. Aplicar cortes aprovados

node .claude/skills/cut-mistakes/scripts/apply-cuts.mjs \
  <silence-transcript.json> --cortes approved-cuts.json \
  --video video-projects/<slug>/assets/edited-silenced.mp4 \
  --saida video-projects/<slug>/assets/edited-clean.mp4 --apply

Escreve a EDL, uma transcrição corrigida <stem>.mistakes-transcript.json (alimenta o agente de gráficos animados + validate-beat-sync.mjs), um registo de decisões e — com --apply — o vídeo cortado (ffmpeg trim+concat, A/V sincronizado). Remova --apply para uma simulação.

Revisando o resultado

Use a ferramenta de revisão partilhada para observar os cortes e verificar limites:

node scripts/build-edl-review.mjs <stem>.mistakes-edl.json \
  --original video-projects/<slug>/assets/edited-silenced.mp4 \
  --editado   video-projects/<slug>/assets/edited-clean.mp4 \
  --saida   video-projects/<slug>/assets/mistakes-review.html
npx serve . -p 8080 -n

Notas

  • Uma gravação muito limpa pode gerar poucos ou nenhum corte real — isso é um resultado válido; não corte fala natural para atingir uma cota.
  • Cortes entre duas palavras faladas são junções abruptas. Geralmente são limpos para gaguejos/falsos começos; para áudio mais apertado, um fade de 20-30 ms pode ser adicionado posteriormente.
  • Entregue o mistakes-transcript.json + o vídeo limpo para o Agente 3 (gráficos animados / cartões hierárquicos).

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

TaherZiad/montage-crew

Cut silences and dead weight (fillers, repeated takes, false starts) out of a talking-head video BEFORE building the edit - call the measured /auto-trim API instead of hand-rolling ffmpeg, review the dead-weight candidates it returns, and do the one job only a human/AI can do (spotting repeated POINTS). Read this when the brief enables "Tự động cắt ngắn video" (autoCut) or the user complains that the video still has dead weight/silences.

TaherZiad/montage-crew

Membangun motion graphic sinematik di browser (promo video, opener, intro, bumper, kinetic typography, explainer/video penjelasan bergambar 16:9 atau 9:16) memakai HTML + CSS + GSAP (+ Three.js bila perlu), dengan hasil yang bergerak seperti video sungguhan — bukan slide presentasi. Gunakan skill ini setiap kali user meminta "video promo", "opener", "intro animasi", "motion graphic", "bumper", "kinetic typography", "animasi teks sinematik", "explainer", "video penjelasan" (jurnalisme visual, kartun edukasi, kolase), atau menunjukkan referensi video promosi/explainer dan ingin dibuatkan versi web-nya — bahkan bila mereka tidak menyebut kata "motion graphic" secara eksplisit. Juga gunakan bila user mengeluh hasil animasi web "seperti PPT/presentasi" dan ingin lebih sinematik, atau ingin merender animasi web menjadi file video MP4, atau ingin explainer kartun/animasi dibangun LANGSUNG di After Effects lewat bridge/MCP Higgsfield.

TaherZiad/montage-crew

Arabic short-video editor (any dialect). Edits talking-head videos and screen recordings, or builds an MG-led video from an idea with no footage - retakes and silences cut, Arabic RTL captions and hook, premium motion graphics, SFX, music, -14 LUFS master, cover - for 9:16, 16:9 or both. Delivers the MP4 plus a project for Resolve, Premiere, After Effects, CapCut or Final Cut. Asks a few questions on first use, keeps the user's brand kit, offers style cards, learns styles from videos, links and MG sites the user shows it, and learns the user's rules after each video. Use when the user asks to edit a video («منتجلي هذا الفيديو», «سوّي مونتاج», «أضف ترجمة», «قص الصمت», «بستايل …», "edit my video"), make a video from an idea («ما عندي فيديو، عندي فكرة», «فكرة فيديو عن…»), learn a style («تعلّم من هذا الفيديو», «هذا الموشن يعجبني»), save a brand («احفظ هويتي», «اقترح لي هوية») or change settings («غيّر إعداداتي»).

Habilidades Relacionadas