From ih-designer
Inspect a codebase to discover its existing design system (if it has one) before making any visual change. Use whenever you start UI work in an unfamiliar project, are asked to add a component or page that must fit in, or are redesigning and need to know what to preserve. Inventories design tokens, theme files, Tailwind/CSS config, component libraries, fonts, color, spacing, radii, shadows, and motion, then produces a structured Design Read. Not for authoring a new system from scratch — for finding and honoring the one that's already there.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ih-designer:detect-design-systemThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Find out what the project already is before you change it. A project with an existing design language is a set of commitments to honor, not a blank canvas. This skill produces the inventory that `honor-the-vibe` and every downstream decision depend on.
Find out what the project already is before you change it. A project with an existing design language is a set of commitments to honor, not a blank canvas. This skill produces the inventory that honor-the-vibe and every downstream decision depend on.
Work outward from configuration to usage. Don't guess from a single file — triangulate.
Look for the source of truth for design values:
:root { --color-*, --space-*, --radius-*, --font-* } in global CSS.tailwind.config.{js,ts} → theme / theme.extend (colors, fontFamily, spacing, borderRadius, boxShadow, screens). Also @theme blocks in Tailwind v4 CSS.tokens.{json,ts}, design-tokens.*, Style Dictionary, theme.{ts,js}, *.css with a variables layer.theme.ts, stitches.config, panda.config, vanilla-extract theme, MUI createTheme, Chakra extendTheme.Identify what UI primitives exist so you extend rather than reinvent:
package.json: shadcn/@radix-ui, @mui/*, @chakra-ui/*, antd, @mantine/*, @headlessui, daisyui, bootstrap, @shopify/polaris, @radix-ui/themes, tailwind-variants, cva.components/ui/ or components/ directory — read 2–3 representative components to learn the house patterns (variant API, spacing habits, naming).next/font, @font-face, Google Fonts <link>, Fontsource, self-hosted .woff2.data-theme, prefers-color-scheme, separate token sets)?ease-out used for enters?), libraries (framer-motion/motion, @react-spring, CSS keyframes, GSAP).Summarize findings as a compact, structured read — not prose. Example shape:
DESIGN READ — <project>
System: Tailwind v4 + shadcn/ui (Radix primitives), tokens in app/globals.css @theme
Maturity: Established — cohesive tokens, ~20 UI components, consistent usage
Type: Geist Sans (text) + Geist Mono (code); scale 14/16/20/24/32/48, tight tracking on display
Color: OKLCH ramp; brand ~oklch(0.55 0.2 265), neutral zinc ramp; semantic set present
Dark mode: Yes — .dark class strategy, full token parity
Space: 4px base, generally airy; section rhythm 96–128px
Shape: Radius 8px default, 12px cards; borders over shadows, shadows very soft
Motion: Restrained — 150–200ms ease-out enters, framer-motion for layout only
Voice: Sentence case, terse, confident, no emoji
Vibe: Linear-adjacent: quiet, precise, developer-facing, high-craft minimal
GAPS: No empty-state or error-state patterns; toast styling ad hoc
Add a maturity verdict, because it changes strategy:
build-design-system (and brand-kit for identity). Never hand it a generic or reused one.honor-the-vibe to set the precedence and the plan.design-audit to check it's applied consistently.build-design-system, then design-audit.build-design-system, anchored to its goals and brand — never to a default.Whatever you produce is integrated into the target project's repo, not designer's. Never propose a restyle of an Established system unless the user explicitly asked for a redesign — fitting in is the job.
Guides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.
npx claudepluginhub weberswords/designer --plugin ih-designer