Communitygithub.com

iamaanahmad/gravação-de-demos-de-tela

Grave demonstrações limpas de produtos e aplicativos web - gravação scriptada em navegador com Playwright, refinamento de cursor e zoom, variações de velocidade, corte de tempo morto e sincronização com narração. Use quando o usuário deseja um passo a passo, tutorial, demo em vídeo de um aplicativo web ou uma gravação repetível.

O que é gravação-de-demos-de-tela?

Esta skill, 'Screen Recording and Demos', oferece um fluxo de trabalho repetível e profissional para criar demonstrações em vídeo de aplicações web e produtos digitais. Diferente de gravações manuais, o uso de scripts (principalmente com Playwright em Python) permite que, ao alterar a interface do usuário, você execute novamente o script em vez de regravar tudo manualmente, garantindo consistência e economia de tempo. A skill fornece um guia completo: desde a escolha do método adequado (Playwright para web apps, OBS Studio para desktop, Remotion para gravações polidas sem glitches) até dicas de produção visual, como uso de dados de demonstração, controle de viewport 1920x1080, pausas deliberadas e injeção de cursor. Na pós-produção, são apresentados comandos ffmpeg para cortar tempos mortos, acelerar esperas tediosas e aplicar zoom suave em regiões. A integração com narração é explicada em três passos: preparar roteiro, gravar voz, ajustar a velocidade da cena para sincronizar ação com fala. Ideal para desenvolvedores que precisam gravar tutoriais, demos de release ou walkthroughs de forma eficiente e com qualidade profissional. Suportada principalmente por Playwright e ferramentas de linha de comando como ffmpeg, e com sugestões para outras plataformas como OBS Studio e Remotion.

Funciona com~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/iamaanahmad/agents-video-editing-skills/tree/HEAD/skills/screen-recording-demos

Perguntar na sua IA favorita

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

Documentação

Gravação de Tela e Demonstrações

Uma gravação scriptada é repetível. Quando a interface do usuário muda, você executa o script novamente em vez de regravar manualmente.

Escolha o método

SituaçãoMétodo
Aplicação web que pode ser aberta em um navegadorGravação scriptada com Playwright
Aplicação desktop ou fluxo de trabalho em tela cheiaGravador do SO (OBS Studio, Windows Game Bar, macOS Screenshot)
Código fonte da aplicação está disponível e deseja-se um resultado polido e sem glitchesReconstruir telas como componentes estáticos no Remotion (veja remotion-programmatic-video)
CLIGravador de terminal (asciinema, VHS) ou um componente de terminal animado

Gravação com Playwright (Python)

pip install playwright && playwright install chromium
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    ctx = browser.new_context(
        viewport={"width": 1920, "height": 1080},
        record_video_dir="recordings/",
        record_video_size={"width": 1920, "height": 1080},
    )
    page = ctx.new_page()
    page.goto("https://example.com")
    page.wait_for_load_state("networkidle")
    page.wait_for_timeout(800)                       # deixe o espectador ler
    page.get_by_role("button", name="Sign in").click()
    page.get_by_label("Email").type("[email protected]", delay=60)   # digitação visível
    page.wait_for_timeout(1200)
    ctx.close()                                      # vídeo é finalizado ao fechar
    browser.close()

A saída é WebM. Converta:

ffmpeg -i recordings/xyz.webm -c:v libx264 -crf 18 -pix_fmt yuv420p -r 30 out/demo.mp4

Deixe com boa aparência

  • Dados de demonstração: use uma conta demo pré-estabelecida com dados realistas e não sensíveis. Nunca grave dados reais de clientes, tokens ou e-mails.
  • Janela: viewport fixo 1920x1080, esconda barras de favoritos e notificações, zoom leve (110 a 125 por cento) para que o texto seja legível em um celular.
  • Ritmo: pause de 0,5 a 1 segundo após cada ação. Digite com um atraso. Evite saltos instantâneos.
  • Cursor: Playwright não desenha um cursor. Injete um cursor pequeno no DOM ou adicione um na pós-produção (Remotion ou uma sobreposição).
  • Determinismo: aguarde por expect(locator).to_be_visible() em vez de tempos fixos de espera, depois adicione pausas intencionais para os espectadores.
  • Segredos: desfoque ou mascare campos no script da página (page.add_style_tag) antes de gravar.

Pós-produção

# Corte tempo morto: mantenha de 12 s a 41 s
ffmpeg -ss 12 -i demo.mp4 -t 29 -c:v libx264 -crf 18 out/trimmed.mp4

# Acelere esperas enfadonhas (ex.: 4x de 20 s a 30 s) precisa de divisão; o mais simples é cortar, acelerar, reunir
# Zoom em uma região: recorte e depois redimensione (x:y:w:h em pixels da fonte)
ffmpeg -i demo.mp4 -vf "crop=960:540:480:270,scale=1920:1080" out/zoom.mp4

Para zoom/pan animado suave seguindo o cursor, use Remotion (interpolate em scale e translate).

Sincronizar com narração

  1. Escreva o roteiro primeiro (video-planning), grave a narração (voiceover-tts).
  2. Grave a tela, depois ajuste a velocidade por cena para que cada ação corresponda à sua frase. Calcule velocidade = segundos_gravados / segundos_narração.
  3. Use receitas de velocidade no ffmpeg-essentials ou reajuste dentro da composição.

Lista de verificação

  • Nenhum dado pessoal, chaves de API ou URLs internas visíveis.
  • Texto legível em 1080p quando redimensionado para tela de celular.
  • Nenhum spinner de carregamento com mais de 1 segundo restante.
  • Áudio da máquina mudo, a menos que desejado.

Individual skills in this repo

This repo contains 6 individual skills — each has its own dedicated page.

iamaanahmad/captions-subtitles

Create, edit, translate and burn in captions and subtitles - transcribe speech with Whisper, write SRT/VTT/ASS files, style them, and hard-burn word-highlight captions for Shorts, Reels and TikTok. Use for any captioning, subtitle, transcript or accessibility request.

iamaanahmad/ffmpeg-essentials

Core FFmpeg and ffprobe recipes for trimming, joining, converting, resizing, compressing, speed changes, fades, audio extraction and GIF conversion. Use for any direct media transformation task, or when a video will not play, has odd dimensions, or is out of sync.

iamaanahmad/motion-design-craft

Motion design rules for programmatic and edited video - durations, easing, springs, staggering, read time for on-screen text, beat grids, transitions and visual hierarchy, plus the defaults that make a video look AI-generated. Use when animating scenes, choosing timings, or reviewing a video that feels off.

iamaanahmad/moviepy-python-video

Compose and edit video in pure Python with moviepy 2.x - overlay text, lower thirds and captions on footage, cut and join clips, add audio, build short single-file build.py videos without Node. Use when the user wants Python-based video editing or deterministic text over AI-generated video.

iamaanahmad/remotion-programmatic-video

Build videos as React code with Remotion - compositions, sequences, springs, interpolation, audio sync, data-driven props, studio preview and rendering to MP4. Use for explainers, product demos, release notes, data charts, branded templates, or any video that should be reproducible from code.

iamaanahmad/voiceover-tts

Generate and time narration with text-to-speech (ElevenLabs, OpenAI TTS, Kokoro, Piper) or prepare a recorded voice - script prep, per-scene audio files, pacing, pronunciation, cleanup and loudness. Use when the user needs a voiceover, narration, dubbing, or voice cloning guidance.

Habilidades Relacionadas