A clean, elevated SaaS design system built on shadcn/ui, Tailwind CSS v4, and React (Vite). Every interface generated for Casper Studios — whether a client demo, internal tool, or quick prototype — must follow these rules to maintain a consistent, professional visual identity across the team.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versioncasper-design-systemExecute the skills CLI command in your project's root directory to begin installation:
Fetches casper-design-system from casper-studios/casper-marketplace and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate casper-design-system. Access via /casper-design-system in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
10
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
10
stars
A clean, elevated SaaS design system built on shadcn/ui, Tailwind CSS v4, and React (Vite). Every interface generated for Casper Studios — whether a client demo, internal tool, or quick prototype — must follow these rules to maintain a consistent, professional visual identity across the team.
Before generating any UI code, read this file completely and the reference files listed below. You MUST read the reference files — they contain rules and code examples that are required for correct output. Skipping them will produce incorrect, off-brand UI.
Required for EVERY project:
references/components.md — ALWAYS read. Reusable pieces: stat cards, list items, filter bars, kanban boards, profile cards, product cards, activity feeds, toast notifications, form validation states. Required whenever building UI elements inside a layout.references/theme.css — ALWAYS read. Tailwind CSS v4 theme tokens. Copy this file into your project as-is.assets/ — Contains Casper Studios logo SVGs in 4 variants (default, variant, mono-black, mono-white). Use the correct variant based on background color — see the Logo section below.Required based on platform:
references/web-layouts.md — MUST read when the project is a web application. Web-specific responsive rules + code examples: app shell, sidebar nav, dashboard grid, data table page, page header.references/mobile.md — MUST read when the project is a mobile application. Mobile-specific rules + code examples: device frame, top bar, bottom tab navigation, form patterns, pinned-button layout, list views, card stacks, full screen compositions, contextual actions (menus + bottom sheets).Non-negotiable: Do not generate UI without reading the platform reference file first. If you are unsure whether the project is web or mobile, ask the user before proceeding.
Before producing any UI code, confirm the following with the user. If their prompt already answers these clearly, proceed without asking. If not, ask before generating anything.
.dark class overrides, use bg-neutral-0 for surfaces, and include the mono-white logo variant.)Do NOT assume defaults for these. If the user says "build me a dashboard," you don't know if it's web or mobile, or if it needs dark mode. Ask.
The Casper aesthetic is clean authority — a professional SaaS style that feels premium without trying too hard. It uses generous whitespace, a restrained purple accent, and soft rounded surfaces to create interfaces that feel trustworthy and modern. Think Linear meets Notion: structured, breathable, quietly confident.
#5900FF) appears on active states, primary buttons, and key CTAs — nowhere else. If everything is purple, nothing is.shadow-sm for cards, shadow-md for popovers. Never use shadow-lg on in-page elements.references/theme.css as Casper brand overridesshadcn init), then layer Casper brand tokens from references/theme.css on top. The shadcn semantic layer (bg-background, text-foreground, bg-primary, border-border, etc.) is the base — Casper's theme.css adds brand colors, typography, shadows, and spacing on top of it, not as a replacement. Use shadcn components directly. Do NOT create custom base components that duplicate shadcn functionalityDM Sans with sans-serif as fallback for all UI text. Load via Google Fonts or bundleThe palette is intentionally restrained. Most of the UI is neutral gray + white, with purple as a sharp accent.
| Role | Token | Hex | When to use |
|---|---|---|---|
| Brand accent | brand-500 |
#5900FF |
Active nav items, primary buttons, links, focus rings |
| Brand subtle | brand-50 |
#EEE5FF |
Active nav background, selected row highlight, hover tints |
| Brand light | brand-100 |
#DECCFF |
Icon circle backgrounds, soft tag fills |
| Default text | neutral-950 |
#0A0A0A |
Page titles, headings |
| Body text | neutral-900 |
#171717 |
Primary body text |
| Subtext | neutral-500 |
#737373 |
Metadata, timestamps, secondary labels |
| Borders | neutral-200 |
#E5E5E5 |
Card borders, dividers, table lines |
| Surface | neutral-50 |
#FAFAFA |
Page background behind cards |
| Card surface | neutral-0 |
#FFFFFF |
Card backgrounds, panels (use bg-neutral-0 for dark mode compatibility — see Dark Mode section) |
Use these ONLY for status indicators, badges, and contextual feedback — never as decorative accents.
success-500 (#22C55E) for badges/icons, success-50 for pill backgroundserror-500 (#EF4444) for badges/icons, error-50 for pill backgroundswarning-500 (#F59E0B) for badges/icons, warning-50 for pill backgroundstext-black/50, use neutral-500)All text is set in DM Sans with sans-serif as fallback (font-family: 'DM Sans', sans-serif). Monospace (font-mono) is acceptable for code blocks, data labels, and IDs only.
| Style | Size | Weight | Line Height | Use |
|---|---|---|---|---|
| Heading 1 | 30px | 500 | 36px | Page titles only. One per view. |
| Heading 2 | 20px | 500 | 24px | Section titles within a page |
| Heading 3 | 16px | 500 | 20px | Card titles, subsection labels |
| Body | 14px | 400 | 20px | Default paragraph and UI text |
| Body Bold | 14px | 500 | 20px | Emphasis within body text, table headers |
| Caption | 12px | 400 | 16px | Timestamps, helper text, metadata |
| Caption Bold | 12px | 500 | 16px | Badge labels, small category tags |
medium weight (500), never bold (700)brand-500 color with no underline by default, underline on hoverUse Tailwind's default spacing scale. Key values:
4px (p-1) — icon padding, tight gaps8px (p-2) — badge padding, small gaps12px (p-3) — input padding, card internal gaps16px (p-4) — card padding, section gaps24px (p-6) — between cards, content sections32px (p-8) — major section separation48px (p-12) — page-level padding on large screensneutral-50 (#FAFAFA)1280px centered240px fixed width24px paddingThe design is predominantly flat. Shadows are used to indicate layers, not to add decoration.
| Token | Use |
|---|---|
shadow-sm |
Cards, inputs at rest |
shadow-md |
Dropdown menus, popovers, tooltips |
shadow-lg |
Modals, command palettes, overlays ONLY |
shadow-overlay |
Semantic alias for shadow-lg — identical value. Use on modals/sheets so the intent reads clearly in code |
NEVER apply shadow-lg (or its alias shadow-overlay) to cards or in-page elements. These are reserved for floating layers only.
The theme file (references/theme.css) uses the shadcn/ui radius system — a single --radius base variable in :root that controls the entire scale via calc(). This is mapped into Tailwind classes via @theme inline. No Tailwind v4 defaults are overridden.
| Token | Tailwind Class | Default Value | Use |
|---|---|---|---|
--radius-sm |
rounded-sm |
6px | Inner elements, nav items, small nested controls |
--radius-md |
rounded-md |
8px | Buttons, inputs, popovers, tooltips, chart tooltips |
--radius-lg |
rounded-lg |
10px | Cards, panels, large containers |
--radius-xl |
rounded-xl |
14px | Modal containers, dialogs, hero cards |
| (Tailwind built-in) | rounded-full |
9999px | Badges, pills, avatars, icon circles |
The base value --radius: 0.625rem (10px) is the shadcn default. To make the entire UI sharper or rounder, change this single value — all tokens recalculate automatically.
Cards always use rounded-lg (10px). Buttons and inputs always use rounded-md (8px). Nested elements inside cards should use rounded-sm (6px) for non-interactive elements to maintain visual hierarchy — the inner radius should always be smaller than the outer.
import { IconName } from "lucide-react"16px for inline, 20px for standaloneneutral-500 for subtext, brand-500 for active)40px diameter, brand-50 or brand-100 background, rounded-full20px, brand-500 colorerror-50 bg + error-500 icon)The Casper Studios logo has four variants stored in assets/. Use the correct variant based on the background it sits on:
| Variant | File | When to use |
|---|---|---|
| Default (full color) | assets/logo-on-white-default.svg |
Light/white backgrounds. Gradient icon + purple "CASPER" + dark "STUDIOS". This is the primary logo — use it whenever possible. |
| Variant (full color) | assets/logo-on-white-variant.svg |
Light/white backgrounds when you want all-black text instead of purple + dark gray. Same gradient icon. |
| Mono Black | assets/logo-mono-black.svg |
Light backgrounds where color is unavailable (e.g., print, grayscale contexts). Grayscale icon + near-black text. |
| Mono White | assets/logo-mono-white.svg |
Dark backgrounds only. Gray icon + white text. Use this whenever the logo sits on a dark surface (dark nav bars, dark hero sections, overlays, dark mode). |
logo-on-white-default.svg or logo-on-white-variant.svglogo-mono-white.svg — never place the default or black logo on a dark background8px on all sidesUse shadcn/ui components as your base layer. Theme them using the CSS variables in references/theme.css. Here is how specific components should be configured:
brand-500 bg, text-white (literal white, not a token), rounded-md. Hover: brand-600.neutral-200 border, neutral-900 text, rounded-md. Hover: neutral-50 bg.neutral-600 text, rounded-md. Hover: neutral-100 bg.error-500 bg, text-white, rounded-md.rounded-md (8px), 14px font.48px (h-12). Use this on standalone pages, forms, modals, and any top-level content area.36px (h-9). Use when the button lives inside a smaller container — cards, panels, table rows, sidebar nav, filter bars, inline actions. The tighter context calls for a tighter control.rounded-full (pill shape). Height 22px. Caption-bold text (12px, 500 weight).success-50 bg, success-700 text.neutral-100 bg, neutral-700 text.brand-50 bg, brand-700 text.bg-neutral-0). 1px neutral-200 border. rounded-lg (10px). shadow-sm.16px minimum, 24px for spacious cards.Heading 3 (16px/500) with optional "View all" link aligned right.1px neutral-200 divider.<Table>. No outer border on the table itself — let the parent Card provide the container.neutral-500 color, uppercase.48-56px. Rows separated by 1px neutral-200 bottom border.neutral-50 background.rounded-md (8px). 1px neutral-200 border. neutral-50 bg or white bg.2px brand-500 ring (use Tailwind ring-2 ring-brand-500).<label> element above every input, never inside it. Labels use 14px/400 in neutral-900. The gap between label and input is 6px (space-y-1.5).neutral-400 color, normal weight (400), short hint text (e.g., "e.g. [email protected]"). Placeholders are supplementary hints, not labels.16px (space-y-4 or gap-4).48px (h-12). Use for inputs on standalone pages, forms, modals, and any top-level content area.36px (h-9). Use when the input lives inside a smaller container — cards, panels, table rows, filter bars, inline search fields. Same logic as compact buttons.See references/web-layouts.md for the full sidebar code pattern. Key specs:
240px. White background. Right border: 1px neutral-200.36px height (compact — inside sidebar panel), rounded-sm (6px), 12px left padding.
neutral-600 text. Active: brand-50 bg, brand-500 text, font-weight: 500. Hover: neutral-100 bg.neutral-400, 24px top margin between groups.Sheet (slide-in from left).<Tabs>. Underline variant.brand-500 bottom border (2px), neutral-900 text.neutral-500 text. Hover: neutral-900 text.black/50 opacity.rounded-xl (14px), shadow-overlay.For rules and code examples, read the appropriate reference file:
references/web-layouts.md — Responsive rules, App Shell, Sidebar Navigation, Dashboard Grid, Data Table Page, Page Headerreferences/components.md — Stat Card, List Item Row, Filter Bar, Kanban Board, Profile/Discovery Card, Product Card, Activity Feed Item, Toast Notifications, Form Validation Statesreferences/mobile.md — Mobile rules, Device Frame Shell, Mobile Top Bar, Bottom Tab Navigation, Mobile Form Layout, Pinned Bottom Button, Mobile List View, Mobile Card Stack, Full Screen Composition, Contextual ActionsEvery project is either a web application or a mobile application — the layout approach is fundamentally different. You MUST have already read the appropriate platform reference file (as instructed at the top of this document) before reaching this point. If you haven't, stop and read it now:
references/web-layouts.md (responsive breakpoints, sidebar behavior, layout patterns)references/mobile.md (device frame, touch targets, pinned buttons, navigation, mobile-specific rules)Do NOT treat a mobile app as a responsive web page. Mobile apps render inside a device frame and follow entirely different navigation, spacing, and interaction patterns.
When no real image is available, use soft gradient mesh backgrounds — NOT gray boxes. These should feel like abstract art, not loading states.
Gradient recipes (CSS linear-gradient or radial-gradient combos):
linear-gradient(135deg, #a8edea 0%, #fed6e3 50%, #a8edea 10Prerequisites
Time Estimate
15-45 minutes depending on use case complexity
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
anthropics/claude-code
sickn33/antigravity-awesome-skills
leonxlnx/taste-skill
erichowens/some_claude_skills
hyperb1iss/hyperskills
omer-metin/skills-for-antigravity
I recommend casper-design-system for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
Keeps context tight: casper-design-system is the kind of skill you can hand to a new teammate without a long onboarding doc.
casper-design-system has been reliable in day-to-day use. Documentation quality is above average for community skills.
Keeps context tight: casper-design-system is the kind of skill you can hand to a new teammate without a long onboarding doc.
casper-design-system has been reliable in day-to-day use. Documentation quality is above average for community skills.
casper-design-system is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
Solid pick for teams standardizing on skills: casper-design-system is focused, and the summary matches what you get after install.
I recommend casper-design-system for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
We added casper-design-system from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
casper-design-system fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
showing 1-10 of 36