Publicamos un manifest agents.json para nuestra agencia — qué hace, por qué importa y el spec completo

agents.json es un manifest legible por máquina diseñado para agentes de IA — un compañero tipado de llms.txt que expone cada página, capacidad y endpoint. Lo publicamos para citable.agency. Esto es lo que contiene, por qué lo construimos y el formato exacto que cualquier equipo puede copiar.

Elizabeth S.

Fundadora 5 min de lectura

Compartir
Resumir con IA
En este artículo
  1. 01 Qué es realmente agents.json
  2. 02 Por qué lo publicamos antes de que haya un estándar ratificado
  3. 03 Qué hay dentro del nuestro
  4. 04 Cómo publicar uno para tu propio sitio
  5. 05 El efecto compuesto con el resto del stack GEO

En mayo de 2026 publicamos citable.agency/agents.json — un manifest legible por máquina que permite a un agente de IA descubrir todo el sitio sin rastrear una sola página HTML. Hasta donde sabemos, es el primer agents.json publicado para el sitio web de una agencia. El spec es auto-descriptivo, el formato es abierto y la implementación tomó una tarde. Este post documenta qué contiene, por qué lo publicamos y el patrón exacto que cualquier otro equipo puede copiar.

Qué es realmente agents.json

agents.json es un archivo JSON tipado en la raíz de tu sitio que expone:

  • Metadata del sitio — nombre, descripción, idiomas soportados, contacto, versión del manifest.
  • Un índice de páginas tipado — cada página canónica (homepage, servicios, metodología, precios, glosario, artículos, casos, herramientas) con un tag type, URLs EN + ES y un resumen de una línea escrito para consumo de agentes.
  • Definiciones de servicios — offers estructurados que un agente puede emparejar contra la necesidad declarada de un comprador (por ejemplo: “encuentra una auditoría GEO por menos de 1.500 € entregada en menos de dos semanas”).
  • Entradas de glosario — definiciones que un agente puede citar directamente.
  • Endpoints máquina — sitemap, llms.txt, RSS, índice JSON-LD — cada otra superficie estructurada que el agente pueda querer consumir.

No es un reemplazo de llms.txt. Es el compañero tipado. llms.txt es markdown que un LLM lee en contexto para preparar una respuesta. agents.json es datos estructurados que un agente autónomo parsea programáticamente para conducir una decisión.

Por qué lo publicamos antes de que haya un estándar ratificado

Aún no existe un spec W3C o IETF para agents.json. Las propuestas activas más cercanas son:

  • agents.json (esfuerzo comunitario originado en Stripe) — un manifest de acciones API y capacidades que un agente puede invocar.
  • /.well-known/agent — en discusión W3C, similar en espíritu, más amplio en alcance.

Esperar al estándar sería el movimiento seguro. No esperamos, por tres razones:

  1. El upside es asimétrico. Si nuestro formato está mal, lo actualizamos — spec_version permite fijar por versión. Si nuestro formato está aproximadamente bien y los agentes empiezan a parsear manifests a escala, somos legiblemente primeros en nuestra categoría. El downside es un archivo de 200 líneas que mantenemos. El upside es ser la marca que un agente seleccione cuando su comprador pregunte por una agencia GEO boutique.

  2. Algunos agentes ya parsean manifests de esta forma. Varios toolkits open-source de agentes y al menos un sistema retrieval-augmented mayor leen hoy manifests al estilo agents.json. La cuota de tráfico agéntico que prefiere manifests es pequeña pero crece cada trimestre — la misma curva en la que estaba llms.txt hace un año.

  3. Publicar fuerza claridad. El acto de escribir un inventario tipado de cada página canónica saca a la luz cada lugar donde nuestra propia taxonomía era difusa. Apretamos nuestro glosario, nuestras descripciones de servicio y el resumen de homepage como resultado directo de escribir el manifest.

Qué hay dentro del nuestro

Esta es la forma top-level real de citable.agency/agents.json, recortada para legibilidad:

{
  "$schema": "https://citable.agency/agents.json",
  "spec_version": "1.0",
  "generated_at": "2026-05-27T...Z",
  "site": {
    "name": "Citable",
    "url": "https://citable.agency",
    "description": "Agencia boutique de GEO + SEO Técnico + Desarrollo Web + Infraestructura.",
    "languages": ["en", "es"]
  },
  "pages": [
    { "id": "homepage", "url": "/", "es_url": "/es/", "type": "Homepage", ... },
    { "id": "audit", "url": "/audit/", "es_url": "/es/auditoria/", "type": "Page", "title": "AI Visibility Audit · 1.200 EUR", ... },
    ...
  ],
  "services": [
    {
      "id": "geo-audit",
      "name": "AI Visibility Audit",
      "summary": "Baseline de Share of Answer de 50 prompts en 5 superficies IA + roadmap de 90 días.",
      "offer": { "price": "1200", "currency": "EUR", "duration": "7-10 días hábiles" }
    },
    ...
  ],
  "glossary": [
    { "term": "Share of Answer", "definition": "El porcentaje de respuestas relevantes de IA en que una marca aparece como fuente citada.", "url": "/glossary#share-of-answer" },
    ...
  ],
  "endpoints": {
    "sitemap": "/sitemap.xml",
    "llms_txt": "/llms.txt",
    "rss": "/journal/rss.xml"
  }
}

El manifest completo está en vivo en /agents.json y se actualiza en cada deploy.

Cómo publicar uno para tu propio sitio

El coste de implementación es pequeño si ya tienes un sitio Astro o Next.js con content collections. Los cuatro pasos:

  1. Define tu vocabulario PageType. Elige un conjunto pequeño y fijo — el nuestro es Homepage | Service | Methodology | Framework | Glossary | Article | CaseStudy | Tool | Page. Resiste el impulso de inventar veinte.

  2. Inventaría las páginas canónicas a mano. Escribe un array STATIC_PAGES — cada entry point que el agente debe conocer, con URLs EN + ES y un resumen de una línea. Curado supera exhaustivo: un agente quiere los entry points canónicos, no cada entrada del blog.

  3. Genera el resto desde content collections. Usa getCollection('journal') para emitir artículos. Usa los datos de tu glosario para emitir términos con definiciones. Filtra drafts y duplicados de idioma no canónico.

  4. Expón en /agents.json y enlaza desde llms.txt. En Astro, una sola API route devolviendo JSON.stringify(manifest, null, 2) con Content-Type: application/json es suficiente. Añade un puntero de una línea a agents.json dentro de llms.txt para que cualquier consumidor que lea el resumen markdown descubra también el manifest más rico.

El efecto compuesto con el resto del stack GEO

agents.json no es un input actual del retrieval de ChatGPT o Perplexity. No moverá tu score de Share of Answer el próximo mes. Lo que hace es posicionarte para ser legible a la siguiente capa de consumidores — agentes autónomos — del mismo modo que Schema.org posicionó a las marcas para ser legibles a los asistentes de IA actuales hace dos años.

Las marcas que publicaron schema Organization + Service limpio en 2024 son las marcas que ChatGPT cita con confianza en 2026. Las marcas que publiquen manifests agents.json limpios en 2026 serán las marcas que los sistemas agénticos seleccionarán en 2028. El coste de publicar es una tarde. El coste de publicar dos años tarde, cuando el estándar esté ratificado y cada competidor tenga uno, es ser estructuralmente invisible a la capa por encima de la búsqueda.

Si quieres una segunda opinión sobre si tu stack está listo para agentes — actuales y emergentes — empieza con la Auditoría de Visibilidad IA. Es el diagnóstico con el que comienza cada engagement de Citable: 50 prompts en 5 superficies, baseline documentado de Share of Answer, análisis de gaps estructurales y un roadmap de 90 días. 1.200 €, 7–10 días hábiles, sin discovery call requerido.

Tres superficies legibles por máquina comparadas

Fuente: Spec de trabajo Citable Agency

agents.json vs llms.txt vs sitemap.xml

Superficie Formato Consumidor Propósito principal
sitemap.xml XML Crawlers de motores de búsqueda Descubrimiento de URLs + hints de last-modified
llms.txt Markdown Grounding en contexto del LLM Resumen en prosa que el LLM lee al momento de responder
agents.json JSON tipado Agentes IA autónomos Descubrimiento programático del sitio — páginas, servicios, endpoints, capacidades

Cómo construimos el nuestro

Fuente: Citable Agency, mayo 2026

Publicar agents.json en Astro en una tarde

  1. Define la forma tipada

    30 min

    Decide tu vocabulario PageType (Homepage, Service, Methodology, Framework, Glossary, Article, CaseStudy, Tool, Page) y tus campos de nivel sitio (name, description, languages, spec_version, generated_at).

  2. Inventaría las páginas canónicas a mano

    45 min

    Escribe un array STATIC_PAGES — cada entry point que el agente debe conocer, con URLs EN + ES, un resumen de una línea y un tag de tipo. Resiste generar desde el filesystem — curado supera exhaustivo para consumo de agentes.

  3. Genera el resto desde content collections

    1 hora

    Usa getCollection('journal') y los datos de tu glosario para emitir artículos + términos con definiciones. Filtra drafts y duplicados de idioma no canónico.

  4. Expón en /agents.json y enlaza desde llms.txt

    20 min

    Una API route de Astro devuelve JSON.stringify(manifest, null, 2). Añade un puntero de una línea en llms.txt para que cualquier consumidor que lea llms.txt descubra también el manifest más rico.

Preguntas frecuentes

Lo que preguntan los compradores antes de reservar

¿Es agents.json lo mismo que llms.txt?

No. llms.txt es un resumen markdown diseñado para ser leído en contexto por un modelo de lenguaje — prosa que prepara la respuesta de un chat. agents.json es un manifest JSON tipado diseñado para ser parseado programáticamente por un agente autónomo — estructura que conduce un árbol de decisión. Sirven a etapas distintas del workflow del agente y un baseline GEO serio incluye ambos.

¿Existe un estándar ratificado para agents.json?

Todavía no. Las propuestas más activas son agents.json (Stripe/comunidad) y /.well-known/agent (en discusión W3C). Publicamos un manifest auto-descriptivo con un campo spec_version para que los consumidores puedan fijar a una forma conocida, y haremos seguimiento de la convergencia del estándar. Publicar pronto supera esperar al spec final — el beneficio es ser descubrible para los agentes que se lanzan antes que el estándar.

¿Qué va dentro de agents.json?

Como mínimo: metadata del sitio (nombre, descripción, idiomas), una lista tipada de páginas canónicas (homepage, servicios, metodología, precios, about) y punteros a endpoints máquina (sitemap.xml, llms.txt, RSS, JSON-LD). Como máximo: entradas de glosario con definiciones, servicios con offers estructurados, endpoints de contacto y una lista de capacidades. Nuestro manifest publicado incluye todo lo anterior.

¿Algún agente de IA realmente leerá esto en 2026?

Algunos ya lo hacen. Frameworks agénticos como el reader de agents.json de Stripe, varios toolkits open-source de agentes y al menos un sistema retrieval-augmented mayor parsean manifests de esta forma hoy. La mayoría aún rastrea HTML — pero los agentes que parsean manifests obtienen una imagen 10× más limpia, y la cuota de tráfico agéntico que prefiere manifests crece cada trimestre.

¿Publicar agents.json ayuda con la citación en ChatGPT o Perplexity?

Indirectamente. agents.json no es un input actual del retrieval de ChatGPT o Perplexity. El lift directo de citación viene del schema, la desambiguación de entidad, la extractabilidad del contenido y el acceso de crawlers. agents.json es una cobertura para la web agéntica — te posiciona para ser legible a agentes autónomos del mismo modo que el schema te posiciona para ser legible a asistentes de IA actuales. Ambos componen.

¿Listo para que la IA te cite?

Dos rutas. Chequeo gratis para ver dónde estás en 10 segundos. Auditoría de pago para saber exactamente qué arreglar, con un baseline desde el que medir.

Chequeo gratis Reservar auditoría · 1.200 €

¿Prefieres hablar primero? Escríbenos