Tooluck logoTooluck
SKILL.md

portaljs-connect-ckan

Agent skill fromdatopian/portaljs

Wire a scaffolded PortalJS portal to a CKAN backend over its API. Generates a tiny server-side fetch client (no runtime dependency) and feeds the /search catalog and /@namespace/slug showcases from CKAN instead of datasets.json. Use when connecting an existing portal to a live CKAN instance instead of a static manifest.

How to install portaljs-connect-ckan

install portaljs-connect-ckan
# 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-connect-ckan/

# into

~/.claude/skills/portaljs-connect-ckan/ (all projects)

.claude/skills/portaljs-connect-ckan/ (one project)

skills/portaljs-connect-ckan/SKILL.md

MITFull file
1# PortalJS — Connect CKAN
2
3## Overview
4
5Connect an existing `portaljs-catalog` portal to a live CKAN backend for the "decoupled /
6any backend" path. The portal stops reading the static `datasets.json` manifest (and files
7in `/public/data/`) and instead feeds its two data surfaces — the **`/search` catalog** and
8the **`/@namespace/slug` showcases** — straight from a CKAN instance's REST API
9(`package_search` / `package_show`) through a generated fetch client. Output is plain,
10editable Next.js code with **no runtime dependency** — never `@portaljs/ckan`, whose bundle
11wires React UI components to React 18 internals and crashes at import under the template's
12React 19. Pages fetch CKAN server-side in `getStaticProps`/`getStaticPaths`, so the catalog
13is pre-rendered at build time and the site can still be statically deployed. Run this right
14after `portaljs-new-portal` to swap a freshly scaffolded portal's sample data over to CKAN.
15
16## Prerequisites
17
18- A scaffolded PortalJS portal (see `portaljs-new-portal`) with `package.json`, `pages/`,
19 `datasets.json`, `pages/search.tsx`, and `pages/[owner]/[slug].tsx` present.
20- A CKAN base URL that is publicly reachable, e.g. `https://demo.dev.datopian.com`.
21- Node 18+ and npm available in the portal directory (no new packages are installed).
22
23## Instructions
24
25The canonical, full step-by-step workflow is
26[`.claude/commands/portaljs-connect-ckan.md`](https://github.com/datopian/portaljs/blob/main/.claude/commands/portaljs-connect-ckan.md) —
27…

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