- Add shared validation helper (server/lib/validation.js) with ID regex, provider/type allowlists
- Validate all route params against allowlists before filesystem operations to prevent path traversal
- Strip stack traces and error.message from production error responses (generic "Internal server error")
- Sanitize filenames in Content-Disposition headers
- Add X-Content-Type-Options: nosniff and X-Frame-Options: DENY to dev server static responses
- Add path traversal (.. ) checks to all static file handlers and catch-all fetch
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Show when to run and what it does instead of a misleading
"visual demo coming soon" placeholder.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The migration to source/skills/{name}/SKILL.md broke the serverless
functions which still expected flat .md files in source/commands/.
Also adds scripts/** to Vercel includeFiles for patterns API.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Combined all post-v1.0 changelog entries into single v1.1.0
- Updated version to 1.1.0 in package.json, plugin.json, marketplace.json
- Added GitHub icon link to hero top-right
- Added README.txt to universal ZIP (macOS hides dotfile-only folders)
- Added versioning instructions to CLAUDE.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All commands are now skills with user-invokable: true. Source lives in
source/skills/{name}/SKILL.md. Added VS Code Copilot (.agents/skills/)
and Google Antigravity (.agent/skills/) transformers. All 6 providers
output to skills directories only — no more commands/prompts dirs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add scripts/generate-og-image.js that renders the OG image with Playwright
using the actual site fonts (Cormorant Garamond, Instrument Sans, Space
Grotesk) and dynamically counts skills/commands from source/. Switch from
PNG to JPEG (512 KB → 25 KB). Run with `bun run og-image`.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds floating corner badges to clarify which side is before/after,
removes the "With Skills" divider label, and extends the slider range
to account for the skewed divider so it can fully reveal each side.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bun's HTML bundler only includes assets referenced via <link href>
or <script src>, not <meta content> URLs. Root-level files like
og-image.png, robots.txt, and sitemap.xml were missing from the
build/ directory that Vercel serves, causing 404s for OG images.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude Code now ships a built-in /simplify command for code
simplification, which conflicts with our design simplification
command. Renamed to /distill across all source files, demos,
metadata, and documentation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Root-level static files (og-image.png, favicon.svg, robots.txt, etc.)
were not served because the server only had routes for subdirectories.
Add a fetch fallback handler to serve any existing file from public/.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove overpromising "transform into impeccable design" claim
- Tone down marketing language throughout (design intelligence, level up, etc.)
- Change "our" to "the" for neutral voice
- Combine Support and Consulting into single "Work with me" section
- Fix double-border on command demo panel (match border-radius)
- Remove border-top from demo captions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Reduce spacing scale tokens (spacing-lg: 32px, spacing-xl: 48px, spacing-2xl: 80px)
- Normalize body text to consistent 1rem size and color across sections
- Section numbers now appear above headings for proper text alignment
- Left-align all content sections for consistent rhythm
- Combine Support and Consulting sections into single "Work with me" section
- Simplify contribute CTA to inline text link
- Remove unused support section CSS
- Fix FAQ list alignment with section header
- Update copy to use "Impeccable" instead of "we"
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove dark mode toggle and all dark theme CSS
- Remove case studies/before-after section (controversial examples)
- Simplify support section to single "buy me a coffee" button
- Fix hero and antidote section padding to align with other sections
- Use overflow-x: clip instead of hidden to preserve position:sticky
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add overflow-x: hidden to html element to prevent horizontal scroll
caused by 100vw units in full-bleed section patterns.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add download tip with cheatsheet link in downloads section
- Fix cheatsheet 404 on Vercel by adding rewrite rule
- Include cheatsheet.html in Bun build entrypoints
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create /cheatsheet with all 17 commands grouped by category
- Clean, scannable layout with command relationships
- Print-friendly styling, dark mode support
- Add server route for cheatsheet page
- Link from Commands section and footer
Addresses user feedback requesting a quick reference doc
for practical command usage.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Match box width to paragraph above (45ch)
- Include frontend-design skill name specifically
- Add sample commands: /polish, /audit, /simplify, /bolder
- Clean two-line layout that wraps naturally
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The key insight: great design prompts require design vocabulary,
but most people don't have it. Impeccable bridges that gap by
giving you commands that put designer language in your hands.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move CTA button above the "what's included" info
- Replace bulky equation cards with inline feature badges
- Better visual hierarchy: headline → explanation → action → details
- Features are now supporting text, not competing with CTA
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace bulky gradient box with original side-by-side card design
- Add equation-style layout: skill card + operator + commands card
- Improve hero hook copy to explain what Impeccable does
- Clean, minimal styling that matches site aesthetic
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove Tailwind CSS and related dependencies (tailwindcss, @tailwindcss/cli, bun-plugin-tailwind)
- Remove unused dependencies (lenis, @paper-design/shaders, three)
- Convert @theme variables to CSS custom properties in :root
- Add minimal CSS reset for browser consistency
- Update server to serve /css/* and /js/* routes directly
- Fix conflicting CSS rules that broke commands section layout
- Delete bunfig.toml (no longer needed without Tailwind plugin)
The site now uses native CSS imports via Bun's built-in bundler,
eliminating the need for separate Tailwind compilation step.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove GPU-intensive shader from hero section
- Combine hero with problem section for immediate impact
- Add before/after demo directly in first viewport
- Move "works with" logos inline with CTA
- Remove redundant "Common AI defaults" tags
- Add three-way theme toggle (light/system/dark)
- Persist theme preference to localStorage
- Position toggle in bottom-right corner
- Fix dark mode throughout:
- Update glass terminal and source window backgrounds
- Add CSS custom properties for framework category colors
- Muted dark backgrounds with brighter text for cards
- Replace smooth scroll with instant jump for anchor links
- Remove Lenis smooth scroll library dependency
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change source from "." to "./" (schema requires trailing slash)
- Move description to metadata.description (correct schema location)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Convert og-image from SVG to PNG (Twitter/X requires PNG)
- Update og-image to show 17 commands (was 15)
- Add apple-touch-icon for iOS
- Add canonical URL, theme-color, twitter:site/creator meta tags
- Create robots.txt and sitemap.xml
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add "Support the Project" section with Stripe payment tiers ($20, $100, $10k)
- Add custom amount donation option
- Add "Work with me" consulting section
- Remove redundant Open Source section (GitHub link in footer)
- Style updates for new sections
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove the MANDATORY: Context Gathering section since it never
works when the skill is invoked from commands. Context gathering
is now handled by the commands themselves (bolder, quieter,
colorize, animate, delight, simplify).
The skill is now leaner and focused on design principles and
anti-patterns, matching the original Anthropic skill structure.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Commands now require context gathering before proceeding:
- bolder: target audience, use-cases, brand personality
- quieter: purpose, audience, what's working
- colorize: brand colors, audience, domain appropriateness
- animate: personality, performance budget, audience
- delight: brand personality, emotional context, appropriateness
- simplify: what's essential vs nice-to-have
Each command now:
1. Gathers context from thread/codebase first
2. MUST ask user if inference confidence is medium or lower
3. MUST use frontend-design skill before proceeding
4. Has visual separator (---) as hard gate before design work
This prevents AI slop by ensuring commands have proper context
before making design decisions.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add "MANDATORY: Context Gathering (Do This First)" section with 3 procedural steps
- Require scanning codebase for README, brand guidelines, design tokens before design
- Must answer: target audience, brand personality, existing tokens/colors/fonts
- Hard gate: STOP and ask user if ANY question is unclear
- Visual separator (---) prevents proceeding without completing steps
- Preserves full Tone options and Design Direction content
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Monospace is fine when used intentionally - the issue is lazy "dev tool"
defaults, not the typeface itself.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added explicit AI SLOP TRAP warning before planning
- Removed "monospace as accent" suggestion (contradicts skill)
- Replaced glassmorphism with grain, halftone, duotone alternatives
- Added anti-slop caveats to shadows and borders suggestions
- Added "NOT AI slop" as first verification check
- Added "the test" to verify section
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Restored DO/DON'T format in individual sections (required for website)
- Added new "Visual Details" section for glassmorphism, sparklines, etc.
- Added new AI slop patterns: gradient text, dark mode with glowing accents,
hero metric layout, identical card grids, thick colored border on one side
- Added "The AI Slop Test" section for commands to reference
- Commands now reference "DON'T guidelines" (one source of truth)
- Build now shows 16 pattern categories (was 0)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Removed scattered DON'Ts from individual Frontend Aesthetics sections
- Created ONE "Anti-Patterns (CRITICAL)" section with two sub-sections:
- AI Slop Tells: cyan-on-dark, gradient text, glassmorphism, hero metrics, etc.
- Design Anti-Patterns: gray on color, nested cards, bounce easing, etc.
- Added new pattern: "Rounded element with thick colored border on one side"
- Commands now reference the skill's Anti-Patterns section instead of duplicating
- Easier to maintain: one place to update
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Critical addition: Both commands now check for AI-generated aesthetic tells:
- Cyan-on-dark, purple-to-blue gradients, neon accents
- Gradient text, glassmorphism, hero metric layouts
- Monospace typography, sparklines as decoration
- Identical card grids, generic fonts, rounded rectangles
Reports now start with "AI Slop Verdict" - pass/fail on distinctiveness.
This is the most important quality signal for shipping work that doesn't
look like every other AI-generated interface.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Commands now say "Use the frontend-design skill" instead of passive note
- Skill's Design Thinking section now has explicit MUST-know checklist
- Added ask instruction to bolder command for context gathering
- AskUserQuestionTool instruction is now more prominent and imperative
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replaced placeholder divs with actual before/after webp images
for all three transformation examples.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changed from passive "use the AskUserQuestion tool" to imperative
"STOP and call the AskUserQuestion tool" to ensure Claude actually
asks clarifying questions when context is missing.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Covers:
- Where to put downloaded files (project vs global)
- Troubleshooting missing commands/skills
- Getting started resources for beginners
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>