Tooluck logoTooluck
SKILL.md

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

install portaljs-migrate
# install the portaljs pack with the skills CLI
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)

skills/portaljs-migrate/SKILL.md

MITFull file
1# PortalJS — Migrate
2
3## Overview
4
5Harvest datasets from an external open-data platform into a PortalJS portal, or
6push them into a CKAN instance. Every source reads into one canonical shape —
7`{ slug, namespace, name, description, resources[] }` — then writes to the target
8from that shape, so adding a source covers every target automatically.
9
10Supported sources: CKAN, a DCAT-US `/data.json` catalog (DKAN, ArcGIS Hub,
11data.gov), a DCAT / DCAT-AP RDF feed, Socrata, OpenDataSoft, or an ArcGIS
12FeatureServer/MapServer. Supported targets: a static PortalJS catalog
13(`datasets.json`, resources linked by URL or downloaded into Cloudflare R2) or a
14CKAN instance over its write API.
15
16This 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 so
18the portal stands alone and needs no backend.
19
20## Prerequisites
21
22- 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 a
29 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

Keep exploring

Similar skill repositories

thedotmack /

claude-mem
116k

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

CCCXGHGM+135 skills

pbakaus /

impeccable
108k

The design vocabulary for your coding agent. Steer with polish and bolder, review with critique and audit, catch AI slop before it ships.

2 skills

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates