Skip to main content
ClaudeWave

🌀 AI-native framework for building data portals. Scaffold a full portal from a brief and load datasets in minutes with agentic skills — any backend (CKAN, GitHub, Frictionless).

Subagents2.4k stars332 forksTypeScriptMITUpdated 3d ago
ClaudeWave Trust Score
100/100
Verified
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Healthy fork ratio
  • Clear description
  • Topics declared
  • Mature repo (>1y old)
Last scanned: 9/11/2026
Install as a Claude Code subagent
Method: Clone
Terminal
git clone https://github.com/datopian/portaljs && cp portaljs/*.md ~/.claude/agents/
1. Clone the repository and copy the agent .md definitions into ~/.claude/agents (or .claude/agents inside a project).
2. Start a new Claude Code session to load the agents.
3. Delegate work to them with the Task/Agent tool or by name.

24 items in this repository

add-chartSlash Command

Renamed → /portaljs-add-chart. This alias will be removed next minor release.

Install
add-datasetSlash Command

Renamed → /portaljs-add-dataset. This alias will be removed next minor release.

Install
add-mapSlash Command

Renamed → /portaljs-add-map. This alias will be removed next minor release.

Install
add-resourceSlash Command

Renamed → /portaljs-add-resource. This alias will be removed next minor release.

Install

Migrate a whole ArcGIS Hub site into a PortalJS Arc portal end-to-end. Harvests the Hub /data.json (DCAT-US) inventory, exports every FeatureService layer through the ArcGIS REST query API with resultOffset paging, converts each to the serverless dual tier (PMTiles render + GeoParquet query) with tabular items to Parquet, pushes everything to Cloudflare R2 via Git LFS, appends dual-tier datasets.json entries, and writes a source-vs-derived parity report. Use to move a City or sector ArcGIS Hub open-data portal onto PortalJS with no server-side compute.

Install
architectSlash Command

Renamed → /portaljs-architect. This alias will be removed next minor release.

Install
check-data-qualitySlash Command

Renamed → /portaljs-check-data-quality. This alias will be removed next minor release.

Install
connect-ckanSlash Command

Renamed → /portaljs-connect-ckan. This alias will be removed next minor release.

Install
define-schemaSlash Command

Renamed → /portaljs-define-schema. This alias will be removed next minor release.

Install
deploySlash Command

Renamed → /portaljs-deploy. This alias will be removed next minor release.

Install
migrateSlash Command

Renamed → /portaljs-migrate. This alias will be removed next minor release.

Install
new-portalSlash Command

Renamed → /portaljs-new-portal. This alias will be removed next minor release.

Install

Add a chart (line, bar, area, pie, or scatter) to a dataset's showcase in a PortalJS portal. Installs recharts, writes a reusable Chart component, and renders it in the showcase Views section. Use when visualizing a dataset already registered in datasets.json.

Install

Add a dataset (CSV, TSV, JSON, or GeoJSON) to an existing PortalJS portal. Appends an entry to datasets.json so the catalog and showcase render it automatically; routes the data by source (local file vs remote URL) — R2 via Git LFS by default, remote URLs by passthrough. Use when registering a new dataset in a scaffolded portal.

Install

Make a PortalJS portal harvestable by national/EU/US open-data portals — emit standards-compliant DCAT catalog feeds (DCAT 2/3, DCAT-AP, DCAT-US, national profiles) in JSON-LD, Turtle, and RDF/XML at build, with autodiscovery and per-profile conformance checking. Use when a portal needs to be harvested by data.europa.eu, data.gov, or a national open-data catalog.

Install

Auto-ingest a geospatial file (GeoJSON, Shapefile, GeoPackage, KML/KMZ, FlatGeobuf, CSV-with-geometry) into a PortalJS portal on the user's own machine, with no server. Normalizes CRS to EPSG:4326, derives a PMTiles render tier and a GeoParquet query tier, pushes all three artifacts to Cloudflare R2 via Git LFS, and appends one dual-tier datasets.json entry the showcase auto-renders. Use when the source is a vector geo format that needs a map or spatial-query view.

Install

Render a GeoJSON dataset on an interactive Leaflet map in the Views section of a dataset's showcase. Installs react-leaflet and a Map component, then renders the map for the chosen dataset. Use when a dataset's data is geographic and a map view is needed alongside the showcase's default metadata and download.

Install

Add another file (resource) to an EXISTING dataset in a PortalJS portal — a data dictionary, methodology, or an additional data file. Turns a single-file dataset into a multi-resource one; the showcase renders a section per resource. Use when a dataset needs a second file, such as a data dictionary, methodology doc, or an additional period's data.

Install

Recommend a data-portal architecture (storage, compute, catalog, access, hosting, metadata) from stated needs, then hand off to the build skills. The advisory entry point. Use when starting a new data-portal project and the underlying architecture has not yet been decided.

Install

Audit a local or remote tabular file (CSV/TSV) for common data quality issues — schema, nulls, types, duplicates. Read-only. Use when a dataset needs a quality check before publishing, or a showcase renders wrong (blank cells, garbled numbers, an unsortable date column) and the cause needs isolating.

Install

Wire a scaffolded PortalJS portal to a CKAN backend over its API. Generates a tiny server-side fetch client (no runtime dependency) and feeds the /search catalog and /@namespace/slug showcases from CKAN instead of datasets.json. Use when connecting an existing portal to a live CKAN instance instead of a static manifest.

Install

Define a dataset's metadata profile — infer a Frictionless Table Schema from its data, add Data Package metadata (license, sources, keywords), and write it into datasets.json so the showcase renders a typed field table. Extend or customize via the L0-L3 profile ladder. Use when a registered dataset needs field types, constraints, or catalog metadata before publishing.

Install

Deploy a PortalJS portal to PortalJS Arc — Datopian-managed static hosting on Cloudflare. Builds a static export, uploads it, and returns a live SLUG.arc.portaljs.com URL. One command, one target. Use when a portal is ready to publish or redeploy to a live URL.

Install

Migrate (harvest) datasets between open-data platforms. Reads CKAN, a DCAT-US /data.json catalog (DKAN, ArcGIS Hub, data.gov), a DCAT / DCAT-AP RDF feed (JSON-LD, Turtle, or RDF/XML), Socrata, OpenDataSoft, or an ArcGIS FeatureServer, and writes them to a static PortalJS catalog or pushes them into a CKAN instance over its API. Use when moving datasets from an external open-data platform into a PortalJS portal, or bridging one CKAN instance to another.

Install
Use cases

Subagents overview

README preview not available. Visit the repo on GitHub for full documentation.
agent-skillsaiai-agentsckanclaude-codedata-meshdata-portaldatahubdataversedkanmcpnextjsopen-dataopen-data-portalopendatasoftopenmetadataskillssocrata

What people ask about portaljs

What is datopian/portaljs?

+

datopian/portaljs is subagents for the Claude AI ecosystem. 🌀 AI-native framework for building data portals. Scaffold a full portal from a brief and load datasets in minutes with agentic skills — any backend (CKAN, GitHub, Frictionless). It has 2.4k GitHub stars and its last recorded update is dated 2026-09-07.

How do I install portaljs?

+

You can install portaljs by cloning the repository (https://github.com/datopian/portaljs) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is datopian/portaljs safe to use?

+

Our security agent has analyzed datopian/portaljs and assigned a Trust Score of 100/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains datopian/portaljs?

+

datopian/portaljs is maintained by datopian. The last recorded GitHub activity is dated 2026-09-07, with 74 open issues.

Are there alternatives to portaljs?

+

Yes. On ClaudeWave you can browse similar subagents at /categories/agents, sorted by popularity or recent activity.

Deploy portaljs to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: datopian/portaljs
[![Featured on ClaudeWave](https://claudewave.com/api/badge/datopian-portaljs)](https://claudewave.com/repo/datopian-portaljs)
<a href="https://claudewave.com/repo/datopian-portaljs"><img src="https://claudewave.com/api/badge/datopian-portaljs" alt="Featured on ClaudeWave: datopian/portaljs" width="320" height="64" /></a>

More Subagents