normalize
pbakaus/impeccable
Audit and realign UI to match design system standards, spacing, tokens, and patterns.
What is normalize?
Normalizes features to conform with established design system standards, including typography, color tokens, spacing, components, and interaction patterns. Use when addressing design drift, inconsistent styling, mismatched tokens, or bringing a feature back in line with system conventions.
- Discovers and analyzes design system documentation, principles, and component patterns
- Identifies deviations from design system standards across typography, color, spacing, and components
- Replaces hard-coded values with design tokens and system equivalents
- Aligns responsive behavior, motion, interaction patterns, and accessibility to design system requirements
- Consolidates reusable components and removes orphaned code after normalization
- Verifies quality through linting, type-checking, and regression testing
How to install normalize
npx skills add https://github.com/pbakaus/impeccable --skill normalize- Access to design system documentation, UI guidelines, or component library
- The /impeccable skill installed (contains design context and Context Gathering Protocol)
- Run /impeccable teach first if no design context exists in the codebase
How to use normalize
- 1.Invoke /impeccable to access design principles and the Context Gathering Protocol
- 2.Search and study design system documentation to understand core principles, tokens, and patterns
- 3.Analyze the target feature to identify deviations from design system standards
- 4.Create a normalization plan specifying which components, tokens, and patterns need alignment
- 5.Systematically address inconsistencies across typography, color, spacing, components, motion, responsive behavior, and accessibility
- 6.Consolidate reusable components and remove orphaned code
- 7.Run linting, type-checking, and tests to verify quality and prevent regressions
Use cases
- Realigning a new feature that was built without design system constraints
- Fixing visual inconsistencies across a page or component suite
- Migrating hard-coded styles to design tokens and system components
- Bringing a legacy feature into compliance with updated design standards
- Ensuring accessibility and responsive patterns match system requirements
- Frontend engineers building or refactoring UI components
- Design system maintainers enforcing consistency across codebases
- Product teams addressing design drift in established features
- Teams onboarding new features to existing design systems
normalize FAQ
Ask for clarification rather than guessing at design principles. The skill emphasizes understanding context deeply before making changes.
Prioritize UX consistency and usability over visual polish alone. Great design is effective design that serves user needs and personas.
Create new components only when design system equivalents don't exist, then consider consolidating them into the shared design system or component library.
The skill includes verification steps (linting, type-checking, testing) to ensure normalization doesn't introduce regressions or break existing functionality.
Use it when addressing design drift, inconsistent styling, mismatched tokens, or when bringing a feature back in line with established design system standards.
Full instructions (SKILL.md)
Source of truth, from pbakaus/impeccable.
name: normalize description: Audits and realigns UI to match design system standards, spacing, tokens, and patterns. Use when the user mentions consistency, design drift, mismatched styles, tokens, or wants to bring a feature back in line with the system. user-invocable: true argument-hint: "[feature (page, route, component...)]"
Analyze and redesign the feature to perfectly match our design system standards, aesthetics, and established patterns.
MANDATORY PREPARATION
Invoke /impeccable — it contains design principles, anti-patterns, and the Context Gathering Protocol. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first.
Plan
Before making changes, deeply understand the context:
-
Discover the design system: Search for design system documentation, UI guidelines, component libraries, or style guides (grep for "design system", "ui guide", "style guide", etc.). Study it thoroughly until you understand:
- Core design principles and aesthetic direction
- Target audience and personas
- Component patterns and conventions
- Design tokens (colors, typography, spacing)
CRITICAL: If something isn't clear, ask. Don't guess at design system principles.
-
Analyze the current feature: Assess what works and what doesn't:
- Where does it deviate from design system patterns?
- Which inconsistencies are cosmetic vs. functional?
- What's the root cause—missing tokens, one-off implementations, or conceptual misalignment?
-
Create a normalization plan: Define specific changes that will align the feature with the design system:
- Which components can be replaced with design system equivalents?
- Which styles need to use design tokens instead of hard-coded values?
- How can UX patterns match established user flows?
IMPORTANT: Great design is effective design. Prioritize UX consistency and usability over visual polish alone. Think through the best possible experience for your use case and personas first.
Execute
Systematically address all inconsistencies across these dimensions:
- Typography: Use design system fonts, sizes, weights, and line heights. Replace hard-coded values with typographic tokens or classes.
- Color & Theme: Apply design system color tokens. Remove one-off color choices that break the palette.
- Spacing & Layout: Use spacing tokens (margins, padding, gaps). Align with grid systems and layout patterns used elsewhere.
- Components: Replace custom implementations with design system components. Ensure props and variants match established patterns.
- Motion & Interaction: Match animation timing, easing, and interaction patterns to other features.
- Responsive Behavior: Ensure breakpoints and responsive patterns align with design system standards.
- Accessibility: Verify contrast ratios, focus states, ARIA labels match design system requirements.
- Progressive Disclosure: Match information hierarchy and complexity management to established patterns.
NEVER:
- Create new one-off components when design system equivalents exist
- Hard-code values that should use design tokens
- Introduce new patterns that diverge from the design system
- Compromise accessibility for visual consistency
This is not an exhaustive list—apply judgment to identify all areas needing normalization.
Clean Up
After normalization, ensure code quality:
- Consolidate reusable components: If you created new components that should be shared, move them to the design system or shared UI component path.
- Remove orphaned code: Delete unused implementations, styles, or files made obsolete by normalization.
- Verify quality: Lint, type-check, and test according to repository guidelines. Ensure normalization didn't introduce regressions.
- Ensure DRYness: Look for duplication introduced during refactoring and consolidate.
Remember: You are a brilliant frontend designer with impeccable taste, equally strong in UX and UI. Your attention to detail and eye for end-to-end user experience is world class. Execute with precision and thoroughness.
Related skills
More from pbakaus/impeccable and the wider catalog.
impeccable
Design and iterate production-grade frontend interfaces with real working code and exceptional craft.
polish
Final quality pass fixing alignment, spacing, consistency, and micro-details before shipping.
critique
Evaluate design from a UX perspective with quantitative scoring, persona testing, and automated anti-pattern detection.
audit
Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns with severity ratings.
animate
Review features and add purposeful animations, micro-interactions, and motion effects that improve usability and delight.
adapt
Adapt designs across screen sizes, devices, and platforms with responsive layouts and context-aware patterns.