Todos los datos públicos de España, a un comando de tu agente de IA.
97 skills que conectan a Claude, ChatGPT (y cualquier agente compatible) con los datos, APIs e información oficial del sector público español: legislación, estadística, fiscalidad, vivienda, emprendimiento, identidad digital, tráfico, meteorología, energía, sanidad, elecciones y mucho más.
npx skills add jaimebs2/OpenSpain --skill openspainUna skill. Cero servidores. Cero SDKs. Todo el sector público español.
Quick start · Skills · MCPs · Instalación avanzada · Estructura · Documentación
Instala la skill openspain y tu agente sabrá qué datos públicos existen, qué skill usar para cada consulta, y cómo instalarla al vuelo:
npx skills add jaimebs2/OpenSpain --skill openspainCon una sola skill instalada, tu agente puede guiarte a instalar cualquiera de las 97 skills especializadas cuando las necesites. Es como tener un experto en datos públicos españoles siempre disponible.
¿Prefieres instalar todo de golpe? 👇
npx skills add jaimebs2/OpenSpainEsto instala las 97 skills y tu agente tiene acceso directo a todos los datos e información pública desde el primer momento.
OpenSpain convierte las APIs, datasets e información del sector público español en skills consumibles desde cualquier agente de IA que soporte el estándar Agent Skills: Claude, ChatGPT, Cursor, GitHub Copilot, Cline y más. Cada skill conoce sus endpoints, normativa, particularidades y límites — el agente solo tiene que invocarla.
Sin servidores que levantar. Sin SDKs que instalar. Sin claves de API en la mayoría de los casos.
Para los casos que necesitan lógica real (cálculo geométrico, tool calls deterministas, Codex) hay además MCPs en Python bajo mcps/ — ver MCPs.
97 skills cubriendo legislación, parlamentos, meteorología, estadística, fiscalidad, extranjería, derecho laboral, justicia, vivienda, emprendimiento, identidad digital, energía, sanidad, educación, transporte y más. Verificadas con smoke tests reales contra las fuentes oficiales.
| # | Skill | Qué hace | Auth | Ficha |
|---|---|---|---|---|
| ⭐ | openspain | Meta-skill: directorio completo + routing automático a todas las skills | — | — |
| 01 | aeat | Estadísticas fiscales: IRPF, IVA, sociedades | — | 📄 |
| 02 | aemet | Predicción, climatología, alertas meteorológicas | 🔑 | 📄 |
| 03 | aena | Estadísticas aeroportuarias: pasajeros, operaciones, carga | — | 📄 |
| 04 | bde | Banco de España: tipos de interés, balanza, macroeconomía | — | 📄 |
| 05 | bne | Bibliografía, fondo sonoro, patrimonio | — | 📄 |
| 06 | boe | Legislación, sumarios diarios, leyes consolidadas | — | 📄 |
| 07 | borme | Registro Mercantil: constitución y cambios de empresas | — | 📄 |
| 08 | catastro | Inmuebles, parcelas, referencias catastrales | — | 📄 |
| 09 | cis | Barómetros, encuestas sociológicas desde 1963 | — | 📄 |
| 10 | cnig | Cartografía, ortofotos, MDT, geocodificación | — | 📄 |
| 11 | cnmc | Energía, telecomunicaciones, audiovisual, transporte | — | 📄 |
| 12 | congreso | Votaciones, iniciativas, intervenciones, vídeos de plenos | — | 📄 |
| 13 | cte | Código Técnico de la Edificación: Documentos Básicos, incendios, accesibilidad, radón, zonas climáticas | — | 📄 |
| 14 | dataestur | Estadísticas de turismo: FRONTUR, EGATUR, alojamiento | — | 📄 |
| 15 | datos-gob-es | Catálogo nacional: +90.000 datasets públicos | — | 📄 |
| 16 | dgt | Tráfico en tiempo real, zonas de bajas emisiones, siniestralidad vial | — | tráfico · zbe · accidentes |
| 17 | educacion | Centros educativos, matrículas, estadísticas | — | 📄 |
| 18 | educacion-guia | Becas MEC, Selectividad/EBAU, Formación Profesional, oposiciones | — | becas-mec · selectividad · fp · oposiciones |
| 19 | emprendimiento | Alta como autónomo, crear empresa, licencias de actividad | — | alta-autonomo · crear-empresa · licencias-actividad |
| 20 | esios | Sistema eléctrico: precio, demanda, generación por tecnología | 🔑 | 📄 |
| 21 | extranjeria | NIE, residencia, trabajo, nacionalidad, arraigo, reagrupación, familiar UE, asilo | — | nie · residencia · trabajo · nacionalidad · arraigo · reagrupacion · familiar-ue · asilo |
| 22 | fiscalidad | Autónomos, IVA, IRPF, sociedades, Modelo 036, operaciones intracomunitarias, facturación, no residentes, sucesiones | — | autonomos · iva · irpf-autonomos · irpf-asalariados · sociedades · modelo-036 · operaciones-intracomunitarias · facturacion · retenciones · itp-ajd · impuestos-locales · no-residentes · sucesiones-donaciones |
| 23 | identidad-digital | Certificado digital FNMT, Cl@ve, DNI electrónico, AutoFirma | — | certificado-digital · clave · dnie · autofirma |
| 24 | laboral | Contratos, nóminas, desempleo, ERE/ERTE, convenios colectivos, Inspección de Trabajo | — | contratos · nominas · desempleo · ere-erte · convenios · inspeccion |
| 25 | ine | Demografía, economía, paro, censos, IPC | — | 📄 |
| 26 | infosubvenciones | Convocatorias y concesiones de subvenciones públicas | — | 📄 |
| 27 | jec | Resultados electorales, censo, votos por partido | — | 📄 |
| 28 | justicia | Justicia gratuita, testamentos, herencias, poder notarial, registro civil, protección de datos | — | justicia-gratuita · testamento · herencias · poder-notarial · registro-civil · proteccion-datos |
| 29 | miteco | Embalses, calidad del aire, biodiversidad | — | 📄 |
| 30 | placsp | Licitaciones y contratos del sector público | — | 📄 |
| 31 | puertos | Oceanografía (mareógrafos, oleaje) y estadísticas portuarias | — | 📄 |
| 32 | rtve | Archivo de noticias, programas, vídeos | — | 📄 |
| 33 | sanidad | Centros de salud, hospitales, mortalidad | — | 📄 |
| 34 | seguridad-social | Afiliación, altas/bajas, pensiones | — | 📄 |
| 35 | seguridad-social-guia | Jubilación, vida laboral, incapacidad, maternidad/paternidad, cotizaciones | — | jubilacion · vida-laboral · incapacidad · maternidad-paternidad · cotizaciones |
| 36 | senado | Actividad parlamentaria, comisiones, textos | — | 📄 |
| 37 | snczi | Zonas inundables, DPH, zona de policía/servidumbre (SNCZI, MITECO) | — | 📄 |
| 38 | sepe | Paro registrado por municipio, sexo, edad, sector | — | 📄 |
| 39 | tramites | Empadronamiento, antecedentes penales, apostilla, cita previa, TSE, legalización | — | empadronamiento · antecedentes-penales · apostilla · cita-previa · tarjeta-sanitaria-europea · legalizacion-documentos |
| 40 | transparencia | Contratos, subvenciones, altos cargos | — | 📄 |
| 41 | vehiculos | Carnet de conducir, ITV, permiso internacional, transferencia de vehículos | — | carnet-conducir · itv · permiso-internacional · transferencia-vehiculos |
| 42 | vivienda | Compraventa, hipotecas, registro propiedad, comunidad propietarios, alquiler | — | compraventa · hipotecas · registro-propiedad · comunidad-propietarios · alquiler |
🔑 = requiere API key gratuita.
Índice completo de fichas técnicas: docs/README.md
Algunas skills disponen además de una implementación MCP en Python bajo mcps/ para clientes que prefieren el Model Context Protocol (Codex, Claude Desktop, inspección HTTP, etc.) o que necesitan lógica que no se puede expresar como instrucciones (cálculo geométrico, parsing estructurado, paralelismo).
Skills y MCPs son artefactos independientes y se pueden usar por separado.
| MCP | Qué expone | Cuándo elegirlo sobre la skill |
|---|---|---|
| catastro | Provincias, municipios, calles, refcat, coordenadas ↔ inmueble, parcela polígono, inmuebles cercanos | Necesitas tool calls deterministas (JSON) en vez de instrucciones a un LLM, o integrarlo con Codex |
| snczi | Zonas inundables (T=10/100/500), DPH, aproximación zona policía/servidumbre, reporte combinado | Quieres el cálculo de buffers 100 m/5 m aplicado automáticamente, o lo integras con Codex |
Cada MCP trae su propio README con instalación, transportes (stdio / streamable-http / sse) y ejemplos para Codex y Claude Desktop.
Instalación rápida (ejemplo con snczi):
cd mcps/snczi
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
openspain-snczi-mcp # stdio
openspain-snczi-mcp --transport streamable-http # HTTPRequisito común: Python ≥ 3.12. Cero autenticación contra los organismos (igual que las skills).
El CLI de skills se ejecuta con npx, que viene incluido con Node.js. Si no lo tienes instalado:
# macOS (Homebrew)
brew install node
# Windows (winget)
winget install OpenJS.NodeJS
# Linux (NodeSource)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejsVerifica que funciona:
npx --versionLa forma más rápida de empezar. Instala una sola skill que actúa como directorio inteligente: tu agente sabrá qué datos públicos existen, qué skill cubre cada consulta, y le dirá al usuario cómo instalarla cuando la necesite.
npx skills add jaimebs2/OpenSpain --skill openspainPregunta lo que quieras sobre datos públicos españoles y el agente te guía. Cuando necesites una skill concreta, te dice exactamente qué comando ejecutar.
Si sabes que vas a necesitar varias skills, instálalas todas de una vez:
npx skills add jaimebs2/OpenSpainInstala solo las skills que necesites:
npx skills add jaimebs2/OpenSpain --skill boe # Legislación
npx skills add jaimebs2/OpenSpain --skill ine # Estadística
npx skills add jaimebs2/OpenSpain --skill catastro # Inmuebles
npx skills add jaimebs2/OpenSpain --skill aemet # MeteorologíaBusca skills disponibles:
npx skills find openspainFunciona con 18+ agentes de IA: Claude Code, GitHub Copilot, Cursor, Cline y más. El CLI copia la skill al directorio correcto del agente que estés usando.
Si prefieres no usar el CLI, copia la carpeta de la skill directamente:
cp -r openspain ~/.claude/skills/openspainO instala todas las skills especializadas a la vez:
for d in openspain/skills/*/; do
name=$(basename "$d")
[ -f "$d/SKILL.md" ] && cp -r "$d" "$HOME/.claude/skills/$name"
doneClaude carga la skill automáticamente cuando una pregunta encaje con su description. Cero dependencias: las skills usan WebFetch directamente contra las APIs públicas.
Algunos organismos exigen registro gratuito. Exporta la variable antes de usar la skill:
export AEMET_API_KEY="tu_clave" # AEMET
export ESIOS_TOKEN="tu_token" # Red Eléctrica / ESIOSLas skills leen estas variables del entorno — nunca las piden como parámetro al modelo.
El repositorio agrupa la skill maestra y todas las skills especializadas bajo la carpeta openspain/:
openspain/
├── SKILL.md # skill maestra: directorio completo + routing automático
└── skills/
├── boe/
│ ├── service.yml # metadata estándar: URLs, auth, rate limits, licencia, datos
│ └── SKILL.md # frontmatter YAML + instrucciones para Claude
└── ...
Tests junto a cada skill:
openspain/skills/boe/
├── service.yml
├── SKILL.md
└── tests/
├── smoke.sh # llamada real contra la API
└── prompts.md # casos de uso para validación manual
Skills con variantes (ej. DGT) se agrupan en subcarpetas. El CLI escanea recursivamente, así que el name del frontmatter solo debe coincidir con el directorio padre inmediato:
openspain/skills/dgt/
├── dgt-trafico/
│ ├── service.yml
│ └── SKILL.md # name: dgt-trafico
├── dgt-zbe/
│ ├── service.yml
│ └── SKILL.md # name: dgt-zbe
└── dgt-accidentes/
├── service.yml
└── SKILL.md # name: dgt-accidentes
Cada skill declara en service.yml todo lo que un agente (o un humano) necesita saber antes de usarla: qué hace, URLs oficiales, si requiere auth, rate limits conocidos, qué datos son accesibles y cuáles no, licencia, organismo emisor.
Es el contrato público de la skill. No hay magia oculta: las URLs, los límites y los términos de uso están a la vista en YAML legible.
Sigue el estándar Agent Skills: frontmatter YAML (name, description, license…) seguido de instrucciones markdown que Claude carga cuando la skill se activa. El nombre del directorio debe coincidir con el campo name. Compatible con npx skills add.
smoke.sh— script bash autocontenido que hace una llamada real a la API y verifica la respuesta. Sin dependencias más allá decurlyjq. Sale con código0si todo va bien,1si algo falla.prompts.md— preguntas de prueba con criterios de "pasa/falla" para validar manualmente que el agente está usando la skill correctamente.
Cuando una skill necesita lógica que un LLM no puede expresar de forma fiable (buffers geométricos, parsing binario, llamadas paralelas con retry específico) se añade un MCP independiente bajo mcps/ con su propio pyproject.toml, src/<nombre>/, tests/ y README. Sigue el Model Context Protocol y es compatible con Codex, Claude Desktop y cualquier cliente MCP.
mcps/<nombre>/
├── README.md # instalación, transportes, ejemplos Codex/Claude Desktop
├── pyproject.toml # paquete openspain-<nombre>, script openspain-<nombre>-mcp
├── src/<nombre>/
│ ├── server.py # tools MCP (stdio / streamable-http / sse)
│ └── service.py # cliente HTTP puro, testeable sin MCP
└── tests/ # unittest con httpx.MockTransport
Antes de dar una skill por lista:
bash openspain/skills/<nombre>/tests/smoke.shdebe pasar.- Al menos 2 pruebas manuales con el agente usando los prompts de
openspain/skills/<nombre>/tests/prompts.md.
¿Falta un organismo? ¿Una API que conoces no está cubierta? Abre un issue o un PR. La barrera es baja: si la fuente es oficial, los datos son reutilizables y existe un endpoint o página estable, encaja.
Tres reglas no negociables (verificadas en CI): origen declarado (URLs oficiales en service.yml), licencia de los datos declarada y contenido actualizable (cada dato debe poder re-verificarse contra su fuente, por un humano o por un agente).
Guía completa en CONTRIBUTING.md · Plan del proyecto en ROADMAP.md · Código de conducta
Código: MIT.
Datos: pertenecen a sus organismos emisores y se rigen por sus respectivas condiciones de reutilización (mayoritariamente Ley 37/2007 sobre reutilización de información del sector público o licencias abiertas equivalentes). Cada service.yml declara la licencia específica de la skill.