Agent Plugins Marketplace
All plugins

portaljs

v0.1.0

Agentic skills for building PortalJS data portals — recommend an architecture, scaffold a portal, add datasets, charts, and maps, connect a CKAN backend, deploy, and audit data quality.

Claude Code14 Skills

By DatopianLicense: MIT2.7k GitHub starsUpdated 6 hours ago

Directory evidence

Runtimes
Claude Code
Parsed components
14 skill or MCP entries
Source updated
Aug 27, 2026
Manifest status
Canonical path parsed

The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology

Install plugin

Installs for the current user
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install portaljs-2@agent-plugin-marketplace

Paste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.

The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.

Get the source manually
git clone https://github.com/jeremylongshore/tons-of-skills-marketplace

Clone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is plugins/community/portaljs/.

Plugin files

plugins/community/portaljs/
├── .claude-plugin/plugin.json
├── skills/arcgis-to-portaljs/SKILL.md
├── skills/portaljs-add-chart/SKILL.md
├── skills/portaljs-add-dataset/SKILL.md
├── skills/portaljs-add-dcat/SKILL.md
├── skills/portaljs-add-geo/SKILL.md
├── skills/portaljs-add-map/SKILL.md
├── skills/portaljs-add-resource/SKILL.md
├── skills/portaljs-architect/SKILL.md
├── skills/portaljs-check-data-quality/SKILL.md
├── skills/portaljs-connect-ckan/SKILL.md
├── skills/portaljs-define-schema/SKILL.md
├── skills/portaljs-deploy/SKILL.md
├── skills/portaljs-migrate/SKILL.md
└── skills/portaljs-new-portal/SKILL.md

Included Skills14

arcgis-to-portaljsskills/arcgis-to-portaljs/SKILL.md

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.

portaljs-add-chartskills/portaljs-add-chart/SKILL.md

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.

portaljs-add-datasetskills/portaljs-add-dataset/SKILL.md

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.

portaljs-add-dcatskills/portaljs-add-dcat/SKILL.md

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.

portaljs-add-geoskills/portaljs-add-geo/SKILL.md

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.

portaljs-add-mapskills/portaljs-add-map/SKILL.md

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.

portaljs-add-resourceskills/portaljs-add-resource/SKILL.md

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.

portaljs-architectskills/portaljs-architect/SKILL.md

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.

portaljs-check-data-qualityskills/portaljs-check-data-quality/SKILL.md

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.

portaljs-connect-ckanskills/portaljs-connect-ckan/SKILL.md

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.

portaljs-define-schemaskills/portaljs-define-schema/SKILL.md

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.

portaljs-deployskills/portaljs-deploy/SKILL.md

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.

portaljs-migrateskills/portaljs-migrate/SKILL.md

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.

portaljs-new-portalskills/portaljs-new-portal/SKILL.md

Scaffold a new PortalJS data portal from a brief. Copies the canonical template from examples/portaljs-catalog and substitutes project tokens. Use when starting a brand-new data portal project from scratch.

Plugin manifests1

plugins/community/portaljs/.claude-plugin/plugin.json
{
  "name": "portaljs",
  "version": "0.1.0",
  "description": "Agentic skills for building PortalJS data portals — recommend an architecture, scaffold a portal, add datasets, charts, and maps, connect a CKAN backend, deploy, and audit data quality.",
  "author": {
    "name": "Datopian",
    "url": "https://www.datopian.com"
  },
  "homepage": "https://github.com/datopian/portaljs",
  "repository": "https://github.com/datopian/portaljs",
  "license": "MIT",
  "keywords": [
    "portaljs",
    "data-portal",
    "ckan",
    "nextjs",
    "data-catalog"
  ],
  "commands": [
    "./.claude/commands/portaljs-architect.md",
    "./.claude/commands/portaljs-new-portal.md",
    "./.claude/commands/portaljs-add-dataset.md",
    "./.claude/commands/portaljs-add-resource.md",
    "./.claude/commands/portaljs-add-chart.md",
    "./.claude/commands/portaljs-add-map.md",
    "./.claude/commands/portaljs-add-geo.md",
    "./.claude/commands/portaljs-connect-ckan.md",
    "./.claude/commands/portaljs-migrate.md",
    "./.claude/commands/arcgis-to-portaljs.md",
    "./.claude/commands/portaljs-define-schema.md",
    "./.claude/commands/portaljs-deploy.md",
    "./.claude/commands/portaljs-check-data-quality.md",
    "./.claude/commands/portaljs-add-dcat.md"
  ],
  "skills": [
    "./skills/portaljs-architect",
    "./skills/portaljs-new-portal",
    "./skills/portaljs-add-dataset",
    "./skills/portaljs-add-resource",
    "./skills/portaljs-add-chart",
    "./skills/portaljs-add-map",
    "./skills/portaljs-add-geo",
    "./skills/portaljs-connect-ckan",
    "./skills/portaljs-migrate",
    "./skills/arcgis-to-portaljs",
    "./skills/portaljs-define-schema",
    "./skills/portaljs-deploy",
    "./skills/portaljs-check-data-quality",
    "./skills/portaljs-add-dcat"
  ]
}

If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.

[portaljs on Agent Plugins Marketplace](https://pluginsmp.com/plugins/portaljs-2)