Skills for Real Engineers. Straight from my .agents directory.
portaljs-migrate
Agent skill fromdatopian/portaljs
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.
How to install portaljs-migrate
npx skills add datopian/portaljs# or add only this skill to Claude Code: copy the folder
skills/portaljs-migrate/
# into
~/.claude/skills/portaljs-migrate/ (all projects)
.claude/skills/portaljs-migrate/ (one project)
1# PortalJS — Migrate23## Overview45Harvest datasets from an external open-data platform into a PortalJS portal, or6push them into a CKAN instance. Every source reads into one canonical shape —7`{ slug, namespace, name, description, resources[] }` — then writes to the target8from that shape, so adding a source covers every target automatically.910Supported sources: CKAN, a DCAT-US `/data.json` catalog (DKAN, ArcGIS Hub,11data.gov), a DCAT / DCAT-AP RDF feed, Socrata, OpenDataSoft, or an ArcGIS12FeatureServer/MapServer. Supported targets: a static PortalJS catalog13(`datasets.json`, resources linked by URL or downloaded into Cloudflare R2) or a14CKAN instance over its write API.1516This is the copy-into-the-portal path, the inverse of `/portaljs-connect-ckan`17(which reads the source live at build time): a one-time, re-runnable snapshot so18the portal stands alone and needs no backend.1920## Prerequisites2122- An existing PortalJS portal for the static target: `datasets.json`,23 `package.json`, and `pages/[owner]/[slug].tsx` must exist (the `portaljs-catalog`24 template).25- Node 18+ and npm, with portal dependencies installed (`npm install`).26- Network access to the source platform's API or feed URL.27- For a CKAN target: a write API key in `CKAN_API_KEY` — never hardcoded.28- For `download` copy mode: `git-lfs` and a PortalJS Arc account (or a29 self-hosted Giftless endpoint) to push resource files to R2.30- For `dcat-rdf` sources: `lib/metadata/dcat-harvest.ts` and `dcat-profiles.ts`31…
Excerpt shown under the repository's MIT license.
More skills in portaljs
Similar skill repositories
Public repository for Agent Skills
Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Production-grade engineering skills for AI coding agents.
The open-source app everyone uses to manage agents at work
The design vocabulary for your coding agent. Steer with polish and bolder, review with critique and audit, catch AI slop before it ships.
