29 de octubre de 20267 min de lectura

ArcGIS, JavaScript, Agent Skills, IA, Código abierto

Tu asistente se quedó en el ArcGIS de antes de la 5.0: 36 skills para ponerlo en la 5.1

Le pides a tu asistente de IA una leyenda para el mapa y te escribe la de antes, que Esri va a retirar. Estas 36 skills, manuales cortos y abiertos, le enseñan ArcGIS 5.1 para hacer mapas web, y cada una se probó en el navegador contra la versión publicada.

En este post 6 secciones
Tu asistente se quedó en el ArcGIS de antes de la 5.0: 36 skills para ponerlo en la 5.1

Ilustración hecha por código: relieve real del Nevado del Ruiz (Terrain Tiles de Mapzen en AWS Open Data; SRTM y GMTED2010, cortesía del USGS; ETOPO1, NOAA; centro según el SGC), interfaz de app simulada y zona sobre 4.500 m calculada del mismo modelo de elevación.

Abre tu asistente de código y pídele un mapa con su leyenda, la cajita que explica qué significa cada color. Después mira qué te escribió.

Si aparece new Legend(...), el código compila y la leyenda sale en pantalla. No hay ningún error, ni al compilar ni en el navegador. A lo sumo, si tu editor lee los tipos, verás Legend tachado: Esri marcó ese widget (un control que se pinta encima del mapa) como obsoleto desde la versión 4.34, y planea quitarlo en la 6.0. Lo de hoy es un componente, <arcgis-legend>.

¿Por qué pasa? Tu asistente escribe ArcGIS como lo aprendió, y la 5.0 salió en febrero de 2026 con cambios en cómo se importa el SDK, en los controles del mapa y en las capas. Yo lo noté cuando Esri sacó los componentes de IA, el asistente que va dentro del propio mapa: se los pedí a mi asistente de código y no sabía que existían.

Por eso en GeoAI LATAM armamos 36 skills abiertas, con licencia MIT, para el ArcGIS Maps SDK for JavaScript 5.1. Aquí va qué es una skill, cuándo vale la pena, cómo se instalan, qué pruebas pasó cada una y cómo escribes la tuya.

El manual del que acaba de llegar

Cuando alguien entra a tu equipo, no le pasas toda la documentación de Esri. Le das un manual corto: cómo se trabaja aquí, hoy. Qué versión usan, qué ya no se usa, en qué se equivoca el que llega.

Una skill es ese manual, escrito para tu asistente. Es una carpeta con un archivo SKILL.md y, si hace falta, una subcarpeta references/ con el detalle.

¿Y 36 manuales no le llenan la memoria de trabajo al asistente?

No, porque los lee por partes. Al arrancar solo carga el nombre de cada skill y una descripción corta. Cuando le pides algo que encaja con una de esas descripciones, abre el SKILL.md completo. Los archivos de references/ los lee solo si la tarea los necesita. La especificación del formato lo llama progressive disclosure, revelar por partes.

Así empieza una de ellas:

---
name: arcgis-parquet
description: >
  Load Parquet and GeoParquet files on a map with ParquetLayer ...
  Use this skill whenever the user loads a .parquet or GeoParquet file.
---

El formato es abierto, así que la misma carpeta sirve en Claude Code, Cursor, GitHub Copilot y Codex.

Cuándo vale la pena

Hay dos señales: la herramienta cambió hace poco, o llevas semanas corrigiéndole a tu asistente lo mismo.

ArcGIS 5.x cumple la primera. Los widgets pasaron a ser componentes. Search está marcado como obsoleto desde la 4.33 y Legend desde la 4.34, y Esri prevé quitarlos en la 6.0. Un componente lo ubicas dentro del mapa con slot:

<arcgis-map basemap="osm" center="-74.08,4.6" zoom="11">
  <arcgis-legend slot="bottom-left"></arcgis-legend>
</arcgis-map>

¿Y si le pones position="top-right", como en la 4.x? No hay error. El SDK ignora el atributo y el componente cae a su lugar por defecto, una franja a todo el ancho del mapa, pegada arriba. En la prueba midió 600 por 32 píxeles sobre un mapa de 600 de ancho.

Además hay piezas que tu asistente no ha visto, o que cambiaron mucho: los componentes de IA (en beta), las capas de gaussian splats para escenas 3D y ParquetLayer, que lee archivos Parquet desde el navegador y que sigue en beta desde la 4.33, muy ampliada en la 5.1.

La guía de desarrollo asistido por IA de Esri va en la misma dirección. Propone pedirle al asistente que revise la versión del SDK antes de tocar el código, y ofrece instrucciones de proyecto que lo guíen de una tarea a otra. Una skill es una forma de dárselas.

Instálalas

Necesitas Node 22.20 o más nuevo. Desde la carpeta de tu proyecto:

npx skills add geoai-latam/SKILL_JS5_ARCGIS

El comando te pregunta en qué asistente las instala. Si solo quieres una:

npx skills add geoai-latam/SKILL_JS5_ARCGIS --skill arcgis-parquet

Después no hay nada que invocar. Le pides lo de siempre, "carga este GeoParquet en el mapa", y el asistente abre la skill que corresponde.

Cada skill trae también un SKILL.es.md, sincronizado, para que la leas y la revises en español. El asistente se guía por la versión en inglés y te responde en el idioma en que le hables.

Las dos pruebas de cada skill

Un manual con errores es peor que no tener manual, porque el que llega se los cree. Así que cada skill pasó dos pruebas contra el SDK 5.1.27.

La primera es que compile. El compilador de TypeScript revisa los 1110 bloques de código del repo, en inglés y en español, contra los tipos del SDK, y un script coteja cada import de @arcgis/* con los exports del paquete: hay rutas que TypeScript acepta y que Vite o Node rechazan.

La segunda es que corra. Cada skill tiene un caso que ejecuta en Chromium lo que ella afirma, contra servicios públicos de Esri (en la de Parquet, también contra archivos pequeños generados), sin clave de API ni inicio de sesión, y lee el resultado. En las de visualización lee los píxeles.

Ahí salieron dos clases de error. Trampas que una skill anunciaba y no existían, como que en Arcade importan las mayúsculas del nombre de un campo: no importan, y esa advertencia ya no está. Y fallas silenciosas, donde el código corre, no hay ningún error y el resultado está mal. Son las que más te ahorra una skill, porque sin error tu asistente no se entera de nada. Tres de las medidas:

  • Un servicio público de Esri con 3557 ciudades de Estados Unidos entrega como mucho 1000 registros por consulta. queryFeatures() sin filtro devolvió 1000 de 3557. Al filtrar después las capitales en el navegador salieron 11; pidiéndolas al servidor, 51.
  • El archivo Parquet del ejemplo de Esri tiene 310.702 pozos de agua de Kansas. queryFeatures devolvió 8000, también cuando pedía 20.000, con exceededTransferLimit en false, la bandera que debería avisarte del corte. Paginando con start sí llega el resto.
  • Una capa Parquet con la geometría declarada y sin spatialReference carga, crea su vista y no dibuja nada: el píxel del centro quedó del color del mapa base. Leer layer.spatialReference tampoco ayuda, porque dice 4326 en los dos casos.

Cada una quedó escrita en su skill, con la forma correcta al lado.

Lo que pide iniciar sesión no se midió: las respuestas del asistente de IA de ArcGIS, los trazados sobre redes de servicios públicos, las consultas a grafos de conocimiento y la exportación a impresión. El informe de validación lo dice, y el registro skill por skill está en el repo.

Escribe la tuya

Tu equipo también tiene un manual que nadie ha escrito: la proyección que usan, la convención de nombres de las capas, el servicio interno que hay que consultar paginado. Si tu asistente se equivoca en eso cada semana, cabe en una skill. Al escribirla, tres decisiones pesan más que el resto:

  1. La descripción del encabezado (frontmatter) es el gatillo. Es lo que el asistente lee antes de decidir si abre la skill, así que di qué hace y cuándo usarla, con las palabras que tú usarías al pedirlo.
  2. SKILL.md corto, y el detalle a references/. La especificación recomienda no pasar de 500 líneas; las 36 de este repo van de 186 a 285.
  3. Pruébala. Que el código que enseña compile y corra contra la versión que usas, y que unas preguntas la activen y otras no. arcgis-parquet trae ocho de las primeras y cinco de las segundas.

Pruébalo

👉 Las 36 skills: github.com/geoai-latam/SKILL_JS5_ARCGIS

👉 El informe de validación: docs/validacion/INFORME.md

👉 La guía de Esri: Desarrollo asistido por IA

¿Hay una parte del SDK que tu asistente sigue escribiendo a la manera de la 4.x y no está entre las 36? Ábrela como issue en el repo, con lo que te escribió y lo que esperabas. De ahí sale la skill 37.

Comentarios

Deja tu comentario

Los leo todos. Se revisan antes de publicarse, así que el tuyo puede tardar un rato en aparecer.

0 / 1500

o escríbeme directo Correo LinkedIn GitHub

Nevado del Ruiz, 5321 m (SGC) · sin escala vertical

Únete a la red.

Una carta, sin ruido

Experimentos, mapas, papers y proyectos que van aterrizando. Sin spam, sin algoritmos, sin tracking — solo el correo.

sin spam · sólo lo que publico · baja en un clic