NanoSkill
Enviar tu skill

Habilidad del Agente para Automatizar Publicaciones en X (Twitter)

porJimLiu20Kestrellas de GitHubGitHub

Automatiza la publicación de texto, imágenes, videos y artículos de formato largo en X (Twitter) utilizando un navegador Chrome real. Admite varios modos, incluidos el complemento Codex para Chrome, Computer Use y el script CDP. Comienza a compartir contenido de manera eficiente.

twitterEscaneo de seguridad aprobado
Vista previa del resultado

Demo completa

Vea una publicación de Twitter sobre una herramienta de productividad de IA con imágenes relevantes y hashtags preparados para publicar.

Primeros pasos

Ejecuta tu primera tarea

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

    Paso 1:Instalar

    Agrega la habilidad a tu agente.

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

    Paso 2:Compartir idea de publicación

    Proporciona tus ideas de tweet, imagen, video o artículo y pide a la habilidad que las prepare para publicar en X.

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

    Paso 3:Revisar antes de publicar

    Revisa la publicación generada y confirma antes de que se publique.

Comando de instalación

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

Acerca de

La habilidad para publicar en X (Twitter) proporciona una solución sólida para automatizar la publicación de contenido en X, permitiendo a los usuarios compartir eficientemente texto, imágenes, videos y artículos de formato largo. Esta herramienta está diseñada para cualquier persona que busque optimizar su presencia en redes sociales, desde usuarios individuales hasta creadores de contenido y especialistas en marketing. Se integra con instancias reales del navegador Chrome, lo que garantiza la compatibilidad con la plataforma de X y ofrece opciones de control flexibles.

Esta habilidad se destaca por su soporte para múltiples modos de control del navegador, incluidos el complemento Codex para Chrome, Chrome Computer Use y el modo de script CDP. Esta adaptabilidad le permite funcionar de manera eficaz en diferentes configuraciones y preferencias de los usuarios. Una característica clave es su capacidad para publicar artículos detallados de X directamente desde archivos Markdown, manejando tareas complejas como la carga de imágenes de portada y la inserción de imágenes de contenido, lo cual es invaluable para compartir contenido en profundidad.

Los usuarios pueden aprovechar esta habilidad para una variedad de escenarios, como automatizar las actualizaciones diarias en redes sociales, publicar publicaciones completas de blog o informes como artículos de X, o citar y comentar rápidamente otros tweets. Incluye verificaciones previas útiles para asegurarse de que el entorno esté configurado correctamente y proporciona una guía clara para la resolución de problemas, lo que la hace accesible incluso para usuarios nuevos en la automatización.

Funciones clave

Qué la hace potente

  • Publicación de Contenido Múltiple

    Publica texto, imágenes y videos en X (Twitter) sin problemas, manejando diferentes tipos de medios para diversas necesidades de compartir contenido.

  • Publicación de Artículos Largos

    Publica X Articles desde archivos Markdown, incluyendo imágenes de portada e imágenes de contenido incrustadas, ideal para publicaciones detalladas.

  • Modos de Control de Navegador Flexibles

    Admite el plugin Codex Chrome, Chrome Computer Use y Modo CDP Script, adaptándose a varios entornos de ejecución y preferencias del usuario.

  • Funcionalidad de Citar Tweet

    Cita fácilmente tweets existentes con tus comentarios, facilitando la participación y discusión en la plataforma.

  • Verificaciones del Entorno Previas al Vuelo

    Incluye un script para verificar los requisitos previos necesarios como Chrome, Bun y permisos de accesibilidad, proporcionando orientación para cualquier problema.

Casos de uso

Cuándo usarla

  • Automatiza las Actualizaciones de Redes Sociales

    Los creadores de contenido y los mercadólogos pueden programar y automatizar sus publicaciones regulares, incluyendo texto, imágenes y videos, para mantener una presencia activa en X sin intervención manual.

  • Publica X Articles Detallados

    Periodistas, blogueros y analistas pueden publicar artículos largos directamente desde Markdown, completos con medios enriquecidos, para compartir contenido en profundidad con su audiencia en X.

  • Cita y Comenta de Forma Eficiente

    Los usuarios pueden citar tweets rápidamente y agregar sus comentarios, agilizando el proceso de interactuar con temas de tendencia o el contenido de otros usuarios en X.

SKILL.md

Publicar en X (Twitter)

Publica texto, imágenes, videos y artículos de formato largo en X a través de un navegador Chrome real.

En Codex, no confundas estas rutas de navegador:

  • Complemento de Chrome de Codex / @chrome / Extensión de Chrome: usa la habilidad incorporada chrome:Chrome y su cliente de navegador Node REPL. Esto es obligatorio cuando el usuario dice "Complemento de Chrome de Codex", "el complemento de Chrome propio de Codex", @chrome o similar.
  • Uso de Computadora con Chrome: usa mcp__computer_use__.* contra la interfaz visible de Google Chrome solo cuando el usuario solicite Uso de Computadora o no se indique preferencia por el complemento de Chrome y el Uso de Computadora esté disponible.
  • Modo de script CDP: úsalo solo como respaldo cuando el modo seleccionado no esté disponible o el usuario solicite explícitamente el modo CDP/script.

Directorio de scripts

Importante: Todos los scripts se encuentran en el subdirectorio scripts/ de esta habilidad.

Instrucciones de ejecución del agente:

  1. Determina la ruta del directorio de este archivo SKILL.md como {baseDir}
  2. Ruta del script = {baseDir}/scripts/<nombre-del-script>.ts
  3. Reemplaza todos los {baseDir} en este documento con la ruta real
  4. Resuelve el tiempo de ejecución ${BUN_X}: si bun instalado → bun; si npx disponible → npx -y bun; de lo contrario sugiere instalar bun

Referencia de scripts:

ScriptPropósito
scripts/x-browser.tsPublicaciones regulares (texto + imágenes), respaldo CDP
scripts/x-video.tsPublicaciones de video (texto + video), respaldo CDP
scripts/x-quote.tsCita de tweet con comentario, respaldo CDP
scripts/x-article.tsPublicación de artículos de formato largo (Markdown), respaldo CDP
scripts/md-to-html.tsConversión de Markdown → HTML
scripts/copy-to-clipboard.tsCopiar contenido al portapapeles
scripts/paste-from-clipboard.tsEnviar pulsación de pegado real
scripts/check-paste-permissions.tsVerificar entorno y permisos

Selección del modo de ejecución (Obligatorio)

Elige exactamente un modo antes de interactuar con X:

  1. Si el usuario solicita explícitamente el complemento de Chrome de Codex, @chrome, la extensión de Chrome o "el complemento de Chrome propio de Codex", usa el Modo de complemento de Chrome de Codex. No llames primero al Uso de Computadora.
  2. Si el usuario solicita explícitamente el Uso de Computadora con Chrome, usa el Modo de Uso de Computadora con Chrome. No recurras a CDP, Playwright, el navegador integrado en la app o el complemento de Chrome sin informar al usuario y obtener su aprobación.
  3. Si el usuario solicita explícitamente el modo CDP/script, usa el Modo de script CDP.
  4. De lo contrario, prefiere el Modo de Uso de Computadora con Chrome. Para Artículos de X con imágenes de contenido local en Markdown, usa el flujo probado del editor de X: inserta cada imagen del cuerpo desde la barra de herramientas (Insertar -> Multimedia -> botón de icono en el diálogo Agregar fotos o video) en su marcador de posición, luego elimina el texto del marcador. Usa el Modo de script CDP solo cuando el modo de control del navegador seleccionado no esté disponible o el flujo de carga/selección de la interfaz de usuario no sea confiable.

Nunca uses el navegador integrado en la app para los flujos de publicación en X.

Modo de complemento de Chrome de Codex

Usa este modo siempre que el usuario solicite el complemento de Chrome de Codex, @chrome o la ruta de la extensión de Chrome. Esto utiliza el perfil real de Chrome del usuario y su inicio de sesión en X a través del complemento de Chrome incorporado, no el Uso de Computadora ni CDP.

Configuración

  1. Carga la habilidad chrome:Chrome antes de trabajar con el navegador.
  2. Usa tool_search para node_repl js si la herramienta js de Node REPL no está visible.
  3. Inicializa el cliente del navegador Chrome exactamente como lo especifica la habilidad Chrome, luego ejecuta una llamada ligera como browser.user.openTabs() para verificar la conexión de la extensión.
  4. Si la primera llamada ligera falla, espera 2 segundos y vuelve a intentarlo una vez. Si aún falla, sigue los pasos de verificación de extensión y recuperación de la habilidad de Chrome. Si las verificaciones son correctas pero la comunicación sigue fallando, pregunta al usuario antes de abrir una nueva ventana de Chrome. No cambies al Uso de Computadora o CDP silenciosamente.

Reglas generales

  • Usa las API browser.tabs.*, tab.playwright.*, tab.cua.* y del selector de archivos del complemento de Chrome para las acciones de la interfaz de usuario de X.
  • Se permiten comandos de shell para el preprocesamiento de Markdown y la preparación del portapapeles con HTML enriquecido. Para las imágenes del cuerpo de un artículo de X, no dependas del pegado de imágenes desde el portapapeles; usa el flujo de carga Insertar -> Multimedia del editor.
  • Si una carga de archivo falla con No permitido, dile al usuario: Para habilitar la carga de archivos, ve a chrome://extensions en Chrome, haz clic en Detalles debajo de la extensión de Codex y habilita "Permitir acceso a las URL de archivos". Consulta https://developers.openai.com/codex/app/chrome-extension#upload-files para más detalles.
  • Si el complemento de Chrome informa tubería nativa cerrada, vuelve a intentar la llamada ligera al navegador una vez después de 2 segundos, luego ejecuta las comprobaciones de estado de la habilidad de Chrome. Si Chrome está en ejecución, la extensión está habilitada y el manifiesto del host nativo es correcto, pide permiso para abrir una nueva ventana de Chrome y vuelve a intentarlo. No sigas enviando acciones del navegador a través de la tubería rota.
  • Nunca hagas clic en Publicar, Enviar o cualquier acción de envío visible externamente sin la confirmación final explícita del usuario en la conversación actual.

Artículos de X

  1. Convierte Markdown y conserva el mapa de imágenes:
    ${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.json
    
  2. Lee la salida JSON para obtener title, coverImage y contentImages (placeholderlocalPath).
  3. Abre o crea el borrador del artículo en https://x.com/compose/articles.
  4. Sube la portada con el flujo del selector de archivos del complemento de Chrome. Si la carga está bloqueada por los permisos de la extensión, detente e informa la solución exacta de permisos anterior.
  5. Rellena el título, luego copia el HTML enriquecido:
    ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.html
    
  6. Pega en el cuerpo del artículo con una pulsación de pegado real a través del complemento de Chrome. En macOS usa Meta+V.
  7. Verifica que el texto del editor contenga el cuerpo del artículo y los marcadores de posición XIMGPH_. No confíes en tab.clipboard.readText() como prueba del portapapeles del sistema después de las escrituras del portapapeles del shell; en macOS verifica con pbpaste si es necesario.
  8. Para cada elemento de contentImages en el orden de los marcadores de posición:
    • Localiza el texto visible del marcador de posición (XIMGPH_N) y haz clic en él para colocar el cursor allí.
    • Abre el menú de la barra de herramientas Insertar -> Multimedia.
    • En el modal, haz clic en el botón con el icono que tiene aria-label="Agregar fotos o video"; no hagas clic en el texto/zona de arrastre ni en el campo de archivo oculto.
    • Usa el selector de archivos para cargar la localPath de esa imagen.
    • Después de que aparezca la imagen, si XIMGPH_N permanece encima de ella, selecciona exactamente ese marcador y presiona Eliminar primero. Usa Retroceso solo si Eliminar falla y se confirma que el texto seleccionado es exactamente el marcador.
    • Verifica que el recuento de marcadores para ese XIMGPH_N sea 0.
  9. Abre la Vista previa y verifica el título, la portada, el cuerpo, los enlaces y las imágenes.
  10. Pide confirmación explícita antes de hacer clic en Publicar.

Preferencias (EXTEND.md)

Verifica EXTEND.md en orden de prioridad: el primero que se encuentre gana:

PrioridadRutaÁmbito
1.baoyu-skills/baoyu-post-to-x/EXTEND.mdProyecto
2${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-post-to-x/EXTEND.mdXDG
3$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.mdHogar del usuario

Si no se encuentra ninguno, usa los valores predeterminados.

EXTEND.md admite: Perfil de Chrome predeterminado

Requisitos previos

  • Google Chrome o Chromium
  • Tiempo de ejecución bun
  • Primera ejecución: inicia sesión en X manualmente (la sesión se guarda)

Verificación previa al vuelo (Opcional)

Antes del primer uso, sugiere ejecutar la verificación del entorno. El usuario puede omitirla si lo prefiere.

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

Verificaciones: Chrome, aislamiento del perfil, Bun, Accesibilidad, portapapeles, pulsación de pegado, conflictos de Chrome.

Si alguna verificación falla, proporciona orientación de solución por elemento:

VerificaciónSolución
ChromeInstala Chrome o establece la variable de entorno X_BROWSER_CHROME_PATH
Directorio de perfilPerfil compartido en baoyu-skills/chrome-profile (consulta la sección Perfil de Chrome en CLAUDE.md)
Tiempo de ejecución Bunbrew install oven-sh/bun/bun (macOS) o npm install -g bun
Accesibilidad (macOS)Configuración del Sistema → Privacidad y Seguridad → Accesibilidad → habilita la app de terminal
Copia del portapapelesAsegúrate de que Swift/AppKit estén disponibles (herramientas CLI de Xcode en macOS: xcode-select --install)
Pulsación de pegado (macOS)Igual que la solución de Accesibilidad anterior
Pulsación de pegado (Linux)Instala xdotool (X11) o ydotool (Wayland)

Referencias

  • Publicaciones regulares: Consulta references/regular-posts.md para conocer el flujo de trabajo manual, la resolución de problemas y los detalles técnicos
  • Artículos de X: Consulta references/articles.md para obtener la guía de publicación de artículos de formato largo

Modo de Uso de Computadora con Chrome

Usa este modo cuando el usuario solicite explícitamente el Uso de Computadora con Chrome, o cuando no se indique preferencia por el complemento de Chrome y Codex pueda controlar Google Chrome con el Uso de Computadora. Esto utiliza la ventana de Chrome existente del usuario, las cookies, el inicio de sesión, las extensiones y la sesión de X.

Reglas generales:

  • Comienza cada turno del asistente que controle Chrome llamando a get_app_state para Google Chrome.
  • Prefiere las acciones de índice de elementos cuando estén disponibles; usa coordenadas solo para la selección de texto del editor o la selección por arrastre.
  • No uses el navegador integrado en la app, el complemento de Chrome, Playwright o CDP para acciones de la interfaz de usuario de X en este modo a menos que el usuario apruebe un cambio de modo.
  • Nunca hagas clic en Publicar, Enviar o cualquier acción de envío visible externamente sin la confirmación final explícita del usuario en la conversación actual.

Publicaciones regulares:

  1. Abre o navega en Chrome a https://x.com/compose/post.
  2. Escribe el texto de la publicación en el compositor usando el Uso de Computadora.
  3. Para cada imagen, ejecuta:
    ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts image /absolute/path/to/image.png
    
  4. Pega con el Uso de Computadora (super+v en macOS, control+v en Windows/Linux), luego espera hasta que X termine de subir el medio.
  5. Pide confirmación antes de hacer clic en Enviar.

Publicaciones de video:

  1. Abre o navega en Chrome a https://x.com/compose/post.
  2. Escribe el texto de la publicación en el compositor.
  3. Usa la interfaz de usuario visible de carga de medios/selector de archivos para adjuntar el video.
  4. Espera a que se complete la carga y el procesamiento.
  5. Pide confirmación antes de hacer clic en Enviar.

Citar tweets:

  1. Abre la URL del tweet en Chrome.
  2. Usa la interfaz de usuario visible de citar/republicar para elegir Citar.
  3. Escribe el comentario.
  4. Pide confirmación antes de hacer clic en Enviar.

Artículos de X:

  1. Convierte Markdown y conserva el mapa de imágenes:
    ${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.json
    
  2. Lee la salida JSON para obtener title, coverImage y contentImages (placeholderlocalPath).
  3. En Chrome, abre https://x.com/compose/articles, crea o abre el borrador, sube la portada si está presente y rellena el título.
  4. Copia el HTML enriquecido al portapapeles:
    ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.html
    
  5. Pega en el cuerpo del artículo con el Uso de Computadora.
  6. Para cada entrada de contentImages en el orden de los marcadores de posición:
    • Localiza el texto exacto visible del marcador de posición, como XIMGPH_3, y haz clic en él para establecer el punto de inserción.
    • Abre el menú desplegable Insertar de la barra de herramientas, elige Multimedia, luego haz clic en el botón con el icono del modal etiquetado como Agregar fotos o video.
    • Usa el selector de archivos nativo para elegir la localPath de la imagen.
    • Espera hasta que aparezca el bloque de imagen y termine cualquier actividad de carga.
    • Si el marcador de posición permanece encima de la imagen insertada, vuelve a seleccionar exactamente ese texto del marcador y presiona Eliminar primero. Usa Retroceso solo si Eliminar falla y se confirma que el texto seleccionado es exactamente el marcador.
  7. Verifica que no queden marcadores de posición XIMGPH_ y que aparezcan las imágenes esperadas.
  8. Abre la Vista previa y verifica el título, la portada, el cuerpo, los enlaces y las imágenes.
  9. Pide confirmación explícita antes de hacer clic en Publicar.

Si la selección con el Uso de Computadora, la carga desde la barra de herramientas o el control del selector de archivos se vuelven poco confiables, detente e informa el bloqueo en lugar de cambiar al complemento de Chrome o CDP silenciosamente.


Modo de script CDP (Respaldo)

Usa las secciones de script a continuación solo cuando el modo de control del navegador seleccionado no esté disponible, no sea confiable o no se haya solicitado explícitamente. Estos scripts inician o reutilizan una instancia real de Chrome a través de CDP y mantienen el navegador abierto para su revisión.

No uses el Modo de script CDP cuando el usuario requiera explícitamente el complemento de Chrome de Codex o el Uso de Computadora con Chrome, a menos que el usuario apruebe el respaldo después de que expliques el bloqueo.


Selección del tipo de publicación

A menos que el usuario especifique explícitamente el tipo de publicación:

  • Texto sin formato + dentro de los 10,000 caracteres → Publicación regular (los miembros Premium admiten hasta 10,000 caracteres, no Premium: 280)
  • Archivo Markdown (.md) → Artículo de X

Publicaciones regulares

${BUN_X} {baseDir}/scripts/x-browser.ts "Hello!" --image ./photo.png

Parámetros:

ParámetroDescripción
<text>Contenido de la publicación (posicional)
--image <ruta>Archivo de imagen (repetible, máx. 4)
--profile <directorio>Perfil de Chrome personalizado

Nota: El script abre el navegador con el contenido rellenado. El usuario revisa y publica manualmente.

Nota del modo Codex: Si el usuario solicitó explícitamente el complemento de Chrome de Codex, usa el Modo de complemento de Chrome de Codex. De lo contrario, si el Uso de Computadora con Chrome está habilitado, usa el Modo de Uso de Computadora con Chrome en lugar de ejecutar x-browser.ts.


Publicaciones de video

Texto + archivo de video.

${BUN_X} {baseDir}/scripts/x-video.ts "Check this out!" --video ./clip.mp4

Parámetros:

ParámetroDescripción
<text>Contenido de la publicación (posicional)
--video <ruta>Archivo de video (MP4, MOV, WebM)
--profile <directorio>Perfil de Chrome personalizado

Nota: El script abre el navegador con el contenido rellenado. El usuario revisa y publica manualmente.

Nota del modo Codex: Si el usuario solicitó explícitamente el complemento de Chrome de Codex, usa el Modo de complemento de Chrome de Codex. De lo contrario, si el Uso de Computadora con Chrome está habilitado, usa el Modo de Uso de Computadora con Chrome en lugar de ejecutar x-video.ts.

Límites: Regular máx. 140s, Premium 60min. Procesamiento: 30-60s.


Citar tweets

Cita un tweet existente con un comentario.

${BUN_X} {baseDir}/scripts/x-quote.ts https://x.com/user/status/123 "Great insight!"

Parámetros:

ParámetroDescripción
<tweet-url>URL a citar (posicional)
<comment>Texto del comentario (posicional, opcional)
--profile <directorio>Perfil de Chrome personalizado

Nota: El script abre el navegador con el contenido rellenado. El usuario revisa y publica manualmente.

Nota del modo Codex: Si el usuario solicitó explícitamente el complemento de Chrome de Codex, usa el Modo de complemento de Chrome de Codex. De lo contrario, si el Uso de Computadora con Chrome está habilitado, usa el Modo de Uso de Computadora con Chrome en lugar de ejecutar x-quote.ts.


Artículos de X

Artículos de Markdown de formato largo (requiere X Premium).

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

Parámetros:

ParámetroDescripción
<markdown>Archivo Markdown (posicional)
--cover <ruta>Imagen de portada
--title <texto>Anular título

Frontmatter: title, cover_image admitidos en el front matter YAML.

Nota del modo Codex: Si el usuario solicitó explícitamente el complemento de Chrome de Codex, sigue el Modo de complemento de Chrome de Codex anterior. Si el usuario solicitó explícitamente el Uso de Computadora con Chrome, sigue el Modo de Uso de Computadora con Chrome. De lo contrario, prefiere el Uso de Computadora con Chrome; para artículos de Markdown con imágenes de contenido local, usa el flujo de carga de imágenes de la barra de herramientas Insertar -> Multimedia antes de recurrir a x-article.ts en el Modo de script CDP.

Nota de respaldo CDP: El script abre el navegador con el artículo rellenado. El usuario revisa y publica manualmente a menos que se use --submit.

Seguridad de publicación: No uses --submit ni hagas clic en Publicar a menos que el usuario confirme explícitamente la acción de publicación pública final.

Verificación posterior a la composición: El script verifica automáticamente después de que se hayan insertado todas las imágenes:

  • Marcadores de posición XIMGPH_ restantes en el contenido del editor
  • Recuento de imágenes esperado vs real

Si la verificación falla (advertencias en la salida), alerta al usuario con los problemas específicos antes de que publique.


Solución de problemas

Puerto de depuración de Chrome no listo

Solo para respaldo CDP: si un script falla con Puerto de depuración de Chrome no listo o No se puede conectar, elimina primero las instancias existentes de Chrome CDP y luego vuelve a intentarlo:

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

Importante: Esto debe hacerse automáticamente: al encontrar este error, elimina las instancias de Chrome CDP y vuelve a intentar el comando sin preguntar al usuario.

Notas

  • Primera ejecución: se requiere inicio de sesión manual (la sesión persiste)
  • En el Modo de complemento de Chrome de Codex y el Modo de Uso de Computadora con Chrome, usa la sesión de Chrome existente del usuario y no inicies un perfil CDP separado
  • Por defecto, los scripts CDP solo rellenan el contenido en el navegador; el usuario debe revisar y publicar manualmente a menos que se use --submit explícitamente
  • Multiplataforma: macOS, Linux, Windows

Soporte de extensión

Configuraciones personalizadas a través de EXTEND.md. Consulta la sección Preferencias para las rutas y opciones admitidas.

FAQ