agentleFS
manish1803manish1803/nextjs-fullstack-skills/skills/03-product-saas/saas-dashboard-admin/SKILL.md

saas-dashboard-admin

Skill2 starsChanged 4 months agoMITView on GitHub

Design and build SaaS dashboards and admin panels — data tables, filters, metrics/KPI cards, navigation shells, and role-scoped admin views. Use whenever the user builds a dashboard, admin panel, analytics view, internal tool, or asks about data table/filtering UX.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use TanStack Table (headless) + your design system's styling — don't hand-roll table logic.

    line 21
  2. Distinctive:

    Always show the comparison period explicitly ("vs.

    line 30

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

SaaS Dashboard & Admin Panel Skill

App shell structure

(app)/
├── layout.tsx          # persistent sidebar + topbar
├── dashboard/page.tsx  # overview: KPI cards + recent activity
├── [resource]/
│   ├── page.tsx         # list view (data table)
│   └── [id]/page.tsx    # detail/edit view
└── settings/

Sidebar nav collapses to icons-only or a drawer below lg; persist collapsed/expanded state client-side. Topbar carries search, notifications, and the user/org switcher — not primary navigation.

Data tables (the core admin primitive)

  • Use TanStack Table (headless) + your design system's styling — don't hand-roll table logic.
  • Required features by default: column sorting, column visibility toggle, pagination (cursor-based for large datasets), row selection for bulk actions, and a persistent filter bar.
  • Server-side pagination/filtering/sorting once row counts exceed a few hundred — client-side table state doesn't scale past that.
  • Loading state: skeleton rows matching the real row height, not a spinner that shifts layout on load.
  • Empty state: explain why it's empty (no data yet vs. filters too narrow) and offer the obvious next action (e.g. "Create your first project").

KPI/metric cards

  • Lead with the number, then a trend indicator (▲/▼ % vs. previous period) — don't bury the number in a chart alone.
  • Loading: skeleton with the correct final width/height to avoid layout shift.
  • Always show the comparison period explicitly ("vs. last 30 days") — an unlabeled trend arrow is meaningless.

Role-scoped admin views

  • Gate navigation items and page access by role at the layout level (don't just hide a button — see auth-authorization skill for enforcement at the data layer too).
  • Distinguish "admin panel" (managing the product/other users, internal ops) from the regular "app dashboard" (a customer's own data) — usually a separate route group and often a separate, more information-dense visual density (see visual-design-language skill's "Compact Enterprise UI" notes).

Anti-patterns to flag

  • Client-side-only pagination/filtering on datasets that will grow past a few hundred rows
  • KPI cards with numbers but no time-period context
  • Admin-only actions hidden in the UI but still reachable via direct API/route access
  • Dashboards that load all data before rendering anything, instead of streaming in KPI cards first with <Suspense>

Example prompt this skill should trigger on

"Build an admin dashboard showing user growth, revenue KPIs, and a table of recent signups."

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.