TE

teeks822828/exb-publish-agol

Deployment & DevOps
12 stars Quality 53 Trend 27MIT

Claude Code skill: build, publish & debug ArcGIS Experience Builder apps on ArcGIS Online entirely by script

Overview

🛒 A Claude Code skill that builds, publishes, and debugs apps on entirely by script — config authoring via donor cloning, publishing with the ArcGIS API for Python, plus a validator that encodes every config trap found the hard way. Copy this folder to ~/.claude/skills/exb-publish-agol/ and trigger with /exb-publish-agol in Claude Code. Requires ArcGIS Pro's Python (propy.bat) signed into your ArcGIS Online org. ArcGIS Pro's active portal can change mid-session, silently redirecting every subsequent GIS("pro"). Both scripts therefore re-check the target on every run and — an Enterprise portal is a hard stop, not a warning. Reads still work anywhere, so pulling a donor config off Enterprise is fine. - DEMO — City Asset Inspections Dashboard - Claude GIS Wonderland donors/ holds cached Web Experience configs used as shape sources.

README

exb-publish-agol — a Claude Code skill for ArcGIS Experience Builder on ArcGIS Online

🛒 Buy skills for Claude Code → A Claude Code skill that builds, publishes, and debugs ArcGIS Experience Builder apps on ArcGIS Online entirely by script — config authoring via donor cloning, publishing with the ArcGIS API for Python, plus a validator that encodes every config trap found the hard way.

Start here: SKILL.md — the skill entry point Claude reads.

What’s inside

Path What it is
SKILL.md The skill: environment, ground rules, authoring approach, workflow
references/traps.md Every known config trap (charts, tables, filters, layouts, mobile freeze)
references/recipes.md Proven widget config shapes to copy
references/donors.md Donor index — the cached configs in donors/ are the donors
donors/*.json Cached Web Experience configs (AGOL EXB 1.21.0) — self-contained, no live apps needed
donors/*.py.example Complete proven generators built from those donors
scripts/build_or_patch_exb.py Generalised generator/patcher (new-app / add-pages / fill-page)
scripts/validate_exb_config.py Runs the trap list as assertions — run before every push
scripts/exb_tools.py pull / push (auto-backup) / widget diff

Install

Copy this folder to ~/.claude/skills/exb-publish-agol/ and trigger with /exb-publish-agol in Claude Code. Requires ArcGIS Pro’s Python (propy.bat) signed into your ArcGIS Online org.

Portal guardrail

ArcGIS Pro’s active portal can change mid-session, silently redirecting every subsequent GIS("pro"). Both scripts therefore re-check the target on every run and refuse to write to anything that isn’t an ArcGIS Online org — an Enterprise portal is a hard stop, not a warning. Reads still work anywhere, so pulling a donor config off Enterprise is fine.

Env var Effect
EXB_EXPECT_ORG= require the portal host to contain `` — catches a switch between two AGOL orgs
EXB_EXPECT_USER= require this exact signed-in username (shared machines)
EXB_ALLOW_PORTAL= deliberate override; must name the exact host

Demo apps built by this skill

All demo data is fictional.

Donor configs

donors/ holds cached Web Experience configs used as shape sources. Two are demo apps built by this skill in the author’s own org; two are small single-widget extracts taken from publicly shared apps (a widget controller and a splash dialog), included as reference shapes only — they carry no data.

License and attribution

Released under the MIT License.

This is an independent, unofficial project. It is not affiliated with, endorsed by, or supported by Esri. ArcGIS, ArcGIS Online, ArcGIS Experience Builder, and ArcGIS Pro are trademarks of Esri. The Experience Builder app config format is not officially documented; everything here was derived by inspecting configs the author created or that were publicly shared.

View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add teeks822828/exb-publish-agol
New to MCP? Start with the mcpskill.org guide →