Skills

Portaljs Add Dcat

Make a PortalJS portal harvestable by national/EU/US open-data portals, emit...

Install

npx skills add datopian/portaljs --skill portaljs-add-dcat -g -a claude-code -y
Repository
datopian/portaljs2.4k
Category
Engineering
Updated
7d ago
License
MIT
Context cost
Mediumabout 1,626 tokens
Runs scripts
No, instructions only

What it does

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 DCAT

Overview

Turn an existing PortalJS (portaljs-catalog) portal into a harvestable data catalog. PortalJS is Frictionless-native, a dataset is a Data Package (see portaljs-define-schema), and DCAT is the serialization + harvest layer on top (lib/metadata/dcat.ts + lib/metadata/dcat-profiles.ts). This skill selects one or more DCAT application profiles, maps every dataset's metadata to them, and writes static feed files at build time, JSON-LD, Turtle, and RDF/XML, so external catalogs (data.europa.eu, data.gov, national portals) can harvest the datasets automatically, on any static host, with no runtime.

Prerequisites

  • A scaffolded PortalJS portal with datasets.json, package.json, and lib/metadata/ (the metadata-profile contract) present.
  • lib/metadata/dcat.ts (the DCAT-3 core) already in place, profiles augment it.
  • Node 18+ and npm available in the portal directory.
  • For DCAT-AP / DCAT-US: a publishing organization (name + homepage) and a contact (name + email), both profiles require dct:publisher and dcat:contactPoint.
  • Optional but recommended: network access to run SHACL conformance checks against the official EU ITB validator or pyshacl.

Instructions

The canonical, full step-by-step workflow is .claude/commands/portaljs-add-dcat.md, the single source of truth. Read and follow it when executing. Summary:

Read the whole SKILL.md on GitHub

More in Engineering