screen-recording
Ajuda seu agente a criar demonstrações animadas e gravações de tela. Ele captura quadros, gerencia o tempo e adiciona anotações para tornar as explicações mais claras.
O que ela faz
Esta ferramenta cria vídeos curtos animados (GIFs) que mostram como usar um programa ou uma funcionalidade. Você pode adicionar setas, textos e destacar partes importantes para explicar melhor.
Quando usar
- ✓Para mostrar como usar uma nova função de um site.
- ✓Para explicar um erro que aconteceu em um programa.
- ✓Para criar um guia rápido de como fazer algo.
Exemplo do que pedir para a IA
“Crie um GIF animado mostrando como fazer login no site X, destacando o campo de senha.”
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
Mensagem pronta para colar
Como funciona
A ferramenta grava a tela do seu computador, tirando 'fotos' a cada segundo. Depois, ela junta essas fotos em um vídeo curto (GIF) e permite que você adicione anotações como setas e textos para explicar o que está acontecendo.
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 github/awesome-copilot --skill screen-recordingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/screen-recording/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Gravação de Tela
Crie demonstrações animadas em GIF que mostram um recurso ou fluxo de trabalho em ação — com anotações, tempo variável e ritmo adequado. Útil para descrições de PR, documentação e notas de lançamento.
Quando Usar Esta Habilidade
Use esta habilidade quando precisar:
- Gravar uma interação de UI com várias etapas como um GIF animado
- Criar uma demonstração mostrando o comportamento antes/depois
- Construir tutoriais anotados para documentação ou notas de lançamento
- Mostrar a reprodução ou correção de um bug em ação
Pré-requisitos
pip install playwright Pillow imageio numpy scipy mss -q
playwright install chromium
Fluxo de Trabalho Principal
1. Capturar quadros
Use o Playwright para percorrer a interação e capturar cada quadro:
from playwright.async_api import async_playwright
async def record_frames(url, steps, width=1400, height=900):
"""
steps: list of dicts with 'action' (async callable taking page)
and 'name' (frame filename)
"""
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page(viewport={"width": width, "height": height})
await page.goto(url, wait_until="networkidle")
for step in steps:
if step.get("action"):
await step["action"](page)
await page.wait_for_timeout(step.get("wait", 500))
await page.screenshot(path=step["name"])
await browser.close()
2. Montar GIF com imageio
Use imageio, não PIL, para gravação de GIF — o codificador GIF do PIL mescla quadros visualmente semelhantes, o que prejudica as animações.
import imageio.v3 as iio
from PIL import Image
import numpy as np
frames = []
durations = []
for frame_path, duration_ms in frame_list:
img = Image.open(frame_path)
frames.append(np.array(img))
durations.append(duration_ms)
iio.imwrite("demo.gif", frames, duration=durations, loop=0)
3. Tempo de quadro variável
O tempo uniforme faz tudo parecer muito rápido ou muito lento. Use durações variáveis:
| Fase | Duração | Por quê |
|---|---|---|
| Ação rápida (digitação, clique) | 100ms | Parece natural, mantém a energia |
| Pausa após a ação | 600-800ms | Permite que o espectador processe o que aconteceu |
| Mensagem principal/final | 500ms+ | O ponto principal precisa de tempo para ser absorvido |
4. Anotar quadros
Aplique anotações a quadros específicos usando a habilidade image-annotations:
from PIL import Image, ImageDraw, ImageFont
def annotate_frame(frame_path, annotations, out_path):
img = Image.open(frame_path)
draw = ImageDraw.Draw(img)
for ann in annotations:
# Apply annotation (rect, arrow, label, etc.)
pass
img.save(out_path)
5. Anotações com fade-in
Para uma aparência suave das anotações:
def apply_fade(base_frame, annotation_layer, alpha):
"""Blend annotation onto frame at given alpha (0.0 to 1.0)"""
blended = Image.blend(
base_frame.convert("RGBA"),
annotation_layer.convert("RGBA"),
alpha
)
return blended.convert("RGB")
# 2-frame pop-in at 10fps: 50% then 100%
faded_frames = [
apply_fade(base, annotations, 0.5), # frame 1: half opacity
apply_fade(base, annotations, 1.0), # frame 2: full opacity
]
A 10fps, use 2 quadros de fade (0,2s no total). A 30fps, use 3-4 quadros. Curvas de aceleração ficam ruins em FPS baixo — um simples aparecimento é mais rápido e legível.
Construir como um Script
A lógica de anotação fica complexa para qualquer coisa além de demonstrações triviais. Escreva um script dedicado (por exemplo, annotate_gif.py) com funções em vez de código inline. Você iterará no tempo e no posicionamento.
Testar Animações
Sempre teste isoladamente primeiro — não reconstrua a demonstração completa para testar um ajuste de fade:
# Small test GIF: 10 bare frames → fade frames → 15 hold frames
# Add a frame counter overlay for debugging:
draw.text((10, height - 30), f"F{i}/{total} a={alpha:.0%} FADE",
fill="white", font=small_font)
Gravação de Tela do Desktop (mss)
Para gravar aplicativos de desktop, terminais ou qualquer coisa fora de um navegador. Usa mss para captura de tela rápida.
import mss
from PIL import Image
import time
def record_gif(output_path, region=None, duration=5, fps=8):
"""Grava uma região da tela para GIF. region = {left, top, width, height} ou None para tela cheia."""
with mss.mss() as sct:
if region is None:
region = sct.monitors[1] # monitor principal
frames = []
t_end = time.time() + duration
…
Perguntas frequentes
Preciso instalar algo?
Sim, você precisa instalar algumas ferramentas de programação como 'playwright', 'Pillow' e 'imageio'. O Playwright ajuda a gravar a tela e as outras ajudam a criar o GIF.
Posso adicionar texto e setas?
Sim, você pode adicionar anotações como textos, setas e caixas para destacar partes importantes do seu GIF.
O GIF fica muito pesado?
Para manter o tamanho do arquivo razoável, é recomendado usar uma taxa de quadros (FPS) de 10 ou menos, especialmente para gravações da tela do desktop.
Detalhes
Descrição original do autor
Create annotated animated GIF demos and screen recordings for pull requests and documentation. Covers frame capture, timing, imageio-based GIF creation, and per-frame annotation workflows.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5361
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
blender-motion-state-inspection
Permite inspecionar detalhes de animações em 3D. É útil para verificar poses, movimentos e o alinhamento de personagens em animações.
affaan-m/ECC
manim-video
Faz seu agente criar vídeos explicativos animados. Ele usa o Manim para gerar gráficos e diagramas claros para conceitos técnicos.
affaan-m/ECC
remotion-video-creation
Orienta seu agente na criação de vídeos usando React com a biblioteca Remotion. Ele cobre boas práticas para animações, áudio, legendas e outros elementos visuais.
affaan-m/ECC