Skip to content

Commit 1ccbece

Browse files
anuveyatsuclaude
andauthored
feat(skills): standard skills/<name>/SKILL.md format for crawler discovery (po-abr.1) (#1643)
Add top-level skills/ directory with one SKILL.md per PortalJS skill (name+description frontmatter, standard Agent Skills schema) so skill crawlers (skills.sh, SkillsMP, etc.) can index the repo. Each SKILL.md points at the canonical .claude/commands/portaljs-*.md doc to avoid duplication drift. Wire skills[] into .claude-plugin/plugin.json, drop the deprecated bare-name command entries (aliases slated for removal), and add the missing portaljs-add-dcat command entry. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent 67a0f2b commit 1ccbece

13 files changed

Lines changed: 231 additions & 11 deletions

File tree

.claude-plugin/plugin.json

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,20 @@
2222
"./.claude/commands/portaljs-define-schema.md",
2323
"./.claude/commands/portaljs-deploy.md",
2424
"./.claude/commands/portaljs-check-data-quality.md",
25-
"./.claude/commands/architect.md",
26-
"./.claude/commands/new-portal.md",
27-
"./.claude/commands/add-dataset.md",
28-
"./.claude/commands/add-resource.md",
29-
"./.claude/commands/add-chart.md",
30-
"./.claude/commands/add-map.md",
31-
"./.claude/commands/connect-ckan.md",
32-
"./.claude/commands/migrate.md",
33-
"./.claude/commands/define-schema.md",
34-
"./.claude/commands/deploy.md",
35-
"./.claude/commands/check-data-quality.md"
25+
"./.claude/commands/portaljs-add-dcat.md"
26+
],
27+
"skills": [
28+
"./skills/portaljs-architect",
29+
"./skills/portaljs-new-portal",
30+
"./skills/portaljs-add-dataset",
31+
"./skills/portaljs-add-resource",
32+
"./skills/portaljs-add-chart",
33+
"./skills/portaljs-add-map",
34+
"./skills/portaljs-connect-ckan",
35+
"./skills/portaljs-migrate",
36+
"./skills/portaljs-define-schema",
37+
"./skills/portaljs-deploy",
38+
"./skills/portaljs-check-data-quality",
39+
"./skills/portaljs-add-dcat"
3640
]
3741
}

skills/portaljs-add-chart/SKILL.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: portaljs-add-chart
3+
description: Add a chart (line, bar, area, pie, or scatter) to a dataset's showcase in a PortalJS portal. Installs recharts, writes a reusable Chart component, and renders it in the showcase Views section.
4+
---
5+
6+
# PortalJS — Add Chart
7+
8+
Add a chart (line, bar, area, pie, or scatter) to a dataset's showcase in a PortalJS portal. Installs recharts, writes a reusable Chart component, and renders it in the showcase Views section.
9+
10+
## Usage
11+
12+
Invoke as the `/portaljs-add-chart` slash command in Claude Code, or ask your agent to run the **portaljs-add-chart** skill. The skill interviews you for any missing input rather than erroring.
13+
14+
## Instructions
15+
16+
The canonical, full step-by-step workflow for this skill lives in
17+
[`.claude/commands/portaljs-add-chart.md`](../../.claude/commands/portaljs-add-chart.md) in this repository —
18+
that file is the single source of truth. When executing this skill, read and follow it.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: portaljs-add-dataset
3+
description: Add a dataset (CSV, TSV, JSON, or GeoJSON) to an existing PortalJS portal. Appends an entry to datasets.json so the catalog and showcase render it automatically; routes the data by source (local file vs remote URL) — R2 via Git LFS by default, remote URLs by passthrough.
4+
---
5+
6+
# PortalJS — Add Dataset
7+
8+
Add a dataset (CSV, TSV, JSON, or GeoJSON) to an existing PortalJS portal. Appends an entry to datasets.json so the catalog and showcase render it automatically; routes the data by source (local file vs remote URL) — R2 via Git LFS by default, remote URLs by passthrough.
9+
10+
## Usage
11+
12+
Invoke as the `/portaljs-add-dataset` slash command in Claude Code, or ask your agent to run the **portaljs-add-dataset** skill. The skill interviews you for any missing input rather than erroring.
13+
14+
## Instructions
15+
16+
The canonical, full step-by-step workflow for this skill lives in
17+
[`.claude/commands/portaljs-add-dataset.md`](../../.claude/commands/portaljs-add-dataset.md) in this repository —
18+
that file is the single source of truth. When executing this skill, read and follow it.

skills/portaljs-add-dcat/SKILL.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: portaljs-add-dcat
3+
description: Make a PortalJS portal harvestable by national/EU/US open-data portals — emit standards-compliant DCAT catalog feeds (DCAT 2/3, DCAT-AP, DCAT-US, national profiles) in JSON-LD, Turtle, and RDF/XML at build, with autodiscovery and per-profile conformance checking.
4+
---
5+
6+
# PortalJS — Add DCAT
7+
8+
Make a PortalJS portal harvestable by national/EU/US open-data portals — emit standards-compliant DCAT catalog feeds (DCAT 2/3, DCAT-AP, DCAT-US, national profiles) in JSON-LD, Turtle, and RDF/XML at build, with autodiscovery and per-profile conformance checking.
9+
10+
## Usage
11+
12+
Invoke as the `/portaljs-add-dcat` slash command in Claude Code, or ask your agent to run the **portaljs-add-dcat** skill. The skill interviews you for any missing input rather than erroring.
13+
14+
## Instructions
15+
16+
The canonical, full step-by-step workflow for this skill lives in
17+
[`.claude/commands/portaljs-add-dcat.md`](../../.claude/commands/portaljs-add-dcat.md) in this repository —
18+
that file is the single source of truth. When executing this skill, read and follow it.

skills/portaljs-add-map/SKILL.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: portaljs-add-map
3+
description: Render a GeoJSON dataset on an interactive Leaflet map in the Views section of a dataset's showcase. Installs react-leaflet and a Map component, then renders the map for the chosen dataset.
4+
---
5+
6+
# PortalJS — Add Map
7+
8+
Render a GeoJSON dataset on an interactive Leaflet map in the Views section of a dataset's showcase. Installs react-leaflet and a Map component, then renders the map for the chosen dataset.
9+
10+
## Usage
11+
12+
Invoke as the `/portaljs-add-map` slash command in Claude Code, or ask your agent to run the **portaljs-add-map** skill. The skill interviews you for any missing input rather than erroring.
13+
14+
## Instructions
15+
16+
The canonical, full step-by-step workflow for this skill lives in
17+
[`.claude/commands/portaljs-add-map.md`](../../.claude/commands/portaljs-add-map.md) in this repository —
18+
that file is the single source of truth. When executing this skill, read and follow it.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: portaljs-add-resource
3+
description: 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.
4+
---
5+
6+
# PortalJS — Add Resource
7+
8+
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.
9+
10+
## Usage
11+
12+
Invoke as the `/portaljs-add-resource` slash command in Claude Code, or ask your agent to run the **portaljs-add-resource** skill. The skill interviews you for any missing input rather than erroring.
13+
14+
## Instructions
15+
16+
The canonical, full step-by-step workflow for this skill lives in
17+
[`.claude/commands/portaljs-add-resource.md`](../../.claude/commands/portaljs-add-resource.md) in this repository —
18+
that file is the single source of truth. When executing this skill, read and follow it.

skills/portaljs-architect/SKILL.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: portaljs-architect
3+
description: Recommend a data-portal architecture (storage, compute, catalog, access, hosting, metadata) from your needs, then hand off to the build skills. The advisory entry point.
4+
---
5+
6+
# PortalJS — Architect
7+
8+
Recommend a data-portal architecture (storage, compute, catalog, access, hosting, metadata) from your needs, then hand off to the build skills. The advisory entry point.
9+
10+
## Usage
11+
12+
Invoke as the `/portaljs-architect` slash command in Claude Code, or ask your agent to run the **portaljs-architect** skill. The skill interviews you for any missing input rather than erroring.
13+
14+
## Instructions
15+
16+
The canonical, full step-by-step workflow for this skill lives in
17+
[`.claude/commands/portaljs-architect.md`](../../.claude/commands/portaljs-architect.md) in this repository —
18+
that file is the single source of truth. When executing this skill, read and follow it.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: portaljs-check-data-quality
3+
description: Audit a local or remote tabular file (CSV/TSV) for common data quality issues. Read-only. Use only when the user explicitly asks to check or audit data quality.
4+
---
5+
6+
# PortalJS — Check Data Quality
7+
8+
Audit a local or remote tabular file (CSV/TSV) for common data quality issues. Read-only. Use only when the user explicitly asks to check or audit data quality.
9+
10+
## Usage
11+
12+
Invoke as the `/portaljs-check-data-quality` slash command in Claude Code, or ask your agent to run the **portaljs-check-data-quality** skill. The skill interviews you for any missing input rather than erroring.
13+
14+
## Instructions
15+
16+
The canonical, full step-by-step workflow for this skill lives in
17+
[`.claude/commands/portaljs-check-data-quality.md`](../../.claude/commands/portaljs-check-data-quality.md) in this repository —
18+
that file is the single source of truth. When executing this skill, read and follow it.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: portaljs-connect-ckan
3+
description: 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.
4+
---
5+
6+
# PortalJS — Connect CKAN
7+
8+
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.
9+
10+
## Usage
11+
12+
Invoke as the `/portaljs-connect-ckan` slash command in Claude Code, or ask your agent to run the **portaljs-connect-ckan** skill. The skill interviews you for any missing input rather than erroring.
13+
14+
## Instructions
15+
16+
The canonical, full step-by-step workflow for this skill lives in
17+
[`.claude/commands/portaljs-connect-ckan.md`](../../.claude/commands/portaljs-connect-ckan.md) in this repository —
18+
that file is the single source of truth. When executing this skill, read and follow it.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: portaljs-define-schema
3+
description: 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.
4+
---
5+
6+
# PortalJS — Define Schema
7+
8+
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.
9+
10+
## Usage
11+
12+
Invoke as the `/portaljs-define-schema` slash command in Claude Code, or ask your agent to run the **portaljs-define-schema** skill. The skill interviews you for any missing input rather than erroring.
13+
14+
## Instructions
15+
16+
The canonical, full step-by-step workflow for this skill lives in
17+
[`.claude/commands/portaljs-define-schema.md`](../../.claude/commands/portaljs-define-schema.md) in this repository —
18+
that file is the single source of truth. When executing this skill, read and follow it.

0 commit comments

Comments
 (0)