extract

Identify and extract reusable components, design tokens, and patterns into a cohesive design system. Analyzes target areas to find repeated UI patterns, hard-coded values, and inconsistent variations worth systematizing Guides extraction planning including component APIs, token hierarchies, naming conventions, and migration strategies Emphasizes incremental growth: extract only patterns used 3+ times or with clear reuse potential, avoiding over-generalization Includes accessibility best practices (ARIA, keyboard navigation) and TypeScript documentation for extracted components Provides migration and documentation workflows to replace existing implementations and maintain design system consistency

INSTALLATION
npx skills add https://github.com/pbakaus/impeccable --skill extract
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$2a

  • Assess value: Not everything should be extracted. Consider:
  • Is this used 3+ times, or likely to be reused?
  • Would systematizing this improve consistency?
  • Is this a general pattern or context-specific?
  • What's the maintenance cost vs benefit?

Plan Extraction

Create a systematic extraction plan:

  • Components to extract: Which UI elements become reusable components?
  • Tokens to create: Which hard-coded values become design tokens?
  • Variants to support: What variations does each component need?
  • Naming conventions: Component names, token names, prop names that match existing patterns
  • Migration path: How to refactor existing uses to consume the new shared versions

IMPORTANT: Design systems grow incrementally. Extract what's clearly reusable now, not everything that might someday be reusable.

Extract & Enrich

Build improved, reusable versions:

-

Components: Create well-designed components with:

  • Clear props API with sensible defaults
  • Proper variants for different use cases
  • Accessibility built in (ARIA, keyboard navigation, focus management)
  • Documentation and usage examples

-

Design tokens: Create tokens with:

  • Clear naming (primitive vs semantic)
  • Proper hierarchy and organization
  • Documentation of when to use each token

-

Patterns: Document patterns with:

  • When to use this pattern
  • Code examples
  • Variations and combinations

NEVER:

  • Extract one-off, context-specific implementations without generalization
  • Create components so generic they're useless
  • Extract without considering existing design system conventions
  • Skip proper TypeScript types or prop documentation
  • Create tokens for every single value (tokens should have semantic meaning)

Migrate

Replace existing uses with the new shared versions:

  • Find all instances: Search for the patterns you've extracted
  • Replace systematically: Update each use to consume the shared version
  • Test thoroughly: Ensure visual and functional parity
  • Delete dead code: Remove the old implementations

Document

Update design system documentation:

  • Add new components to the component library
  • Document token usage and values
  • Add examples and guidelines
  • Update any Storybook or component catalog

Remember: A good design system is a living system. Extract patterns as they emerge, enrich them thoughtfully, and maintain them consistently.

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card