Tooluck logoTooluck
SKILL.md

portaljs-define-schema

Agent skill fromdatopian/portaljs

Define a dataset's metadata profile — infer a Frictionless Table Schema from its data, add Data Package metadata (license, sources, keywords), and write it into datasets.json so the showcase renders a typed field table. Extend or customize via the L0-L3 profile ladder. Use when a registered dataset needs field types, constraints, or catalog metadata before publishing.

How to install portaljs-define-schema

install portaljs-define-schema
# 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-define-schema/

# into

~/.claude/skills/portaljs-define-schema/ (all projects)

.claude/skills/portaljs-define-schema/ (one project)

skills/portaljs-define-schema/SKILL.md

MITFull file
1# PortalJS — Define Schema
2
3## Overview
4
5Define a dataset's metadata profile — the **authoring** skill for the metadata-profile
6contract (`lib/metadata`). Where `portaljs-add-dataset` registers *that* a dataset exists,
7this skill describes *what its data means*: infer a Frictionless **Table Schema** (fields,
8types, constraints) from sampled data, add the **Data Package** fields a catalog surfaces
9(title, licenses, sources, keywords), and write them onto the dataset's entry in
10`datasets.json`. The showcase at `/@<namespace>/<slug>` then renders a typed field table
11instead of a bare preview. The model is Frictionless-native; DCAT is a serialization layer
12built on top later, not authored here.
13
14The skill runs on a profile ladder — reach for higher levels only when needed:
15
16| Level | What it is | When |
17| --- | --- | --- |
18| L0 | Default `frictionless-tabular` profile; declare schema + metadata. | Default. Standard tabular CSV/TSV. |
19| L1 | L0 plus extra descriptive package fields. | Extra metadata, standard validation is fine. |
20| L2 | Fully custom profile (own schema template + `validate()`). | A dataset type needing custom validation rules. |
21| L3 | Multiple registered profiles, resolved per dataset. | A portal mixing dataset types. |
22
23The skill is interactive and never dead-ends: if input is thin it interviews in short
24rounds, infers defaults from the data, echoes the schema for confirmation, and accepts
25"use defaults" to proceed with the inferred schema as-is.
26…

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

nexu-io /

open-design
107k

The 1st Collaborative AI Design Agent Workspace. Local-first and open source. Create motion, prototypes, websites, apps, dashboards, presentations, images, and videos with your team and AI agents. Share work, exchange feedback, and iterate together in one workspace.

40 skills

tt-a1i /

archify
95k

Turn any idea, plan, or codebase into a beautiful interactive diagram. An agent skill for Claude Code, Codex, and more.

CCCXOC1 skill

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates