Portaljs Add Dataset

Registers a CSV/TSV/JSON/GeoJSON dataset in a PortalJS catalog by appending one datasets.json entry.

Tested · Works

Test report

Verdict
Tested · Works
Score
8.8/10
Tested
Jul 20, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · 0c62d68

Fetched SKILL.md, the referenced executable workflow (.claude/commands/portaljs-add-dataset.md, 325 lines) and references/reference.md — all present in the repo tree; frontmatter has name+description and all relative/link targets resolve. Measured the self-contained remote-URL passthrough route: baseline plausibly downloads the CSV into the repo and/or invents field names, while the skill records the URL unchanged (no bytes copied), writes the exact Dataset shape (file/name/format, lowercase, not url/title/type), enforces unique (namespace,slug), and creates no page file — a concrete win. The headline local-file default (R2 via Git LFS) requires git-lfs + an Arc token/R2 infra I did not and could not exercise; that carries real setup friction. Security: LFS token flow mints a scoped short-TTL JWT from the PortalJS Arc API and reads the user's own ~/.portaljs/credentials — no exfiltration, no curl|sh, no binary installs. Trigger phrasings — SHOULD: "add this CSV to my PortalJS portal", "register a new dataset in datasets.json for my data portal", "I have a GeoJSON URL, list it in my portal catalog"; SHOULD NOT: "add a chart to my dataset's showcase" (portaljs-add-chart), "build me a new PortalJS portal from scratch" (portaljs-new-portal) — all 5 judged correctly.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 7/10
  • Docs & honesty 5/5

What Portaljs Add Dataset does

Adds a dataset to an existing PortalJS (portaljs-catalog) portal by appending a single entry to datasets.json and routing the bytes by source: remote URLs pass through unchanged, local files default to R2 via Git LFS. Triggers when registering new CSV/TSV/JSON/GeoJSON data in a scaffolded portal; hands off geo/map formats to sibling skills.

How to install Portaljs Add Dataset

Plugin skill inside datopian/portaljs (.claude-plugin present). Install via the PortalJS Claude marketplace/plugin, or copy skills/portaljs-add-dataset/ into ~/.claude/skills/. The default local-file route additionally needs git-lfs installed and an Arc/PortalJS account token to push bytes to R2; the remote-URL route needs only Node/npm.

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Portaljs Add Dataset

  • /portaljs-add-dataset Registers a CSV/TSV/JSON/GeoJSON dataset in a PortalJS catalog by appending one datasets.json entry.

It also activates on plain-language prompts like these:

  • Add this CSV file as a new dataset to the portal
  • Register a remote JSON dataset in datasets.json
  • Publish this GeoJSON file to our data catalog

Frequently asked questions

Is the Portaljs Add Dataset skill free?
Yes. The skill itself is free from datopian/portaljs. SkillProof publishes the install command and an independent test verdict at no cost.
Does Portaljs Add Dataset work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 20, 2026. Verdict: Tested · Works. Fetched SKILL.md, the referenced executable workflow (.claude/commands/portaljs-add-dataset.md, 325 lines) and references/reference.md — all present in the repo tree; frontmatter has name+description and all relative/link targets resolve. Measured the self-contained remote-URL passthrough route: baseline plausibly downloads the CSV into the repo and/or invents field names, while the skill records the URL unchanged (no bytes copied), writes the exact Dataset shape (file/name/format, lowercase, not url/title/type), enforces unique (namespace,slug), and creates no page file — a concrete win. The headline local-file default (R2 via Git LFS) requires git-lfs + an Arc token/R2 infra I did not and could not exercise; that carries real setup friction. Security: LFS token flow mints a scoped short-TTL JWT from the PortalJS Arc API and reads the user's own ~/.portaljs/credentials — no exfiltration, no curl|sh, no binary installs. Trigger phrasings — SHOULD: "add this CSV to my PortalJS portal", "register a new dataset in datasets.json for my data portal", "I have a GeoJSON URL, list it in my portal catalog"; SHOULD NOT: "add a chart to my dataset's showcase" (portaljs-add-chart), "build me a new PortalJS portal from scratch" (portaljs-new-portal) — all 5 judged correctly.
What is the Portaljs Add Dataset SkillProof Score?
8.8/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 7/10, docs & honesty 5/5.
How do I install Portaljs Add Dataset?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Portaljs Add Dataset with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.