Agent skill · Data & Analytics

portaljs-add-dcat

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.

datopiangithub.com/datopianGitHub ↗
claude-codecan modify filesMIT
Install
npx skills add datopian/portaljs --skill portaljs-add-dcat --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 7 KB
Bundled scripts: none
Version: 1.0.0
Declared author: Datopian <hello@datopian.com>
Allowed tools: ReadWriteEditBash(npm:*)Bash(npx:*)Bash(node:*)WebFetch
Requires: Claude Code with PortalJS portals (Next.js 14, React 18, Node 18+). Runs from any project via the plugin, a personal…
Path: skills/portaljs-add-dcat/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 2,337
Language: TypeScript
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# 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 valid

What's inside
Steps it walks through
  1. Overview
  2. Prerequisites
  3. Instructions
  4. Output
  5. Error Handling
  6. Examples
  7. Example 1 — Default DCAT-3 feed, no national harvesting
  8. Example 2 — EU harvesting via DCAT-AP
  9. Example 3 — US federal harvesting via DCAT-US
  10. Example 4 — Multiple profiles plus a national extension
  11. Resources
Ships with 1 file
  • references/reference.md
More from portaljs
All skills →
About this skill
What does the portaljs-add-dcat skill do?

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.

How do I install it?

Run `npx skills add datopian/portaljs --skill portaljs-add-dcat --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From datopian/portaljs, a repository with 2,337 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going