shadcn-admin-design-system
Skill2 starsChanged 9 days agoMITView on GitHub
Admin backoffice and Mode Operate workspace design system distilled from satnaing/shadcn-admin (OKLCH tokens, 16rem collapsible sidebar, sticky blurred header, TanStack faceted data tables, Ctrl+K command palette, sheet drawers, Lucide icons, tabular-nums). Use for admin panels, backoffice CRUD, settings, and operational workbenches. For customer-facing landing pages, storefronts, portfolios, or domain-specific palettes/typography, combine with distinctive-ui-design so projects never look identical.
In this repository18 other files it gives its agents.
- AGENTS.mdAGENTS.md
- templates/AGENTS.mdAGENTS.md
- templates/copilot-instructions.mdCopilot instructions
- clean-code-concise-docsSkill
- data-analysis-explorerSkill
- data-science-workbenchSkill
- diff-reviewSkill
- distinctive-ui-designSkill
- domain-scaffoldingSkill
- git-commit-craftSkill
- github-repo-publishSkill
- laravel-web-studioSkill
- ml-model-engineeringSkill
- professional-report-writerSkill
- readme-github-syncSkill
- release-deploy-checkSkill
- security-auditSkill
- verify-and-testSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 31
Select domain tokens: Use resources/theme.css as the structural base, and apply the domain archetype palette and font pair from …
- Distinctive: line 115
Do not build every dashboard with the exact same 4 KPI cards on top + 1 bar chart on the left.
≈ “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.
Files
Shadcn-Admin Design System (Mode Operate & Backoffice)
Standar antarmuka operasional (Mode Operate) berbasis satnaing/shadcn-admin: permukaan netral yang tenang, garis batas tipis, tipografi padat, dan ikon Lucide berukuran 16px.
Penting — Cegah Tampilan Seragam Lintas Proyek: Gunakan skill ini khusus untuk panel admin, manajemen tabel data, dan ruang kerja operasional. Untuk halaman depan pelanggan (landing page, storefront, katalog, portofolio) atau pemilihan palet dan pasangan font spesifik domain (seperti
swiss-grid,editorial-serif,warm-craft,clinical-clean,industrial-ops), wajib pasangkan dengan skilldistinctive-ui-design.
Resources in this skill:
resources/theme.css— drop-in design tokens (light + dark) + base layer.resources/patterns.md— copy-paste markup for every page pattern (React/Tailwind and plain HTML/Blade variants).
1. Workflow
- Detect stack.
- React/Vite/Next -> install Tailwind v4 + shadcn/ui (
npx shadcn@latest init, stylenew-york, base colorslate, CSS variables ON),lucide-react,tw-animate-css. Then add components as needed (button card badge input tabs table dropdown-menu avatar sidebar sheet dialog command tooltip separator skeleton sonner). - Laravel Blade / plain HTML -> Tailwind v4 via Vite, copy
resources/theme.css, use Lucide vialucide(<i data-lucide="...">) orblade-lucide-icons. Recreate components with the exact class strings frompatterns.md.
- React/Vite/Next -> install Tailwind v4 + shadcn/ui (
- Select domain tokens: Use
resources/theme.cssas the structural base, and apply the domain archetype palette and font pair fromdistinctive-ui-design/references/visual-archetypes.md. - Choose the right Dashboard Composition (Section 4.1) — do not default to 4 identical KPI cards on every project.
- Verify: both light & dark mode, mobile (sidebar -> sheet), keyboard focus rings, and
ui-sloplint.ps1.
2. Design Tokens
Color (OKLCH base, adaptable per domain archetype)
| Token | Light | Dark | Usage |
background | white / warm-paper / cool-alabaster | oklch(0.129 0.042 264.7) deep slate | page |
foreground | slate-950 | slate-50 | text |
card | white | oklch(0.14 0.04 259.2) (1 step lighter than bg) | cards |
primary | domain primary (or slate-900) | slate-200 / domain signal | primary buttons |
secondary/muted/accent | slate-100 | slate-800 | hover, tabs track, chips |
muted-foreground | slate-500 | slate-400 | descriptions, icons, captions |
border / input | slate-200 | white/10% · white/15% | all lines |
destructive | red-600 | red-400 | delete, errors |
ring | slate-400 | slate-500 | focus at /50 opacity, 3px |
Rules:
- Dark-mode borders are translucent white (
/10%), never gray hex. - Sidebar uses the same tokens as background (
--sidebar: var(--background)).
Status badge palette (outline badge + tint)
active -> bg-teal-100/30 text-teal-900 dark:text-teal-200 border-teal-200
inactive -> bg-neutral-300/40 border-neutral-300
invited -> bg-sky-200/40 text-sky-900 dark:text-sky-100 border-sky-300
suspended -> bg-destructive/10 dark:bg-destructive/50 text-destructive dark:text-primary border-destructive/10Typography
- Pair a distinct Display face (
--font-display), Body face (--font-sans), and Monospace face (--font-mono) perdistinctive-ui-design. - Mandatory
tabular-nums: Applytabular-numsto all KPI figures, currency amounts, percentages, timestamps, and numeric table cells. - Scale (tight and scannable):
- Page title:
text-2xl font-bold tracking-tight font-display - Page subtitle:
text-muted-foreground(base size) - Card title:
font-semibold leading-none(KPI card title:text-sm font-medium) - KPI value:
text-2xl font-bold tabular-nums - KPI delta / captions:
text-xs text-muted-foreground tabular-nums - Body / table / buttons / inputs:
text-sm(buttonsfont-medium) - Sidebar group label:
text-xs font-medium text-sidebar-foreground/70
- Page title:
- Mobile inputs forced to
16px(text-base sm:text-sm) to prevent iOS zoom.
Radius & Spacing (4px grid)
--radius: 0.625rem(10px) default, or0.375rem(6px) forswiss-grid/industrial-ops.- Main content:
px-4 py-6, maxmax-w-7xl mx-autoon wide screens. - Root clipping:
overflow-x: cliponhtml, body. - Motion: transition specific properties only (
transition-colors,transition-[width,height,padding] duration-200 ease-out), nevertransition-all.
Iconography
- Lucide only, stroke 2, round caps. Default size
size-4(16px). - Semantic icon mapping:
- Nav: Dashboard
LayoutDashboard, TasksListChecks, AppsPackage, ChatsMessagesSquare, UsersUsers, AuthShieldCheck, ErrorsBug, SettingsSettings, HelpHelpCircle. - Task status: Backlog
HelpCircle, QueuedCircle, In progressTimer, DoneCheckCircle, CanceledCircleOff. - Priority: Low
ArrowDown, MediumArrowRight, HighArrowUp, CriticalAlertCircle.
- Nav: Dashboard
3. Layout Shell (for Admin Backoffice & Workbenches)
+----------+----------------------------------------------+
| Team | [=] | TopNav links .... [Search Ctrl+K] (user)| h-16 sticky
| switcher +----------------------------------------------+
|----------+ Workspace Title [Primary Action]|
| General | Main Operational Surface (see 4.1 Variants) |
| > items | |
| Pages | |
|----------+ |
| NavUser | |
+----------+----------------------------------------------+- Sidebar: width
16rem, icon-collapsed3rem, mobile sheet18rem, toggleCtrl+B. - Header:
SidebarTrigger variant=outline-> verticalSeparator h-6-> page controls -> right cluster (Search Ctrl+K->ThemeSwitch->ProfileDropdown).
4. Page Patterns & 4 Distinct Dashboard Compositions
4.1 Choose One of 4 Dashboard Compositions (Avoid Repetitive 4-Card Grids)
Do not build every dashboard with the exact same 4 KPI cards on top + 1 bar chart on the left. Pick the composition that fits the domain:
- Composition A: Stat-Led Quantitative Workbench (Fintech, Mutual Funds, Executive Analytics)
- Top band: 1 dominant hero metric tile (
col-span-12 lg:col-span-4, large figure + period comparison) paired directly beside the primary multi-series comparative chart (lg:col-span-8). - Bottom band: Full-width sortable ranking table with inline horizontal proportion bars and
tabular-nums.
- Top band: 1 dominant hero metric tile (
- Composition B: Live Operations Queue (Clinic Queue, Service Dispatch, Order Fulfillment)
- Left pane (
lg:col-span-5): Active call card (huge queue numbertext-5xl font-mono tabular-nums, room/doctor status, next-in-line controls). - Right pane (
lg:col-span-7): Real-time queue table filtered by room/status with one-click call/skip/complete actions.
- Left pane (
- Composition C: High-Density Cashier / Inventory Split (POS, Retail, Warehouse)
- Left pane (
lg:col-span-7): Fast searchable item grid/table with barcode/SKU filter and keyboard shortcut badges ([F2],[F4]). - Right pane (
lg:col-span-5): Sticky active transaction receipt, quantity steppers, discount/tax calculation, and bottom-anchored checkout button.
- Left pane (
- Composition D: Classic SaaS Overview (General Admin Backoffice)
- Title row + Tabs -> 3 or 4 metric tiles ->
lg:grid-cols-7split with primary time-series chart (col-span-4) and recent activity ledger (col-span-3).
- Title row + Tabs -> 3 or 4 metric tiles ->
4.2 Other Core Backoffice Pages (see resources/patterns.md)
- Data table page: filter input (
h-8 w-[150px] lg:w-[250px]), faceted filters, column toggle,rounded-md bordertable withtabular-nums, row action dropdown, pagination, right Sheet drawer for Create/Edit, ConfirmDialog for delete. - Settings: left vertical sidebar nav (
lg:w-1/5), right contentmax-w-xlform sections. - Auth: centered
max-w-[440px]card or 2-column split with live product preview on the right; never pre-fill demo credentials in production handoff (Rule 18).
5. Micro-details
- Buttons:
h-9 px-4default (min-h-11on mobile touch targets),cursor-pointeron enabled buttons; disabled =opacity-50 pointer-events-none. - Focus:
focus-visible:ring-[3px] ring-ring/50 border-ring. - Toasts: Sonner, short formal sentence, zero emoji.
- Numbers: formatted with locale separators and
tabular-nums. - Empty states: clear explanation + primary recovery button inside
h-32container. - Skeletons (
animate-pulse rounded-md bg-accent) while loading.
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
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.

