Communitygithub.com

johnson7543/design

Grave, regenere e aplique vídeos de demonstração reais e reproduzíveis da interface do usuário para produtos ou designs neste repositório, usando captura de guia do Chrome orientada por cenários. Use quando solicitado a criar ou alterar um vídeo de prévia do produto ou suas ações gravadas; não use para animação sintética ou edição de vídeo não relacionada.

O que é design?

Esta skill permite que agentes de IA, como Claude Code ou Codex, criem e gerenciem vídeos de demonstração de produtos de forma automatizada e reproduzível. Utilizando captura nativa de guias do Chrome (tab-compositor), o agente pode registrar uma sequência de interações reais com a aplicação, como cliques, digitação e navegação, e então gerar um vídeo de alta qualidade (60 fps, codificação H.264) que demonstra o fluxo do produto. A skill lida com todo o ciclo de vida: criação de cenários de gravação, execução da gravação contra o servidor Vite local, verificação do resultado (duração, dimensões, quadros, suavidade) e aplicação dos ativos gerados no local apropriado do repositório (geralmente em `public/previews/`). É particularmente útil para desenvolvedores que desejam manter prévias de interface do usuário sempre atualizadas sem esforço manual, garantindo que as demonstrações sejam fiéis ao comportamento real do produto e não utilizem truques de pós-produção, como interpolação de quadros ou captura de tela via DevTools, que poderiam distorcer a representação visual.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/johnson7543/design/tree/HEAD/skills/record-product-demo

Perguntar na sua IA favorita

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

Documentação

Gravar Demonstração do Produto

Transforme a descrição do produto e das ações do usuário em um cenário de gravação versionado, execute-o na aplicação real e aplique os ativos gerados para a prévia solicitada.

Escolha o fluxo de trabalho

Fluxo de trabalho

  1. Localize a rota do produto, os seletores de interação estáveis e o componente que consome sua prévia. Preserve o conteúdo, a ordem, o enquadramento, a duração e o local de saída solicitados.

  2. Crie ou atualize scripts/demo-video-scenarios/<slug-do-produto>.json. Para a primeira demonstração, inicialize-o com npm run init:demo -- --product "<nome>" --route <rota> --consumer <arquivo>, depois substitua a ação inicial pela sequência solicitada. Mantenha o comportamento específico do produto no cenário, em vez de codificá-lo no gravador.

  3. Use ações reais do navegador. Adicione pausas deliberadas quando o visualizador precisar ver uma atualização com debounce, uma animação concluída ou um estado intermediário. Mantenha o tempo total das ações abaixo da duração da gravação; o tempo não utilizado se torna a espera final. Para animação contínua, orce sua execução completa mais pausas legíveis e adicione uma janela quality.motionChecks.

  4. Coloque a mídia gerada em public/previews/, a menos que o produto existente use outro local de ativo público. Defina application.consumerFiles e os caminhos públicos para que o executor verifique se os ativos foram aplicados. Corrija o consumidor primeiro ao adicionar uma nova prévia; sobrescrever uma saída já referenciada conta como aplicação de uma atualização.

  5. Execute:

    npm run record:demo -- --scenario scripts/demo-video-scenarios/<slug-do-produto>.json
    
  6. Verifique o resultado, não apenas a saída do comando:

    • O gravador executa verify:demo e deve passar na verificação exata de duração, dimensões, pixels quadrados, taxa de quadros média, contagem de quadros, codificação H.264 e nas verificações de movimento contínuo configuradas.
    • Abra cada folha de contato impressa (geral e de movimento) com view_image. Confirme valores digitados, alterações intermediárias do produto, movimento uniformemente distribuído, ambas as extremidades das transições e o estado final.
    • Execute npm run lint; execute as verificações exigidas por AGENTS.md para quaisquer alterações na IU da aplicação feitas ao aplicar a prévia.

Contrato de movimento suave

  • Prefira 60 fps genuínos para demonstrações de animação. Respeite o limite máximo de taxa de quadros relatado pela captura de origem; nunca anuncie uma saída mais suave duplicando quadros ou interpolando movimento WebGL.
  • Dê a uma transição importante tempo de cenário suficiente para ser lida claramente. Use a duração pretendida do produto; quando não houver nenhuma e a suavidade for central, comece com cerca de 2 a 3 segundos por direção e estenda o vídeo geral em vez de apressar as ações posteriores.
  • Marque cada intervalo que deve se mover continuamente em quality.motionChecks. A porta padrão não permite quadros duplicados consecutivos idênticos. Afrouxe-a apenas quando o produto intencionalmente mantiver um estado dentro desse intervalo e documente o motivo na descrição do cenário.
  • Julgue o ritmo visualmente a partir da folha de contato de movimento densa. Uma contagem de quadros válida não consegue detectar uma curva de easing abrupta ou com carga frontal.
  • Se a animação real do produto for instável e o usuário solicitar melhorar a suavidade, corrija o ritmo dos quadros ou o easing e execute as verificações relevantes da IU antes de gravar novamente. Caso contrário, preserve o comportamento do produto e explique a limitação, em vez de mascará-la na pós-produção.

Invariantes de captura

  • Grave a aplicação Vite real através do fluxo de compositor de guia nativo do Chrome. O Puppeteer pode fornecer o teclado, o ponteiro e o tempo, mas o produto deve realizar suas próprias atualizações de estado e renderização.
  • Não substitua a captura de guia nativa por amostragem de captura de tela do DevTools para movimento WebGL; isso pode omitir quadros intermediários e produzir uma transição falsa.
  • Não codifique acima da taxa de captura real nem use interpolação de movimento para atender a uma solicitação de suavidade.
  • Nunca capture a área de trabalho completa do usuário ou uma tela existente. A extensão local pode capturar apenas a guia do produto localhost selecionada.
  • Use recordingCss apenas para enquadrar a demonstração. Não altere a IU real do produto apenas para facilitar a gravação, a menos que o usuário também tenha solicitado essa alteração de IU.
  • Não adicione ações arbitrárias de avaliação de JavaScript aos cenários. Adicione uma ação de entrada real, com nome restrito, ao executor quando uma interação não for genuinamente suportada.
  • Se a captura de guia nativa não puder ser executada, relate o pré-requisito concreto em vez de gerar silenciosamente um vídeo simulado.

Interpretando solicitações

Infira rotas, seletores e consumidores de ativos existentes a partir do repositório. Pergunte apenas quando vários produtos ou posicionamentos de saída materialmente diferentes permanecerem plausíveis após inspeção.

Quando o usuário disser "criar/iniciar e aplicar uma demonstração para <produto>" sem detalhes técnicos, infira a rota implementada, o consumidor do catálogo, os seletores e as convenções de prévia existentes. Padrão para 8 segundos, 60 fps e enquadramento retrato apenas quando o repositório e a solicitação não fornecerem uma convenção melhor. Uma solicitação de demonstração não autoriza a implementação de um produto ausente.

Uma solicitação adequada pode ser tão simples quanto:

Use $record-product-demo para Design QR: digite a URL em duas partes, pause para a atualização da árvore, transforme 3D para 2D e vice-versa, depois aplique ao cartão do catálogo.

Exemplos de inicialização e prompts voltados ao usuário estão documentados em o fluxo de trabalho de vídeo de demonstração.

Habilidades Relacionadas