Communitygithub.com

learnaiwithhugo/editor-de-video

Edite clipes crus de talking-head em um reel vertical finalizado para o Instagram, no estilo PRÓPRIO do criador, lido de uma pasta de estilo criada por build-my-style (STYLE.md, com brilho/zoom/sombra fixos, efeitos sonoros escolhidos). Pega a última boa take de cada linha, mostra uma página de storyboard primeiro (um still por batida, opções A/B/C nas batidas-chave, Aprovar/Alterar e anotações), opcionalmente renderiza pequenas variações de momentos-chave para escolha, depois monta a edição completa no HyperFrames, revisa seu próprio render e transforma cada nota do usuário em uma regra datada no STYLE.md para que a próxima edição seja melhor. Apenas ferramentas locais gratuitas. Use sempre que alguém disser "/edit-my-video", "edit my video", "edit these clips", "make this into a reel in my style", "storyboard this edit", soltar uma pasta de clipes crus e quiser uma edição, ou der notas sobre uma edição que esta skill fez ("I don't like the zoom", "make the logos bigger").

O que é editor-de-video?

Esta skill, chamada `/edit-my-video`, transforma clipes crus de talking-head em um reel vertical 1080×1920 no estilo pessoal do criador, sem exigir que o usuário seja técnico. Ela lê o arquivo STYLE.md (gerado pela skill `build-my-style`) e uma pasta de estilo contendo configurações visuais como cores, fontes, brilho, zoom e sombras. O processo é dividido em etapas claras: configuração inicial, ingestão dos clipes, corte e transcrição, storyboard interativo (com aprovação do usuário em tempo real), variações opcionais, montagem completa no HyperFrames (ferramenta de renderização local), revisão automática + manual, e um ciclo de feedback que grava cada nota do usuário como uma regra datada no STYLE.md, garantindo que a próxima edição já incorpore as preferências. A skill usa apenas ferramentas locais gratuitas (Python, FFmpeg, Playwright, HyperFrames, whisper) e nunca envia dados para a nuvem. Ela foi projetada para criadores de conteúdo que querem um fluxo de edição consistente e aprendizado contínuo a partir de feedbacks manuais.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/learnaiwithhugo/video-editor-skills/tree/HEAD/skills/edit-my-video

Perguntar na sua IA favorita

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

Documentação

/edit-my-video

Clipes crus entram, um reel 1080×1920 sai, no estilo do usuário. O usuário geralmente não é técnico: fale em mensagens curtas e diretas, um passo de cada vez, faça todo o trabalho técnico você mesmo e nunca o faça tocar em código. Nunca use o popup AskUserQuestion (pergunte no chat). Nunca publique ou faça upload de nada em lugar nenhum. Sem travessões longos em nada que você escrever para ele ou colocar na tela.

SK = a pasta desta skill. STYLE = a pasta de estilo (padrão: a salva em SK/config.json, senão a que /build-my-style criou, senão ~/edit-style; se nenhuma tiver um STYLE.md, pergunte onde está ou sugira /build-my-style primeiro). WORK = uma pasta por vídeo, <pasta de edições>/<slug>/ (slug = kebab-case curto, ex.: github-repos). Coloque entre aspas todos os caminhos, eles têm espaços. Scripts executam como python3 "SK/scripts/<nome>.py" ...; cada um imprime seu próprio uso quando executado sem argumentos.

Leia antes da primeira edição de uma sessão: references/creative-rules.md (o arquivo mais importante: como projetar e as verificações rigorosas de gosto) e references/engine.md (o padrão HyperFrames que renderiza). Leia references/storyboard.md antes do passo 4.

A regra mais importante

STYLE.md é guarda-corpos, não um menu. Ele fixa o visual (cores, fonte, sensação de movimento, níveis de som, zona segura, o que foi rejeitado). Não limita o que você cria. Para cada linha, pergunte qual visual explicaria melhor esta ideia, depois projete-o do zero dentro do visual. O primeiro teste de edição copiou modelos da página de estilo (uma lista de verificação de "só pode fazer três coisas") e o criador chamou de "extremamente restrito" e "não improvisou nada". Varie layouts; nunca o mesmo layout duas vezes seguidas; torne os visuais grandes.

Passos (diga em qual você está em uma linha curta: "Passo 3 de 8: encontrando suas melhores takes")

1. Verificação de configuração (segundos)

python3 "SK/scripts/setup.py" --check. Mostre itens faltantes como uma lista curta: o que é, para que serve, a correção em uma linha. Para qualquer coisa que eles precisem instalar (ffmpeg, Node, Python, Chrome), diga para colar a linha no aplicativo Terminal (Command + Espaço, digite Terminal) e diga "pronto". --install (faster-whisper, playwright, HyperFrames, modelo de fala) só depois que disserem "sim": "Posso instalar as ferramentas de edição gratuitas? Cerca de 5 minutos, uma vez." Depois python3 "SK/scripts/style.py" check "STYLE" (a pasta de estilo está completa) e python3 "SK/scripts/style.py" serve "STYLE" (inicia o servidor da página se não estiver rodando; anote a URL). Apenas na primeira execução: pergunte onde as edições devem ficar (sugira a pasta ao lado da pasta de estilo, edits/) e salve: setup.py --save --style "STYLE" --edits "<pasta>".

2. Ingestão (uma mensagem)

Pergunte apenas o que você ainda não tem:

  • a pasta de clipes crus (muitas vezes takes repetidas; você usará a ÚLTIMA take limpa de cada linha)
  • sobre o que é o vídeo, e o roteiro ou anotações se eles tiverem
  • a palavra-chave de comentário para a chamada para ação
  • duração alvo (sugira 25 a 40 s)
  • música: apenas se nomearem uma faixa. Caso contrário, nenhuma (o criador escolhe a música pessoalmente).

Depois mkdir WORK e python3 "SK/scripts/style.py" resolve "STYLE" --out "WORK/style.json". Leia o STYLE.md por completo: especialmente Feedback from edits, Rejected e Kept, do mais novo ao mais antigo. Essas são as correções do próprio criador de edições passadas e substituem todo o resto.

3. Takes, corte, palavras (~1 min a cada 5 min de filmagem)

  1. takes.py "WORK" "<clipe>" ... --prompt "<nomes que eles dirão>" lista cada tentativa, retakes marcados. Leia WORK/takes/*.txt. Escolha a última take limpa completa de cada linha (pule hesitações; corte um início ruim movendo in). Escreva WORK/edl.json (formato no uso de cut.py).
  2. cut.py "WORK" --prompt "<nomes>": segmentos exatos no quadro em WORK/hf/assets/v/, a voz em -16 LUFS, bordas apertadas, e words.json / words.txt com tempos do reel. Olhe para progress/01-cut-takes-in-order.jpg.
  3. Leia words.txt contra o que eles queriam dizer. O Whisper interpreta mal nomes: corrija-os em words.json com captions.py fix "WORK" "49=ArtCraft" (apenas para corresponder ao que foi realmente dito).

Diga a eles o corte em uma linha por batida e a duração.

4. Storyboard primeiro (o usuário aprova antes de qualquer renderização)

Siga references/storyboard.md: escreva WORK/storyboard.json (uma batida por ideia: palavras, tempos, layout, visual, animação, legenda, som), monte um still por batida na filmagem real deles com o visual planejado composto (screenshots reais, ícones de aplicativos reais, JPGs), com 2 a 3 alternativas (A/B/C) nas 3 ou 4 batidas-chave (gancho, a ideia principal, o payoff, a CTA). Depois storyboard.py page "WORK" --style "STYLE" e abra http://localhost:<port>/storyboards/<slug>/ (open <url>). Diga: "Seu storyboard está aberto. Escolha A, B ou C onde houver opção, Aprovar ou Alterar cada batida, adicione uma anotação em qualquer lugar, pressione Enviar e depois me diga 'pronto'." Aguarde "pronto". Depois storyboard.py review "WORK" --style "STYLE" incorpora as escolhas e anotações deles em storyboard.json. Reconstrua apenas as batidas que eles alteraram e mostre-as novamente, até que tudo esteja aprovado.

5. Variações (opcional, ofereça uma vez: "Quer ver 2 ou 3 versões do gancho em movimento antes de eu montar tudo?")

Para 2 ou 3 momentos-chave: construa a edição o suficiente para cobri-los (passo 6), copie hf/index.html para hf/index-<batida>-B.html com aquela batida reprojetada, depois render.py slice "WORK" <batida>-A <início> <fim> e render.py slice "WORK" <batida>-B <início> <fim> --index "WORK/hf/index-<batida>-B.html" (2 a 4 s cada, ~6 s para renderizar). Coloque "video": "variations/<nome>.mp4" nas alternativas em storyboard.json, storyboard.py page "WORK" --style "STYLE" --variations, abra .../storyboards/<slug>/variations.html, aguarde "pronto", storyboard.py review ... --variations, mantenha os vencedores em index.html.

6. Monte a edição (a parte criativa)

  1. render.py new "WORK" --title "<vídeo> v1": o projeto HyperFrames fixado com cores, fonte, sombra de legenda e o kit de movimento (engine/kit.js) do estilo em WORK/hf/.
  2. Reúna coisas reais: shoot.py web <url> <png> --mobile (páginas depois de carregarem completamente), shoot.py icon "<App>" <png> (ícones reais de aplicativos macOS), logotipos oficiais do site da ferramenta caso contrário.
  3. Escreva WORK/hf/index.html batida por batida a partir do storyboard aprovado (padrão e API do kit em references/engine.md), temporizando cada visual para a palavra a que pertence em words.txt. Projete cada batida do zero; dê a cada cena visual data-visual="<o que é>" e data-layout="face|split|full".
  4. Legendas: captions.py make "WORK" --skip <a-b> (pule momentos em que o texto na tela já diz as palavras), depois edite WORK/caps.json manualmente: divida-as em blocos para que leiam naturalmente (2 a 3 palavras), defina top para que nunca fiquem sobre a boca, cls por batida, html para uma palavra de destaque. captions.py inject "WORK".
  5. Som: escreva WORK/cues.json (todo corte, painel, ícone, linha, palavra herói recebe sua deixa no nível fixado; sem acertos duplos), adicione a música apenas se nomearam uma, depois mix.py "WORK" (coloca a mixagem em -16 LUFS).
  6. render.py check "WORK" (corrija todo erro), render.py snap "WORK" <tempos> --name <batida> e OLHE os quadros que você alterou. Coloque uma imagem numerada em WORK/progress/ a cada passo (a maioria dos scripts já faz isso).

7. Renderize e revise você mesmo antes de mostrar qualquer coisa

render.py render "WORK" --out "WORK/<Nome do vídeo> - v1.mp4", depois qa.py "WORK" "<esse mp4>". Corrija todo FALHA. Depois realmente olhe cada imagem que ele lista (as folhas de contato a 2 fps e os close-ups em tamanho real com a zona segura desenhada): texto aglomerado, visuais pequenos ou altos com espaço vazio, legendas sobre a boca, o mesmo layout duas vezes, qualquer coisa que se destaque, qualquer coisa preta, números/nomes que não correspondem às palavras. As verificações automatizadas perdem coisas que o olho pega (o primeiro teste desta skill passou nas verificações com uma palavra herói borrada e meios-cartões vazios). Uma rodada de correção, re-renderize, reexecute qa.py, depois open "<mp4>". Diga a eles em poucas linhas: onde está o arquivo, duração, o que acontece batida por batida, e qualquer coisa que você supôs.

8. Ciclo de feedback (toda vez que derem uma nota)

Corrija, re-renderize (uma re-renderização leva ~20 s), reexecute qa.py, abra-o. E escreva no estilo deles para que a próxima edição já saiba: python3 "SK/scripts/feedback.py" "STYLE" --video <slug> --rule "<faça isso daqui em diante>" (ou --rejected "<nunca mais>", --kept "<amei isso>"). Use as palavras deles, uma nota por flag; uma coisa que amaram é tão importante quanto uma coisa que odiaram. Ele faz backup do STYLE.md primeiro e registra. Diga em uma linha o que você adicionou. Se uma nota for sobre um valor fixado (o brilho, uma curva de zoom, a sombra da legenda), diga que está no laboratório da página de estilo deles e ofereça-se para abri-lo, em vez de substituir a trava silenciosamente.

Tempos (Mac série M, 15 s de reel finalizado a partir de ~8 min de filmagem)

takes ~1 min a cada 5 min de filmagem · corte + palavras ~15 s · storyboard stills ~2 min · fatia de variação ~6 s cada · render ~20 s · qa ~30 s.

Individual skills in this repo

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

learnaiwithhugo/video-editor-skills

Style Studio. Walks a creator (usually non-technical) through building their OWN video editing style on an interactive page in their browser - their colours and font, reference reels they love broken down frame by frame, then rounds of real animated options (captions, accent and intro text, zooms, diagrams, logos, split screen, tool talk, sound effects) they mark Keep / Maybe / Drop, plus Shine, Zoom and Shadow labs with Lock buttons. Ends with a STYLE.md guide and locked settings that /edit-my-video uses. Use whenever someone says "/build-my-style", "build my style", "make my editing style", "style studio", "I want my own edit style", "copy the editing style of these reels", "make my brand style for videos", sends reels they want their edits to look like, or comes back to carry on their style (rounds, labs, sounds). Also the STYLE keyword giveaway.

learnaiwithhugo/video-editor-skills

Edit a raw talking-head clip into a finished Instagram reel in Kallaway's editing style (black dotted stage with one live diagram per idea, rounded face card with the head popping out over its edge, one-word white captions, red as the only accent, hard cuts on word onsets, a real sound effect on every animation, optional quiet ducked background music). Free local tools only (ffmpeg, Whisper, HyperFrames). Use when someone says "/kallaway-edit", "edit this like Kallaway", "make this reel in the Kallaway style", or drops raw clips and asks for a Kallaway-style edit.

learnaiwithhugo/video-editor-skills

Create a new editing-style skill from 2-3 reference reels of one creator or style (e.g. "make me a skill that edits like @creator"). Downloads the reels, measures them frame by frame, has one agent break down each reel, merges the breakdowns into a style guide plus a measurable style spec, clones the proven editing engine into a new /<style>-edit skill, then locks the style with a match score, pixel font matching, a golden recreation test, one critic round and the user's ear check. Free local tools only. Use when someone says "/new-edit-style", "make an edit style skill", "copy this creator's editing style", "I want to edit like X", or drops several reels from one creator and asks for their style.

Habilidades Relacionadas