gis-enterprise-domain

Use when administering ArcGIS Enterprise or building real-estate-specific GIS features — ArcGIS components, publishing services, security/roles, backup/DR, plus property search, neighbourhood analysis, catchment/isochrones, market heatmaps, and real-estate-SaaS integration.

Best use case

gis-enterprise-domain is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when administering ArcGIS Enterprise or building real-estate-specific GIS features — ArcGIS components, publishing services, security/roles, backup/DR, plus property search, neighbourhood analysis, catchment/isochrones, market heatmaps, and real-estate-SaaS integration.

Teams using gis-enterprise-domain should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/gis-enterprise-domain/SKILL.md --create-dirs "https://raw.githubusercontent.com/peterbamuhigire/skills-web-dev/main/skills/gis/gis-enterprise-domain/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/gis-enterprise-domain/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How gis-enterprise-domain Compares

Feature / Agentgis-enterprise-domainStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when administering ArcGIS Enterprise or building real-estate-specific GIS features — ArcGIS components, publishing services, security/roles, backup/DR, plus property search, neighbourhood analysis, catchment/isochrones, market heatmaps, and real-estate-SaaS integration.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Enterprise and Domain GIS
Acknowledgement: Shared by Peter Bamuhigire, techguypeter.com, +256 784 464178.

<!-- dual-compat-start -->
## Use When

- Use when administering ArcGIS Enterprise or building real-estate-specific GIS features — ArcGIS components, publishing services, security/roles, backup/DR, plus property search, neighbourhood analysis, catchment/isochrones, market heatmaps, and real-estate-SaaS integration.
- The task needs reusable judgment, domain constraints, or a proven workflow rather than ad hoc advice.

## Do Not Use When

- The task is unrelated to `gis-enterprise-domain` or would be better handled by a more specific companion skill.
- The request only needs a trivial answer and none of this skill's constraints or references materially help.

## Required Inputs

- Gather relevant project context, constraints, and the concrete problem to solve; load `references` only as needed.
- Confirm the desired deliverable: design, code, review, migration plan, audit, or documentation.

## Workflow

- Read this `SKILL.md` first, then load only the referenced deep-dive files that are necessary for the task.
- Apply the ordered guidance, checklists, and decision rules in this skill instead of cherry-picking isolated snippets.
- Produce the deliverable with assumptions, risks, and follow-up work made explicit when they matter.

## Quality Standards

- Keep outputs execution-oriented, concise, and aligned with the repository's baseline engineering standards.
- Preserve compatibility with existing project conventions unless the skill explicitly requires a stronger standard.
- Prefer deterministic, reviewable steps over vague advice or tool-specific magic.

## Anti-Patterns

- Treating examples as copy-paste truth without checking fit, constraints, or failure modes.
- Loading every reference file by default instead of using progressive disclosure.

## Outputs

- A concrete result that fits the task: implementation guidance, review findings, architecture decisions, templates, or generated artifacts.
- Clear assumptions, tradeoffs, or unresolved gaps when the task cannot be completed from available context alone.
- References used, companion skills, or follow-up actions when they materially improve execution.

## Evidence Produced

| Category | Artifact | Format | Example |
|----------|----------|--------|---------|
| Operability | ArcGIS Enterprise admin runbook | Markdown doc per `skill-composition-standards/references/runbook-template.md` covering portal, Server, and Data Store ops | `docs/gis/arcgis-runbook.md` |
| Data safety | Real-estate domain data model | Markdown doc per `skill-composition-standards/references/entity-model-template.md` covering parcel, ownership, and valuation entities | `docs/gis/real-estate-model.md` |

## References

- Use the `references/` directory for deep detail after reading the core workflow below.
<!-- dual-compat-end -->
ArcGIS Enterprise administration for regulated / established GIS environments, plus real-estate-specific GIS patterns that map cleanly to PostGIS + map clients.

**Prerequisites:** Load the `gis-platform-engineering` skill for the spatial backend (its `gis-postgis-backend` reference) and the map client (its `gis-mapping` or `gis-maps-integration` reference), and `multi-tenant-saas-architecture` for tenant isolation.

## When this skill applies

- Operating or integrating with ArcGIS Enterprise (Portal, Server, Data Store, Web Adaptor).
- Publishing authoritative GIS services (map, feature, image, geocoding).
- Designing GIS features for real estate: property search, neighbourhood analysis, catchment, market heatmaps.
- Building a real-estate SaaS that needs spatial features at a high bar.

## When ArcGIS Enterprise is right

```text
Government / regulated sector with ArcGIS mandated               -> ArcGIS Enterprise
Team already trained on ArcGIS Pro                               -> ArcGIS Enterprise
Need authoritative imagery/demographics datasets under licence    -> ArcGIS Online/Enterprise
Small startup, modern stack, cost-sensitive                       -> PostGIS + Mapbox/MapLibre
You need ESRI-specific analytical tools (Network Analyst)        -> ArcGIS Enterprise
```

Most SaaS startups pick the PostGIS + OSS map stack. ArcGIS Enterprise earns its cost in sectors where it's already the standard (government, utilities, defence) or when licenced datasets are critical.

See `references/when-arcgis-enterprise.md`.

## ArcGIS Enterprise components

- **Portal for ArcGIS** — identity, sharing, groups, content catalogue.
- **ArcGIS Server** — publishes services (map, feature, image, geoprocessing, geocoding).
- **Data Store** — relational, tile, and spatiotemporal data backends.
- **Web Adaptor** — IIS/Java web server integration for HTTPS, custom URLs.

Typical base deployment: one of each, highly available variant adds replication for each.

See `references/arcgis-components.md`.

## Publishing services

- **Feature services** — CRUD + query on features, the workhorse for interactive apps.
- **Map services** — pre-rendered tiles for fast display at fixed scales.
- **Image services** — raster data (imagery, DEM).
- **Geocoding services** — address to coordinate.
- **GeoProcessing services** — spatial analysis functions as endpoints.

**Versioning:** branch versioning for concurrent editing without conflicts; default version for most read workloads.

See `references/publishing-services.md`.

## Security + roles

Portal users assigned roles: Viewer, Data Editor, Publisher, Administrator. Groups control sharing.

Server-side Role-Based Access Control on published services. Integrate with enterprise IdP (SAML / OIDC).

Audit logs — enable and ship to the SIEM.

See `references/arcgis-security-roles.md`.

## Backup + DR

```text
1. Portal content — webgisdr utility (export + import).
2. Data Store — automated backups + geo-replicate for HA.
3. Server config — backup the machine's `config-store` directory.
4. Web Adaptor — stateless, reinstall from config.
5. Restore drill quarterly.
```

webgisdr is authoritative for Portal/Server/Data Store coordinated backup.

See `references/arcgis-backup-dr.md`.

## Real estate GIS recipes

### Property search with spatial filters

Filter by district/neighbourhood + within walking distance to transit + inside a school zone:

```sql
WITH search_area AS (
  SELECT ST_Union(geom) AS geom FROM districts WHERE code IN ('KAM01', 'KAM02')
), school_zones AS (
  SELECT ST_Union(geom) AS geom FROM zones WHERE type = 'school' AND rating >= 4
), transit AS (
  SELECT ST_Buffer(geom::geography, 800)::geometry AS geom FROM transit_stops  -- 800m walking
)
SELECT l.*
FROM listings l
JOIN search_area s ON ST_Contains(s.geom, l.geom)
JOIN school_zones sz ON ST_Contains(sz.geom, l.geom)
JOIN LATERAL (SELECT 1 FROM transit t WHERE ST_Intersects(t.geom, l.geom) LIMIT 1) tr ON TRUE
WHERE l.tenant_id = :tenant_id AND l.status = 'active';
```

See `references/property-search-spatial.md`.

### Neighbourhood analysis

For a listing, compute:

- **Walk score** — count of amenities within 800m / 1600m weighted by category.
- **Transit access** — nearest N transit stops with travel time.
- **Comparables** — similar listings within 2 km in last 180 days.
- **Demographics** — join to census or tenant-provided block statistics.

Cache per-listing summaries; refresh nightly.

See `references/neighbourhood-analysis.md`.

### Catchment / drive-time isochrones

- Simple: buffer by straight-line distance.
- Better: drive-time isochrones from OSRM, Mapbox Isochrone API, or Google Distance Matrix.
- Cache isochrone polygons in PostGIS; key by (point, mode, minutes).
- Use in "find listings I can reach in 20 minutes" features.

```sql
CREATE TABLE isochrones (
  id serial PRIMARY KEY,
  point geometry(Point, 4326) NOT NULL,
  mode text NOT NULL,
  minutes int NOT NULL,
  geom geometry(Polygon, 4326) NOT NULL,
  computed_at timestamptz NOT NULL DEFAULT now(),
  UNIQUE (point, mode, minutes)
);
```

See `references/catchment-isochrones.md`.

### Market heatmaps

Heatmap of listing price per square metre by small area (H3 hex index, grid, or admin boundary):

```sql
SELECT h.cell, AVG(l.price_per_sqm) AS avg_price, COUNT(*) AS listings
FROM listings l
JOIN h3_cells_resolution_8 h ON h3_indexes_contain(h.cell, l.geom)
WHERE l.tenant_id = :tenant_id AND l.sold_date > now() - interval '180 days'
GROUP BY h.cell
HAVING COUNT(*) >= 5;
```

Render client-side as a choropleth on Mapbox/MapLibre. Suppress cells with low N to avoid privacy + noise.

See `references/market-heatmaps.md`.

### Real-estate-SaaS integration

Architecture:

```text
Web app (Next.js/React)
  -> API (Fastify/PHP) reads MySQL listings table
  -> API joins to PostGIS for spatial queries
  -> Client renders map (Mapbox GL with MVT tiles from PostGIS)
  -> Geocoding via Google Places (cached)
  -> Isochrones via Mapbox Isochrone (cached in PostGIS)
```

Keep transactional listing data in MySQL; keep spatial in PostGIS; keep them linked by `listing_id`.

See `references/real-estate-saas-integration.md`.

## Anti-patterns

- Double-entry of property location in MySQL and PostGIS without a canonical source.
- Heatmaps rendered per-request without caching (expensive queries every pan/zoom).
- Isochrones computed live instead of cached.
- Exposing raw ArcGIS service URLs on the public internet without auth and rate limits.
- ArcGIS Enterprise on a single node for production (no HA).
- No webgisdr backup schedule.
- Publishing feature services without field-level visibility rules for multi-tenant contexts.

## Read next

- `gis-platform-engineering` skill (its `gis-postgis-backend` reference) — spatial backbone.
- `gis-platform-engineering` skill (its `gis-maps-integration` reference) — client mapping.
- `multi-tenant-saas-architecture` — tenant isolation end-to-end.

## References

- `references/when-arcgis-enterprise.md`
- `references/arcgis-components.md`
- `references/publishing-services.md`
- `references/arcgis-security-roles.md`
- `references/arcgis-backup-dr.md`
- `references/property-search-spatial.md`
- `references/neighbourhood-analysis.md`
- `references/catchment-isochrones.md`
- `references/market-heatmaps.md`
- `references/real-estate-saas-integration.md`
- `references/arcgis-pro-workflows.md` — geodatabase invariants, topology rules for parcels, branch vs traditional versioning, georeferencing with RMS targets, service pre-flight checklist

Related Skills

saas-sso-scim-enterprise-auth

8
from peterbamuhigire/skills-web-dev

Use when implementing enterprise auth on a multi-tenant SaaS — SAML 2.0 and OIDC SSO with per-tenant IdP configuration, SCIM 2.0 user provisioning/deprovisioning, custom-domain support with automated TLS, IP allowlists per tenant, audit-log API, and the migration from email-password tenants to IdP-enforced tenants. The price of entry for enterprise SaaS.

enterprise-ux-process

8
from peterbamuhigire/skills-web-dev

Operationalize Synechron's enterprise UX process for premium-priced enterprise engagements (financial services, insurance, regulated industries, large internal apps, B2B SaaS). Produces maturity-level declaration + activity evidence pack + heuristic evaluation + 5-outcomes pre-launch declaration. Cite when scoping, executing, or auditing premium enterprise UX work.

web-app-security-audit

8
from peterbamuhigire/skills-web-dev

Use when auditing a PHP/JavaScript/HTML web application for security vulnerabilities. Covers configuration, authentication, authorization, input validation, XSS, API security, HTTP headers, and dependency scanning. Produces a severity-rated audit...

vibe-security-skill

8
from peterbamuhigire/skills-web-dev

Use when designing or reviewing security for a web application, API, or multi-tenant SaaS — produces threat model, abuse case list, auth/authz matrix, and secret handling plan; covers OWASP Top 10 2025 and the AI-code-generation blind spots. Neighbours — api-design-first owns auth model fields, deployment-release-engineering owns secret rotation choreography, ai-security and llm-security own model-specific threats.

network-security

8
from peterbamuhigire/skills-web-dev

Use when designing, hardening, or auditing network-layer security for self-managed Debian/Ubuntu SaaS infrastructure — firewalls (nftables/UFW), WAF (ModSecurity + OWASP CRS), VPN (WireGuard, OpenVPN, IPsec), TLS/PKI ops, IDS/IPS (Suricata, Fail2ban), zero-trust, SSH hardening, DDoS mitigation, DNS security. Complements web-app-security-audit (app layer) and cicd-devsecops (secrets/CI).

linux-security-hardening

8
from peterbamuhigire/skills-web-dev

Use when hardening a Debian/Ubuntu server — user/group/sudo hardening, file permission audits, PAM password policy + MFA, AppArmor mandatory access control, auditd system call logging, kernel sysctl hardening, file integrity monitoring (AIDE), rootkit detection (rkhunter/chkrootkit), unattended security patching, GRUB + UEFI + LUKS boot security, and CIS benchmark compliance.

dpia-generator

8
from peterbamuhigire/skills-web-dev

Generate a Data Protection Impact Assessment (DPIA), Uganda DPPA 2019-compliant. Use when producing or reviewing a data protection impact assessment, a privacy impact assessment, when uganda-dppa-compliance flags [DPIA-REQUIRED], or when processing large-scale or sensitive personal data for a new feature.

code-safety-scanner

8
from peterbamuhigire/skills-web-dev

Scan any codebase for 14 critical safety issues across security vulnerabilities, server stability (500 errors), and payment misconfigurations. Use when auditing code before deployment, reviewing AI-generated code for production readiness, or...

world-class-engineering

8
from peterbamuhigire/skills-web-dev

Use when designing, building, reviewing, or upgrading production software systems that must be secure, performant, maintainable, scalable, and user-centered. Apply before writing specs, code, architecture, APIs, databases, mobile apps, SaaS platforms, or ERP systems.

update-Codex-documentation

8
from peterbamuhigire/skills-web-dev

Update project documentation files (README.md, PROJECT_BRIEF.md, TECH_STACK.md, ARCHITECTURE.md, docs/API.md, docs/DATABASE.md, AGENTS.md, docs/plans/NEXT_FEATURES.md) when significant changes occur. MANDATORY at end of each work session to...

skill-writing

8
from peterbamuhigire/skills-web-dev

Use when creating or upgrading skills in this repository. Covers repository-specific frontmatter rules, progressive disclosure, reference-file strategy, validation, and the quality bar required for production-grade engineering skills.

skill-safety-audit

8
from peterbamuhigire/skills-web-dev

Scan new or updated skills for unsafe or malicious instructions (unknown tools, external installers, credential harvesting) before accepting them into the repository.