NanoSkill
Enviar sua skill

Automatizar Publicação no X (Twitter) – Competência de Agente

porJimLiu20Kestrelas no GitHubGitHub

Automatize a publicação de texto, imagens, vídeos e artigos longos no X (Twitter) usando um navegador Chrome real. Suporta vários modos, incluindo o plugin Codex Chrome, Computer Use e script CDP. Comece a partilhar conteúdo de forma eficiente.

TwitterVerificação de segurança aprovada
Prévia do resultado

Demo completa

Veja uma publicação no Twitter sobre uma ferramenta de produtividade de IA com imagens e hashtags relevantes preparadas para publicação.

Primeiros passos

Execute sua primeira tarefa

  1. a simple demonstration of the first step in using Post to X
    01

    Passo 1:Instalar

    Adicione a competência ao seu agente.

  2. a simple demonstration of the second step in using Post to X
    02

    Passo 2:Partilhar Ideia de Publicação

    Forneça as suas ideias de tweet, imagem, vídeo ou artigo e peça à competência para as preparar para publicação no X.

  3. a simple demonstration of the first step in using Post to X
    03

    Passo 3:Rever Antes de Publicar

    Reveja a publicação gerada e confirme antes de ser publicada.

Comando de instalação

$ npx skills add https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x

Sobre

A competência Publicar no X (Twitter) fornece uma solução robusta para automatizar a publicação de conteúdos no X, permitindo aos utilizadores partilhar eficientemente texto, imagens, vídeos e artigos longos. Esta ferramenta foi concebida para qualquer pessoa que pretenda otimizar a sua presença nas redes sociais, desde utilizadores individuais a criadores de conteúdos e profissionais de marketing. Integra-se com instâncias reais do navegador Chrome, garantindo compatibilidade com a plataforma do X, ao mesmo tempo que oferece opções de controlo flexíveis.

Esta competência destaca-se pelo suporte a vários modos de controlo do navegador, incluindo o plugin Codex Chrome, Chrome Computer Use e Modo de Script CDP. Esta adaptabilidade permite-lhe funcionar eficazmente em diferentes configurações e preferências dos utilizadores. Uma funcionalidade-chave é a capacidade de publicar Artigos do X detalhados diretamente a partir de ficheiros Markdown, lidando com tarefas complexas como o carregamento de imagens de capa e a incorporação de imagens de conteúdo, o que é inestimável para partilhar conteúdos aprofundados.

Os utilizadores podem aproveitar esta competência para uma variedade de cenários, como automatizar atualizações diárias nas redes sociais, publicar artigos de blogue ou relatórios abrangentes como Artigos do X, ou citar e comentar rapidamente outros tweets. Inclui verificações prévias úteis para garantir que o ambiente está corretamente configurado e fornece orientações claras para a resolução de problemas, tornando-a acessível mesmo para utilizadores novos na automação.

Recursos-chave

O que a torna poderosa

  • Publicação de Vários Conteúdos

    Publique texto, imagens e vídeos no X (Twitter) de forma integrada, lidando com diferentes tipos de mídia para diversas necessidades de compartilhamento de conteúdo.

  • Publicação de Artigos de Formato Longo

    Publique Artigos X a partir de arquivos Markdown, incluindo imagens de capa e imagens de conteúdo incorporadas, ideal para postagens detalhadas.

  • Modos Flexíveis de Controle do Navegador

    Suporta plugin Codex Chrome, Chrome Computer Use e Modo CDP Script, adaptando-se a vários ambientes de execução e preferências do usuário.

  • Funcionalidade de Citar Tweet

    Cite facilmente tweets existentes com seus comentários, facilitando o engajamento e a discussão na plataforma.

  • Verificações Prévias do Ambiente

    Inclui um script para verificar pré-requisitos necessários, como Chrome, Bun e permissões de acessibilidade, fornecendo orientação para quaisquer problemas.

Casos de uso

Quando usar

  • Automatizar Atualizações de Redes Sociais

    Criadores de conteúdo e profissionais de marketing podem agendar e automatizar suas postagens regulares, incluindo texto, imagens e vídeos, para manter uma presença ativa no X sem intervenção manual.

  • Publicar Artigos X Detalhados

    Jornalistas, blogueiros e analistas podem publicar artigos de formato longo diretamente do Markdown, completos com mídia rica, para compartilhar conteúdo aprofundado com seu público no X.

  • Citar e Comentar com Eficiência

    Os usuários podem citar tweets rapidamente e adicionar seus comentários, agilizando o processo de engajamento com tópicos em alta ou conteúdo de outros usuários no X.

SKILL.md

Publicar no X (Twitter)

Publica texto, imagens, vídeos e artigos de formato longo no X através de um navegador Chrome real.

No Codex, não confunda estes caminhos de navegador:

  • Plugin Chrome do Codex / @chrome / Extensão Chrome: use a habilidade chrome:Chrome empacotada e seu cliente de navegador Node REPL. Isto é necessário sempre que o usuário mencionar "Plugin Chrome do Codex", "Codex 自带的 Chrome 插件", @chrome, ou similar.
  • Uso do Computador com Chrome: use mcp__computer_use__.* contra a interface visível do Google Chrome apenas quando o usuário solicitar o Uso do Computador ou quando nenhuma preferência pelo plugin Chrome for declarada e o Uso do Computador estiver disponível.
  • Modo de script CDP: use apenas como alternativa quando o modo selecionado estiver indisponível ou o usuário solicitar explicitamente o modo CDP/script.

Diretório de Scripts

Importante: Todos os scripts estão localizados no subdiretório scripts/ desta habilidade.

Instruções de Execução para o Agente:

  1. Determine o caminho do diretório deste arquivo SKILL.md como {baseDir}
  2. Caminho do script = {baseDir}/scripts/<nome-do-script>.ts
  3. Substitua todos os {baseDir} neste documento pelo caminho real
  4. Resolva o ambiente de execução ${BUN_X}: se bun instalado → bun; se npx disponível → npx -y bun; caso contrário, sugira instalar o bun

Referência de Scripts:

ScriptFinalidade
scripts/x-browser.tsPostagens regulares (texto + imagens), alternativa CDP
scripts/x-video.tsPostagens de vídeo (texto + vídeo), alternativa CDP
scripts/x-quote.tsTweet com citação e comentário, alternativa CDP
scripts/x-article.tsPublicação de artigos de formato longo (Markdown), alternativa CDP
scripts/md-to-html.tsConversão de Markdown → HTML
scripts/copy-to-clipboard.tsCopiar conteúdo para a área de transferência
scripts/paste-from-clipboard.tsEnviar pressionamento de tecla de colagem real
scripts/check-paste-permissions.tsVerificar ambiente e permissões

Seleção do Modo de Execução (Obrigatório)

Escolha exatamente um modo antes de interagir com o X:

  1. Se o usuário solicitar explicitamente o plugin Chrome do Codex, @chrome, a extensão Chrome, ou "Codex 自带的 Chrome 插件", use o Modo Plugin Chrome do Codex. Não chame o Uso do Computador primeiro.
  2. Se o usuário solicitar explicitamente o Uso do Computador com Chrome, use o Modo de Uso do Computador com Chrome. Não recorra ao CDP, Playwright, ao Navegador integrado no aplicativo, ou ao plugin Chrome sem informar o usuário e obter aprovação.
  3. Se o usuário solicitar explicitamente o modo CDP/script, use o Modo de Script CDP.
  4. Caso contrário, prefira o Modo de Uso do Computador com Chrome. Para Artigos no X com imagens de conteúdo local em Markdown, use o fluxo testado do editor do X: insira cada imagem do corpo a partir da barra de ferramentas (Inserir -> Mídia -> botão de ícone do diálogo Adicionar fotos ou vídeo) no espaço reservado correspondente, depois exclua o texto do espaço reservado. Use o Modo de Script CDP apenas quando o modo de controle do navegador selecionado estiver indisponível ou o fluxo de upload/seleção da interface estiver não confiável.

Nunca use o Navegador integrado no aplicativo para fluxos de publicação no X.

Modo Plugin Chrome do Codex

Use este modo sempre que o usuário solicitar o plugin Chrome do Codex, @chrome, ou o caminho da Extensão Chrome. Isto usa o perfil real do Chrome e o login no X do usuário através do plugin Chrome empacotado, não o Uso do Computador e não o CDP.

Configuração

  1. Carregue a habilidade chrome:Chrome antes de trabalhar com o navegador.
  2. Use tool_search para node_repl js se a ferramenta js do Node REPL ainda não estiver visível.
  3. Inicialize o cliente do navegador Chrome exatamente como especificado na habilidade Chrome, então execute uma chamada leve como browser.user.openTabs() para verificar a conexão da extensão.
  4. Se a primeira chamada leve falhar, aguarde 2 segundos e tente novamente uma vez. Se ainda falhar, siga as verificações e etapas de recuperação da extensão da habilidade Chrome. Se as verificações passarem mas a comunicação ainda falhar, pergunte ao usuário antes de abrir uma nova janela do Chrome. Não mude para o Uso do Computador ou CDP silenciosamente.

Regras gerais

  • Use as APIs browser.tabs.*, tab.playwright.*, tab.cua.* e o seletor de arquivos do plugin Chrome para ações na interface do X.
  • Comandos de shell são permitidos para pré-processamento de Markdown e preparação do clipboard com HTML rico. Para imagens no corpo do Artigos do X, não confie na colagem de imagem do clipboard; use o fluxo de upload Inserir -> Mídia do editor.
  • Se o upload de um arquivo falhar com Não permitido, informe o usuário: Para habilitar o upload de arquivos, vá para chrome://extensions no Chrome, clique em Detalhes sob a extensão Codex e habilite "Permitir acesso a URLs de arquivo." Veja https://developers.openai.com/codex/app/chrome-extension#upload-files para detalhes.
  • Se o plugin Chrome relatar native pipe is closed, tente a chamada leve do navegador uma vez após 2 segundos e então execute as verificações de integridade da habilidade Chrome. Se o Chrome estiver em execução, a extensão estiver habilitada, e o manifesto do host nativo estiver correto, peça permissão para abrir uma nova janela do Chrome e tente novamente. Não continue enviando ações do navegador através do pipe quebrado.
  • Nunca clique em Publicar, Postar ou qualquer ação de envio externamente visível sem uma confirmação final explícita do usuário na conversa atual.

Artigos no X

  1. Converta Markdown e mantenha o mapa de imagens:
    ${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.json
    
  2. Leia a saída JSON para title, coverImage e contentImages (placeholderlocalPath).
  3. Abra ou crie o rascunho do artigo em https://x.com/compose/articles.
  4. Faça upload da capa com o fluxo do seletor de arquivos do plugin Chrome. Se o upload for bloqueado por permissões da extensão, pare e relate a correção exata de permissão acima.
  5. Preencha o título e então copie o HTML rico:
    ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.html
    
  6. Cole no corpo do artigo com um pressionamento de tecla de colagem real através do plugin Chrome. No macOS use Meta+V.
  7. Verifique se o texto do editor contém o corpo do artigo e os espaços reservados XIMGPH_. Não confie em tab.clipboard.readText() como prova do clipboard do sistema após escritas do shell; no macOS verifique com pbpaste se necessário.
  8. Para cada item em contentImages na ordem dos espaços reservados:
    • Localize o texto visível do espaço reservado (XIMGPH_N) e clique nele para posicionar o cursor lá.
    • Abra o menu da barra de ferramentas Inserir -> Mídia.
    • No modal, clique no botão de ícone com aria-label="Adicionar fotos ou vídeo"; não clique no texto/área de arrastar ou no campo de entrada de arquivo oculto.
    • Use o seletor de arquivos para fazer upload do localPath daquela imagem.
    • Após a imagem aparecer, se XIMGPH_N permanecer acima dela, selecione exatamente aquele espaço reservado e pressione Delete primeiro. Use Backspace apenas se Delete falhar e o texto selecionado for confirmado como sendo exatamente o espaço reservado.
    • Verifique se a contagem do espaço reservado para aquele XIMGPH_N é 0.
  9. Abra a Pré-visualização e verifique título, capa, corpo, links e imagens.
  10. Peça confirmação explícita antes de clicar em Publicar.

Preferências (EXTEND.md)

Verifique EXTEND.md na ordem de prioridade — o primeiro encontrado prevalece:

PrioridadeCaminhoEscopo
1.baoyu-skills/baoyu-post-to-x/EXTEND.mdProjeto
2${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-post-to-x/EXTEND.mdXDG
3$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.mdHome do usuário

Se nenhum for encontrado, use os padrões.

EXTEND.md suporta: Perfil padrão do Chrome

Pré-requisitos

  • Google Chrome ou Chromium
  • Ambiente de execução bun
  • Primeira execução: faça login manualmente no X (sessão salva)

Verificação Prévia (Opcional)

Antes do primeiro uso, sugira executar a verificação do ambiente. O usuário pode pular se preferir.

${BUN_X} {baseDir}/scripts/check-paste-permissions.ts

Verificações: Chrome, isolamento de perfil, Bun, Acessibilidade, área de transferência, pressionamento de tecla de colagem, conflitos do Chrome.

Se alguma verificação falhar, forneça orientações de correção por item:

VerificaçãoCorreção
ChromeInstale o Chrome ou defina a variável de ambiente X_BROWSER_CHROME_PATH
Diretório de perfilPerfil compartilhado em baoyu-skills/chrome-profile (veja a seção Perfil do Chrome em CLAUDE.md)
Ambiente de execução Bunbrew install oven-sh/bun/bun (macOS) ou npm install -g bun
Acessibilidade (macOS)Preferências do Sistema → Privacidade e Segurança → Acessibilidade → habilite o aplicativo de terminal
Cópia para a área de transferênciaGaranta que Swift/AppKit esteja disponível (ferramentas de linha de comando do Xcode no macOS: xcode-select --install)
Pressionamento de tecla de colagem (macOS)Igual à correção de Acessibilidade acima
Pressionamento de tecla de colagem (Linux)Instale xdotool (X11) ou ydotool (Wayland)

Referências

  • Postagens Regulares: Veja references/regular-posts.md para fluxo de trabalho manual, solução de problemas e detalhes técnicos
  • Artigos no X: Veja references/articles.md para guia de publicação de artigos de formato longo

Modo de Uso do Computador com Chrome

Use este modo quando o usuário solicitar explicitamente o Uso do Computador com Chrome, ou quando nenhuma preferência pelo plugin Chrome for declarada e o Codex puder controlar o Google Chrome com o Uso do Computador. Isto usa a janela existente do Chrome do usuário, cookies, login, extensões e sessão do X.

Regras gerais:

  • Inicie cada turno do assistente que controla o Chrome chamando get_app_state para Google Chrome.
  • Prefira ações de índice de elemento quando disponíveis; use coordenadas apenas para seleção de texto do editor ou arrastar seleção.
  • Não use o Navegador integrado no aplicativo, o plugin Chrome, Playwright ou CDP para ações na interface do X neste modo a menos que o usuário aprove uma mudança de modo.
  • Nunca clique em Publicar, Postar ou qualquer ação de envio externamente visível sem uma confirmação final explícita do usuário na conversa atual.

Postagens regulares:

  1. Abra ou navegue no Chrome para https://x.com/compose/post.
  2. Digite o texto da postagem no compositor usando o Uso do Computador.
  3. Para cada imagem, execute:
    ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts image /caminho/absoluto/para/imagem.png
    
  4. Cole com o Uso do Computador (super+v no macOS, control+v no Windows/Linux), então aguarde até que o X termine de fazer upload da mídia.
  5. Peça confirmação antes de clicar em Postar.

Postagens de vídeo:

  1. Abra ou navegue no Chrome para https://x.com/compose/post.
  2. Digite o texto da postagem no compositor.
  3. Use a interface visível de upload de mídia/seletor de arquivos para anexar o vídeo.
  4. Aguarde o upload e o processamento terminarem.
  5. Peça confirmação antes de clicar em Postar.

Citações de tweet:

  1. Abra a URL do tweet no Chrome.
  2. Use a interface visível de citação/repostagem para escolher Citar.
  3. Digite o comentário.
  4. Peça confirmação antes de clicar em Postar.

Artigos no X:

  1. Converta Markdown e mantenha o mapa de imagens:
    ${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.json
    
  2. Leia a saída JSON para title, coverImage e contentImages (placeholderlocalPath).
  3. No Chrome, abra https://x.com/compose/articles, crie ou abra o rascunho, faça upload da capa se presente e preencha o título.
  4. Copie HTML rico para a área de transferência:
    ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.html
    
  5. Cole no corpo do artigo com o Uso do Computador.
  6. Para cada entrada em contentImages na ordem dos espaços reservados:
    • Localize o texto exato do espaço reservado visível como XIMGPH_3 e clique nele para definir o ponto de inserção.
    • Abra o menu suspenso Inserir da barra de ferramentas, escolha Mídia, então clique no botão de ícone do modal rotulado Adicionar fotos ou vídeo.
    • Use o seletor de arquivos nativo para escolher o localPath da imagem.
    • Aguarde até que o bloco da imagem apareça e qualquer atividade de upload termine.
    • Se o espaço reservado permanecer acima da imagem inserida, selecione novamente exatamente aquele texto do espaço reservado e pressione Delete primeiro. Use Backspace apenas se Delete falhar e o texto selecionado for confirmado como sendo exatamente o espaço reservado.
  7. Verifique se nenhum espaço reservado XIMGPH_ permanece e as imagens esperadas aparecem.
  8. Abra a Pré-visualização e verifique título, capa, corpo, links e imagens.
  9. Peça confirmação explícita antes de clicar em Publicar.

Se a seleção do Uso do Computador, o upload da barra de ferramentas ou o controle do seletor de arquivos se tornar não confiável, pare e relate o bloqueio em vez de mudar para o plugin Chrome ou CDP silenciosamente.


Modo de Script CDP (Alternativa)

Use as seções de script abaixo apenas quando o modo de controle do navegador selecionado estiver indisponível, não confiável ou explicitamente não solicitado. Esses scripts iniciam ou reutilizam uma instância real do Chrome via CDP e mantêm o navegador aberto para revisão.

Não use o Modo de Script CDP quando o usuário solicitar explicitamente o plugin Chrome do Codex ou o Uso do Computador com Chrome, a menos que o usuário aprove a alternativa após você explicar o bloqueio.


Seleção do Tipo de Postagem

A menos que o usuário especifique explicitamente o tipo de postagem:

  • Texto simples + dentro de 10.000 caracteres → Postagem Regular (membros Premium suportam até 10.000 caracteres, não-Premium: 280)
  • Arquivo Markdown (.md) → Artigo no X

Postagens Regulares

${BUN_X} {baseDir}/scripts/x-browser.ts "Olá!" --image ./foto.png

Parâmetros:

ParâmetroDescrição
<texto>Conteúdo da postagem (posicional)
--image <caminho>Arquivo de imagem (repetível, máx 4)
--profile <dir>Perfil personalizado do Chrome

Nota: O script abre o navegador com o conteúdo preenchido. O usuário revisa e publica manualmente.

Nota do modo Codex: Se o usuário solicitou explicitamente o plugin Chrome do Codex, use o Modo Plugin Chrome do Codex. Caso contrário, se o Uso do Computador com Chrome estiver habilitado, use o Modo de Uso do Computador com Chrome em vez de executar x-browser.ts.


Postagens de Vídeo

Texto + arquivo de vídeo.

${BUN_X} {baseDir}/scripts/x-video.ts "Veja isso!" --video ./clip.mp4

Parâmetros:

ParâmetroDescrição
<texto>Conteúdo da postagem (posicional)
--video <caminho>Arquivo de vídeo (MP4, MOV, WebM)
--profile <dir>Perfil personalizado do Chrome

Nota: O script abre o navegador com o conteúdo preenchido. O usuário revisa e publica manualmente.

Nota do modo Codex: Se o usuário solicitou explicitamente o plugin Chrome do Codex, use o Modo Plugin Chrome do Codex. Caso contrário, se o Uso do Computador com Chrome estiver habilitado, use o Modo de Uso do Computador com Chrome em vez de executar x-video.ts.

Limites: Regular máx 140s, Premium 60min. Processamento: 30-60s.


Citações de Tweet

Citar um tweet existente com comentário.

${BUN_X} {baseDir}/scripts/x-quote.ts https://x.com/user/status/123 "Ótima percepção!"

Parâmetros:

ParâmetroDescrição
<url-do-tweet>URL para citar (posicional)
<comentário>Texto do comentário (posicional, opcional)
--profile <dir>Perfil personalizado do Chrome

Nota: O script abre o navegador com o conteúdo preenchido. O usuário revisa e publica manualmente.

Nota do modo Codex: Se o usuário solicitou explicitamente o plugin Chrome do Codex, use o Modo Plugin Chrome do Codex. Caso contrário, se o Uso do Computador com Chrome estiver habilitado, use o Modo de Uso do Computador com Chrome em vez de executar x-quote.ts.


Artigos no X

Artigos longos em Markdown (requer X Premium).

${BUN_X} {baseDir}/scripts/x-article.ts article.md
${BUN_X} {baseDir}/scripts/x-article.ts article.md --cover ./capa.jpg

Parâmetros:

ParâmetroDescrição
<markdown>Arquivo Markdown (posicional)
--cover <caminho>Imagem de capa
--title <texto>Substituir título

Frontmatter: title, cover_image suportados no front matter YAML.

Nota do modo Codex: Se o usuário solicitou explicitamente o plugin Chrome do Codex, siga o Modo Plugin Chrome do Codex acima. Se o usuário solicitou explicitamente o Uso do Computador com Chrome, siga o Modo de Uso do Computador com Chrome. Caso contrário, prefira o Uso do Computador com Chrome; para artigos em Markdown com imagens de conteúdo local, use o fluxo de upload de imagem Inserir -> Mídia da barra de ferramentas antes de recorrer ao x-article.ts no Modo de Script CDP.

Nota de alternativa CDP: O script abre o navegador com o artigo preenchido. O usuário revisa e publica manualmente a menos que --submit seja usado.

Segurança na publicação: Não use --submit ou clique em Publicar a menos que o usuário confirme explicitamente a ação de publicação final.

Verificação Pós-Composição: O script verifica automaticamente após todas as imagens serem inseridas:

  • Espaços reservados XIMGPH_ restantes no conteúdo do editor
  • Contagem esperada vs real de imagens

Se a verificação falhar (avisos na saída), alerte o usuário com os problemas específicos antes de publicar.


Solução de Problemas

Porta de depuração do Chrome não está pronta

Apenas para alternativa CDP: se um script falhar com Chrome debug port not ready ou Unable to connect, elimine as instâncias CDP existentes do Chrome primeiro e tente novamente:

pkill -f "Chrome.*remote-debugging-port" 2>/dev/null; pkill -f "Chromium.*remote-debugging-port" 2>/dev/null; sleep 2

Importante: Isto deve ser feito automaticamente — ao encontrar este erro, elimine as instâncias CDP do Chrome e tente novamente o comando sem perguntar ao usuário.

Notas

  • Primeira execução: login manual necessário (sessão persiste)
  • No Modo Plugin Chrome do Codex e no Modo de Uso do Computador com Chrome, use a sessão existente do Chrome do usuário e não inicie um perfil CDP separado
  • Os scripts CDP apenas preenchem o conteúdo no navegador por padrão; o usuário deve revisar e publicar manualmente a menos que --submit seja explicitamente usado
  • Multiplataforma: macOS, Linux, Windows

Suporte a Extensões

Configurações personalizadas via EXTEND.md. Veja a seção Preferências para caminhos e opções suportadas.

FAQ