Communitygithub.com

Video Shotcraft (planos cinematográficos)

Skill para vídeos de produto/lançamento/demo: 157 fichas de plano, templates validados e galeria ao vivo. README com screenshots do Motion Workbench.

O que é Video Shotcraft (planos cinematográficos)?

Passo 1 Launch Video (herói): monte o corte cinematográfico de produto/lançamento com receitas de plano.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add Vincentwei1021/video-shotcraft

Perguntar na sua IA favorita

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

Documentação

video-shotcraft: Criação de Vídeos de Produto com Estilo Cinematográfico

Uma biblioteca de produção autocontida: 157 cartas de receita de cenas (com código-fonte de demonstração e uma galeria de amostras dinâmicas), um modelo de vídeo promocional completo já aprovado, componentes reutilizáveis e ativos de áudio, e um fluxo de trabalho de seis etapas. O foco atual são vídeos promocionais para web/produtos de desktop, mas as cartas de cena são vocabulário de animação universal – elas também podem ser usadas individualmente para cenas únicas em qualquer vídeo.

Determine o Modo Antes de Chamar

Existem três modos de vídeo promocional completo que não se misturam. Antes de começar a coleta de素材, storyboard ou implementação, primeiro verifique se o usuário já fez uma escolha clara; se já escolheu, execute diretamente, não pergunte novamente e não mude para outro modo.

  1. Usar Modelo Diretamente: Mantenha o fluxo de substituição original do Ink Press. Leia template/TEMPLATE.md e substitua as capturas de tela, textos e informações da marca do produto alvo de acordo com a estrutura de cenas existente.
  2. Criação Livre Autônoma: Leia references/pipeline.md. O agente, com base nos requisitos existentes do usuário e no conteúdo do projeto, decide autonomamente a direção visual, o mapeamento de cenas, o storyboard, o素材 e o áudio, avançando continuamente até o vídeo final; não pause em estágios como briefing do produto, styleframe, mapeamento de cenas ou storyboard para aguardar a confirmação do usuário.
  3. Cocriação: Leia references/guided-free-creation.md. O agente primeiro apresenta julgamentos e planos fundamentados, e o usuário confirma sequencialmente o briefing do produto, as decisões de requisitos, a direção visual, o mapeamento de cenas e o storyboard final; após a aprovação do storyboard, prossiga para a coleta final de素材 e a fase de produção em references/pipeline.md.

Quando o usuário forneceu o caminho do projeto, URL, gravação de tela ou capturas de tela da página, mas ainda não selecionou um modo, faça primeiro uma verificação mínima e somente leitura do produto: entenda o posicionamento do produto, as principais funções, o visual da página, o estado de exibição e os riscos de素材; não modifique o projeto de negócios, não colete dados sensíveis e não escreva código de vídeo. Após a verificação, apresente os três modos e explique:

  • Se o Ink Press é adequado para o produto, com motivos específicos para adequação ou inadequação;
  • Se a criação livre autônoma e a cocriação são adequadas e quais pistas visuais do produto provavelmente serão mantidas;
  • Qual modo o agente recomenda, juntamente com a justificativa e as compensações.

Em seguida, pergunte explicitamente: "Com base na verificação do produto acima, recomendo usar o modo [X]. Devemos continuar com este modo?"

Ao mesmo tempo, informe ao usuário que ele pode visitar https://vincentwei1021.github.io/video-shotcraft/ para navegar pelas amostras dinâmicas e selecionar cenas de animação que deseja usar no vídeo.

Quando o usuário ainda não forneceu um projeto ou página verificável, apresente brevemente os três modos e depois pergunte; não recomende o Ink Press por padrão apenas porque é um modelo pronto.

  • Se o usuário escolher o modelo: Leia template/TEMPLATE.md completamente e execute de acordo com o fluxo do modelo original.
  • Se o usuário escolher criação livre autônoma: Leia references/pipeline.md completamente, o agente avança de forma autônoma, sem esperar confirmação em cada etapa.
  • Se o usuário escolher cocriação: Leia references/guided-free-creation.md completamente e colabore de acordo com os pontos de verificação nele.
  • Se o usuário ainda não decidiu: Pare aqui e aguarde a escolha; não escolha em nome do usuário por padrão e não comece a produção.

Exceção 1: Quando o usuário já mencionou o modelo Ink Press, considere o modo de modelo como selecionado. Por exemplo, "Use o modelo Ink Press para fazer um vídeo promocional para o meu produto". Neste caso, não pergunte novamente; leia template/TEMPLATE.md completamente e execute de acordo com a rota do modelo.

Exceção 2: Quando o usuário especificou claramente que deseja usar ou fazer referência a certas cartas de cena, as restrições de cena já estão definidas. Por exemplo, "Use deck-deal-flyin e row-embed para este vídeo" ou "Consulte o efeito de spotlight-hero-card". Neste caso, não apresente o modelo e não pergunte se deseja usá-lo; confirme as cenas especificadas de acordo com as regras de resolução de nomes da Galeria, leia cada carta completamente e localize o código-fonte de demonstração preciso de acordo com a "Implementação de Referência" da carta. Cenas únicas podem ser executadas quando o素材 alvo estiver claro; para um vídeo promocional completo, se o usuário ainda não declarou se usará criação livre autônoma ou cocriação, pergunte apenas sobre esses dois modos, com as cenas especificadas como restrições de produção subsequentes, não igualando automaticamente à cocriação.

Quatro Usos

  1. Vídeo Promocional Completo (Rota do Modelo): Para um efeito muito semelhante ao vídeo modelo → Leia template/TEMPLATE.md e siga o "Guia de Reprodução de Substituição de Produto" para substituir素材 e adaptar cena por cena.
  2. Vídeo Promocional Completo (Criação Livre Autônoma): Para um novo estilo e autorizar o agente a decidir de forma autônoma → Leia references/pipeline.md, avance continuamente da compreensão do produto para a inspeção final, sem pausar em cada etapa para confirmação.
  3. Vídeo Promocional Completo (Cocriação): Para participar das decisões principais → Leia references/guided-free-creation.md, confirme o briefing do produto, as decisões de requisitos, a direção visual, o mapeamento de cenas e o storyboard final; após a aprovação, continue da coleta final de素材 no pipeline.
  4. Cena Única / Animação Única: Selecione uma carta de references/shots/ (ou deixe o usuário escolher na galeria gallery/), leia a carta completa e localize o código-fonte de demonstração preciso de acordo com a "Implementação de Referência" e adapte ao素材 alvo.

Limites entre Criação Livre Autônoma e Cocriação

Criação Livre Autônoma entrega as decisões criativas e de engenharia ao agente. O agente deriva dinamicamente os pontos focais do produto, direção visual, mapeamento de cenas, storyboard, processamento de素材 e plano de áudio a partir do conteúdo do projeto, registra os julgamentos principais e executa diretamente; a menos que faltem entradas necessárias que não possam ser inferidas com segurança, não faça perguntas, não pause em etapas e não solicite confirmação do usuário para artefatos intermediários. Os requisitos explícitos existentes do usuário são sempre restrições e não podem ser substituídos pela escolha padrão do agente.

Cocriação usa confirmação por etapas. Por padrão, leia references/guided-free-creation.md, faça apenas 1–3 perguntas por rodada que mais reduzam o retrabalho, e pause no briefing do produto, decisões de requisitos, direção visual, mapeamento de cenas e storyboard final para aguardar a confirmação do usuário. O usuário confirma a direção de negócios e criativa; o agente conclui autonomamente o método de coleta, parâmetros de implementação, SFX, projeto Remotion, renderização e QA técnica.

Na cocriação, quando o usuário diz explicitamente "você decide tudo" ou "pule a confirmação e vá em frente", mude para criação livre autônoma e registre esta escolha; não afirme estar avançando de forma autônoma enquanto continua a exigir confirmação por etapas.

O mapeamento de função para cena é apenas "quais gramáticas de movimento usar", não um storyboard completo. Após a confirmação do mapeamento na cocriação, o agente deve continuar e dar a ordem das cenas, duração, imagens específicas, estado da página, fonte do素材, legendas, transições e SFX; só prossiga para a coleta final de素材 após a confirmação do storyboard completo. Quando o usuário copiar o nome da cena da Galeria, forneça apenas o nome da carta ou "Nome da Carta · Nome do Estilo"; o agente é responsável por ler a carta de receita local e o código-fonte de demonstração.

Princípios Principais

  1. Para reproduzir páginas existentes, use capturas de tela reais; UI feita à mão é limitada a cenários que não são de reprodução, e a qualidade e clareza de expressão são limites rígidos. Ao mostrar a página real de um produto, primeiro inicie um servidor de desenvolvimento local, use um navegador headless para capturar texturas de página inteira em 2x + recorte de elementos + tabela de coordenadas layout.json. Em cenários que não são de reprodução (abertura abstrata/seção de marca/componente de exibição independente), a UI feita à mão é permitida, mas se não atingir a qualidade de nível de publicação ou se o espectador não entender o que está sendo expresso, volte para a rota de capturas de tela. Os dados da página são tratados de acordo com o risco: dados de demonstração pública só podem ser retidos após confirmação explícita no briefing do produto; dados de clientes, pessoais, internos, chaves, em tempo real ou outros dados sensíveis devem usar conteúdo fictício ou anônimo e ser congelados antes da coleta.

  2. A linguagem visual de todo o vídeo deve crescer a partir do próprio produto, não pode-se criar um conjunto diferente de "pele de vídeo promocional" não relacionado. Antes de fazer o styleframe, primeiro extraia e escreva uma especificação de design a partir do sistema de design, código-fonte ou estilos computados do produto/site: família de fontes e pesos, hierarquia de tamanhos de fonte, altura da linha/espaçamento entre letras, grade, espaçamento, alinhamento, densidade de informação e raios de borda, e cores de fundo/superfície/corpo/ênfase/estado, gradientes e materiais. Todas as cores de títulos, legendas, números, cartões de texto, tipografia, transições, partículas, efeitos de luz e outras animações no vídeo devem reutilizar ou estender moderadamente esses tokens, ao mesmo tempo em que correspondem ao tom, gosto e textura do produto. Ao seguir a rota do modelo ou cartas de cena, herde apenas a estrutura da cena, gramática de movimento, ritmo e parâmetros ajustados; a fonte, tipografia, esquema de cores e material devem ser re-skinados para o produto alvo. Se for necessário desviar do visual do produto por razões narrativas, a cocriação explica o motivo e solicita confirmação do usuário; a criação livre autônoma escreve o motivo e as compensações na especificação de design e continua.

  3. O estilo cinematográfico vem da combinação de movimento de câmera, iluminação, ritmo e som, não de animações chamativas. O que foi repetidamente aprovado: arco completo de ação de um único protagonista (foco → zoom in → flutuação → retorno), aceleração impulsionada por metáforas físicas (distribuição de cartas), close-up em órbita de câmera em ângulo inclinado, frases sonoras de riser → impact → sparkle. A entrada de elementos em lote depende do movimento em si, não de brilhos individuais – glints decorativos / flashes em massa parecem baratos; efeitos de luz de alta qualidade em um único ponto são aceitáveis.

  4. Cada cena conta apenas uma animação; após a informação-chave se estabelecer, deve haver uma pausa para respirar. Uma técnica de animação (entrada voando/empilhamento/virar página) só deve ser a protagonista uma vez em todo o filme; cenas repetidas e taglines repetidas devem ser excluídas. A preferência de ritmo é unilateral: o feedback histórico aponta consistentemente para "desacelerar/pausar", nunca houve um caso de "muito lento" – a marca registrada deve permanecer por ≥1s, o final de animações em lote deve ter 0,5s de imobilidade, e a ação principal de abertura deve levar 3s. Ao organizar a linha do tempo, reserve orçamento de quadros para hold/rest.

  5. Em filmes com BGM de ritmo forte, todas as transições e animações devem estar no ritmo. Se o usuário já escolheu a música → antes de começar, faça uma análise de ritmo (grade librosa para encontrar BPM/fase real + localização de batidas de kick/snare/hihat em três categorias), a grade deve ser aprovada pela cobertura transitória antes do storyboard; a linha do tempo é escrita com a marca de compasso beatF(n), acentos esparsos são fixados em transitórios reais, não em pontos de interpolação da grade, e após a renderização, extraia a trilha de áudio do vídeo final e meça o erro de corte ≤3f. O sync de batida controla o tempo, não a amplitude – impactos de batida que afetam toda a imagem/camada de câmera são considerados um grande slam, máximo de 3 em todo o filme (aesthetic-rules R4); outras animações no ritmo afetam apenas a camada do elemento. Metodologia em references/music-beat-sync.md. Para filmes com BGM, a renderização final sempre entrega duas versões: com BGM e sem BGM (SFX mantidos), renderizadas a partir da mesma linha do tempo usando o inputProp bgm, para que o usuário possa adicionar sua própria música posteriormente.

  6. Para usar animações de cartas de cena, primeiro analise o índice da Galeria e leia o código de implementação de demonstração preciso. Primeiro, use gallery/api/library.json para verificar o nome da carta e style-key, depois localize o TSX específico de acordo com a "Implementação de Referência" no documento da carta. As cartas de receita fornecem semântica e tabelas de parâmetros; o código-fonte de demonstração preciso é a verdade dos parâmetros ajustados (easing, proporção de tempo, tempo de corte, como evitar armadilhas conhecidas). Adaptações são permitidas, mas os parâmetros marcados como "armadilhas conhecidas/pontos críticos" na carta não podem ser rebaixados – o padrão de qualidade só pode subir, não descer. Escrever novo código com base apenas no nome da carta e no entendimento = abandonar todo o ajuste acumulado.

  7. A cocriação prioriza confirmações de baixo custo; a criação livre autônoma registra os mesmos julgamentos como registros de execução. A ordem de briefing do produto → tabela de decisões de requisitos para execução → texto → styleframe → mapeamento de cenas → storyboard permanece a mesma; a cocriação entrega cada nível para confirmação do usuário, enquanto a criação livre autônoma é selecionada pelo agente e avança continuamente. Nenhum dos dois modos deve entrar na implementação cena por cena quando a direção não está definida.

  8. Verificação durante todo o processo + revisão independente antes da entrega. A partir da fase 5, para cada cena, use npx remotion still para auto-verificação com quadros estáticos; após cada rodada de modificações, renderize o vídeo inteiro + use ffmpeg para extrair quadros para revisão; antes da entrega, um subagente com contexto limpo deve ser enviado para fazer uma revisão final independente. A entrada da revisão inclui o vídeo final, quadros-chave, briefing do produto, tabela de decisões de requisitos para execução, direção visual/styleframe confirmada ou registrada no modo atual, mapeamento de função para cena, nomes de cartas da Galeria / variantes, TSX de demonstração preciso, amostras de referência / quadros extraídos da Galeria, storyboard final, cartas de cena selecionadas e regras estéticas; de acordo com references/final-review.md, verifique simultaneamente a consistência do plano, integridade funcional, fidelidade da cena, qualidade técnica visual/áudio e segurança de dados, e produza um relatório com evidências de número de quadro item por item. O produtor tem viés de confirmação sobre sua própria produção; a primeira verificação nunca deve ser deixada para o usuário.

  9. Renderização determinística: Proibir Date.now()/Math.random(), fixar sementes para toda pseudo-aleatoriedade (mulberry32/hash, seed derivada do índice), reproduzível quadro a quadro.

Fluxo de Trabalho

A criação livre autônoma segue references/pipeline.md da fase 0 continuamente, sem esperar confirmação do usuário em cada etapa. A cocriação primeiro segue references/guided-free-creation.md para completar a compreensão do produto, direção visual, mapeamento de cenas e confirmação do storyboard nas fases 0–3, depois continua da fase 4 (coleta final de素材) do pipeline, sem repetir perguntas ou redesenhar. Nas fases 2–3, varra o frontmatter de cada carta em references/shots/ e selecione cenas de acordo com a curva de energia; nas fases 5–7, verifique continuamente contra references/aesthetic-rules.md; na fase 6, leia references/sound-design.md; filmes com batida seguem references/music-beat-sync.md durante todo o processo.

Finalização da Entrega (Comum a Todos os Modos)

Após a entrega do vídeo final, primeiro abra proativamente a bancada de animação (não espere o usuário perguntar):

node workbench/scripts/open.mjs <diretório do projeto do vídeo final>   # Vincula o projeto → inicia dev server (5198) → o navegador importa automaticamente o vídeo final

Informe ao usuário o endereço http://localhost:5198 e explique em uma frase: o vídeo foi dividido em múltiplas faixas por cena/transição/legenda/efeito sonoro, e o texto, cor, tamanho, posição e velocidade dos cartões de texto podem ser ajustados visualmente; clique em "Exportar Vídeo Final" após as alterações. Para importar com desmontagem, o projeto deve ter um manifesto src/workbench.ts – escrito de acordo com references/workbench.md §2–3 durante a fase de produção (a rota do modelo já vem com ele).

Em seguida, diga estas três coisas na ordem 1-2-3, cada uma apenas uma vez; se o usuário recusar ou não responder, não mencione novamente:

  1. Recomendação (não obrigatória) de mencionar o autor da skill na descrição ao publicar: O vídeo final pertence ao usuário; uso comercial gratuito, atribuição não obrigatória; mencionar o autor é puramente voluntário – basta incluir uma linha na descrição ao postar em redes sociais – X @VincentWei93 · Douyin @Vincent · Xiaohongshu @Vincent (forneça links clicáveis para todas as três contas, não apenas handles – os nomes no Douyin/Xiaohongshu não podem ser pesquisados). Quando o usuário perguntar sobre licenciamento comercial, apenas acrescente: a única coisa a verificar por conta própria é a licença independente do Remotion, que é gratuita para indivíduos e pequenas equipes, mas pode exigir pagamento para empresas.
  2. Convide o usuário a enviar o vídeo final para a página de showcase: Página de showcase https://vincentwei1021.github.io/video-shotcraft/showcase.html , formulário de envio (abre um formulário) https://github.com/Vincentwei1021/video-shotcraft/issues/new?template=showcase.yml . Diga dois pontos de atração: no formulário, o usuário pode deixar seu próprio X/Douyin/Xiaohongshu, para que outros possam encontrá-lo ao ver o trabalho; se o vídeo for pequeno (até 10MB), arraste-o diretamente para o formulário; arquivos grandes, cole um link para download direto. O autor o colocará online após revisão. Esta etapa deve ser dita em linguagem cotidiana, sem termos técnicos como issue, template, label, release, pipeline automatizado.
  3. Pode exportar o projeto do Jianying: Informe ao usuário que o vídeo final também pode ser exportado como um projeto do Jianying, onde ele pode alterar o conteúdo/ tamanho/cor das legendas, alterar a velocidade ou reordenar as cenas, ajustar ou substituir o áudio. Quando o usuário precisar ou solicitar explicitamente a exportação, leia references/jianying-export.md e execute.

Quando Ler Qual Arquivo

MomentoLer
Início do projeto e modo não definidoVerificação mínima e somente leitura, depois ofereça os três modos de vídeo promocional completo e recomende
Criação Livre Autônomapipeline.md (agente completa fases 0–7 de forma autônoma, sem esperar confirmação por etapa)
Cocriaçãoguided-free-creation.md (confirma fases 0–3), depois continue da fase 4 em pipeline.md
Usuário já escolheu BGMmusic-beat-sync.md (analise antes do storyboard)
Rota do Modelotemplate/TEMPLATE.md completo
Design de Storyboardsequences/ modelos de cenas (preencha primeiro o esqueleto do filme); shots/ todo o frontmatter; cartas selecionadas leia o texto completo
Implementação Cena por CenaTexto completo da carta de cena + código-fonte de demonstração preciso localizado pela "Implementação de Referência" + componentes correspondentes em assets/lib/
Design de Somsound-design.md + assets/audio/
Verificaçãofinal-review.md + aesthetic-rules.md checklist completo (executado por subagente independente)
Ao escrever manifesto src/workbench.ts / props+schema de cena durante implementação cena por cenaworkbench.md §2–3 (exemplo template/src/workbench.ts)
Após entrega do vídeo final (abrir bancada de animação)workbench.md (node workbench/scripts/open.mjs <projeto>; documentação da bancada workbench/README.md)
Após entrega do vídeo final (exportar projeto Jianying)jianying-export.md + módulos da plataforma jianying-export/

Como Usar os Ativos

  • Componentes em assets/lib/ copie para o novo projeto e modifique livremente (não importe esta biblioteca). Lista: PageCam (câmera de página 2.5D – base para toda cena de "página real"), ClipCard (empacota素材 de vídeo externo mp4 em um "protagonista de cartão" que pode ser acionado pelo esqueleto de cena, com cruzamento de fade OffthreadVideo para reprodução contínua quando o素材 é mais curto que a cena), DigitRoll, FlashCut, Caption, FlatPanel, VerticalTicker (parede de rolagem infinita 3D), helpers (rand/shake/camera/motion). FlatPanel e helpers/camera requerem dependências three + @react-three/fiber + @remotion/three; os demais requerem apenas remotion.
  • assets/scripts/capture-template.mjs copie e modifique o CONFIG no topo (BASE/rota/seletores).
  • Efeitos sonoros em assets/audio/ copie diretamente (licença de uso comercial gratuita, veja audio/ATTRIBUTION.md): audio/bgm/ contém opções de BGM com ritmo forte; audio/sfx/<categoria>/ 149 efeitos sonoros em 16 categorias (transition impact riser camera ui text paper film light data scifi mech glass fluid crowd counter). Para encontrar um som, primeiro vá ao diretório da categoria; a lista está em sound-design.md. O nome do diretório para sparkle é light/ (não light/); S1 proíbe timbre, não ação – se a tela tem um clique/interruptor, deve-se colocar som Foley, mas metade de ui/ são sons de feedback sintéticos (tone/bleep/notification) que precisam ser ouvidos um a um, não podem ser aprovados por diretório inteiro (lista em sound-design 3.3); amostras longas e素材 de som leve têm listas específicas que precisam de tratamento especial (sound-design 4.1).
  • demos/ código-fonte de implementação de cada carta: a maioria são demos em escala de cinza autocontidas (alguns importam componentes de UI falsos em demos/_fixtures/Fixtures.tsx, alguns importam texturas de página real em demos/_textures/); copie para um projeto Remotion e execute; algumas demos usam @remotion/motion-blur (CameraMotionBlur), requer npm i @remotion/motion-blur; lista em demos/README.md.
  • template/ projeto renderizável completo: npm install && npx remotion render src/index.ts AiflPromo out/promo.mp4.
  • Testes (verificação automática no repositório, execute após adicionar nova demo/componente):
    • Testes unitários de funções puras: npm test (vitest na raiz do repositório, cobre mulberry32 / velocityAt / lagged / dampedSettle / handheld em assets/lib/helpers, asserções determinísticas).
    • Teste de fumaça de renderização de demo: python3 assets/scripts/smoke-render-demos.py renderiza o primeiro quadro de cada demo com duração e afirma que não trava (requer cd template && npm ci + motion-blur, veja seção de teste e verificação em demos/README.md).
    • CI (pr-checks.yml) já executa automaticamente: tsc compilação estrita de todas as demos + vitest + teste de fumaça de renderização.
  • jianying-export/ Módulo de exportação de projeto Jianying: mac_draft.py (testado com Jianying 11.2 no Mac), windows_draft.py (implementado de acordo com o caminho de suporte upstream, não verificado em dispositivo real), smoke_test.py (teste de fumaça mínimo para novos ambientes). Fluxo, extração de linha do tempo e método de criação de faixa em references/jianying-export.md; requer venv + pip install pyJianYingDraft.
  • gallery/ Galeria estática: Priorize fornecer a versão online diretamente ao usuário: https://vincentwei1021.github.io/video-shotcraft/library.html ; para executar localmente, primeiro execute gallery/fetch-media.sh para baixar amostras (mp4 não está no git), depois cd gallery && python3 -m http.server 4178. 157 cartas com 214 amostras dinâmicas podem ser navegadas/pesquisadas/selecionadas com cópia do nome da carta – adequado para o usuário escolher cenas enquanto vê as amostras.

Habilidades Relacionadas