
Anduril
- 4 installs
- Updated January 28, 2026
- adisinghstudent/anduril
anduril is a Claude Code skill that applies an opinionated Anduril-style design system of colors, typography, and component constraints to UI work.
About
anduril applies an opinionated Anduril-style design system to UI work. It defines a fixed color palette, typography, spacing, and component rules (sharp corners, no shadows, no gradients, a single lime accent) plus interaction, animation, and performance guardrails for React and Tailwind. A frontend developer invokes it to constrain new UI or to review a file and get listed violations with fixes.
- Applies an opinionated Anduril-style design system: sharp corners, no shadows, no gradients, lime accent
- Specifies core color palette, typography, spacing, and component rules for cards, buttons, inputs, and badges
- Reviews a file against the constraints and outputs violations with why-it-matters and a concrete fix
Anduril by the numbers
- 4 all-time installs (skills.sh)
- Ranked #1,524 of 1,880 Design & UI/UX skills by installs in the Skillselion catalog
- Data as of Jul 28, 2026 (Skillselion catalog sync)
anduril capabilities & compatibility
Free; no API keys required.
- Capabilities
- design system · ui review · frontend styling
- Use cases
- ui design · frontend · web design
- IDEs
- cursor ide · vscode
- Pricing
- Free
What anduril says it does
Opinionated constraints for building better interfaces with Anduril-style design.
NEVER use border-radius — sharp corners only
npx skills add https://github.com/adisinghstudent/anduril --skill andurilAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 4 |
|---|---|
| Last updated | January 28, 2026 |
| Repository | adisinghstudent/anduril ↗ |
What it does
Apply or enforce the Anduril design system on UI work, or review a file against its constraints.
Who is it for?
Building or reviewing React/Tailwind UI against a strict, minimal Anduril-style design system.
Skip if: Projects wanting rounded corners, shadows, gradients, or a colorful palette.
When should I use this skill?
The user wants UI built or reviewed against Anduril-style design constraints.
What you get
UI follows a consistent Anduril design system, or a file is flagged for each constraint violation with a fix.
- Applied design-system constraints on UI
- A list of file violations with reasons and fixes
By the numbers
- Base font size 15px, weight 400
- Cards use padding 32px with border-radius 0
- One accent color per view
Files
Anduril Design System
When invoked, apply these opinionated constraints for building better interfaces.
How to use
/anduril— Apply these constraints to any UI work in this conversation./anduril <file>— Review the file against all constraints and output violations, why it matters, and a concrete fix.
---
Design System: Anduril
Colors
Core Palette
/* Backgrounds */
--bg-black: #000000; /* Pure black - dark mode primary */
--bg-dark: #1a1a1a; /* Near black - dark mode secondary */
--bg-warm: #f5f3ef; /* Warm off-white - light mode primary */
--bg-white: #ffffff; /* Pure white - cards, inputs */
/* Text */
--text-primary: #010101; /* Near black */
--text-inverse: #ffffff; /* White on dark */
--text-muted: #666666; /* Secondary text */
--text-subtle: #999999; /* Tertiary text */
/* Brand Accent */
--accent-lime: #DFF140; /* Anduril signature lime - primary accent */
--accent-lime-hover: #c8d93a;
/* Semantic */
--color-error: #FF3535; /* Red - errors, destructive */
--color-error-bg: #fef2f2;
--color-success: #16a34a; /* Green - success states */
--color-success-bg: #f0fdf4;
--color-info: #2563eb; /* Blue - info, links */
--color-info-bg: #eff6ff;
--color-warning: #f59e0b; /* Amber - warnings */
--color-warning-bg: #fffbeb;
/* Borders */
--border-light: #e5e5e5;
--border-default: #ddd;
--border-dark: #333333;Tailwind Config
colors: {
anduril: {
black: '#000000',
dark: '#1a1a1a',
warm: '#f5f3ef',
lime: '#DFF140',
'lime-hover': '#c8d93a',
}
}Usage Guidelines
- Use
--accent-limesparingly — one accent per view - Dark mode:
--bg-blackbackground,--accent-limefor CTAs - Light mode:
--bg-warmbackground,--text-primaryfor CTAs - NEVER use lime on light backgrounds (poor contrast)
- Reserve
--color-errorfor destructive actions only
Typography
- MUST use
'Helvetica Neue', Helvetica, Arial, sans-serif - Base font size:
15px, weight:400, line-height:1.5 - Headers:
font-weight: 400(never bold) - Labels:
11px,uppercase,letter-spacing: 0.05em,color: var(--text-muted) - Hero headings:
48px,font-weight: 400,line-height: 1.1 - Navigation/header text:
14px,uppercase,letter-spacing: 0.1em
Spacing
- Cards:
padding: 32px - Main content:
padding: 48px,max-width: 1200px - Header:
padding: 24px 48px - Form elements:
margin-top: 16pxbetween fields
Components
Cards
background: #ffffffborder: none— NO bordersborder-radius: 0— sharp corners always- NO shadows
Buttons
background: var(--text-primary)color: var(--text-inverse)border: 1px solid var(--text-primary)padding: 12px 24pxborder-radius: 0— sharp cornersfont-weight: 400- Hover:
opacity: 0.85 - Disabled:
opacity: 0.5
Inputs
padding: 10px 12pxborder: 1px solid #dddborder-radius: 0- Focus:
border-color: var(--text-primary), no outline
Method badges
font-family: monospacefont-size: 11pxtext-transform: uppercaseletter-spacing: 0.05empadding: 4px 8px- POST:
color: #2563eb; background: #eff6ff - GET:
color: #16a34a; background: #f0fdf4
Response/code blocks
background: var(--bg-warm)font-family: monospacefont-size: 12px- Error state:
background: #fef2f2; color: #dc2626 - Success state:
background: #f0fdf4; color: #16a34a
---
Stack
- MUST use Tailwind CSS defaults unless custom values already exist
- MUST use
motion/reactwhen JavaScript animation is required - SHOULD use
tw-animate-cssfor entrance and micro-animations - MUST use
cnutility (clsx+tailwind-merge) for class logic
Components
- MUST use accessible component primitives (
Base UI,React Aria,Radix) - MUST use the project's existing primitives first
- NEVER mix primitive systems within the same surface
- MUST add
aria-labelto icon-only buttons - NEVER rebuild keyboard or focus behavior by hand
Interaction
- MUST use
AlertDialogfor destructive actions - SHOULD use structural skeletons for loading states
- NEVER use
h-screen, useh-dvh - MUST respect
safe-area-insetfor fixed elements - MUST show errors next to where the action happens
- NEVER block paste in inputs
Animation
- NEVER add animation unless explicitly requested
- MUST animate only compositor props (
transform,opacity) - NEVER animate layout props (
width,height,top,left,margin,padding) - SHOULD use
ease-outon entrance - NEVER exceed
200msfor interaction feedback - MUST pause looping animations when off-screen
- SHOULD respect
prefers-reduced-motion
Typography
- MUST use
text-balancefor headings,text-prettyfor body - MUST use
tabular-numsfor data - SHOULD use
truncateorline-clampfor dense UI - NEVER modify
letter-spacingunless explicitly requested
Layout
- MUST use a fixed
z-indexscale (no arbitraryz-*) - SHOULD use
size-*for square elements
Performance
- NEVER animate large
blur()orbackdrop-filtersurfaces - NEVER apply
will-changeoutside an active animation - NEVER use
useEffectfor render logic
Design — Anduril Style
Shape & Surface
- NEVER use border-radius — sharp corners only
- NEVER use shadows on cards
- NEVER use gradients
- NEVER use glow effects
- NEVER use purple or multicolor anything
Color Usage
- Light mode:
--bg-warm(#f5f3ef) background, dark buttons - Dark mode:
--bg-black(#000000) background, lime accent CTAs - MUST use
--accent-lime(#DFF140) for primary actions in dark mode only - NEVER use lime on light backgrounds — use near-black instead
- SHOULD limit accent color to ONE per view
- Use semantic colors (
--color-error,--color-success) consistently
Typography
- MUST keep headers lightweight (
font-weight: 400) - MUST use uppercase + letter-spacing for labels and nav
- NEVER use bold for headings
States
- MUST give empty states one clear next action
- Error states: red text (#FF3535), light red background (#fef2f2)
- Success states: green text (#16a34a), light green background (#f0fdf4)
- Disabled:
opacity: 0.5,cursor: not-allowed