Communitygithub.com

raycfu/effects

Adicione qualquer um dos 51 efeitos de vídeo a um vídeo de pessoa falando (órbita, holofote, widgets de vidro, linha do tempo, lista de verificação, parede de manchetes, caixa de comentários, leque de telefones, gráfico de vidro líquido, corte combinado, alternâncias do iPhone, placa de LED, zoom por cima do ombro, pop-ups do iMessage, grade de posicionamento e muito mais). Os efeitos acompanham o rosto do falante e podem ficar atrás da cabeça. Use quando o usuário digitar /effects, nomear um dos efeitos ou pedir para adicionar um efeito, zoom, gradação, adesivo ou animação ao vídeo.

O que é effects?

Este skill, 'raycfu/effects', fornece 51 efeitos de vídeo diferentes para aprimorar vídeos de pessoas falando, como aqueles criados para o Claude Code, Cursor, Codex e outras plataformas de agentes de IA. Ele é particularmente útil para criadores de conteúdo e desenvolvedores que desejam adicionar elementos visuais dinâmicos, como gráficos animados, sobreposições e zooms que rastreiam o rosto do falante. Os efeitos são acionados por comandos simples no chat (como `/effects orbit`) ou por descrições em linguagem natural, como 'adicione um zoom'. O skill gerencia automaticamente o rastreamento facial para posicionar os efeitos atrás ou ao redor do falante, sem cobrir o rosto. Ele suporta macOS, Windows e Linux, usando Python 3.12 e FFmpeg para renderização. O fluxo de trabalho envolve a configuração do ambiente (uma vez), arrastar um vídeo para o chat, especificar o efeito e os tempos e, em seguida, gerar o vídeo final com os efeitos aplicados. O skill também inclui opções avançadas para ajustar o posicionamento, a cor e o comportamento dos efeitos, garantindo resultados de alta qualidade e prontos para publicação.

Funciona com✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/raycfu/claude_design_skills/tree/HEAD/effects

Perguntar na sua IA favorita

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

Documentação

Efeitos: 51 efeitos de vídeo (por Ray, @raycfu)

O usuário geralmente não é técnico. Mantenha as respostas curtas e amigáveis, faça o trabalho por eles e nunca peça para executarem comandos sozinhos.

Todos os caminhos abaixo são relativos à pasta deste skill (a pasta onde este SKILL.md está). Use o caminho absoluto nos comandos.

1. Primeira execução: configuração (uma vez)

Execute bash scripts/setup.sh. Ele imprime READY quando terminar (na primeira vez leva de 1 a 3 minutos).

  • NEED_FFMPEG: instale para eles. No Mac: brew install ffmpeg (se brew estiver faltando, peça para instalarem o Homebrew de brew.sh primeiro). No Windows: winget install ffmpeg.
  • NEED_PYTHON: instale Python 3.12 (Mac: brew install [email protected], Windows: winget install Python.Python.3.12), depois execute a configuração novamente.
  • No Windows, o Python está em .venv\Scripts\python.exe em vez de .venv/bin/python.
  • Windows sem bash: execute py -3.12 -m venv .venv, depois .venv\Scripts\python.exe -m pip install -r requirements.txt. Corte de fundo opcional mais limpo: baixe https://github.com/PeterL1n/RobustVideoMatting/releases/download/v1.0.0/rvm_mobilenetv3_fp32.onnx em models/.
  • NEED_PYTHON_312: o Python padrão não conseguiu instalar os pacotes. Instale Python 3.12 como acima e execute a configuração novamente.
  • Linhas de log inofensivas do TensorFlow Lite, MediaPipe ou OpenCV (INFO:, WARNING:, W0000, [ WARN) são normais. Apenas Done: ou saved significa sucesso.

2. Obter o vídeo e o efeito

  • Vídeo: o usuário arrasta o arquivo para o chat ou fornece um caminho. Um vídeo vertical de celular funciona melhor.
  • Efeito: de /effects <nome>, ou do que eles descreverem. Corresponda as palavras deles à tabela abaixo. Não tem certeza? Mostre a lista.
  • Nome e identificador deles: efeitos que mostram um perfil (glass-widgets, comment-box, pastel-word, profile-wall, headline-wall e outros) usam Ray / @raycfu como padrão. Pergunte ao usuário uma vez e passe name e handle em todos os efeitos.

3. Encontrar a temporização

  • Se eles disserem "na palavra X" ou "quando eu disser ...", execute .venv/bin/python scripts/words.py <video> e use esses tempos.
  • Se não fornecerem temporização, aplique o efeito no clipe inteiro ou pergunte qual parte (uma pergunta curta).
  • Janelas curtas ficam melhores: 1,5 a 4 segundos por efeito.

4. Rascunho, verificação, renderização

  1. Escreva o plano ao lado do vídeo como <video-name>_effects.json:
    {"effects": [
      {"fx": "orbit", "start": 3.2, "end": 6.0},
      {"fx": "backdrop-word", "start": 14.0, "end": 16.3, "text": "CLAUDE"}
    ]}
    
  2. Verifique os quadros primeiro (rápido): .venv/bin/python scripts/fx.py --plan <plan.json> <video> <folder>/check.png --still 4.5,15.2, usando o meio de cada efeito. Veja os PNGs você mesmo. Corrija o texto, a temporização ou as opções se algo parecer errado (cobrindo o rosto, cortado pela borda, ilegível).
  3. Renderize: .venv/bin/python scripts/fx.py --plan <plan.json> <video> <video-name>_effects.mp4. A saída mantém o áudio original. Renderiza em 1080p por padrão; adicione --width 2160 para 4K (mais lento).
  4. Diga a eles onde o arquivo está. Lembre-os em uma linha para assistir antes de publicar: é um rascunho, eles aprovam.

Um único efeito não precisa de plano: .venv/bin/python scripts/fx.py orbit <video> <out.mp4> --start 3 --end 6 --text "..." --opt key=value.

Os 51 efeitos

#Nome fxO que fazOpções (todas opcionais)
1noiseReels se acumulam atrás da sua cabeça, um a cada quarto de segundoimages (pasta de capturas de tela ou clipes), size
2lineupBlocos numerados se espalham em um arco acima da sua cabeçatext (nomes dos blocos unidos com |)
3locked-onSuportes de canto se prendem ao seu rosto, a câmera segue vocêzoom (padrão 1.35), text (tag)
4orbitSeus reels circulam sua cabeça: na frente na parte inferior, atrás na parte superiorimages, count, speed, size
5lean-inUm zoom rápido em uma palavrazoom (padrão 1.45, máx. 2), speed
6backdrop-wordUma palavra gigante cai atrás de vocêtext, color (hex), font (bold ou serif)
7spotlightApaga as luzes, mantém você iluminadotext (palavra brilhante atrás de você), color, push
8the-billImprime suas instruções como um recibo na parede acima da sua cabeçatext (linhas unidas com |)
9moodyUma gradação de cor dramáticagrade (moody, bw, warm, cool, pop)
10swipeUm controle deslizante de antes e depois varre vocêgrade (a aparência "depois")
11todoUm cartão de lista de verificação ao lado da sua cabeça marca itens enquanto você falatext (itens com |), ticks (segundos de vídeo com |), title
12comment-boxUma barra de comentários do Instagram digita uma palavra e a publicatext (padrão EFFECTS)
13tapUm botão Seguir aparece e vira Seguindoat (segundo do vídeo da virada), x, y (0 a 1), color
14pause-pointCongela o quadro e aponta para você com uma seta desenhada à mãotext (rótulo), color, label_x
15uninstallUma barra de desinstalação com falhas quebra o quadrotext
16reel-frameSeu vídeo encolhe em um cartão de reel do Instagramtext (identificador)
17shortcut-rainTeclas de atalho chovem atrás de vocêtext (teclas com |), count
18reject-stampUm grande carimbo vermelho bate na telatext, color, angle, y
19countdown-flipUm relógio de contagem regressiva 3, 2, 1 acima da sua cabeçafrom
20rabbit-holeO quadro se desloca em um túnel, girandoratio, speed, spin
21cover-starVocê se torna uma capa de revista, título atrás da sua cabeçatext (título), lines (com |), issue, color
22scribbleRabiscos de marcador se desenham ao seu redortext (rótulo), color
23glass-widgetsWidgets de vidro fosco e mini artefatos flutuam ao redor da sua cabeça, mais uma pílula Editado por Claudetext (número grande), name, handle, look (simple para a versão de 3 widgets)
24red-collageVocê em preto e branco, uma palavra vermelha gigante atrás, três linhas batemtext (palavra vermelha), lines (com |), tag
25split-headlineUm cartão de manchete desliza para baixo e empurra você para a metade inferiortext (linhas com |), hl (palavra destacada), pill
26pastel-wordSala lavanda, palavra gigante atrás de você, um cartão de perfil é seguidotext, name, handle
27check-pillsSala de papel quadriculado, quadros de reel atrás de você, um cursor clica em pílulas azuistext (pílulas com |), images
28timelineUma gradação de filme vermelha escura com uma linha do tempo de edição, um timecode REC e um indicador de reprodução brilhantetext (título), sub, tc
29headline-boxUm zoom com uma manchete de duas linhas, a segunda linha em uma caixa brancatext (linhas com |), zoom
30profile-wallSua grade de reels preenche a parede atrás de você enquanto um contador aumentaimages, count, label
31tier-listUma lista de níveis aparece e Claude voa para o nível Stitle, item, others
32broll-splitB-roll em cima com um adesivo de preço, você embaixoimages, text (tag)
33phone-fanSeus reels se espalham como uma mão de telefones sob uma mancheteimages, text (linhas com |)
34dot-revealSua cena se constrói a partir de pontos brilhantes e então se fixa na imagem completacolor, cell
35headline-wallSuas próprias manchetes se acumulam atrás da sua cabeça, então um total aparece na frentetext (headline::meta|...), total, label
36checklistUma lista de tarefas do Claude sob seu queixo: cada etapa gira, então fica verdetext (step::meta|...), title
37liquid-glass-graphUm cartão de vidro líquido sob seu queixo: um gráfico verde sobe enquanto o número aumentatext (rótulo), from, to (ex. 197K, 59%), color
38carousel-spinSeus reels giram ao seu redor em um carrossel 3D, depois desaceleram até pararimages, count, size, turns
39match-cutPáginas de notícias cortam em uma palavra, travadas em uma caixa vermelha atrás da sua cabeçatext (a palavra, padrão Claude), color
40apple-togglesUm cartão de configurações do iPhone sob seu queixo vira suas chaves, uma linha de cada veztext (linhas com |), ticks (segundos com |), color
41led-signAs luzes caem e uma placa de LED brilhante se digita atrás de vocêtext (linhas com |), color, push
42slow-pushUm zoom cinematográfico lento em seu rosto enquanto o ambiente derrete fora de focozoom (padrão 1.6), blur
43over-the-shoulder-zoomA câmera empurra para um canto superior e um gráfico de vidro líquido transparente aparece ao lado da sua cabeça (linha sobe, número aumenta), recua, depois o outro canto com um segundo gráfico de barras relacionado. Sua cabeça fica na frentetext (dois rótulos com |), to (dois números com |, ex. 197K|672K), zoom (padrão 2.0)
44messagesNotificações do iMessage aparecem uma após a outra, vidro cremoso com um brilho suave, empilhando-se acima da parte inferior do quadrotext (mensagens com |), title (padrão Messages), y
45place-in-gridVocê encolhe no bloco central da sua grade de perfil 3x3 em vidro fosco, então 8 reels aparecem ao seu redor, um por quadro, com contagens de visualizações do Instagram em cada blocoimages (pasta dos seus reels ou capas), views (9 contagens com |, a 9ª é sua)
46tape-labelUma tira nivelada de fita amarela com sua linha pousa no seu peito, mantida longe do seu rostotext
47select-resizeUma caixa de seleção azul com alças pega seu número acima da sua cabeça e um cursor o arrasta para maiortext (padrão 2X)
48wave-trimUm painel escuro acima da sua cabeça mostra sua voz; o silêncio pontilhado vermelho em ambas as extremidades colapsa até que apenas suas palavras restemnenhum
49huge-strikeUma palavra serifada enorme aparece atrás da sua cabeça, então uma linha vermelha a riscatext, at (segundos após o início do efeito quando o risco atinge, padrão 0.6)
50crayon-writeUm giz de cera vermelho escreve sua palavra atrás da sua cabeça, depois a sublinha e voa para longetext
51fan-buildSuas capas de reel se distribuem em um leque atrás da sua cabeça, uma carta de cada vezimages (pasta das suas capas), count (padrão 13)

Aparências nomeadas (mesmo efeito, uma aparência mais sofisticada; não adicionam à contagem):

  • glitter-spotlight = spotlight com look=sparkle: o ambiente escurece, raios dourados emanam de trás da sua cabeça, uma grande palavra dourada com um brilho, faíscas cintilantes e um brilho ao seu redor. text (a palavra), color, push.
  • cover-star com look=editorial: uma aparência de filme quente e suave, um cabeçalho clássico serifado atrás da sua cabeça, uma linha de edição e linhas de capa elegantes. text (cabeçalho), issue, lines (3 linhas com \|), right (linhas com \|), color, accent, lines_y, right_y.
  • liquid-glass-graph com look=bento: o gráfico ascendente se move para uma tela de vidro fumê atrás da sua cabeça, com blocos bento de vidro na sua frente (um donut, um KPI, barras). text, from, to, donut (29%::label), kpi (672K::label), bars (197\|140\|124::label).
  • apple-toggles agora fica acima de você, escondido atrás da sua cabeça, com um zoom suave (pos=below para o antigo cartão sob o queixo; overlap, zoom).

Aliases também funcionam: bill, to-do, follow, stamp, countdown, cover, rain, pause.

Regras

  • Nunca cubra o rosto. Tudo vai atrás da pessoa ou evita o rosto por si só; se um quadro de verificação ainda mostrar texto sobre o rosto, mova (x, y) ou encurte o texto.
  • Os efeitos são executados na ordem listada. Coloque os efeitos de câmera (locked-on, lean-in, spotlight) primeiro quando eles se sobrepuserem a outros.
  • O zoom nunca passa de 2x, para que o vídeo permaneça nítido.
  • Este skill adiciona apenas visuais. Efeitos sonoros e legendas são por conta do usuário (CapCut funciona bem).
  • Estas são versões iniciais. Seja honesto sobre isso se o usuário as comparar com um reel que viram.

Opções extras (Edição do Ray)

Estas foram adicionadas além dos efeitos iniciais para corrigir o que parecia estranho em filmagens reais. Passe-as como qualquer outra opção ("key": "value" em um plano, ou --opt key=value).

EfeitoOpçãoO que faz
qualquer efeito de cartão/órbitaplay=1Reproduz cada vídeo na pasta images dentro do seu cartão em vez de uma imagem estática
liquid-glass-graphpos=behindColoca o gráfico em uma tela de vidro escura atrás da sua cabeça em vez de sobre o peito
liquid-glass-graphsmoke=0.5..0.85Vidro fumê escuro em vez de vidro líquido transparente (sem cópia manchada do seu corpo)
liquid-glass-graph, over-the-shoulder-zoomto=$32,000Prefixos de moeda e separadores de milhares contam corretamente
checklistsmoke, scale=0.86, bottom=0.95, guard=0Cartão escuro legível, menor, posicionado baixo para nunca tocar seu rosto
checklistspan=2.9Segundos durante os quais as marcações caem, de modo que a última marcação coincida com seu gesto
spotlightflicker=0, lift=0.8Desliga o acender cintilante do néon ou abaixa a palavra para que sua cabeça cubra parte dela
cover-starmast_y=0.15Altura fixa do cabeçalho (combine com um corte mais apertado para que sua cabeça se sobreponha a ele)
comment-boxlock=1, avatar_color=#FDB827Fixa a folha de comentários no lugar, define a cor do avatar (a letra vem de handle)

Mãos na frente de um cartão: renderize o efeito, depois execute .venv/bin/python scripts/hands_front.py <original> <with_effect> <out>.

Qualidade do recorte: se models/rvm_mobilenetv3_fp32.onnx existir, todo efeito usa Robust Video Matting para o recorte da pessoa (cabelo mais limpo, sem cintilação). Defina FX_MATTE=mp para usar o segmentador MediaPipe original.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas