Communitygithub.com

ONIKOSIOLA/kit-de-edição-de-vídeo

Use ao construir, editar, reajustar ou renderizar composições HyperFrames ou subcomposições de quadros — especialmente vídeos promocionais/de lançamento com múltiplos quadros, quando um quadro 'passou nas verificações' mas não foi inspecionado visualmente, ao reajustar tweens GSAP, ou quando a qualidade da saída parece inferior a uma execução anterior. Use também ao depurar quadros em branco, lacunas de silêncio, cartões sobrepostos/enterrados ou linhas do tempo que nunca registram.

O que é kit-de-edição-de-vídeo?

Este skill define um conjunto rigoroso de 'portões de qualidade' para equipes que trabalham com HyperFrames, uma estrutura para criar composições de vídeo baseadas em quadros. Ele enfatiza que a verificação visual dos pixels renderizados é mais confiável do que apenas passar verificações de lint. O skill é útil para agentes de IA (como Claude Code, Cursor ou Codex) que automatizam a construção e edição de vídeos, garantindo que cada quadro seja inspecionado visualmente antes de ser considerado finalizado. Ele cobre desde a leitura do storyboard até a inspeção de uma 'folha de contato' com capturas de tela em múltiplos pontos no tempo. Também inclui uma tabela de armadilhas mecânicas comuns (como IDs começando com dígitos, CSS `transform` em elementos animados pelo GSAP e fontes CDN) e um padrão de orquestração para builds com múltiplos quadros. Seu princípio central é que nenhum quadro deve ser declarado pronto sem uma verificação visual (seek-test) no navegador.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ONIKOSIOLA/video-editing-kit/tree/HEAD/skills/hyperframes-quality-gates

Perguntar na sua IA favorita

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

Documentação

Portões de Qualidade HyperFrames

Visão Geral

A diferença entre uma ótima execução HyperFrames e uma medíocre não é a criatividade — é a disciplina de verificação. Execuções excelentes tratam cada quadro como não comprovado até que seus pixels tenham sido inspecionados em múltiplos momentos. Execuções medíocres confiam no verificador e entregam a primeira coisa que passa no lint.

Princípio central: o linter verifica retângulos e atributos; apenas os pixels renderizados contam a verdade. Nunca declare um quadro como concluído sem vê-lo.

Portões inegociáveis

Trabalhe nestes EM ORDEM para cada quadro que você construir ou editar. Pular um portão porque "é uma mudança pequena" é como a qualidade cai.

  1. Leia o bloco ## Direção de vídeo do próprio storyboard e obedeça-o em vez do boilerplate predefinido. Quando o storyboard diz letras minúsculas e o frame.md predefinido diz maiúsculas, o storyboard vence. Direção do projeto > padrões predefinidos.
  2. Um movimento dominante por quadro. Se seu quadro tiver dois elementos se resolvendo ao mesmo tempo, corte um. Tanto o carregamento frontal de tudo seguido de congelamento ("modo slideshow") quanto tudo flutuando ("modo screensaver") são falhas.
  3. Auto-verifique as armadilhas mecânicas (tabela abaixo) pesquisando em seu próprio arquivo antes de declará-lo concluído.
  4. Faça o seek-test em um navegador antes de relatar como concluído. Clone o <template>, registre a linha do tempo e timeline.seek(t, false) em: t=0, cada limite de cena ±0,05s, e o quadro final. Capture a tela de cada um. OLHE para eles. Um relatório de quadro sem um seek-test é uma afirmação não verificada.
    • Armadilha suppressEvents: .seek(t) simples suprime callbacks onUpdate — contadores/digitação parecem quebrados em seu ambiente de teste mas funcionam bem no renderizador. Sempre passe false.
  5. Após QUALQUER reajuste, recalcule data-start/data-duration nos clipes afetados. Tempos de tween GSAP e janelas de visibilidade de clipe são dois sistemas separados; reajustar um sem o outro cria elementos invisíveis ou lacunas de silêncio. Esta é a fonte #1 de regressões.
  6. Após a montagem, capture um snapshot do vídeo completo em cada limite de corte e no ponto médio de cada quadro, e leia a imagem da folha de contato você mesmo. Corrija o que parecer errado, faça novo snapshot, só então renderize.

Tabela de armadilhas mecânicas (pesquise estas em seu próprio arquivo)

ArmadilhaSintomaCorreção
id começa com dígito + querySelector("#...")SyntaxError mata silenciosamente o registro da linha do tempo → quadro em brancoPrefixe ids com uma letra, ou use getElementById primeiro
CSS transform: em um elemento animado pelo GSAPGSAP sobrescreve o deslocamento CSS no primeiro tweenIncorpore o deslocamento em left/top; transformações pertencem apenas ao GSAP
Ausência de box-sizing: border-box em cartões com paddingLarguras inflam, centralização desvia, cartões colidemDefina-o em cada cartão com padding
@font-face apontando para fonts.gstatic.com / qualquer CDNRenderização não determinística; quebra offlineArquivos locais em assets/fonts/, relativos à raiz do projeto
Sobreposição calculada a olhoCartões posteriores enterram o texto dos cartões anterioresCalcule retângulos com getBoundingClientRect() no tempo de espera; verifique se o texto CHAVE de CADA elemento empilhado está visível em uma captura de tela
Resultados de sobreposição do verificador em texto com espaçamento apertado/cortadoFalso positivo (retângulos se sobrepõem, glifos não)Verifique pixels primeiro, depois data-layout-allow-overlap — nunca suprima cegamente
Captura de tela esticada/recolorida em maquete de telefoneDispositivo estranhoProporção nativa sempre; corte com overflow:hidden, nunca escale não uniformemente
Arquivos ._* AppleDouble em volumes externosQuebra builds/renderizaçõesfind . -name '._*' -delete antes de montar/renderizar
Node < 22CLI falhaPrefixo: export PATH="$HOME/.nvm/versions/node/v22*/bin:$PATH" (ou nvm use 22)

Padrão de orquestração (builds com múltiplos quadros)

  • Um worker por quadro, um arquivo por worker; workers nunca tocam em arquivos compartilhados.
  • Prepare assets compartilhados (fontes, logos, capturas de tela) ANTES de despachar workers; pacotes nomeiam caminhos exatos.
  • Cada pacote carrega: o bloco do storyboard do quadro na íntegra, o bloco global de Direção de Vídeo, a tabela de armadilhas acima e o requisito de seek-test.
  • O orquestrador reexecuta lint + verificação + inspeção da folha de contato após a montagem, independentemente do que os workers relataram — auto-relatos de workers são afirmações, não provas.

Bandeiras vermelhas — pare e verifique

  • "Lint e verificação passaram, então o quadro está correto" → verificações não veem texto enterrado ou silêncio. Olhe para os pixels.
  • "Eu reajustei os tweens; pronto" → você reajustou as janelas data-* do clipe também?
  • "Vou pular o seek-test, o código é direto" → o bug do quadro em branco (seletor de id com dígito) estava em código direto e apenas um seek-test o pegou.
  • "O cartão provavelmente não cobre o outro" → calcule os retângulos; depois capture a tela.
  • "Fonte CDN está tudo bem só desta vez" → não está; renderizações devem ser livres de rede.

Todos estes significam: execute o portão que você estava prestes a pular.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas