O que Hadi Got Motion faz?
Um estúdio de motion em uma skill: 12 estilos de movimento, cada um com seu próprio jeito de se mover, e uma régua de gosto. Cada quadro é construído a partir de material real: gravuras e fotos de arquivo, tipografias reais, dados reais, gravações reais. O código corta, articula, temporiza e ilumina; o código nunca desenha a arte. A régua é Mr Pemberton's Mistake, uma farsa de recortes falantes a partir de gravuras vitorianas (references/case-pemberton.md).
Tudo roda através de um único comando, hgm (scripts/hgm nesta pasta; após hgm install está no PATH). Cada comando hgm imprime um resumo curto e escreve detalhes em arquivos, para que os tokens vão para o gosto, não para a canalização. Leia a seção de Orçamento de tokens abaixo antes de começar; ela é parte do ofício, não uma reflexão tardia.
Ordem de trabalho: Verificação de ferramentas → Seletor de briefing → Estimativa → Configuração → Direção → Voz → Assets → Animar → Revisar → Entregar. Nunca comece a construção antes de o briefing e a configuração estarem prontos.
Retomando um filme? Leia o HANDOFF.md do projeto e execute hgm state dentro do projeto. Não releia as referências da skill, filmes antigos ou o arquivo do filme inteiro.
0–1 · Verificação de ferramentas e seletor de briefing (uma troca)
- Não pergunte e não explique. Execute
bash <pasta desta skill>/scripts/hgm picker, adicionando--title "…" --duration 45 --concept "…"para qualquer coisa já dita. Chame visualizeread_meuma vez com["elicitation"], entãoshow_widgetcom o loader exatamente como impresso. - A linha de resposta vem como
Motion graphic details — Tools: … · Title: … · Duration seconds: … · Pacing: 1–5 · Concept: … · Motion style: … · …. Apenas o conceito é obrigatório: sem título, nomeie-o; sem duração, 30 s; sem pacing, 3; sem look de mapa, nenhum mapa. - Se algo estiver faltando e eles não escolheram "Agora não", inicie
hgm installem segundo plano. - Widget vazio, nenhuma ferramenta de widget, um script enviado ou um formulário pulado: veja
references/setup.md.
2 · Estimativa de tempo (logo após as respostas)
hgm estimate --answers "<linha de resposta, exatamente como está>". Dê suas duas primeiras linhas em uma ou duas frases, então comece. Não espere por um OK.
"Deixe o Claude decidir": de ponta a ponta, sem perguntas
Quando o estilo for "Deixe o Claude decidir" (ou "você decide", "me surpreenda", ou o formulário foi pulado):
- Não pergunte mais nada. Decida tudo como um diretor: o estilo que serve ao conceito, o pace (3 a menos que o conceito claramente queira calma ou frenesi), um mapa apenas se a história viajar por lugares reais, uma caminhada apenas em farsa de recortes ou teatro de papel, o elenco e as vozes, o roteiro e imagens dos arquivos (ChatGPT apenas se já estiver conectado).
- Reexecute
hgm estimate --style <id> --duration <s> --pace <1-5> --script write|have|nonee diga a eles em duas linhas o que você escolheu, por quê e quanto tempo vai levar. - A única parada que você não pode pular é o login no ElevenLabs, se uma voz for necessária e nada estiver conectado ainda. Se não for possível, faça um filme com texto e música.
3 · Configuração (finalize antes de qualquer construção)
hgm install se necessário, depois hgm new <slug> --style <id> --pace <1-5> (ids: cutout-farce, kinetic-editorial, kinetic-swiss, editorial-collage, period-print, paper-theatre, real-maps, stat-hits, footage-led, silent-film, title-sequence, object-diorama), depois hgm doctor. Login no ElevenLabs (hgm connect-voice) e imagens ChatGPT (hgm connect-images) têm redação exata em references/setup.md; siga palavra por palavra e nunca manipule uma chave. Tudo verde → diga "Configuração concluída" em uma linha.
4 · Direção
hgm ref <style-id>imprime tudo o que este estilo precisa de uma só vez: sua seção destyles.md, sua linguagem de movimento, as regras sob todos os estilos etaste.md(a régua e a lista de verificação anti-aparência de IA). Não abra arquivos de referência inteiros.- Fatos precisam de pesquisa, nunca de suposição. Se o filme declarar fatos (história, ciência, pessoas, números, "o que aconteceria se"), um subagente pesquisa em
FACTS.mdantes de qualquer roteiro ser escrito:hgm ref research. Roteiro apenas a partir de fatos confirmados; o drama vem dos detalhes verdadeiros. - Nenhum roteiro dado: apresente 3 conceitos em uma mensagem (um personagem em uma situação, um gancho de 1,5 s, uma escalada para uma recompensa) e mate você mesmo o mais seguro. Em "Deixe o Claude decidir", não apresente: escolha o mais forte e vá. Palavras por 30 s vêm do pace (
pacing.jsonwords30): 50 no pace 1, 66 no 3, 82 no 5. Termine na linha de recompensa. - Planeje o cenário. Escreva um plano de cena em
BRIEF.md: uma linha por cena com seu intervalo de tempo, lugar e como ele muda. O mundo muda a cadascenerysegundos do pace, a menos que a história queira um único lugar. Um novo adereço no mesmo fundo não é uma mudança (taste.md, "Scenery"). - Trave o mundo em
BRIEF.mdcom cinco regras: paleta (2–3 cores mais um acento por batida), impressão ou linha, textura (um grão), luz, lettering (uma família).
5 · Voz: a voz é o relógio (pule para "sem narração")
hgm voices --list→ elenco emaudio/cast.json→audio/script.json(textcarrega a atuação em [tags de áudio],captioné o texto limpo na tela,gap_afterdeixa espaço para ação).hgm voice-allimprime uma linha de resumo mais quaisquer linhas ✗ (log completo:review/voice.log). Corrija linhas ✗ comskip_start, a legenda ouhgm voices <id>. Detalhes:hgm ref elevenlabs.
6 · Assets: online primeiro, depois ChatGPT
- Delegue a parte mecânica a um subagente (Agent tool,
model: "sonnet"): dê a lista de visuais, as regras do mundo BRIEF e os comandoshgm assets <key> "query" …(imagens) ehgm assets --audio <key> "query"(sons). Ele retorna, por chave, seus 3 melhores candidatos em uma planilha combinada e uma lista curta de texto. Você vê essa única planilha pequena e escolhe; entãohgm pick <key>:<n>:<name>(você ou o subagente) baixa e registra o crédito. Fontes:hgm ref sources. - Apenas o que os arquivos não podem dar vai para o ChatGPT (
hgm img inbox/<name>.png "<prompt>", ou um pacote de prompts):hgm ref imagegen. - Mapas:
hgm map-data …depoishgm map-reel:hgm ref maps. Nunca desenhe ou adivinhe geografia. - Corte e articulação em
assets/build_assets.py(hgm grid,hgm zoom,hgm cut,hgm explode; receita:hgm ref cutout-farce-recipe). Um subagente pode fazer a leitura de coordenadas e o corte; você verifica a única planilha deexplode.
7 · Animar
- Construa em
<slug>.mjs(o esqueleto).hgm apilista cada auxiliar com sua assinatura: use-o em vez de ler o esqueleto ou filmes antigos. Mantenha os auxiliares de linha do tempo; substitua o bloco DEMO. - Um objeto de estado com
at(sec, {key: [from, to]}, dur, ease). Toda ação recebe uma dica de SFX; legendas são vinculadas a palavras.at()escala toda duração pelo pace (PC.k); corte e mude o cenário emPC.shotePC.scenery.hgm voice-allaplica o andamento do narrador e as lacunas do pace. - Mova do jeito que o estilo se move (sua taxa de quadros, o que anda em pares ou trios, sua suavização, câmera, transições). O esqueleto já aplica o perfil. Nunca dê a todos os estilos a mesma suavização ease-in-out: essa mesmice é a marca da IA.
- Caminhadas pertencem à farsa de recortes (e ao pulo e deslize do teatro de papel):
walk(style, t, {facing}),hgm ref walks,hgm walkspara o reel. - Escreva o arquivo do filme uma vez, depois mude com pequenas Edições. Nunca reescreva o arquivo inteiro para mudar uma cena.
- Armadilhas a evitar:
hgm ref trapsantes da primeira construção.
8 · Revisão: pareça um designer (é aqui que vale a pena gastar tokens)
hgm stills 0,1,3,6,10,...(12–18 vezes, incluindo meio da ação) escrevereview/contact.jpg. Veja uma vez e julgue contra a lista de verificação de gosto: gancho em 0, 1, 3 e 10 s; um herói por batida; nada cobrindo um rosto; nada apenas "presente"; o cenário muda no plano, ou quadros seguidos compartilham um fundo?; alguém adivinharia que foi feito por IA?- Corrija tudo o que encontrou em uma passada, depois
hgm stillsapenas nos momentos alterados. Zoom (hgm zoom) apenas na única coisa que você está julgando.
9 · Construir e entregar
hgm build(renderizar, mixar, multiplexar; execute em segundo plano), depoishgm frames 0.2,<meio>,<fim>e olhe os quadros do MP4 final.hgm cover <t>faz uma capa simples, sem texto.- Envie o MP4 e a capa (SendUserFile). Diga a duração, quaisquer alterações em relação ao briefing e o que você não pôde verificar (Claude não pode ouvir: a mixagem foi verificada por níveis e temporizações).
- Mantenha
CREDITS.mdcompleto. Comentários vêm cirúrgicos: aplique exatamente aqueles, re-verifique aqueles quadros, reconstrua.
Orçamento de tokens
Medido nos três primeiros filmes (Pemberton 338 turnos, Hyderabad 116, Wright brothers 72): cada turno relê a conversa inteira, então o custo é turnos × tamanho do contexto. O chat começa com cerca de 90K tokens antes de qualquer coisa acontecer. Uma captura de tela, uma planilha ou um cat permanece no contexto e é pago novamente em cada turno posterior. Então:
- Menos turnos. Agrupe comandos independentes em uma única chamada de ferramenta (
hgm stills … && hgm frames …). Planeje uma lista de correções e aplique-a em uma passada. - Saídas pequenas. Use comandos
hgm, nãocat,lsousedem referências, filmes antigos ou logs.hgm ref,hgm apiehgm stateimprimem apenas o necessário. Nunca imprima JSON, a lista completa de vozes duas vezes ou o arquivo do filme. Redirecione a saída longa de uma ferramenta para um arquivo e usetail -3. - Imagens pequenas, poucas delas. Uma planilha de contato por rodada de revisão; quadros de 220 px são suficientes para julgar. Nunca leia imagens estáticas brutas, downloads brutos ou quadros em tamanho original; dê zoom em um recorte.
- Subagentes para trabalho mecânico (
model: "sonnet"): pesquisa e download de assets, verificações de corte e articulação, renders, créditos. Eles retornam uma lista curta e uma planilha. Mantenha o modelo principal para o conceito, roteiro, estilo, escolhas e a revisão do designer. - Repasse antes que o contexto fique pesado. Com cerca de 200K tokens de contexto (ou 40% da janela, o que ocorrer primeiro; aproximadamente 50 chamadas de ferramenta), finalize a etapa atual, execute
hgm handoff, preencha suas linhas "Próximo" e diga ao usuário: "Continue em um novo chat:continue <slug>." Um novo chat retoma de HANDOFF.md ehgm statepor cerca de 5K tokens.
| Fase | Turnos no chat principal | Contexto que pode adicionar |
|---|---|---|
| Seletor + estimativa | ≤ 4 | ≤ 8K (o guia visualize é a maior parte) |
| Configuração | ≤ 3 | ≤ 2K |
| Pesquisa (subagente escreve FACTS.md) | ≤ 2 | ≤ 3K (você lê FACTS.md, nunca os resultados da busca) |
Direção (+ hgm ref) | ≤ 6 | ≤ 12K |
| Voz | ≤ 4 | ≤ 4K |
| Assets (subagente faz a busca) | ≤ 6 | ≤ 10K (uma planilha combinada + uma planilha explode) |
| Animar (filme escrito uma vez) | ≤ 8 | ≤ 25K (o arquivo do filme que você escreve) |
| Revisão (≤ 4 planilhas de contato) | ≤ 12 | ≤ 12K |
| Construir + entregar | ≤ 4 | ≤ 4K |
| Filme inteiro | ≤ 50 | termina abaixo de ~180K |
Gaste livremente no conceito, na escolha do estilo e na revisão do designer. Eles fazem o filme; o orçamento sai da canalização, nunca da aparência.
Inegociáveis
- Vozes: apenas ElevenLabs.
- Imagens: arquivos primeiro; imagens ChatGPT quando necessário. Nunca Higgsfield. Sem vídeo de IA. Nunca desenhe personagens, ilustrações ou emblemas em código.
- Motor: canvas + anime.js + FFmpeg. three.js apenas para 3D real; Blender apenas se luz física for a ideia.
- Créditos e chaves: credite toda fonte. Nunca coloque o e-mail do usuário ou detalhes pessoais nas requisições. Nunca imprima chaves.