Communitygithub.com

App Promo Video Studio

Produz e publica vídeos promocionais verticais para aplicativos a partir de capturas de emulador Android, de forma reproduzível e agnóstica ao app, gerando thumbnails personalizadas e enviando para YouTube, Facebook, Instagram e TikTok.

O que é App Promo Video Studio?

Esta skill, batizada de **App Promo Video Studio**, automatiza o processo completo de criação de vídeos promocionais para aplicativos, desde a captura de telas em um emulador Android até a publicação em múltiplas plataformas de mídia social. Ela é agnóstica em relação ao app: cada novo projeto requer apenas um arquivo JSON de especificação e seus próprios recursos visuais, sem necessidade de alterações no código. A skill gera capturas de tela limpas do emulador, compõe cenas gráficas em movimento (1080×1920), produz narrações neurais em inglês e urdu, sintetiza uma trilha sonora contínua, monta o vídeo final usando FFmpeg, cria thumbnails personalizadas nos formatos 9:16 e 16:9 e, por fim, prepara os uploads para YouTube, Facebook Page, Instagram e TikTok. É ativada quando o usuário deseja um vídeo promocional de aplicativo, trailer, demonstração ou clipe vertical para redes sociais, seja em inglês ou urdu, com envio direto para os canais. As plataformas suportadas incluem emulador Android (ADB), Python, FFmpeg e as APIs das redes sociais listadas. O designer usa um fluxo de trabalho em seis etapas (captura, composição de cenas, narração, música, montagem e thumbnail/publicação), com scripts reutilizáveis e verificação de qualidade em cada fase.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Azharthegreat/agent-skills/tree/HEAD/skills/app-promo-video-studio

Perguntar na sua IA favorita

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

Documentação

O que App Promo Video Studio faz?

Crie um vídeo promocional de aplicativo finalizado e honesto a partir de capturas de emulador e publique-o no YouTube, na sua Página do Facebook, Instagram e TikTok. Preserve a interface real do app; nunca invente funcionalidades, números ou alegações.

Esta skill é agnóstica em relação ao aplicativo. Funciona para qualquer app. Tudo é orientado por especificação: um novo app é um novo JSON de especificação mais suas próprias capturas de tela, gravações de demonstração, CTA, linhas de divulgação e falas de narração — sem alterações no código. A promoção da Astra Phone Directory (10 de outubro de 2026) é a referência funcional em examples/; copie-a e substitua o conteúdo do app. Para cada novo app, confirme a promessa de marketing, o conjunto real de funcionalidades, os dados de demonstração seguros, o link da Play Store e as linhas de divulgação honestas antes de produzir. Publique no próprio canal do YouTube, Página do Facebook, Instagram e TikTok da marca; apenas a playlist do YouTube específica do app difere entre apps.

Reutilize a skill carregada dentro de uma sessão. Descubra os caminhos das ferramentas em tempo de execução (which ffmpeg, emulator -list-avds); não codifique caminhos de máquina e mantenha os caminhos do repositório relativos.

Regras rígidas (não viole)

  • Apenas dados de demonstração seguros em um vídeo público. Registros de demonstração fabricados (nomes/avatars aleatórios, CNICs falsos) são aceitáveis; NUNCA um número real de uma pessoa privada ou do próprio proprietário. Confirme o conjunto de demonstração com o usuário se o aplicativo retornar dados ao vivo de terceiros.
  • Mostre todos os campos de dados. Cada cena de cartão exibe o cartão inteiro; não corte um campo.
  • Texto honesto. Sem funcionalidades, números, prêmios ou avaliações inventados. Mantenha a divulgação de diretório de terceiros e remoção de números no CTA e nas legendas.
  • Sem travessões em nenhum lugar (cenas, legendas, títulos, descrições, mensagens de commit). Use "-" ou divida a frase.
  • Miniatura personalizada, sempre. Nunca deixe uma plataforma escolher automaticamente um frame. Para um Reel / Short / TikTok (vertical) use o 9:16 thumb_9x16.png; apenas um upload de YouTube paisagem usa thumb_16x9.png. Um YouTube Short centraliza e corta uma miniatura 16:9 para uma faixa estreita de ~9:16, então mantenha o conteúdo principal na coluna central de ~405px e verifique cortando o centro 9:16 antes do upload.
  • Legendas/títulos em urdu em ROMAN URDU (latim), não em escrita urdu. A narração falada permanece em urdu; a legenda/título/descrição escrita para a versão urdu é em Roman Urdu.
  • Divulgação de IA: seja preciso, nunca automático. Leia a definição atual de cada plataforma sobre conteúdo gerado, alterado ou sintético por IA e responda de forma verdadeira. A narração é uma voz neural (sintética), portanto divulgue-a onde quer que as regras da plataforma cubram áudio sintético.
  • YouTube "Feito para crianças": sempre Não. Essas promoções são para adultos.
  • Rascunho primeiro, publique apenas com um sim explícito por plataforma. A publicação é voltada para o público e irreversível; prepare tudo em privado e aguarde a autorização. Marque o build no Play e registre cada URL de postagem + resultado posteriormente.

Fluxo de trabalho (seis etapas)

Detalhes completos em references/pipeline.md. Os scripts estão em scripts/, uma especificação de exemplo em examples/ (adicione suas próprias capturas de tela primeiro).

  1. Captura (emulador). Barra de status limpa com scripts/set_demo_statusbar.sh; captura de tela com adb exec-out screencap -p (prefixe comandos em /sdcard/ com MSYS_NO_PATHCONV=1). Prefira imagens estáticas em vez de screenrecord (que é instável). Limpe as pesquisas recentes para que o enquadramento seja consistente; corte cada cartão de resultado para o cartão branco inteiro.
  2. Composição das cenas. python scripts/make_scenes.py <spec.json> <assets_dir> <out_dir> -> s1.png..sN.png. Gramática: gancho -> captura da tela inicial -> um cartão por registro de demonstração -> declaração de capacidade -> CTA. Veja references/pipeline.md para as regras de design.
  3. Narração (EN + UR). python scripts/gen_vo.py <vo_spec.json> <out_dir>. Inglês en-US-AvaNeural, Urdu ur-PK-UzmaNeural. O script inclui a correção do SelectorEventLoop do Windows e a repetição em caso de erro 403. Escreva urdu natural, não uma tradução literal.
  4. Música. FFMPEG=<ffmpeg> scripts/build_music.sh <out.wav> <seconds> - tapete de acordes contínuo, normalizado para -16 LUFS para ser audível sob a narração. Passe alguns segundos a mais que o total das cenas. Verifique com volumedetect.
  5. Montagem. python scripts/build_video.py --scenes <dir> --vo <dir> --music <wav> --out <mp4> --ffmpeg <ffmpeg>. Temporiza automaticamente cada cena para sua linha de narração (para que tanto EN quanto UR caibam), faz transições suaves entre cenas com crossfade, mixa a música sob a voz. Verifique duração, níveis e quadros.
  6. Miniatura + publicação. python scripts/make_thumbnail.py <spec.json> <assets_dir> <out_dir> e depois siga references/publishing.md para os quatro canais (miniatura personalizada, divulgação honesta de IA, rascunho primeiro, confirme o canal alvo antes do upload).

Início rápido (a partir do exemplo)

SK=<skills-dir>/app-promo-video-studio   # onde a skill está instalada
FF=$(which ffmpeg); W=<scratch_dir>
python "$SK/scripts/make_scenes.py"   "$SK/examples/video_spec.example.json" "$SK/examples/assets" "$W/scenes"
python "$SK/scripts/gen_vo.py"        "$SK/examples/vo_en.json" "$W/vo_en"
FFMPEG="$FF" bash "$SK/scripts/build_music.sh" "$W/music_en.wav" 33
python "$SK/scripts/build_video.py" --scenes "$W/scenes" --vo "$W/vo_en" --music "$W/music_en.wav" --out "$W/promo_en.mp4" --ffmpeg "$FF"
python "$SK/scripts/make_thumbnail.py" "$SK/examples/video_spec.example.json" "$SK/examples/assets" "$W/thumb"

Substitua pelo urdu executando gen_vo.py com examples/vo_ur.json em vo_ur, reconstruindo a música alguns segundos a mais (as falas em urdu são mais longas) e montando com vo_ur.

Torne-a robusta e inteligente

  • Temporização automática (build_video.py) dimensiona cada cena para sua linha de narração, de modo que as mesmas cenas renderizem versões EN e UR limpas sem ajustes manuais de deslocamento.
  • Orientada por especificação (make_scenes.py, make_thumbnail.py leem um único JSON), de modo que um novo app seja uma nova especificação mais capturas de tela novas, não código novo.
  • Verifique cada etapa: captura a olho (registro correto, todos os campos), música volumedetect (~-15 dB médio = realmente na mixagem), renderização final (duração + níveis + quadros do gancho/cartão/declaração/CTA).
  • Falhe honestamente: se o edge-tts estiver bloqueado pela rede, envie cenas + música + scripts com timecodes e nomeie a voz como a única parte bloqueada. Nunca finja voz, dados ou alegações.

Referências

  • references/pipeline.md - captura, cenas, narração, música, montagem em detalhes.
  • references/publishing.md - os quatro canais, miniatura personalizada, regra de não-IA, contas/perfis, checklist por plataforma, portão de rascunho primeiro.
  • references/gotchas.md - todas as armadilhas que custaram tempo (música silenciosa, música mascarada, correção do edge-tts no Windows, distorção de caminho /sdcard, deriva de enquadramento do cartão, raízes de upload).
  • examples/ - a especificação de referência e as linhas de narração EN/UR; capturas de tela não são fornecidas.

Individual skills in this repo

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

Habilidades Relacionadas