Scaffold dashboard
Skill ahpxex/open-dashboard/.claude/skills/scaffold-dashboard
Stand up the dashboard foundation (the platform layer — UI primitives, form system, charts, Repository + adapters, auth seam, theme, routing shell) into a new project as a zero-config runnable app. Run this FIRST when building a dashboard, then compose screens from the add-component catalogue's shapes (add-detail-page, add-kanban, …) and the add-backend operation skill.From its SKILL.md
npx -y skills add ahpxex/open-dashboard --skill scaffold-dashboardAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- reads credentialsReads from 1 credential source: `DATABASE_URL`.
- runs commandsInstructs the agent to run 4 commands, including `bash .claude/skills/scaffold-dashboard/scaffold.sh <target-dir>` and 3 more.
SKILL.md
4.3 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Scaffold the dashboard foundation
The whole foundation is bundled at base/ — a clean, runnable app shell with
no demo content. Materialize it into a new project, then add screens from the
add-component catalogue's shapes (and the add-backend operation skill). You
don't read the foundation code — you scaffold it.
Scaffold
bash .claude/skills/scaffold-dashboard/scaffold.sh <target-dir>
Copies base/ → target and runs bun install. Then:
cd <target-dir>
bun run dev # zero-config: in-memory auth + data, no Postgres/Docker
Open it, click Dev quick login ([email protected] / password) → an empty,
branded dashboard.
What you get
TanStack Start + Router + Query + Table; shadcn-on-@base-ui/react primitives;
Tailwind v4 theme; the form system (TanStack Form + zod); chart components; the
Repository data layer (in-memory by default, Drizzle/Postgres when DATABASE_URL
is set); better-auth behind the AuthProvider seam; toast + useConfirm; and the
auth-guarded routing shell. Rebrand via src/config/app.ts (or the rebrand skill).
Compose a coherent product (not a demo dump)
You are building a real back-office for a specific domain — not showcasing the catalogue. The fastest way to ship something that reads as a patchwork demo is to copy a pile of gallery shapes into the nav. Don't. Instead:
- The home is an overview, never the placeholder. Replace
src/routes/_app/index.tsx(the "clean shell" welcome) with a real overview viaadd-chart-page— KPIs + charts derived from your actual resources. Shipping the scaffold welcome as the product home is the #1 tell of a demo. - Nav = real product sections only: Overview, your resources, Settings. The
scaffold base ships clean (no demo resources, no Skills Gallery) — you add
product sections to
src/lib/sidebar-items.ts, you don't prune sample ones. - Pick the archetype that fits each resource's shape, don't add one of each:
flat list → CRUD table (
add-backend); rich record → +add-detail-page; an inbox you triage →add-master-detail; a staged pipeline →add-kanban; people/visual items →add-card-list; date-bound items →add-calendar; metrics →add-chart-page. - Every nav item gets a distinct, meaningful Phosphor icon — never repeat one
icon (e.g.
SquaresFourIcon) down the list. - Use product language. Labels and page copy name the domain, not the mechanism: "Feed", not "Feed (REST)"; "Manage your invoices", not "Generated resource — customise the schema".
- Seed believable data — real names, dates, statuses, amounts. Three rows of
Alpha/Beta/Gammaread as a demo; a dozen realistic records read as a product.
Add screens (compose from the add-component catalogue)
The shapes below are references inside the single add-component catalogue (not
separate invocable skills); each copies a bundled template into the new project.
Data + CRUD comes from the add-backend operation skill.
- Resources (data + CRUD):
bun run create-resource <name>(oradd-backend), then the catalogue'sadd-detail-page,add-master-detail,add-card-list,add-form,add-chart-page. - Shapes (all in
add-component):add-list-view,add-kanban,add-tree-view,add-calendar,add-timeline,add-virtual-table,add-inline-edit,add-filter-panel,add-wizard-form,add-field-combobox,add-record-tabs,add-settings-page,add-empty-state,add-page-layout,add-data-display,add-feedback-states.
After copying a template, add a sidebar entry in src/lib/sidebar-items.ts (above
the // create-resource:anchor) so it shows in the nav.
Verify
cd <target-dir>
bun run typecheck && bun run check && bun run test && bun run build
All green on the empty shell (and after each screen you add). bun run dev boots
zero-config.
What ships with it: 155 files
1382.0 KB alongside SKILL.md, 64 of them executable
base/
- biome.json771 B
- bun.lock278.1 KB
- CLAUDE.md6.0 KB
- components.json538 B
- docker-compose.yml509 B
- drizzle.config.tsruns278 B
- .env.example720 B
- .gitignore747 B
- LICENSE1.0 KB
- package.json2.6 KB
- public/bg.jpg749.9 KB
- public/mocking/simple.json1023 B
- README.md3.5 KB
- scripts/create-resource.tsruns22.2 KB
- scripts/seed.tsruns1.1 KB
- src/components/charts/AreaChart.tsx2.4 KB
- src/components/charts/BarChart.tsx3.3 KB
- src/components/charts/ChartCard.tsx1005 B
- src/components/charts/chart-colors.test.tsruns675 B
- src/components/charts/chart-colors.tsruns1.2 KB
- src/components/charts/charts.test.tsx3.0 KB
- src/components/charts/index.tsruns531 B
- src/components/charts/LineChart.tsx1.6 KB
- src/components/charts/PieChart.tsx1.6 KB
- src/components/charts/StatCard.test.tsx1.3 KB
- src/components/charts/StatCard.tsx2.3 KB
- src/components/CommandMenuProvider.tsx505 B
- src/components/CommandMenu.tsx8.0 KB
- src/components/DashboardShell.tsx1.1 KB
- src/components/form/fields.test.tsx2.9 KB
- src/components/form/fields.tsx5.3 KB
- src/components/form/form-error.tsx517 B
- src/components/form/index.tsruns249 B
- src/components/form/submit-button.tsx1.1 KB
- src/components/Header.tsx1.3 KB
- src/components/providers.tsx567 B
- src/components/Sidebar.tsx4.3 KB
- src/components/ui/alert.tsx2.1 KB
- src/components/ui/avatar.tsx3.0 KB
- src/components/ui/badge.tsx1.9 KB
115 more files not listed here. See all 155 in the repository.
Gives 0 of the 12 instructions most project setup skills give in ~1.0k tokens
Counted across 1,553 of the 3,091 authors here whose files we hold, read 2026-09-06
- Write the configuration filein 36 of 1553
- Create the directory structurein 35 of 1553, across 33 files
- Verify the setupin 31 of 1553, across 28 files
- Run the setup scriptin 30 of 1553, across 29 files
- Pre-determine the required sample sizein 29 of 1553, across 12 files
- Check if the configuration already existsin 29 of 1553
- Document every testin 26 of 1553, across 10 files
- Start with a hypothesisin 26 of 1553, across 11 files
- Ask one question at a timein 22 of 1553
- Test a single variable per testin 21 of 1553, across 9 files
- Read product marketing context before asking questionsin 19 of 1553, across 8 files
- Do not peek and stop earlyin 18 of 1553, across 7 files
Said here and by no other author read
- Replace the home page with a real overview
- Add product sections to the sidebar items
- Pick the archetype that fits each resource
- Use distinct Phosphor icons for each nav item
- Use product language in labels and page copy
- Seed believable data with realistic records
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.