portaljs
🌀 AI-native framework for building data portals. Scaffold a full portal from a brief and load datasets in minutes with agentic skills — any backend (CKAN, GitHub, Frictionless).
PortalJS is a Claude Code plugin that provides agentic skills for building data portals through conversational AI commands. It offers slash commands like /portaljs-new-portal, /portaljs-add-dataset, and /portaljs-architect that scaffold Next.js-based data portals, load datasets from CSV/JSON/GeoJSON, connect to backends like CKAN, and recommend infrastructure architecture. The plugin enables developers to describe the portal they want and have Claude Code generate plain, editable code with no vendor lock-in, supporting backends from static files to CKAN to modern data lakehouses built on DuckDB and Parquet.
Key Features
Use Cases
- 01Building government open data portals from briefs like 'Auckland Council open data portal'
- 02Migrating legacy CKAN or ArcGIS Hub catalogs to modern serverless infrastructure
- 03Creating research data repositories with Frictionless/DCAT metadata schemas
- 04Rapidly prototyping data portals with sample datasets before connecting production backends
- 05Publishing standards-compliant DCAT feeds for EU/US national portal harvesting
- 06Scaffolding enterprise data catalogs with DuckDB-queryable Parquet files on object storage
Related Plugins
View moreandrej-karpathy-skills
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
claude-mem
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
Understand-Anything
Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
rtk
CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
portaljs — FAQ
What is the PortalJS Claude Code plugin?+
PortalJS is a collection of Claude Code skills (slash commands) that scaffold data portals, add datasets, connect backends like CKAN, and deploy sites—all through conversational AI commands. The plugin generates plain Next.js code you own and can modify.
How do I install the PortalJS skills in Claude Code?+
Run the install script to add skills to ~/.claude/commands: curl -fsSL https://raw.githubusercontent.com/datopian/portaljs/main/scripts/install-portaljs-skills.sh | bash. Then restart Claude Code and type / to see available /portaljs-* commands.
Which AI clients work with PortalJS?+
PortalJS skills are built specifically for Claude Code. The generated Next.js portals run independently in any Node.js 22+ environment.
Do I need API keys or a CKAN backend to use PortalJS?+
No prerequisites for the default static-file mode—just Node.js 22+. Optional backends (CKAN, Cloudflare R2, OpenMetadata) require their respective credentials, which skills will prompt for interactively when needed.
Is PortalJS free and open source?+
Yes, PortalJS is MIT-licensed and maintained by Datopian and the community. All generated code is plain Next.js with no vendor lock-in.
Can I build portals without using the AI skills?+
Yes, you can scaffold portals manually with npm create portaljs@latest or npx tiged datopian/portaljs/examples/portaljs-catalog. The skills are a convenience layer, not a requirement.
How do I install portaljs?+
Open the source repository on GitHub and follow its README. portaljs is a plugin — MCP Agents Market links you directly to the official repo.
Is portaljs free?+
portaljs is an open-source project hosted on GitHub. Check the repository for its license and any usage requirements.