Pular para o conteúdo
Skillpedia
Edição de vídeo48 mil · #3997

remotion-interactivity

Ajuda seu agente a organizar o conteúdo de vídeo para interatividade. Ele estrutura o material para que os vídeos possam ter elementos interativos.

O que ela faz

Esta ferramenta ajuda a tornar seus vídeos criados com Remotion mais interativos. Ela permite que você controle elementos como texto e imagens diretamente no editor, possibilitando selecionar, mover, redimensionar e girar.

Quando usar

  • ✓Quando você quer que o público interaja com elementos do vídeo.
  • ✓Ao criar vídeos onde partes específicas precisam ser editáveis.
  • ✓Para facilitar a edição de estilos e animações em vídeos Remotion.

Exemplo do que pedir para a IA

“Como faço para que o título do meu vídeo seja selecionável e redimensionável no editor?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/remotion-interactivity/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/remotion-interactivity/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você usa um código especial chamado `Interactive` em volta dos elementos HTML que quer tornar interativos. É importante nomear cada elemento e manter os estilos e animações escritos de forma simples e direta no código.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill remotion-interactivity

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/remotion-interactivity/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Quando Usar

  • Use quando este fluxo de trabalho upstream corresponder ao objetivo declarado do usuário.
  • Use quando a tarefa exigir os procedimentos documentados nesta habilidade.

Ao escrever marcações Remotion de uma maneira específica, o Remotion Studio consegue reconhecer a estrutura do código e torná-lo interativo:

  • Permitindo que itens sejam selecionados clicando neles
  • Permitindo arrastar e soltar, redimensionar e girar
  • Editando os estilos CSS
  • Tornando os keyframes e valores de easing editáveis

Se a marcação for muito complexa para o Studio torná-la interativa, os valores ficarão acinzentados.

Torne um elemento HTML interativo usando Interactive

Todo elemento HTML e SVG (exceto <Img>, que já é interativo) como <div> pode ser tornado interativo usando Interactive:

<Interactive.Div
  name="Greeting card"
  style={{fontSize: 80, padding: 24}}
>
  Hello
</Interactive.Div>

Isso permite que estilos e keyframes sejam definidos no Studio. Seja sensato, se um componente tiver muitos elementos, a linha do tempo pode ficar confusa.

Prefira texto inline

Se o texto for fixo e usado apenas uma vez, escreva-o diretamente dentro do elemento interativo em vez de extraí-lo para uma constante.

// 👍 Fixed copy stays editable
<Interactive.Div name="Title">
  Remotion Best Practices
</Interactive.Div>

Use uma prop ou variável apenas quando o texto for dinâmico ou reutilizado.

Dê nomes descritivos aos elementos interativos

Adicione uma prop name aos elementos para torná-los facilmente identificáveis. Evite nomes computados, codifique-os diretamente.

<>
  <Interactive.Div name="Hero title" style={{fontSize: 80}}>
    Launch day
  </Interactive.Div>
  <Img name="Avatar" src="https://remotion.media/image.jpeg" />
  <Video name="Background" src="https://remotion.media/video.mp4" />
  <Sequence name="Title">
    Launch day
  </Sequence>
</>

Mantenha todos os estilos CSS inline

A melhor maneira é simplesmente passar um objeto simples para style - sem referenciar constantes, sem espalhar objetos, sem cálculos.

<Interactive.Div
  style={{
    fontSize: 80,
    color: 'red',
  }}
>
  Hello World!
</Interactive.Div>
const baseStyle = useMemo(() => {
  return {
    fontSize: 12 // ❌ Non-inline styles are not supported
  }
}, []);

<Interactive.Div
  style={{
    ...baseStyle, // ❌ Spreading is not supported
    color: RED, // ❌ Referring to constants is not supported
    scale: frame * 10 // ❌ Math is not supported
  }}
>
  Hello World!
</Interactive.Div>

Anime usando interpolate()

Escreva animações como chamadas interpolate() inline na propriedade que muda. O intervalo de saída, easing, extrapolação e a propriedade output devem usar valores codificados diretamente.

O intervalo de entrada pode adicionalmente usar durationInFrames, fps, width e height desestruturados diretamente de useVideoConfig(). Identificadores simples como durationInFrames, multiplicação por um número como 2 * fps ou fps * 2, e subtração de um número como durationInFrames - 1 são suportados.

const {fps, durationInFrames} = useVideoConfig();

// 👍 Inline values can be standardized and keyframed
<Interactive.Div
  name="Product card"
  style={{
    color: 'white',
    fontSize: 80,
    scale: interpolate(frame, [0, fps], [0, 1], {
      easing: Easing.spring({damping: 200}),
      output: 'perceptual-scale',
      extrapolateLeft: 'clamp',
      extrapolateRight: 'clamp'
    }),
    rotate: interpolate(frame, [0, 1 * fps], ['0deg', '20deg'], {
      easing: Easing.spring({damping: 200}),
      extrapolateLeft: 'clamp',
      extrapolateRight: 'clamp'
    }),
    translate: interpolate(
      frame,
      [durationInFrames - 30, durationInFrames],
      ['0px 0px', '0px 120px'],
      {
        easing: Easing.spring({damping: 200}),
        output: 'perceptual-scale',
        extrapolateLeft: 'clamp',
        extrapolateRight: 'clamp'
      }
    ),
  }}
/>
const translateY = interpolate(frame, [0, 30], [0, 120]); // ❌ Cálculos devem estar diretamente na marcação

<Interactive.Div
  name="Cartão do Produto"
  style={{
    translate: translateY, // ❌ Apenas chamadas interpolate() inline são suportadas,
    rotate: interpolate(frame, [start, start + 10], [0, Math.PI]), // ❌ Não é possível usar cálculos com variáveis arbitrárias, não é possível usar constantes
    scale: interpolate(anyVariable, [0, 30], [0, 1]) // ❌ Só é possível interpretar a variável `frame`.
  }}
/>

…
Perguntas frequentes

O que significa 'interativo' neste contexto?

Significa que você pode usar o editor do Remotion para clicar, arrastar, redimensionar e girar elementos do seu vídeo, como se estivesse manipulando objetos em um programa de design.

Por que preciso escrever o código de uma maneira específica?

O editor do Remotion procura por um padrão específico no código para saber quais partes do vídeo podem ser controladas. Escrever o código dessa forma ajuda o editor a entender e oferecer as opções de interatividade.

Posso animar qualquer coisa?

Você pode animar propriedades como escala, rotação e posição usando uma função chamada `interpolate()`, mas os valores precisam ser escritos diretamente no código, sem cálculos complexos ou variáveis externas.

Detalhes

Descrição original do autor

Structure Remotion markup for interactivity

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3997
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas