
teeks822828/exb-publish-agol
Deployment & DevOpsClaude 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.
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add teeks822828/exb-publish-agol