Agent skill · product strategy · jeremylongshore

portaljs-architect

Recommend a data-portal architecture (storage, compute, catalog, access, hosting, metadata) from stated needs, then hand off to the build skills. The advisory entry point. Use when starting a new data-portal project and the underlying architecture has not yet been decided.

Why this skill is useful

Provides a structured approach to defining a data-portal architecture that the AI wouldn't generate on its own without specific domain knowledge.

What it needs

About 3k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.

What this skill does

PortalJS — Architect Overview The advisory entry point for a PortalJS project. Before anything gets scaffolded, this skill works out what to build: given the kind of portal, the shape of the data, and its purpose, it fills six architecture slots (storage, catalog, compute, access, hosting, metadata), resolves two build-time knobs (per-dataset data tier and the portal-wide DATAQUERY mode), and hands off to the concrete build skills. It decides; it does not build. When the brief is thin it interviews in short rounds and never dead-ends — every question has a sensible default, reachable by replying "use defaults." Prerequisites A rough idea of the portal's purpose and data (exact numbers are not required — the interview supplies defaults for anything missing). Optional: local files or a directory of sample data to inspect for size and shape. No PortalJS project needs to exist yet; this skill runs before scaffolding. Instructions The canonical, full step-by-step workflow lives in .claude/commands/portaljs-architect.md — that file is the single source of truth. Follow it when executing this skill: 1. Parse $ARGUMENTS for anything already specified, then interview for what's missing, one round at a time: (1) what's being built, (2) what the data is, (3) what it's for, (4) constraints. Accept "use defaults" at any point. Inspect named files/directories with du -sh and line counts to ground size guesses. 2. Derive the recommendation by matching the answers against the decision tables — Storage/Catalog/Compute by data volume and query needs, Access/Hosting by public vs. private, Metadata by standards-compliance needs — then resolve the two build-time knobs: per-dataset data tier (inline LFS external) and the portal-wide DATAQUERY mode (flat duckdb). 3. Echo the architecture brief (stack, reasoning per slot, deviations from default, deferred items) and wait for confirmation ("go") or corrections. 4. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeremylongshore/portaljs-architect

View the source on GitHub

Browse the @skills marketplace