Install any skill in seconds. Free to start, no credit card required.
Get Started Free →datopian/portaljs-add-resource
Add another file (resource) to an EXISTING dataset in a PortalJS portal — a data dictionary, methodology, or an additional data file. Turns a single-file dataset into a multi-resource one; the showcase renders a section per resource.
Passed 15 of 20 test cases with the skill, and 10 of 20 without it.
and 7 more in the full report
7 fixed10 passed either way4 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 7 test cases the skill fixed. Same model, same prompt, with and without the skill.
After editing `datasets.json` to add a resource to PortalJS dataset `health-stats`, running `npx next build` fails with a JSON syntax parse error. What is the required resolution before reporting completion?
| Checked | Without skill | With skill |
|---|---|---|
| Re-opens datasets.json to fix the syntax error | Missed | Passed |
| Re-runs npx next build to verify the build succeeds before reporting success | Missed | Passed |
The instructions your model reads when the skill loads.
Add a resource — an additional file — to a dataset that already exists in a
portaljs-catalog portal. Where /portaljs-add-dataset creates a new dataset
(one file), this skill adds a file to an existing one: a data dictionary, a
methodology document, or another data file (e.g. a second year's figures).
Mirrors the Frictionless Data Package model: a dataset holds a resources[] array,
and the showcase at /@<namespace>/<slug> renders one section per resource (preview,
schema, download). A single-file dataset migrates to resources[] automatically the
first time a second file is added — no data is lost.
portaljs-catalog template) with datasets.json,
package.json, and pages/[owner]/[slug].tsx present.datasets.json.npx next build for verification.The canonical, full step-by-step workflow lives in
.claude/commands/portaljs-add-resource.md
in this repository — that file is the single source of truth. Read and follow it. Summary:
DATASET (slug or namespace/slug), SOURCE
(path or URL), PORTAL_DIR (default .), RESOURCE_NAME, RESOURCE_TITLE,
DESCRIPTION. If DATASET or SOURCE is missing, list datasets from
datasets.json and ask./portaljs-add-dataset instead.PORTAL_DIR/public/data/ under a
non-colliding filename.datasets.json: if the dataset has no resources yet, migrate its
top-level file/format/schema into the first resource (lossless), thentest cases passed, vs 10 / 20 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.