Impeccable

repository·main·Indexed 11 days ago

https://github.com/pbakaus/impeccable

A design guidance system for AI coding agents providing a shared design vocabulary, 23 specialized commands, and deterministic detector rules to prevent generic frontend designs. Version 3.5.0 supports integration with AI harnesses including Claude Code, Cursor, GitHub Copilot, and Grok Build via CLI installation, Git submodules, or native plugins.

Tokens
135K
Snippets
207
Records
542
Agent score
98%

What's inside Impeccable

  1. Impeccable features and capabilities

    main

    Impeccable provides several features for developers and designers to audit web quality:

    • Automatic Scanning: Scans occur automatically when DevTools is opened; no manual trigger is required.
    • Grouped Findings: Issues are categorized into AI tells (design patterns characteristic of AI generation) and quality issues (accessibility and general design flaws).
    • Navigation Support: The tool re-scans automatically on page navigation, including Single Page Application (SPA) route changes.
    • Customization: You can toggle overlays on/off via the panel or toolbar popup, and use per-rule settings to disable specific detections.
    • Privacy: The extension runs 100% locally; no data is sent to external servers.
    • Universal Compatibility: Works on any website.
  2. Lumina Design System Overview

    main

    Lumina is an editorial-inspired design system designed for AI-native workflow tools. It aims for a 'printed magazine' aesthetic using a warm-paper palette, high-contrast serif typography, and a flat visual hierarchy.

    Core Principles:

    • Warm-Paper Palette: Anchored on cream (#faf6ef). No pure whites or pure grays; all neutrals are tinted toward the brand hue.
    • Typography: Uses Fraunces (serif) for display/headlines and Inter (sans-serif) for body/labels.
    • Flat Elevation: Explicitly rejects shadows and glassmorphism. Depth is achieved through tonal layering (stacking different shades of cream/ink) and 1px hairline borders (--line).
    • Controlled Accents: A burnt orange accent (#c8552b) is used sparingly (the '10% Accent Rule') for decorative elements like logo dots or eyebrow chips.
  3. Interpret Audit Health Scores and Severity

    main

    Audit Health Score

    The total score is calculated out of 20 (5 dimensions × max score of 4).

    Rating Bands:

    • 18-20: Excellent (minor polish)
    • 14-17: Good (address weak dimensions)
    • 10-13: Acceptable (significant work needed)
    • 6-9: Poor (major overhaul)
    • 0-5: Critical (fundamental issues)

    Issue Severity Levels

    Every finding must be tagged with a severity level:

    • P0 Blocking: Prevents task completion. Fix immediately.
    • P1 Major: Significant difficulty or platform-guideline violation. Fix before release.
    • P2 Minor: Annoyance; a workaround exists. Fix in next pass.
    • P3 Polish: Nice-to-fix; no real user impact. Fix if time permits.
  4. Constraints and anti-patterns in distillation

    main

    When simplifying a design using the distill skill, avoid these common mistakes:

    NEVER:

    • Remove necessary functionality: Simplicity is not the same as being feature-less.
    • Sacrifice accessibility: Clear labels and ARIA requirements must still be met.
    • Create 'mystery minimalism': Do not make things so simple that they become unclear.
    • Remove decision-making info: Do not eliminate information users need to make choices.
    • Eliminate hierarchy: Some elements must still stand out to guide the user.
    • Oversimplify complex domains: Match the complexity of the design to the actual complexity of the task.
  5. Anti-patterns to avoid in Lumina design

    main

    To maintain brand distinctiveness, explicitly avoid the following 'SaaS monoculture' patterns:

    • The Fraunces-cream-peach template: Warm cream backgrounds, large italic Fraunces headlines, soft burnt-orange accents, and gentle peach gradients.
    • Three-icon feature tile rows: Repeated rows of icon-above-h3-above-paragraph cards with generic feature names (e.g., "Lightning Fast").
    • Hero superlatives: Avoid B2B SaaS 'mad-libs' like "All-in-one platform", "in record time", or "trusted by 10,000+ teams".
    • Soft-everything aesthetic: Avoid using rounded corners on every element, soft shadows on every surface, and polite center-aligned spacing.
    • Decorative gradients and glass-blur: Do not use decorative gradient text or glass-blur backdrops as default stylistic choices.
  6. Design for the Android platform using Material Design 3

    main

    When building native Android apps (Jetpack Compose, Android Views, React Native, Expo, Flutter), use Material Design 3 as the governing rulebook for structure, navigation, and interaction.

    To avoid the 'Android slop' anti-pattern (an iOS app wearing an Android skin), ensure you are not porting iOS-specific patterns like bottom-only navigation on tablets or Cupertino-shaped switches. Instead, theme the brand through Material's established color roles, type scale, shape, and motion patterns.

  7. Server Resilience and Error Handling

    main

    The Impeccable server is designed to handle common development workflow interruptions:

    • Debounced Exit: To prevent accidental shutdowns during HMR reloads or network blips, the server waits 8 seconds after all SSE clients disconnect before signaling an exit to the agent.
    • Stale PID Cleanup: On startup, the server checks if an existing PID file's process is still active; if not, it cleans up the dead process automatically.
    • Browser Disconnection: If the browser fails to reconnect to the SSE stream after 5 attempts, it cleans up the UI and displays a "Live server disconnected" toast.
  8. Determine the visual strategy for a project

    main

    Before starting visual work, evaluate the existing state of the project by reading DESIGN.md, representative code, tokens, components, and assets. Choose one of the following strategies based on your findings:

    • Redesign: Preserve product truth, content, function, constraints, and explicit brand commitments. Replace the old visual world entirely rather than attempting to polish it.
    • Established world: Inherit the existing identity. If DESIGN.md is missing but a coherent identity exists in the code, document that identity instead of inventing a new one.
    • Incomplete brand: Preserve confirmed assets and recognizable traits, then expand the system to accommodate the new surface.
    • No visual authority: Create a new visual world from scratch.

    Note on Scope: A section, component, feature, or state within an established surface should inherit that surface. Avoid turning a local addition into a full identity exercise.

  9. Understand the DESIGN.md file structure

    main

    A DESIGN.md file is generated at the project root to capture the visual design system, ensuring AI agents generating new screens stay on-brand. It follows the official DESIGN.md format spec and consists of two main parts:

    1. YAML Frontmatter: A machine-readable layer containing design tokens (colors, typography, spacing, etc.). These tokens are normative and used for validation and rendering.
    2. Markdown Body: A human-readable layer providing context for how to apply tokens. It consists of up to eight canonical sections in a fixed order.

    Canonical Section Order:

    1. ## Overview
    2. ## Colors
    3. ## Typography
    4. ## Layout
    5. ## Elevation & Depth
    6. ## Shapes
    7. ## Components
    8. ## Do's and Don'ts

    Note: Sections may be omitted if not relevant, but existing sections must follow this specific order to remain portable across DESIGN.md-aware tools.

  10. Understand the 'Operate' mode for product UIs

    main

    The Operate mode is used when design serves a specific product task rather than brand expression. This applies to application UIs, admin dashboards, settings panels, data tables, tools, and authenticated surfaces.

    In Operate mode, the goal is earned familiarity: the interface should be so intuitive that a category-fluent user can trust it immediately without pausing to interpret 'strange' or over-decorated components. The tool should effectively 'disappear' into the task.

    Key distinction from Read mode:

    • Operate mode: Focuses on component density, task efficiency, and state-rich interactions.
    • Read mode: Focuses on typography, prose measure, and navigation for docs and guides.
  11. Dimensions of design simplification

    main

    When applying the distill skill, simplify across these specific dimensions:

    Information Architecture

    • Reduce scope: Remove secondary actions and redundant info.
    • Progressive disclosure: Use accordions, modals, or step-through flows to hide complexity.
    • Combine actions: Merge similar buttons and consolidate forms.
    • Clear hierarchy: Establish one primary action and few secondary actions.

    Visual Simplification

    • Reduce color/typography: Use 1-2 colors plus neutrals; limit to one font family and 3-4 sizes.
    • Remove decorations: Eliminate borders, shadows, and backgrounds that don't serve a function.
    • Flatten structure: Reduce nesting; avoid nesting cards inside cards.
    • Consistent spacing: Use a single spacing scale.

    Layout Simplification

    • Linear flow: Use simple vertical flows instead of complex grids.
    • Remove sidebars: Move secondary content inline.
    • Generous white space: Let content breathe.

    Interaction Simplification

    • Reduce choices: Limit buttons and options to avoid the paradox of choice.
    • Smart defaults: Automate common choices.
    • Inline actions: Use inline editing instead of modal flows.

    Content Simplification

    • Shorter copy: Use active voice and plain language; remove jargon and marketing fluff.
    • Scannable structure: Use short paragraphs, bullet points, and clear headings.

    Code Simplification

    • Cleanup: Remove dead CSS, unused components, and orphaned files.
    • Flatten trees: Reduce component nesting depth.
    • Consolidate: Merge similar styles and reduce the number of component variants.
  12. Select animation properties by intended meaning

    main

    Choose animation properties based on the communication goal rather than stacking techniques for spectacle:

    • Continuity and relationship: Use shared-element motion, FLIP-style transforms, view transitions, or spatial movement.
    • Focus and depth: Use bounded blur, filter, backdrop, light, or shadow changes.
    • Reveal and composition: Use masks, clip paths, cropping, or controlled occlusion.
    • Material and energy: Use color, gradient position, texture, distortion, or shader effects (where supported).
    • State and feedback: Use the smallest possible change to make cause and result unmistakable.