Commit Graph
115 Commits
Author SHA1 Message Date
Paul BakausandClaude Opus 4.6 b628e208e3 Harden API endpoints: input validation, error sanitization, security headers
- 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>
2026-03-05 09:58:05 -08:00
Paul BakausandClaude Opus 4.6 f0d37e48c7 Fix command-source API for unified skills directory structure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:59:29 -08:00
Paul BakausandClaude Opus 4.6 c026a896aa Replace teach-impeccable "coming soon" with usage guide
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>
2026-03-04 14:58:06 -08:00
Paul BakausandClaude Opus 4.6 c0ba2b8124 Fix Vercel API endpoints for unified skills directory structure
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>
2026-03-04 14:55:32 -08:00
Paul BakausandClaude Opus 4.6 2239279fd7 Consolidate changelog to v1.1.0, add GitHub link, universal ZIP README
- 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>
2026-03-04 14:49:49 -08:00
Paul BakausandClaude Opus 4.6 0981be5ba5 Universal install flow, merge Copilot/Antigravity, remove prefix toggle (v2.1.0)
- Merge Copilot & Antigravity into single agents transform (.agents/skills/)
- Remove prefix toggle and prefixed build pass (6 ZIPs → 6, down from 12)
- Add universal ZIP assembling all 5 provider directories
- Redesign install section with glass terminal UI (npx, plugin, ZIP)
- Fix Claude Code command to valid /plugin marketplace add
- Fix Antigravity logo to antigravity.google
- Rename "AI tool"/"AI coding tools" → "AI harness"/"AI harnesses" throughout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:41:16 -08:00
Paul BakausandClaude Opus 4.6 ad74e89ae5 Remove dist/ from git tracking (already in .gitignore)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 10:11:29 -08:00
Paul BakausandClaude Opus 4.6 87106b5271 Migrate to unified skills architecture, add Copilot & Antigravity (v2.0.0)
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>
2026-03-04 10:10:41 -08:00
Paul BakausandClaude Opus 4.6 a94e237359 Replace static OG image with auto-generated JPEG using site fonts
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>
2026-03-04 09:52:14 -08:00
Paul BakausandClaude Opus 4.6 98f5d839fd Improve split comparison: add before/after badges, extend slider range
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>
2026-03-04 09:39:05 -08:00
Paul BakausandClaude Opus 4.6 fd99c1f391 Add antipattern examples and clean up simplify→distill rename
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:25:28 -08:00
Paul BakausandClaude Opus 4.6 74c5cb3b41 Add changelog section and bump version to 1.1.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:23:36 -08:00
Paul BakausandClaude Opus 4.6 d9c14a44eb Copy static assets with stable URLs to build output
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>
2026-03-04 09:14:00 -08:00
Paul BakausandClaude Opus 4.6 4ef56ed959 Rename /simplify command to /distill to avoid Claude Code clash
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>
2026-03-04 09:11:57 -08:00
Paul BakausandClaude Opus 4.6 f3939c66e4 Fix OG image not rendering on Twitter/social shares
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>
2026-03-04 09:01:52 -08:00
Paul BakausandClaude Opus 4.5 517fcfe47e Increase sticky panel top offset for breathing room
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 10:56:20 -08:00
Paul BakausandClaude Opus 4.5 d7c8a5c67c Tone down copy and fix UI inconsistencies
- 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>
2026-01-16 10:53:27 -08:00
Paul BakausandClaude Opus 4.5 9810e304e0 Reduce whitespace, normalize typography, and streamline layout
- 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>
2026-01-16 10:32:23 -08:00
Paul BakausandClaude Opus 4.5 067eb4f235 Address HN feedback: remove dark mode, case studies, simplify support
- 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>
2026-01-16 09:58:00 -08:00
Paul BakausandClaude Opus 4.5 656c59019b Fix horizontal scroll on Firefox mobile
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>
2026-01-12 09:03:47 -08:00
Paul BakausandClaude Opus 4.5 a1a24daf3f Add cheatsheet tip to downloads section and fix Vercel 404
- 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>
2026-01-11 15:31:29 -08:00
Paul BakausandClaude Opus 4.5 98e673b8f4 Add standalone command cheatsheet page
- 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>
2026-01-11 15:27:40 -08:00
Paul BakausandClaude Opus 4.5 d56a9fc746 Refine What's Included box in hero section
- 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>
2026-01-11 15:15:47 -08:00
Paul BakausandClaude Opus 4.5 4a71a229b8 Improve hero copy to focus on vocabulary gap
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>
2026-01-11 15:09:47 -08:00
Paul BakausandClaude Opus 4.5 d4a7a72b8d Improve hero rhythm with lighter inline features
- 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>
2026-01-11 15:08:01 -08:00
Paul BakausandClaude Opus 4.5 81dc4b2ad6 Restore What's Included section with cleaner equation layout
- 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>
2026-01-11 15:05:53 -08:00
Paul BakausandClaude Opus 4.5 52d99fb31c Remove Tailwind and simplify CSS build process
- 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>
2026-01-11 14:58:39 -08:00
Paul BakausandClaude Opus 4.5 6b77213f91 Redesign hero, add theme toggle, fix dark mode
- 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>
2026-01-11 14:37:46 -08:00
Paul BakausandClaude Opus 4.5 a11df4f476 Remove $schema from plugin.json
Claude Code validator doesn't recognize this key.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 14:37:09 -08:00
Paul BakausandClaude Opus 4.5 b5a63501c5 Fix marketplace.json validation errors
- 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>
2026-01-09 14:35:22 -08:00
Paul BakausandClaude Opus 4.5 0cfe0c19d2 Add explicit command and skill paths to plugin.json
Plugin discovery doesn't auto-detect .claude/ folder structure,
so explicit paths are needed.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 14:33:31 -08:00
Paul BakausandClaude Opus 4.5 79d06b61ab Add Claude Code plugin marketplace support
- Create .claude-plugin/marketplace.json and plugin.json for marketplace install
- Add install command UI to website download card
- Update .gitignore to ignore entire dist/ folder (generated files)
- Remove tracked dist/ files from repository

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 14:24:53 -08:00
Paul BakausandClaude Opus 4.5 1bccd83944 Improve SEO and social sharing
- 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>
2026-01-09 14:08:46 -08:00
Paul BakausandClaude Opus 4.5 fe66a5a7a0 Add support and consulting sections to website
- 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>
2026-01-09 13:54:02 -08:00
Paul BakausandClaude Opus 4.5 25f4df03f7 Strip context gathering from frontend-design skill
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>
2026-01-08 15:14:49 -08:00
Paul BakausandClaude Opus 4.5 020ac82748 Add mandatory preparation to design-transformative commands
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>
2026-01-08 15:11:05 -08:00
Paul BakausandClaude Opus 4.5 825d936f20 Add mandatory context gathering to frontend-design skill
- 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>
2026-01-08 14:48:40 -08:00
Paul BakausandClaude Opus 4.5 41a557a675 Remove context: fork from commands (blocks AskUserQuestionTool)
Removed from: critique, audit, extract

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 14:22:15 -08:00
Paul BakausandClaude Opus 4.5 7d43765600 Allow monospace as intentional accent in bolder command
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>
2026-01-08 14:11:49 -08:00
Paul BakausandClaude Opus 4.5 c4c5661392 Harden bolder command against AI slop
- 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>
2026-01-08 14:11:05 -08:00
Paul BakausandClaude Opus 4.5 e4f2ef361e Fix pattern parsing: restore DO/DON'T format, add Visual Details section
- 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>
2026-01-08 14:04:19 -08:00
Paul BakausandClaude Opus 4.5 46fa43ced6 Consolidate all anti-patterns into single skill section
- 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>
2026-01-08 13:59:13 -08:00
Paul BakausandClaude Opus 4.5 6bad6f1555 Add AI Slop Detection to critique and audit commands
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>
2026-01-08 13:50:22 -08:00
Paul BakausandClaude Opus 4.5 ee4d2e1098 Fix skill invocation and make ask instruction more prominent
- 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>
2026-01-08 13:38:00 -08:00
Paul BakausandClaude Opus 4.5 f6cba74a3c Update dashboard after image
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:13:12 -08:00
Paul BakausandClaude Opus 4.5 df02f9c158 Reorder case study tabs: Landing Page, Form UX, Dashboard
Put stronger examples first.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:12:12 -08:00
Paul BakausandClaude Opus 4.5 c981e1b9ea Add case study images for dashboard, landing, and form
Replaced placeholder divs with actual before/after webp images
for all three transformation examples.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:07:46 -08:00
Paul BakausandClaude Opus 4.5 bf5b95319b Fix tool name: AskUserQuestionTool (not AskUserQuestion)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 13:05:05 -08:00
Paul BakausandClaude Opus 4.5 e929914841 Make AskUserQuestion instruction more imperative for Claude Code
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>
2026-01-08 13:01:58 -08:00
Paul BakausandClaude Opus 4.5 bd76b63b8e Add FAQ section with accordion-style questions
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>
2026-01-08 09:08:40 -08:00