Skills for Real Engineers. Straight from my .agents directory.
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
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)
1# PortalJS — Connect CKAN23## Overview45Connect 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 files7in `/public/data/`) and instead feeds its two data surfaces — the **`/search` catalog** and8the **`/@namespace/slug` showcases** — straight from a CKAN instance's REST API9(`package_search` / `package_show`) through a generated fetch client. Output is plain,10editable Next.js code with **no runtime dependency** — never `@portaljs/ckan`, whose bundle11wires React UI components to React 18 internals and crashes at import under the template's12React 19. Pages fetch CKAN server-side in `getStaticProps`/`getStaticPaths`, so the catalog13is pre-rendered at build time and the site can still be statically deployed. Run this right14after `portaljs-new-portal` to swap a freshly scaffolded portal's sample data over to CKAN.1516## Prerequisites1718- 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).2223## Instructions2425The canonical, full step-by-step workflow is26[`.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
Similar skill repositories
Public repository for Agent Skills
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
Production-grade engineering skills for AI coding agents.
The open-source app everyone uses to manage agents at work
The design vocabulary for your coding agent. Steer with polish and bolder, review with critique and audit, catch AI slop before it ships.
