Communitygithub.com

geoqiao/short-video-skills

Publica vídeos curtos no Douyin, Weixin Video e Xiaohongshu (apenas escreve roteiro para Bilibili): primeiro consulta palavras-chave sugeridas do Douyin, Xiaohongshu e Google, escreve título, descrição, hashtags, texto de capa e comentário fixado; depois usa playwright-cli para preencher formulários de publicação no Chrome já logado, enviar vídeos e capas, definir coleção, localização, declaração de IA (quando usa IA), tópicos quentes e eventos. Funciona independentemente de como o vídeo foi feito. Por padrão, para antes do botão de publicar; só clica após o usuário confirmar explicitamente 'publicar'. Útil para escrever/editar textos de publicação, consultar palavras sugeridas, selecionar hashtags, postar vídeos em nome do usuário, trocar vídeo ou capa, verificar formulário preenchido.

O que é short-video-skills?

Esta skill é um assistente completo para publicação de vídeos curtos em plataformas chinesas (Douyin, Weixin Video, Xiaohongshu e Bilibili apenas com roteiro). Ela opera em duas fases: primeiro, gera o texto de publicação (título, descrição, hashtags, texto de capa e comentário fixado) baseado em palavras-chave sugeridas extraídas em tempo real do Douyin, Xiaohongshu e Google, garantindo que o conteúdo esteja alinhado com a intenção de busca dos usuários. Em seguida, usando o playwright-cli, a skill conecta-se a uma instância do Chrome já logada nas plataformas, preenche automaticamente os formulários de publicação, faz upload de vídeo e capa (em formatos 4:3 e 3:4), configura coleção, localização, declaração de uso de IA, tópicos quentes e eventos. A skill é projetada para ser segura: nunca publica sem autorização explícita do usuário, para antes do botão de publicar, e só clica após comando verbal. Ela também verifica pós-publicação se o vídeo apareceu na lista de obras e registra o horário. O fluxo é modular, com scripts independentes para cada etapa, validação visual e textual a cada passo, e tratamento de peculiaridades de cada plataforma (como dropdowns, elementos que só aparecem ao passar o mouse). A skill suporta os principais navegadores via playwright-cli e é ideal para criadores de conteúdo que desejam otimizar seu processo de publicação com precisão e eficiência.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/geoqiao/short-video-skills/tree/HEAD/skills/video-publish

Perguntar na sua IA favorita

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

Documentação

Publicar Vídeos Curtos

Dividido em duas etapas: primeiro escrever o texto, depois preencher o formulário. O texto é escrito no post.md do diretório atual (estrutura em references/post-template.md), e o formulário é preenchido de acordo com ele. As regras e fundamentos de cada plataforma estão em references/platform-rules.md; antes de publicar, a página de envio é a referência final.

1. Escrever o texto

O texto é escrito com base na intenção de busca: primeiro confirmar se os usuários realmente pesquisam dessa forma e qual termo usam; depois, o título, o texto da capa e a primeira frase da descrição abordam a mesma pergunta. No Douyin e no Weixin Video, a maior parte do tráfego vem de recomendações, não de buscas; a principal função dessas palavras é ajudar o sistema a exibir o vídeo para as pessoas certas.

Primeiro: consultar palavras sugeridas

  1. Liste as perguntas que este vídeo pode responder. Cada pergunta corresponde a um tipo de intenção: conhecer o protagonista ("O que é X?", "X é bom?"), escolher ferramentas ("X vs Y", "qual é melhor"), conceitos ("o que significa tal termo"), como fazer ("como usar X").
  2. Leia as palavras sugeridas para confirmar se os usuários realmente pesquisam assim e qual termo usam. Palavras sugeridas não têm volume de busca, apenas indicam que alguém pesquisou. Releia no dia da publicação; não use resultados armazenados de dias anteriores.
    • Douyin: conecte-se ao Chrome já logado do usuário (veja "Conectar ao navegador" abaixo), abra uma guia www.douyin.com e ative-a, altere o SEEDS no scripts/douyin-suggest.js e execute playwright-cli -s=chrome --raw run-code --filename=scripts/douyin-suggest.js.
    • Xiaohongshu: abra uma guia www.xiaohongshu.com/explore, altere o SEEDS no scripts/xhs-suggest.js e execute. Cada palavra requer recarregar a página, cerca de 6 segundos por palavra; não ultrapasse 25 palavras por vez.
    • Google: node scripts/google-suggest.mjs '[["palavra-chave","pt-BR"],["seed","en"]]'; não precisa de navegador.
    • Esses três scripts são apenas de leitura. Feche apenas as guias que você abriu.
  3. Salve os resultados brutos como JSON com data, e referencie o nome do arquivo no texto.
  4. A intenção principal e completamente alinhada com o conteúdo vai para o título, capa e primeira frase da descrição. Intenções que só podem ser parcialmente respondidas (por exemplo, comparou apenas dois itens mas atende "qual é o melhor") vão apenas para as hashtags; caso contrário, quem clicar vai sair. Perguntas que aparecem repetidamente nas sugestões mas não são respondidas no vídeo não devem ser forçadas; anote-as como novo tópico.

Algumas experiências comprovadas:

  • Termos técnicos em inglês como palavra principal geralmente não trazem conteúdo relevante. Use a versão em chinês na capa e coloque o termo em inglês na descrição e hashtags.
  • Quando a forma como o vídeo se refere a algo é diferente da forma como o público chama, use a do público no título, capa e narração (por exemplo, o público pesquisa "contexto podre" não "contexto em decomposição").
  • As duas plataformas costumam usar termos diferentes; no título, use o que aparece em ambas.

Como escrever

  • Título: A pergunta que o público faria, mais uma conclusão específica. Use o termo que eles pesquisam. Termos que ninguém pesquisa não entram no título. Título, texto da capa e primeira frase da narração tratam do mesmo assunto.
  • Descrição: Primeira frase repete a pergunta do título e dá conclusão com números; depois lista os pontos abordados no vídeo, incluindo entidades e números mencionados; por fim, escreva as condições limitantes da fonte de dados; se usou IA, inclua declaração de IA (por exemplo, "Narração gerada por IA"). Escreva para o público, não sobre o processo de criação.
  • Hashtags: Termo exato do protagonista, objetos comparados no vídeo, palavras de categoria, e uma palavra ampla que atinja o público-alvo. Use apenas palavras realmente mencionadas no vídeo. Ao preencher o formulário, digite #palavra na página de publicação para ler o volume de visualizações; palavras muito genéricas com dezenas de bilhões de visualizações (por exemplo, #IA) devem ser substituídas na hora. No Douyin web, no máximo 5 hashtags; o nome da série vai para a coleção, não ocupa espaço de hashtag; no Weixin Video, pode adicionar mais uma ou duas, incluindo o nome da série.
  • Comentário fixado: Uma pergunta que o público pode responder com sua própria experiência, em eco com a pergunta no final do vídeo.
  • Texto da capa: Título em no máximo duas linhas, mais um gancho com número ou conclusão; o termo principal deve usar a forma como o público pergunta em chinês.
  • No texto, capa, narração e imagens, não apareçam URLs ou contas externas; não diga "vá para tal site" ou "pesquise tal coisa". Pode incentivar comentários, seguidores e visualização de coleções.
  • Se usou narração por IA, imagens geradas por IA ou avatar digital, faça a declaração de IA; a narração do code-video é sintetizada por IA, então todos os vídeos feitos com ele precisam da declaração. Os nomes das opções em cada plataforma estão em references/platform-rules.md.

2. Preencher o formulário

Seletores, armadilhas e práticas de cada plataforma:

  • Centro de Criadores do Douyin: references/douyin.md
  • Assistente do Weixin Video: references/weixin.md
  • Plataforma de Criação do Xiaohongshu: references/xiaohongshu.md

Regras

  • Não publique pelo usuário. Preencha o formulário e pare antes do botão de publicar, aguardando a verificação do usuário. Só clique depois que o usuário disser explicitamente "publicar" para este vídeo; a autorização para o vídeo anterior não se estende ao próximo.
  • Depois de clicar em publicar, verifique se o novo vídeo aparece na lista de obras e se o número da coleção e o número do episódio estão corretos. Registre o horário da publicação no post.md.
  • Não modifique nem exclua conteúdo já publicado na plataforma, a menos que o usuário solicite.
  • Itens que podem mudar a cada publicação, como localização, coleção, evento, pergunte ao usuário se não houver diretriz definida.
  • Feche apenas as guias que você abriu. Se uma guia contém um formulário ainda não publicado, não recarregue nem execute outros scripts nela.

Conectar ao navegador

Requer o playwright-cli e sua extensão para Chrome, com o usuário já logado nas plataformas no Chrome.

playwright-cli -s=chrome attach --extension=chrome   # O usuário clica em permitir na página que a extensão abre
playwright-cli -s=chrome tab-new <URL da página de publicação>
playwright-cli -s=chrome tab-list
playwright-cli -s=chrome tab-select <número>          # tab-new não muda a página alvo do run-code
playwright-cli -s=chrome --raw run-code --filename=<script.js>
playwright-cli -s=chrome screenshot --filename=<imagem.png>

O script do run-code é uma expressão async page => { … }; o valor retornado é impresso. Ao reconectar após desconexão, as guias abertas anteriormente desaparecem, e o formulário deve ser preenchido do zero.

Práticas gerais

  • Todo script começa com await page.bringToFront(). Quando o usuário está usando o Chrome ao mesmo tempo, a página de publicação costuma ficar em segundo plano; arrastar e soltar e cliques podem esperar até timeout; entradas de teclado enfileiradas antes do timeout podem ser inseridas quando a página volta ao primeiro plano, bagunçando a descrição. Se ocorrer timeout, limpe a caixa de descrição antes de re-preencher.
  • Um passo por script, verificando após cada um. Ao final de cada etapa, leia o innerText da área relevante ou tire um screenshot para confirmar que o valor realmente mudou antes de prosseguir.
  • Upload de vídeo: Tente primeiro playwright-cli -s=chrome drop "<seletor da área de upload>" --path=<mp4>. Em plataformas onde arrastar e soltar não aciona o upload, use scripts de injeção em scripts/: eles convertem o arquivo para base64 e escrevem um script run-code que usa DataTransfer para colocar o arquivo no input e disparar change. No modo de extensão, setInputFiles e o seletor de arquivos não funcionam.
  • Upload de capa: Primeiro abra o pop-up de capa, depois execute o script de injeção. Todas as três plataformas exigem duas imagens: capa horizontal 4:3 e capa vertical 3:4. Usar capa 16:3 cortará o título.
  • Dropdowns e caixas de busca: Muitos campos só são visíveis quando o dropdown está expandido. Se fill ou click retornar "element is not visible", clique primeiro no campo que exibe o valor atual (se necessário, use boundingBox ou obtenha as coordenadas via evaluate e clique com page.mouse.click), aguarde o campo de entrada aparecer e então insira o valor. Para campos que exigem busca acionada por digitação, use keyboard.type caractere por caractere; fill não aciona a busca.
  • Selecionar item de dropdown com precisão: Use correspondência exata de texto, ou no evaluate encontre um elemento com innerText exatamente igual e visível dentro da área do dropdown, então clique na posição. Filtrar por texto parcial pode clicar em contêineres externos e selecionar outro item. Após selecionar, leia o valor atual.
  • Botões que só aparecem ao passar o mouse: Primeiro page.mouse.move para o cartão, aguarde meio segundo, depois clique na posição do botão.
  • Opções em inglês: Algumas plataformas exibem opções em inglês (por exemplo, anotação de vídeo no Weixin Video); selecione com base no texto real exibido na página.

Após a publicação

No Data Center do Douyin, veja "termos de busca" e a proporção de busca nas fontes de tráfego, comparando com as palavras selecionadas. Anote os vídeos cuja redação foi alterada para que, na próxima comparação, seja possível distinguir o que funcionou. Os dados diários podem ser coletados com a skill video-data.

O que explicar na entrega

  • Intenção principal do texto, quais palavras sugeridas foram usadas, quais não foram usadas e o motivo.
  • O que foi preenchido em cada plataforma: título, número de hashtags, capa, coleção e número do episódio, localização, declaração, tópico quente ou evento.
  • Em qual etapa parou, quais itens não foram preenchidos ou estão inconsistentes com o texto, e o motivo.
  • Se clicou em publicar: horário da publicação, resultado da verificação da lista de obras, número da coleção.

Individual skills in this repo

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

Habilidades Relacionadas