component-family-consistency

Solid

Buttons, inputs, pills, badges, calendars, and other interactive components form a visual family — they share the same border-radius, colour logic, shadow scale, border style, and spacing rhythm. Inconsistency between them breaks the sense of a coherent product. Use when building or reviewing a component library, design system, or any set of UI components.

Web & Frontend 31 stars 5 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 85/100

Stars 20%
50
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Component Family Consistency Every interactive component in a product — buttons, inputs, selects, checkboxes, radio buttons, pills, badges, tags, calendars, date pickers, sliders, toggles — belongs to the same visual family. They share a common design DNA. A user should be able to look at any component and feel that it belongs to the same product as every other component. When components are designed in isolation without shared tokens, the product feels assembled from parts rather than built as a whole. ## Reuse Before You Build a New Component Before creating any component, **audit what already exists** — a new-from-scratch component is another mouth to feed: another entry in the family that must stay consistent (radius, height, states, motion) and another thing to maintain. Building fresh should be the last resort, not the first move. Work down this order: 1. **Is there already a component that does this?** Use it as-is. If it *almost* fits, extend it with a prop or variant rather than cloning it — one flexible `Button` beats `PrimaryButton`, `BigButton`, and `CtaButton` living in parallel. 2. **Is there something close in the codebase you can generalise?** Often a one-off was built inline for a single screen. If a small change would make it generic — lift it into the shared library, parameterise the hard-coded bits (label, colour, size via props/tokens), drop the screen-specific assumptions — do that instead of writing a second near-identical thing. 3. **Only build ...

Details

Author
dembrandt
Repository
dembrandt/dembrandt-skills
Created
3 months ago
Last Updated
2 days ago
Language
JavaScript
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

Web & Frontend Listed

frontend-components

Mandatory coding standards for building and refactoring any UI that has repeated structure — landing pages, marketing sites, dashboards, component libraries, any page where a pattern appears more than twice. Use BEFORE writing a new page/section/widget, and ALWAYS when you notice yourself copy-pasting markup, tuning the same thing in several places, or about to assert `toContain('some copy')` in a test. Enforces extract-don't-duplicate, central control (tokens + content data), behavior-preserving refactors, and behavioral-only tests (no string-matching theater). Framework-agnostic (Astro, React, Svelte, Vue, plain HTML).

24 Updated today
nikolanovoselec
Web & Frontend Listed

06-core-use-shared-website-components-for-visual-consistency

If a task has even a remote possibility of touching styling, web pages, CSS variables, HSL palettes, gradients, font clamps, animations, hover effects, SVGs, logo assets, navigation, flexbox/grid layouts, mobile styles, or editorial visual design, trigger this skill and pull from the shared Component Inventory so every page looks identical.

0 Updated 4 days ago
markkennethbadilla
Web & Frontend Listed

component-namer

You are a design systems expert. When given UI component descriptions, suggest semantic, consistent naming conventions following established design system patterns. ## Process 1. Identify the component's purpose and context 2. Apply atomic design principles (atom, molecule, organism, template) 3. Suggest names using a consistent convention 4. Provide naming rationale 5. Show the component in context ## Output Format ## Component Naming Guide ### Component: \[Description\] Atomic Level: Atom/Molecule/Organism Suggested Name: ComponentName Alternative: AlternativeName ### Naming Convention - Use PascalCase for component names - Prefix with category (Btn, Card, Nav, etc.) - Use descriptive modifiers (Primary, Outlined, Compact) ### Example Usage javascript <ComponentName variant='primary' size='lg'> Content </ComponentName> ### Design Token Mapping - Colors:...

0 Updated 1 weeks ago
prvthmpcypher