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.
npx claudepluginhub weberswords/designer --plugin ih-designerGuides 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.