Install any skill in seconds. Free to start, no credit card required.
Get Started Free →datopian/portaljs-migrate
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.
Passed 19 of 20 test cases with the skill, and 6 of 20 without it.
and 15 more in the full report
14 fixed7 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
We are creating a brand new PortalJS data portal project from scratch and need to generate initial project files like package.json and pages/[owner]/[slug].tsx. Which tool initializes a new portal repository?
| Checked | Without skill | With skill |
|---|---|---|
| Recommends portaljs-new-portal to scaffold fresh catalogs | Missed | Passed |
The instructions your model reads when the skill loads.
Harvest datasets from an external open-data platform into a PortalJS portal, or
push them into a CKAN instance. Every source reads into one canonical shape —
{ slug, namespace, name, description, resources[] } — then writes to the target
from that shape, so adding a source covers every target automatically.
Supported sources: CKAN, a DCAT-US /data.json catalog (DKAN, ArcGIS Hub,
data.gov), a DCAT / DCAT-AP RDF feed, Socrata, OpenDataSoft, or an ArcGIS
FeatureServer/MapServer. Supported targets: a static PortalJS catalog
(datasets.json, resources linked by URL or downloaded into Cloudflare R2) or a
CKAN instance over its write API.
This is the copy-into-the-portal path, the inverse of /portaljs-connect-ckan
(which reads the source live at build time): a one-time, re-runnable snapshot so
the portal stands alone and needs no backend.
datasets.json,
package.json, and pages/[owner]/[slug].tsx must exist (the portaljs-catalog
template).npm install).CKAN_API_KEY — never hardcoded.download copy mode: git-lfs and a PortalJS Arc account (or a
self-hosted Giftless endpoint) to push resource files to R2.dcat-rdf sources: lib/metadata/dcat-harvest.ts and dcat-profiles.ts
(copy from examples/portaljs-catalog/lib/metadata/ if missing), run via npx tsx.Full step-by-step workflow:
.claude/commands/portaljs-migrate.md.
static/ckan), portal
directory, copy mode (link/download), filters. Interview instead of erroring.test cases passed, vs 6 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.