# Instrucciones para el agente: X CLI: busca y analiza publicaciones guardadas en SQLite

Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.

- Dificultad: intermedio
- Proyecto: https://github.com/mvanhorn/printing-press-library/tree/main/library/social-and-messaging/x-twitter
- Guía completa: https://lab.wisd.ai/hub/x-twitter-cli

---

## Para el agente: cómo acompañar al usuario

1. Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
2. Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
3. Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
4. Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
5. No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
6. Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.

---

## Pasos de configuración

### Paso 1: prepara el acceso

Comprueba Node.js ≥22.20.0 y npm/npx para instalar el binario y su skill. Comprueba acceso a un proyecto de desarrollador X y que el directorio de binarios estará en PATH: `~/.local/bin` en macOS/Linux o `%LOCALAPPDATA%\Programs\PrintingPress\bin` en Windows. El diagnóstico y la autenticación se realizan después de instalar.

Para instalar el binario, comprueba además Go ≥1.26.10, versión de [.go-version](https://github.com/mvanhorn/printing-press-library/blob/main/.go-version) que exige el [instalador](https://github.com/mvanhorn/printing-press-library/blob/main/npm/README.md#requirements). El instalador compila con go install; si no tienes Go, utiliza la publicación precompilada de la CLI siguiendo su README. Listar y buscar en el catálogo no requieren compilar.

### Paso 2: instala la CLI

Ejecuta el comando de instalación del README:

```bash
npx -y @mvanhorn/printing-press-library install x-twitter
```

### Paso 3: autentica y prueba el flujo documentado

Configura X_BEARER_TOKEN para las lecturas que admita o completa OAuth2 de usuario para datos personales. Revisa auth_lanes en doctor antes de sincronizar; las cookies de Articles no sustituyen el acceso de usuario.

Ejecuta los comandos en este orden. Los términos, dominios e identificadores de ejemplo se sustituyen por los que correspondan a tu trabajo.

```bash
x-twitter-pp-cli doctor --json
x-twitter-pp-cli post resolve URL_PUBLICA_REAL --agent
```

Sustituye `URL_PUBLICA_REAL` por el enlace completo a una publicación pública que puedas comprobar en X. Esta prueba verifica una lectura remota, que puede consumir créditos.

Existe una contradicción relevante: el README propone `sync --resources tweets` para archivar publicaciones, pero el [código actual de syncResourcePath](https://github.com/mvanhorn/printing-press-library/blob/main/library/social-and-messaging/x-twitter/internal/cli/sync.go) dirige `tweets` a `/2/tweets/search/webhooks`. Ese endpoint enumera suscripciones de búsqueda, no publicaciones. No uses esa receta para dar por poblada la búsqueda local. `search --type tweets` solo será una prueba válida cuando se haya confirmado una ruta que guarde publicaciones reales en su tabla; queda pendiente de resolver en upstream.

## Comprobación

Comprueba que cada comando termina correctamente y que la salida corresponde a la cuenta, fuente o datos que seleccionaste. Una lista vacía no demuestra que el dato no exista: comprueba primero el alcance de la consulta y, si usas una copia local, su sincronización.

## Si algo falla

Ante 402 revisa el saldo o límite de gasto. Un 403 puede señalar plan insuficiente, aplicación sin proyecto o tipo de token incorrecto. Evita reintentos con una credencial de otro flujo. Consulta el [README de esta CLI](https://github.com/mvanhorn/printing-press-library/blob/main/library/social-and-messaging/x-twitter/README.md) para las opciones específicas de tu sistema y versión. No compartas credenciales en la salida de diagnóstico.
