Add teach-impeccable and review commands, dynamic placeholders

New commands:
- /teach-impeccable: One-time setup that gathers UX-focused design
  context (explores codebase first, then asks targeted questions)
- /review: UX design review evaluating hierarchy, clarity, emotional
  resonance (complements technical /audit)

Build system improvements:
- Dynamic {{model}}, {{ask_instruction}}, {{config_file}} placeholders
  per provider (Claude/Gemini/GPT/the model)
- context: fork support for Claude Code sub-agents (audit, extract)
- Skill reference auto-added to design commands

Skill refinements:
- Merged Design Thinking and Context Awareness sections
- Removed redundant patterns and technical questions
- More direct feedback guidance (radical candor)

Website updates:
- 17 commands (was 16)
- Review demo showing UX issues (HIERARCHY, NO PRIMARY, DEAD END)
- teach-impeccable in System group of periodic table

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Paul Bakaus
2026-01-07 16:56:08 -08:00
co-authored by Claude Opus 4.5
parent 8186f2a226
commit 0b9c1846a6
96 changed files with 1315 additions and 646 deletions
+2
View File
@@ -7,6 +7,8 @@ args:
required: false
---
*Apply the frontend-design skill for design principles, if not already in context.*
Analyze a feature and strategically add animations and micro-interactions that enhance understanding, provide feedback, and create delight.
## Assess Animation Opportunities
+1
View File
@@ -1,6 +1,7 @@
---
name: audit
description: Perform comprehensive audit of interface quality across accessibility, performance, theming, and responsive design. Generates detailed report of issues with severity ratings and recommendations.
context: fork
args:
- name: area
description: The feature or area to audit (optional)
+2
View File
@@ -7,6 +7,8 @@ args:
required: false
---
*Apply the frontend-design skill for design principles, if not already in context.*
Increase visual impact and personality in designs that are too safe, generic, or visually underwhelming, creating more engaging and memorable experiences.
## Assess Current State
+2
View File
@@ -7,6 +7,8 @@ args:
required: false
---
*Apply the frontend-design skill for design principles, if not already in context.*
Strategically introduce color to designs that are too monochromatic, gray, or lacking in visual warmth and personality.
## Assess Color Opportunity
+2
View File
@@ -7,6 +7,8 @@ args:
required: false
---
*Apply the frontend-design skill for design principles, if not already in context.*
Identify opportunities to add moments of joy, personality, and unexpected polish that transform functional interfaces into delightful experiences.
## Assess Delight Opportunities
+1
View File
@@ -1,6 +1,7 @@
---
name: extract
description: Extract and consolidate reusable components, design tokens, and patterns into your design system. Identifies opportunities for systematic reuse and enriches your component library.
context: fork
args:
- name: target
description: The feature, component, or area to extract from (optional)
+2
View File
@@ -7,6 +7,8 @@ args:
required: false
---
*Apply the frontend-design skill for design principles, if not already in context.*
Perform a meticulous final pass to catch all the small details that separate good work from great work. The difference between shipped and polished.
## Pre-Polish Assessment
+2
View File
@@ -7,6 +7,8 @@ args:
required: false
---
*Apply the frontend-design skill for design principles, if not already in context.*
Reduce visual intensity in designs that are too bold, aggressive, or overstimulating, creating a more refined and approachable aesthetic without losing effectiveness.
## Assess Current State
+2
View File
@@ -7,6 +7,8 @@ args:
required: false
---
*Apply the frontend-design skill for design principles, if not already in context.*
Remove unnecessary complexity from designs, revealing the essential elements and creating clarity through ruthless simplification.
## Assess Current State
+76
View File
@@ -0,0 +1,76 @@
---
name: teach-impeccable
description: One-time setup that gathers comprehensive design context for your project and saves it to your AI config file. Run once to establish persistent design guidelines.
---
Gather comprehensive design context for this project through a structured conversation, then persist it for all future sessions.
## Gather Design Context
use the AskUserQuestion tool to clarify what you cannot infer. Explore these areas thoroughly:
### 1. Project & Audience
- What is this project? (app, marketing site, dashboard, etc.)
- Who is the primary audience? (developers, consumers, enterprise, etc.)
- What's their technical sophistication? Age range? Key demographics?
- What problem does this solve for them?
### 2. Brand & Identity
- Does an existing brand guide or design system exist? Where?
- What are the brand colors, if any?
- What's the brand personality? (professional, playful, luxurious, approachable, etc.)
- Any fonts already in use or required?
- Logos or visual assets to incorporate?
### 3. Aesthetic Direction
- What's the desired tone? (minimal, bold, elegant, playful, technical, organic, etc.)
- Any reference sites or apps they admire? What specifically about them?
- What should this NOT look like? Any anti-references?
- Light mode, dark mode, or both?
### 4. Technical Constraints
- Framework in use? (React, Vue, vanilla, etc.)
- CSS approach? (Tailwind, CSS modules, styled-components, etc.)
- Component library in use or to avoid?
- Performance budget or requirements?
- Browser/device support requirements?
### 5. Accessibility Requirements
- WCAG compliance level needed? (A, AA, AAA)
- Known accessibility requirements?
- Reduced motion considerations?
### 6. Content & Scope
- What types of content will be displayed?
- Are there existing components to maintain consistency with?
- What's the scope—full redesign or incremental improvements?
## Write Design Context
After gathering responses, create a `## Design Context` section with the collected information, formatted for clarity:
```markdown
## Design Context
### Audience
[Summarize target users, their needs, and context]
### Brand
[Colors, fonts, personality, existing assets]
### Aesthetic Direction
[Tone, references, anti-references, theme preference]
### Technical Stack
[Framework, CSS approach, constraints]
### Accessibility
[Requirements and considerations]
### Design Principles
[Key principles derived from the conversation]
```
Write this section to CLAUDE.md in the project root. If the file exists, append or update the Design Context section. If it doesn't exist, create it with this section.
Confirm completion and remind the user that this context will now inform all future design work with Impeccable.
+74 -74
View File
@@ -1,22 +1,22 @@
---
name: frontend-design
description: Create distinctive, production-grade frontend interfaces with comprehensive expertise in typography, color systems, spatial design, responsive layouts, interaction patterns, motion, and UX writing. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications. Generates creative, polished code that avoids generic AI aesthetics.
license: Apache 2.0. Based on Anthropic's frontend-design skill. See NOTICE.md for attribution.
---
This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.
## Design Thinking
Before coding, understand the context and commit to a BOLD aesthetic direction:
Great design requires understanding. First, scan available context—README, existing components, brand guidelines, design tokens—to infer purpose, audience, and constraints. If critical context is missing, use the AskUserQuestion tool to clarify what you cannot infer. Don't guess on fundamentals.
Then commit to a BOLD aesthetic direction:
- **Purpose**: What problem does this interface solve? Who uses it?
- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
- **Constraints**: Technical requirements (framework, performance, accessibility).
- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?
**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.
**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both workthe key is intentionality, not intensity.
Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
- Production-grade and functional
@@ -26,82 +26,82 @@ Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:
## Frontend Aesthetics Guidelines
Focus on:
- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
- **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.
### Typography
*Consult [typography reference](reference/typography.md) for scales, pairing, and loading strategies.*
NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.
Choose fonts that are beautiful, unique, and interesting. Pair a distinctive display font with a refined body font.
Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.
**DO**: Use a modular type scale with fluid sizing (clamp)
**DO**: Vary font weights and sizes to create clear visual hierarchy
**DON'T**: Use overused fonts—Inter, Roboto, Arial, Open Sans, system defaults
**DON'T**: Put large icons with rounded corners above every heading—they rarely add value and make sites look templated
**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.
### Color & Theme
*Consult [color reference](reference/color-and-contrast.md) for OKLCH, palettes, and dark mode.*
Remember: Claude is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.
Commit to a cohesive palette. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
**DO**: Use modern CSS color functions (oklch, color-mix, light-dark) for perceptually uniform, maintainable palettes
**DO**: Tint your neutrals toward your brand hue—even a subtle hint creates subconscious cohesion
**DON'T**: Use gray text on colored backgrounds—it looks washed out; use a shade of the background color instead
**DON'T**: Use pure black (#000) or pure white (#fff)—always tint; pure black/white never appears in nature
**DON'T**: Reach for purple-to-blue gradients on white—it's the #1 "AI slop" tell
### Layout & Space
*Consult [spatial reference](reference/spatial-design.md) for grids, rhythm, and container queries.*
Create visual rhythm through varied spacing—not the same padding everywhere. Embrace asymmetry and unexpected compositions. Break the grid intentionally for emphasis.
**DO**: Create visual rhythm through varied spacing—tight groupings, generous separations
**DO**: Use fluid spacing with clamp() that breathes on larger screens
**DO**: Use asymmetry and unexpected compositions; break the grid intentionally for emphasis
**DON'T**: Wrap everything in cards
**DON'T**: Nest cards inside cards
**DON'T**: Use modals unless there's truly no better alternative—modals are lazy
**DON'T**: Center everything—left-aligned text with asymmetric layouts feels more designed
**DON'T**: Use the same spacing everywhere—without rhythm, layouts feel monotonous
### Motion
*Consult [motion reference](reference/motion-design.md) for timing, easing, and reduced motion.*
Focus on high-impact moments: one well-orchestrated page load with staggered reveals creates more delight than scattered micro-interactions.
**DO**: Use motion to convey state changes—entrances, exits, feedback
**DO**: Use exponential easing (ease-out-quart/quint/expo) for natural deceleration
**DO**: For height animations, use grid-template-rows transitions instead of animating height directly
**DON'T**: Animate layout properties (width, height, padding, margin)—use transform and opacity only
**DON'T**: Use bounce or elastic easing—they feel dated and tacky; real objects decelerate smoothly
### Interaction
*Consult [interaction reference](reference/interaction-design.md) for forms, focus, and loading patterns.*
Make interactions feel fast. Use optimistic UI—update immediately, sync later.
**DO**: Use progressive disclosure—start simple, reveal sophistication through interaction (basic options first, advanced behind expandable sections; hover states that reveal secondary actions)
**DO**: Design empty states that teach the interface, not just say "nothing here"
**DO**: Make every interactive surface feel intentional and responsive
**DON'T**: Repeat the same information—redundant headers, intros that restate the heading
**DON'T**: Make every button primary—use ghost buttons, text links, secondary styles; hierarchy matters
### Responsive
*Consult [responsive reference](reference/responsive-design.md) for mobile-first, fluid design, and container queries.*
**DO**: Use container queries (@container) for component-level responsiveness
**DO**: Adapt the interface for different contexts—don't just shrink it
**DON'T**: Hide critical functionality on mobile—adapt the interface, don't amputate it
### UX Writing
*Consult [ux-writing reference](reference/ux-writing.md) for labels, errors, and empty states.*
**DO**: Make every word earn its place
**DON'T**: Repeat information users can already see
---
## Reference Files
## Implementation Principles
For deeper expertise, consult: [typography](reference/typography.md), [color](reference/color-and-contrast.md), [spatial](reference/spatial-design.md), [responsive](reference/responsive-design.md), [interaction](reference/interaction-design.md), [motion](reference/motion-design.md), [ux-writing](reference/ux-writing.md).
Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details.
## Design Patterns Reference
Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices across generations.
This reference defines what TO do and what NOT to do when creating frontend interfaces. These patterns fight against model bias—the tendency of LLMs to converge on the same predictable choices.
### What TO Do (Patterns)
Focus on intentional, distinctive design choices:
**Typography**:
- Use a modular type scale
- Pair a distinctive display font with a refined body font
**Color & Contrast**:
- Use off-whites and near-blacks for softer, sophisticated feel
- Use the latest CSS has to offer for color and gradients
**Layout & Space**:
- Create visual rhythm through varied spacing
- Use asymmetry and unexpected compositions
- Break the grid intentionally for emphasis
**Motion**:
- Use motion to convey state changes effectively
- Design motion inspired by the real world (easing, staggering, etc)
**Interaction**:
- Make interactions *feel* fast by using patterns like optimistic UI
- Use progressive disclosure of sophistication
- Make every surface intentional, actionable and delightful
### What NOT to Do (Anti-Patterns)
These patterns create generic "AI slop" aesthetics:
**Typography**:
- Don't use overused fonts like Arial or Inter
- You love to put big icons with rounded corners above titles. Resist. They rarely add value and make sites look cheap.
**Color & Contrast**:
- Don't use gray text on colored backgrounds
- Don't use pure gray or black. Always tint - pure black/gray never appears in nature.
**Layout & Space**:
- Don't wrap everything in cards
- Don't nest cards inside cards
- Modals are lazy. Only use modals if there's truly no better alternative
**Motion**:
- Don't animate layout properties (width, height, padding, margin) - use transform instead
- Don't use bounce or elastic easing - they feel dated and tacky; use ease-out-quart/quint/expo
**Interaction**:
- Don't repeat the same information (redundant headers, intro restating heading, etc.)
**Responsive**:
- Don't hide critical functionality on mobile
These anti-patterns are baked into training data from countless generic templates. Without explicit guidance, AI reproduces them. This skill ensures your AI knows both what to do AND what to avoid.
Remember: Claude is capable of extraordinary creative work. Don't hold back—show what can truly be created when thinking outside the box and committing fully to a distinctive vision.