# Habilidad del Agente para Automatizar Publicaciones en X (Twitter)

> 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.

- Canonical: https://nanoskill.ai/es/skills/post-to-twitter
- Markdown: https://nanoskill.ai/es/skills/post-to-twitter.md
- Author: JimLiu
- Published: 2026-06-01T07:19:10.429Z
- Updated: 2026-07-25T04:34:26.608Z
- Language: es
- Source type: github
- Popularity signal: 20040

## Sources

- https://github.com/JimLiu/baoyu-skills

## Install

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

## About

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.

## Key features

- **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.

## Use cases

- **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.

## Result preview

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

![the demo of Post to X Agent Skill](https://file.nanoskill.ai/post-to-x-demo-1.jpg)

![the demo of Post to X Agent Skill](https://file.nanoskill.ai/post-to-x-demo-2.jpg)

![the demo of Post to X Agent Skill](https://file.nanoskill.ai/post-to-x-demo-3.jpg)

## Result walkthrough

### Paso 1：Instalar

Agrega la habilidad a tu agente.

![a simple demonstration of the first step in using Post to X](https://file.nanoskill.ai/post-to-x-step-1.jpg)

### 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.

![a simple demonstration of the second step in using Post to X](https://file.nanoskill.ai/post-to-x-step-2.jpg)

### Paso 3：Revisar antes de publicar

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

![a simple demonstration of the first step in using Post to X](https://file.nanoskill.ai/post-to-x-step-3.jpg)

## Skill definition

# 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**:
| Script | Propósito |
|--------|---------|
| `scripts/x-browser.ts` | Publicaciones regulares (texto + imágenes), respaldo CDP |
| `scripts/x-video.ts` | Publicaciones de video (texto + video), respaldo CDP |
| `scripts/x-quote.ts` | Cita de tweet con comentario, respaldo CDP |
| `scripts/x-article.ts` | Publicación de artículos de formato largo (Markdown), respaldo CDP |
| `scripts/md-to-html.ts` | Conversión de Markdown → HTML |
| `scripts/copy-to-clipboard.ts` | Copiar contenido al portapapeles |
| `scripts/paste-from-clipboard.ts` | Enviar pulsación de pegado real |
| `scripts/check-paste-permissions.ts` | Verificar 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:
   ```bash
   ${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` (`placeholder` → `localPath`).
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:
   ```bash
   ${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:

| Prioridad | Ruta | Ámbito |
|----------|------|-------|
| 1 | `.baoyu-skills/baoyu-post-to-x/EXTEND.md` | Proyecto |
| 2 | `${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-post-to-x/EXTEND.md` | XDG |
| 3 | `$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md` | Hogar 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.

```bash
${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ón | Solución |
|-------|-----|
| Chrome | Instala Chrome o establece la variable de entorno `X_BROWSER_CHROME_PATH` |
| Directorio de perfil | Perfil compartido en `baoyu-skills/chrome-profile` (consulta la sección Perfil de Chrome en CLAUDE.md) |
| Tiempo de ejecución Bun | `brew 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 portapapeles | Asegú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:
   ```bash
   ${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:
   ```bash
   ${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` (`placeholder` → `localPath`).
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:
   ```bash
   ${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

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

**Parámetros**:
| Parámetro | Descripció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.

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

**Parámetros**:
| Parámetro | Descripció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.

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

**Parámetros**:
| Parámetro | Descripció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).

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

**Parámetros**:
| Parámetro | Descripció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:

```bash
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

### ¿Qué tipos de contenido puedo publicar en X usando esta habilidad?

Puedes publicar actualizaciones de texto regulares, imágenes, videos y artículos largos de X (anteriormente Twitter Articles) creados a partir de archivos Markdown. Soporta varios tipos de medios para compartir contenido de forma integral.

### ¿Esta habilidad admite X Articles y cuáles son los requisitos?

Sí, admite X Articles desde Markdown. Puedes incluir imágenes de portada e imágenes de contenido. Publicar X Articles generalmente requiere una suscripción X Premium.

### ¿Cuáles son los diferentes modos de control del navegador disponibles?

La habilidad ofrece tres modos principales: Modo Codex Chrome Plugin, Modo Chrome Computer Use y Modo CDP Script. La elección depende de tu entorno y requisitos específicos, siendo Computer Use el predeterminado preferido.

### ¿Cómo instalo la habilidad 'Post to X'?

Puedes instalar la habilidad usando el comando: \`npx skills add https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x\`. Asegúrate de tener \`bun\` o \`npx\` instalados.

### ¿Se requiere revisión manual antes de publicar publicaciones en X?

Por defecto, la habilidad carga el contenido en el navegador y debes revisar y publicar manualmente. La opción \`--submit\` para scripts CDP solo debe usarse con confirmación explícita del usuario para la publicación pública final.

### ¿Qué debo hacer si encuentro un error 'puerto de depuración de Chrome no listo'?

Si este error ocurre en modo de reserva CDP, debes finalizar las instancias CDP de Chrome existentes y reintentar el comando. La habilidad está diseñada para intentar esto automáticamente.
