CommunityRedacción y edicióngithub.com

evgyur/hermes-bird-xurl-skill

Enrutador X/Twitter para Hermes con prioridad en SocialData y uso específico de xurl para acciones autenticadas.

¿Qué es hermes-bird-xurl-skill?

Bird es un enrutador especializado para la plataforma X/Twitter que forma parte del ecosistema Hermes. Su objetivo principal es minimizar costos operativos utilizando SocialData como capa de lectura predeterminada, evitando llamadas innecesarias a la API paga de X. Solo cuando la tarea requiere contexto autenticado de cuenta, un objeto nativo de X, o una mutación explícitamente aprobada, se utiliza la herramienta CLI `xurl`. El skill soporta lectura de tweets, hilos, artículos, perfiles, búsqueda, descarga de medios y acciones de escritura como publicar, responder, dar like, seguir, etc. Incluye reglas estrictas de enrutamiento determinista, manejo de errores por código de estado, y un contrato de seguridad que protege credenciales, secretos y efectos de escritura. Está diseñado para Claude Code, Cursor y Codex, y su SKILL.md detalla la lógica de decisión, los proveedores, las reglas de costo y el flujo de trabajo completo.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add evgyur/hermes-bird-xurl-skill

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Bird

Bird es el enrutador único de X/Twitter. Usa SocialData como el plano de lectura económico predeterminado. Usa la CLI oficial xurl solo cuando la tarea requiera contexto de cuenta autenticada, un objeto nativo de X, o una mutación de cuenta explícitamente aprobada. No hagas que ambos proveedores respondan a la misma lectura rutinaria.

Disparadores y compatibilidad

Usar para URLs de X/Twitter, extracción de tweets/hilos/artículos, búsqueda, perfiles, respuestas/citas/contexto, recuperación de medios y acciones de cuenta de X.

Preserva estos puntos de entrada:

  • /bird <solicitud> — enrutador canónico.
  • Heredado bird.py <URL-o-ID> — todavía lee a través de SocialData.
  • /xurl ... — punto de entrada de compatibilidad para usuarios que solicitan explícitamente xurl; debe seguir las puertas de enrutamiento y escritura de Bird.

Enrutamiento determinista

IntenciónPrimarioAlternativaLímite
Leer tweet por URL/IDSocialDataweb/navegador solo para evidencia pública visibleNunca escalar a xurl solo porque existe
Leer hilo/conversación/respuestasSocialDatalectura de xurl solo cuando el contexto nativo de X sea requerido de forma única y esté soportadoDeterminar hilo a partir de los datos obtenidos, no de la forma de la URL
Buscar publicacionesBúsqueda limitada de SocialDataruta de investigación web/SocialData existenteNo se asume acceso actual a búsqueda reciente de xurl
Leer perfil públicoSocialDatabúsqueda de usuario de xurl si se necesita una vista específica de cuenta/X actualSin recolección masiva de grafos
Artículo XPrimero carga útil de tweet de SocialData; analizar artículo anidadoendpoint de tweet sin procesar de xurl con campo articleSeguir página de primera parte vinculada cuando el texto del artículo esté ausente
Descargar medios adjuntosMetadatos de SocialData + descarga HTTPS limitadanavegador solo para medios públicos visiblesSin cookies en URLs/logs; validar host/tamaño/tipo
¿Quién soy? / identidad autenticadaxurlningunoContexto de cuenta de solo lectura
Objeto nativo de X exacto necesario para interacción posteriorxurlSocialData para descubrimiento/contextoUsar xurl solo para el objeto/endpoint exacto
Publicar, responder, citar, eliminar, dar like, republicar, marcar, seguir, bloquear, silenciar, DM, subirxurlningunoSe requiere aprobación explícita del objetivo exacto, contenido y efecto

Carga enrutamiento de proveedores para recetas de endpoints, errores y reglas de respaldo. Carga operaciones de xurl solo para una tarea específica de xurl.

Contrato de proveedor y costo

  • SocialData es el predeterminado para toda lectura ordinaria. Usa primero la SOCIALDATA_API_KEY directa configurada en el runtime actual. Usa el proxy SocialData de Human20 Keys aprobado cuando falte una clave directa y la clave de cliente H20 tenga capacidad socialdata. Una clave genérica del modelo H20 puede existir pero devolver provider not allowed: socialdata; eso no justifica cambiar a xurl.
  • La clase de precio predeterminada en vivo de Human20 Keys para social-request fue verificada en 0 créditos/solicitud; trátala como estado mutable del runtime y vuelve a comprobarla antes de afirmar el costo.
  • Una solicitud de usuario normalmente debe consumir una búsqueda/consulta más solo las lecturas dependientes limitadas necesarias para un hilo o contexto solicitado. No expandas, raspes seguidores/siguiendo, exportes, hagas streaming, sondees ni obtengas en masa.
  • Nunca caigas silenciosamente de SocialData a llamadas pagas de la API de X. xurl se selecciona por necesidad de capacidad, no por fallo del proveedor.

Secretos y seguridad de ejecución

  • Nunca leas, imprimas, analices, resumas o expongas almacenes de secretos, ~/.xurl, cookies, encabezados de autorización, claves API, tokens de portador, firmas de solicitud o valores de entorno.
  • Verifica las credenciales solo a través de comandos seguros de estado/sonda. No uses --verbose/-v de xurl ni indicadores de credenciales en línea.
  • Las llamadas a SocialData son de solo lectura y limitadas. Trata 401/403 como credenciales/política, 402 como créditos/facturación, 404 como ausente/privado/eliminado, 429 como límite de tasa, y 5xx como fallo del proveedor. No etiquetes mal una clase como otra.
  • El navegador/relé es el último recurso y nunca un mecanismo de extracción de cookies.
  • Las escrituras son efectos protegidos. Antes de cualquier mutación de xurl, relee el objetivo y la carga útil exactos, requiere aprobación explícita del usuario para ese efecto exacto, ejecuta una vez y verifica desde la respuesta sin procesar de xurl/X. La aprobación para investigar no es aprobación para interactuar o publicar.
  • Los DM, eliminación, bloqueos, cambios de cuenta, carga de medios y publicación pública nunca ocurren implícitamente.

Flujo de trabajo

  1. Clasifica la solicitud: read, search, profile, thread, article, media, account-read, o write.
  2. Normaliza la URL/ID de X sin cambiar el identificador. Obtén antes de decidir tweet vs hilo.
  3. Enruta desde la tabla. Para lecturas rutinarias, llama a SocialData exactamente una vez primero.
  4. Analiza de forma defensiva. Las cargas útiles de artículos pueden estar bajo article.title, article.preview_text y article.content_state.blocks[]; los medios pueden estar anidados en objetos citados o retuiteados.
  5. Si el usuario pregunta si el elemento importa, abre repositorios/documentos/artículos de primera parte vinculados e inspecciona los medios adjuntos. Mantén la publicación de X como una afirmación/fuente, no como prueba automática.
  6. Si el proveedor seleccionado falla, informa el fallo exacto. Usa solo la alternativa indicada cuando aún pueda responder a la misma solicitud sin expandir costo, privacidad o efecto.
  7. Devuelve una salida fiel a la fuente y un recibo compacto del proveedor.

Contrato de salida

Devuelve:

Resultado: <contenido completo solicitado o respuesta concisa y fiel>
Tipo: tweet | hilo | artículo | perfil | búsqueda | acción-de-cuenta
Autor/fuente: <identidad pública segura + URL canónica>
Proveedor: SocialData | xurl | alternativa web/navegador
Evidencia: <IDs, marca de tiempo, métricas/contexto cuando esté disponible>
Recibo de acción: <solo para mutaciones de xurl aprobadas; estado exacto/ID del objeto>
Limitación: <falta/privado/eliminado/límite de tasa/plan/brecha de proveedor, o ninguna>

No expongas claves internas, modos de autenticación, ubicaciones de secretos o detalles privados del runtime en los recibos visibles para el usuario.

Lista de verificación rápida de pruebas

  • /bird <URL de tweet> selecciona SocialData, no xurl.
  • /bird search from:handle selecciona búsqueda limitada de SocialData.
  • /bird whoami selecciona identidad de solo lectura de xurl.
  • /bird reply <URL> <texto> se detiene para aprobación exacta antes de xurl.
  • El código 402 de SocialData no se informa como credenciales faltantes; el fallo de búsqueda reciente de xurl no deshabilita las lecturas de identidad/perfil.
  • El análisis de hilos y artículos usa la estructura obtenida, no suposiciones de URL.
  • Eliminar el contrato de SocialData predeterminado o de aprobación de escritura hace que la validación falle.

Criterios de finalización

  • El contenido/acción solicitada de X está completo o se informa un bloqueador exacto.
  • Las lecturas rutinarias usaron SocialData primero y evitaron gasto duplicado de proveedor.
  • xurl se usó solo por una razón específica de capacidad.
  • Cualquier escritura tuvo aprobación exacta y relectura de API sin procesar.
  • Ningún secreto/cookie/credencial privada entró en la salida, artefactos o registros.

Skills relacionados