Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/ahpxex/open-dashboardnpx agentmods add skills/ahpxex/open-dashboard/scaffold-dashboardWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ahpxex/open-dashboard/scaffold-dashboard)<a href="https://agentmods.dev/skills/ahpxex/open-dashboard/scaffold-dashboard"><img src="https://agentmods.dev/badge/skills/ahpxex/open-dashboard/scaffold-dashboard/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ahpxex/open-dashboard/scaffold-dashboard"><img src="https://agentmods.dev/badge/skills/ahpxex/open-dashboard/scaffold-dashboard.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00082 | $0.01078 |
| Opus 5 | $0.00041 | $0.00539 |
| Sonnet 5 | $0.00016 | $0.00216 |
| Haiku 4.5 | $0.00008 | $0.00108 |
Grade A, and why
scaffold-dashboard scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- base/.env.example 720 B
- base/.gitignore 747 B
- base/biome.json 771 B
- base/bun.lock 278 KB
- base/CLAUDE.md 6.0 KB
- base/components.json 538 B
- base/docker-compose.yml 509 B
- base/drizzle.config.ts 278 B runs code
- base/LICENSE 1.0 KB
- base/package.json 2.6 KB
- base/public/bg.jpg 750 KB
- base/public/mocking/simple.json 1023 B
- base/README.md 3.5 KB
- base/scripts/create-resource.ts 22 KB runs code
- base/scripts/seed.ts 1.1 KB runs code
- base/src/components/charts/AreaChart.tsx 2.4 KB
- base/src/components/charts/BarChart.tsx 3.3 KB
- base/src/components/charts/chart-colors.test.ts 675 B runs code
- base/src/components/charts/chart-colors.ts 1.2 KB runs code
- base/src/components/charts/ChartCard.tsx 1005 B
- base/src/components/charts/charts.test.tsx 3.0 KB
- base/src/components/charts/index.ts 531 B runs code
- base/src/components/charts/LineChart.tsx 1.6 KB
- base/src/components/charts/PieChart.tsx 1.6 KB
- base/src/components/charts/StatCard.test.tsx 1.3 KB
- base/src/components/charts/StatCard.tsx 2.3 KB
- base/src/components/CommandMenu.tsx 8.0 KB
- base/src/components/CommandMenuProvider.tsx 505 B
- base/src/components/DashboardShell.tsx 1.1 KB
- base/src/components/form/fields.test.tsx 2.9 KB
- base/src/components/form/fields.tsx 5.3 KB
- base/src/components/form/form-error.tsx 517 B
- base/src/components/form/index.ts 249 B runs code
- base/src/components/form/submit-button.tsx 1.1 KB
- base/src/components/Header.tsx 1.3 KB
- base/src/components/providers.tsx 567 B
- base/src/components/Sidebar.tsx 4.3 KB
- base/src/components/ui/alert.tsx 2.1 KB
- base/src/components/ui/avatar.tsx 3.0 KB
- base/src/components/ui/badge.tsx 1.9 KB
- base/src/components/ui/button.tsx 2.9 KB
- base/src/components/ui/card.tsx 2.6 KB
- base/src/components/ui/checkbox.tsx 1.3 KB
- base/src/components/ui/confirm-dialog.test.tsx 2.3 KB
- base/src/components/ui/confirm-dialog.tsx 3.0 KB
- base/src/components/ui/dialog.tsx 3.9 KB
- base/src/components/ui/dropdown-menu.tsx 8.6 KB
- base/src/components/ui/field.tsx 1.0 KB
- base/src/components/ui/input.tsx 1.0 KB
- base/src/components/ui/kbd.tsx 844 B
- base/src/components/ui/label.tsx 512 B
- base/src/components/ui/pagination.tsx 2.8 KB
- base/src/components/ui/popover.tsx 2.5 KB
- base/src/components/ui/progress.tsx 1.7 KB
- base/src/components/ui/radio-group.tsx 1.6 KB
- base/src/components/ui/select.tsx 6.5 KB
- base/src/components/ui/separator.tsx 524 B
- base/src/components/ui/sheet.tsx 4.4 KB
- base/src/components/ui/sidebar.tsx 21 KB
- base/src/components/ui/skeleton.tsx 280 B
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 90 lines · 82 tokens per session scan A 53da302f4236
scaffold-dashboard is a skill published in the GitHub repository ahpxex/open-dashboard (139 stars, last pushed 2mo ago), licensed MIT. It adds 82 tokens to every session and 1,078 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
kiranism-shadcn-dashboard
Guide for building features, pages, tables, forms, themes, and navigation in this Next.js 16 shadcn dashboard template. Use this skill whenever the user wants to add a new page, create a feature module, build a data table, add a form, configure navigation items, add a theme, set up RBAC access control, or work with…
tanstack-form
Headless, performant, and type-safe form state management for TS/JS, React, Vue, Angular, Solid, Lit, and Svelte.
tanstack-query
TanStack Query v5 data fetching patterns including useSuspenseQuery, useQuery, mutations, cache management, and API service integration. Use when fetching data, managing server state, or working with TanStack Query hooks.
next-best-practices
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling.
owl-admin-amis-page
A reference skill for building Owl Admin pages with amis, a system for defining admin interfaces such as forms, tables, filters, and actions through schemas.
owl-admin-frontend-assets
A development guide for the browser-side files and published assets used by Owl Admin, a Laravel-based administration system. It covers admin views, themes, layouts, React work, and asset publishing.