Commit Graph
107 Commits
Author SHA1 Message Date
Paul BakausandClaude Opus 4.6 d444d25988 Refine antidote section: inline critique note, remove card layout
Replace the detector summary card and badge system with a simple
inline note below the tabbed Do/Don't patterns: "/critique catches
all of these. 16 deterministically, the rest through LLM analysis."
Gallery of Shame and Suggest a pattern links sit inline alongside.

Subtle divider separates the note from the patterns above.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:55:35 -07:00
Paul BakausandClaude Opus 4.6 0ac2e2bd07 Redesign antidote section with detector summary and gallery link
Replace the buried "Gallery of Shame" inline link with a compact
detector summary card showing all 16 auto-detected anti-patterns
as chips grouped by category (Borders, Typography, Color, Layout,
Motion). Prominent gallery link in the footer. Revised lead copy
to mention the automated detector.

Keeps the tabbed Do/Don't pattern reference below unchanged.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 08:58:49 -07:00
Paul BakausandClaude Opus 4.6 d8803c8151 Fix browser script serving: run build after skill sync, serve via /js/
The skill sync wipes .claude/skills/ and re-copies from dist, deleting
the generated browser script. Moved build-browser-detector.js to run
AFTER the sync. Dev server's /js/* route now falls through to
.claude/skills/critique/scripts/ for built artifacts. All fixture HTML
references use /js/detect-antipatterns-browser.js (clean URL).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 18:26:51 -07:00
Paul BakausandClaude Opus 4.6 fbfe525f4f Move generated browser script to .claude/skills/critique/scripts/
The generated browser detector now lives alongside the CLI script in
.claude/skills/critique/scripts/ — clearly a build artifact, not a
hand-maintained source file in public/js/.

- build-browser-detector.js outputs to .claude/ instead of public/js/
- Dev server serves .claude/skills/* for local testing
- All fixture and antipattern-example HTML files updated to new path
- Puppeteer detectUrl reads browser script from same directory
- Browser parity test server updated to serve from .claude/
- Deleted public/js/detect-antipatterns-browser.js

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 18:11:35 -07:00
Paul BakausandClaude Opus 4.6 623a8a8375 Extract shared core module, generate browser script at build time
DRY refactor:
- detect-antipatterns-core.mjs (297 lines): shared constants (SAFE_TAGS,
  OVERUSED_FONTS, GENERIC_FONTS, ANTIPATTERNS), color utilities (parseRgb,
  relativeLuminance, contrastRatio, hasChroma, getHue, colorToHex,
  isNeutralColor), and pure detection functions (checkBorders, checkColors,
  isCardLikeFromProps).
- CLI (889 lines, was 1212): imports from core, keeps jsdom-specific
  resolveBackground, page-level analyzers, regex fallback, and CLI logic.
- Browser wrapper (335 lines): template with browser-specific DOM adapters,
  highlighting, scan loop. Core is injected at build time.
- build-browser-detector.js: reads core, strips exports, injects into
  wrapper, writes to public/js/detect-antipatterns-browser.js (generated).
- Build step added to scripts/build.js (runs before Bun bundling).

Source of truth for detection logic is now the core module. Browser script
is generated — do not edit public/js/detect-antipatterns-browser.js directly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 18:04:19 -07:00
Paul BakausandClaude Opus 4.6 b34e0949a0 Fix browser nested cards: WeakSet not iterable, match CLI heuristic
WeakSet.prototype[Symbol.iterator] doesn't exist — can't use for..of.
Changed to Set (same fix as CLI). Also updated isCardLike heuristic
to require shadow or border as mandatory, matching the CLI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 16:35:23 -07:00
Paul BakausandClaude Opus 4.6 add8c1958d Fix nested card detection: innermost-only, lower threshold, raw style fallback
Three fixes:
- Only flag innermost nested cards: if L1>L2>L3, only L3 gets flagged
  (not L2). Uses ancestor-filtering after collection pass.
- Lower text threshold from 20 to 10 chars to catch short card content
  like "Inner card via CSS."
- isCardLike now also checks raw inline style attribute for box-shadow
  and border-radius (jsdom doesn't resolve CSS shorthands). Tightened
  heuristic: shadow or border is mandatory (not optional).

Fixes false positive on layout-should-pass where a tinted subsection
(rounded + bg, no shadow) inside a card was incorrectly flagged.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 16:34:04 -07:00
Paul BakausandClaude Opus 4.6 ae47758366 Fix browser nested card dedup — use WeakSet like CLI
Same bug as the CLI had: Set with tag-name key ('DIV:DIV') deduped
all nested divs to one finding. Now uses WeakSet on actual elements
so each nested card instance gets its own outline.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 16:04:12 -07:00
Paul BakausandClaude Opus 4.6 f90e640892 Fix nested card detection, drop identical-card-grid
- Nested cards: fixed dedup to use WeakSet on actual elements instead
  of tag-name key, so all nested card instances are found (not just
  the first div-in-div pair). Now catches all 4+ nesting examples.
- Dropped identical-card-grid: too many legitimate uses (data displays,
  pricing cards, navigation tiles) make false positives unavoidable.
- Removed from CLI, browser script, tests, and ANTIPATTERNS registry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 15:54:00 -07:00
Paul BakausandClaude Opus 4.6 94a20d811b Add layout detection to browser visualizer
Adds checkLayout() with nested-cards and identical-card-grid detection
using computed styles and DOM tree walking. Same logic as CLI:
- isCardLike() checks shadow + rounded + bg/border (2 of 3)
- Excludes dropdowns, modals, tiny elements, safe tags
- Identical grid fingerprints icon + heading + paragraph structure

Layout findings are highlighted on the actual elements (not just
in the page banner).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 15:34:15 -07:00
Paul BakausandClaude Opus 4.6 9dad325e79 Narrow browser script pure-black-white to only flag #000 backgrounds
Matches CLI behavior: only bg-black and computed #000 backgrounds are
flagged. bg-white, text-black, text-white, and #fff are no longer
flagged in the browser visualizer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 15:17:35 -07:00
Paul BakausandClaude Opus 4.6 e45d6cde1a Add color detection to browser visualizer script
Mirrors all 5 color anti-pattern checks from the CLI:
- pure-black-white (computed bg + Tailwind classes)
- gray-on-color (computed style + ancestor bg resolution + Tailwind)
- low-contrast (WCAG AA ratio via computed styles)
- gradient-text (computed background-clip + Tailwind bg-clip-text)
- ai-color-palette (computed hue analysis + Tailwind purple classes)

Browser version uses real getComputedStyle so bg resolution works
properly (unlike jsdom). Tailwind class checks are shared logic.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 13:06:19 -07:00
Paul BakausandClaude Opus 4.6 37393f1793 Normalize detection to jsdom by default, regex as fallback
Architecture simplified to two paths:
- HTML files: jsdom with getComputedStyle (resolves linked CSS, cascade)
- Non-HTML files: regex fallback (CSS, JSX, TSX, etc.)
- URLs: Puppeteer (unchanged)
- --fast flag forces regex-only for all files

Removed --deep flag (jsdom is now the default). Removed static mode
from browser script (always uses getComputedStyle — it's in a real
browser). Anti-pattern definitions split into:
- checkElementBorders() — shared element-level computed style checker
- checkPageTypography() — shared page-level checker
- REGEX_MATCHERS/REGEX_ANALYZERS — regex fallback for non-HTML

Browser script simplified from 470 lines to 250. CLI script reduced
from 810 lines to 440. Detection logic is now single-source for
jsdom/puppeteer/browser.

Fixtures now served via /fixtures/* route in dev server for proper
CORS handling of linked stylesheets.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 11:44:00 -07:00
Paul BakausandClaude Opus 4.6 f9bfe18d26 Add anti-pattern detection CLI, browser visualizer, gallery page, and build DRY refactor
- Anti-pattern detector script (source/skills/critique/scripts/detect-antipatterns.mjs):
  CLI tool that scans files/dirs for UI anti-patterns via regex. Detects side-tab
  accent borders and border-accent-on-rounded patterns across Tailwind, CSS, JSX.
  Context-aware: skips safe elements (blockquotes, nav, inputs, code), neutral
  colors, and adjusts thresholds based on border-radius co-occurrence.

- Browser visualizer (public/js/detect-antipatterns-browser.js):
  Drop-in script that highlights anti-patterns directly in the browser with
  labeled overlays. Two modes: "static" (regex, matches CLI) and "computed"
  (getComputedStyle, catches CSS cascade). Scans both inline styles and
  <style> blocks.

- Gallery of Shame (public/gallery.html):
  Standalone page showcasing 11 AI anti-pattern examples with thumbnails
  and links. Anti-pattern example pages updated from 1080x1080 Twitter
  format to responsive layouts, labels removed, screenshots retaken at 16:10.

- Critique skill updated to run detector before manual review.

- Build system: skills now support scripts/ directories alongside reference/.
  All 8 provider transformers refactored to use shared.js (DRY).

- 58 new tests covering detection logic, fixtures, CLI integration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 10:54:06 -07:00
Paul BakausandClaude Opus 4.6 2bf7fce2d6 Bump version to 1.5.1
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 08:38:38 -07:00
Paul BakausandClaude Opus 4.6 a3633c66f0 Fix split-compare clip-path angle to match divider's skewX(-10deg)
The divider uses a fixed CSS angle (skewX(-10deg)) but the clip-path
mask used a fixed percentage offset (skewOffset=8), which only matches
at one specific aspect ratio. Now computes skewOffset dynamically from
the container's actual dimensions via ResizeObserver.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 08:04:24 -07:00
Paul BakausandClaude Opus 4.6 f088143ec2 Use npx skills update/check commands for updates
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:20:27 -07:00
Paul BakausandClaude Opus 4.6 52e0d20a1b Add update instructions to install section and FAQ
- Install section tip now mentions re-running the same command to update
- New FAQ entry: "How do I update to the latest version?" covering
  npx skills, Claude Code plugin marketplace, and manual ZIP
- Notes that .impeccable.md is preserved across updates

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:18:52 -07:00
Paul BakausandClaude Opus 4.6 eede321458 Trim changelog to user-facing highlights
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:59:09 -07:00
Paul BakausandClaude Opus 4.6 8863e5d07b Bump version to 1.5.0, add changelog entry
New in v1.5.0:
- 3 new skills: /typeset, /arrange, /overdrive (beta)
- Shared Context Gathering Protocol with .impeccable.md
- teach-impeccable writes provider-agnostic context
- Deep linking to commands (#cmd-overdrive etc.)
- JS-powered demo infrastructure with live laser signature

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 15:58:25 -07:00
Paul BakausandClaude Opus 4.6 9bdb836903 Mark overdrive as beta, remove product-level suggestions
Skill changes:
- Remove real-time collaboration section (product decision, not UI)
- Remove service workers / offline-first (product decision)
- Remove SharedArrayBuffer (too niche)
- Replace "application architecture" section with "performance-critical
  UI" — focused on making existing features feel fast
- Add explicit note: this skill enhances how UI FEELS, not what a
  product DOES

Beta label:
- Add betaCommands list to data.js
- Show BETA badge on /overdrive in command palette
- Show β symbol on periodic table element
- Show BETA badge on cheatsheet page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 11:42:59 -07:00
Paul BakausandClaude Opus 4.6 8427deac3e Improve typeset and arrange demos
Typeset: make the before worse (all text same size/color = no
hierarchy) and the after more dramatic (bigger heading, more size
contrast). The transformation should be instantly visible on hover.

Arrange: fix heading split (eyebrow+heading was a typeset change,
not arrange) — keep it as a single heading to stay on-brand.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 11:25:54 -07:00
Paul BakausandClaude Opus 4.6 577c9c872c Overdrive laser demo, deep link support, and split-compare fix
Demo:
- Laser-etched "Paul Bakaus" signature drawn in real-time on dark
  surface, adapted from pbakaus/shaders laser-precision
- Two-canvas architecture: persistent burn canvas + cleared-per-frame
  spark overlay to prevent pixel accumulation
- Smooth quadraticCurveTo rendering for fluid signature strokes
- Sparks with motion trails, multi-layer tip glow

Infrastructure:
- Add init() support for command demos — JS can now execute after
  demo HTML is inserted into the DOM
- Fix split-compare retriggerAnimations to not destroy canvas elements
  (clone-and-replace for CSS-only demos, individual retrigger when
  canvas is present)
- Add deep linking to commands (#cmd-overdrive etc.) with hash
  tracking and initial load support
- Remove auto-#hero hash — hero is the default state

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 11:13:05 -07:00
Paul BakausandClaude Opus 4.6 8bb0017752 fix: overdrive demo works with hover slider, no AI slop
The demo must be purely visual (hover slider reveals after state,
no clicking). New demo shows standard rectangular card vs organic
blob-shaped composition — the visual difference is instant and
communicates "beyond normal CSS" without animation or interaction.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 07:24:55 -07:00
Paul BakausandClaude Opus 4.6 234f5b7051 Rewrite /overdrive skill from scratch
The original was an effects-only skill biased toward creative
portfolios and visual spectacle. The rewrite addresses:

1. Scope: now covers ALL forms of technical ambition — performance
   (virtual scrolling, WASM, Web Workers), interaction patterns
   (View Transitions on dialogs, spring physics), real-time collab
   (WebSockets, SharedArrayBuffer), and data visualization — not
   just shaders and particles.

2. Browser support: removed Houdini Paint API (Chromium-only),
   removed navigator.vibrate() (Safari never shipped, Firefox
   dropped), added support notes for each technology tier.

3. Bias corrections: removed creative-portfolio-only framing,
   removed "pick ONE hero moment" dogma, added examples for
   functional UI (tables, forms, dialogs) and app architecture.

4. Structure: organized toolkit by what you're trying to achieve
   (make transitions cinematic, push performance boundaries) not
   by technology name.

5. Demo: replaced purple gradient AI slop with a structural
   before/after showing view-transition-name on project cards.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 20:08:15 -07:00
Paul BakausandClaude Opus 4.6 731c0ceaf7 feat: add /overdrive skill for technically extraordinary effects
New skill that pushes interfaces past conventional limits with
bleeding-edge browser APIs: WebGPU shaders, scroll-driven animations,
View Transitions, generative art, spring physics, and more.

Key design decisions:
- Strong "when to use / when not to" guardrails
- Progressive enhancement is non-negotiable
- "Pick ONE hero moment" philosophy — restraint in choosing where
- The extraordinary/gimmicky line defined explicitly
- prefers-reduced-motion respect required

Also updates all counts to 20 commands across website, docs, and
plugin metadata.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 19:58:02 -07:00
Paul BakausandClaude Opus 4.6 45bcf7b485 Add typeset and arrange to website, docs, and all metadata
- Add to data.js (process steps, categories, relationships)
- Add to framework-viz.js (periodic table symbols and numbers)
- Create before/after demos for both commands
- Update command count 17→19 across all locations:
  index.html, cheatsheet.html, README, NOTICE, AGENTS,
  plugin.json, marketplace.json
- Add critique→typeset/arrange in relationship flow
- Add "Adding New Skills" checklist to CLAUDE.md so future
  skill additions don't miss any locations

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 19:26:35 -07:00
Paul BakausandClaude Opus 4.6 46c48def1a Bump version to v1.3.0, update changelog
- Added OpenCode provider support
- Added Pi provider support
- Recategorized /onboard as an enhancement command

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:49:08 -07:00
Paul BakausandClaude Opus 4.6 e5083bbe47 fix: self-host provider logos instead of hotlinking logo.dev
Downloaded all provider logos locally to public/assets/ to eliminate
external dependency on logo.dev API, which was hitting rate limits.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:24:35 -07:00
Paul BakausandClaude Opus 4.6 bb5ba2f305 feat: add Pi provider support, fix community health files, recategorize /onboard
- Add first-class Pi (pi.dev) provider with transformer, tests, and build integration
- Fix CODEOWNERS username (@paulbakaus → @pbakaus)
- Add missing providers to issue/PR templates (Copilot, Kiro, OpenCode, Pi)
- Add Pi and OpenCode logos to homepage hero and install sections
- Move /onboard from "system" to "enhancement" category
- Update README and DEVELOP.md with all supported providers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:21:09 -07:00
Paul BakausandClaude Opus 4.6 7d2d42da96 Migrate from Vercel to Cloudflare Pages, fix distill command symbol
Replace Vercel serverless functions with Cloudflare Pages static
rewrites and lightweight download functions. Pre-generate all API
JSON data at build time for zero-invocation static serving. Also
fix stale simplify→distill rename in framework-viz periodic table.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 18:34:14 -07:00
Paul BakausandClaude Opus 4.6 a9c66c4cda Trim changelog to user-facing changes only
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:03:03 -08:00
Paul BakausandClaude Opus 4.6 b390f2db40 Bump version to v1.2.0, update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:02:23 -08:00
Paul BakausandClaude Opus 4.6 4ff4f4643a Add Kiro provider support, clean up legacy code and unused ZIPs
- Add Kiro transformer and build integration (.kiro/skills/ structure)
- Add Kiro to validation allowlists, API handlers, and homepage badge
- Replace legacy getFilePath in Vercel API with unified skills directory structure
- Remove individual provider ZIP creation (only universal ZIPs needed)
- Simplify bundle API allowlist to universal/universal-prefixed only

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:33:51 -08:00
Paul BakausandClaude Opus 4.6 aadaee5c37 Prefix all skills (incl. frontend-design), fix cross-references, move toggle inline
- Prefix ALL skills in prefixed bundles, not just user-invokable ones
- Add prefixSkillReferences() to update /skillname and "the skillname skill"
  cross-references in skill body text when prefixing
- Add prefix/outputSuffix support to agents transformer
- Move prefix toggle inline next to the download ZIP button for better discoverability

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:12:36 -08:00
Paul BakausandClaude Opus 4.6 ee7eeae301 Restore prefix toggle for i- prefixed skill bundles
Re-adds the toggle in the install section that lets users download bundles
with all user-invokable skills prefixed with i- (e.g. /i-audit) to avoid
naming conflicts. Build now produces both unprefixed and prefixed variants
for all providers and universal ZIP.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:04:53 -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 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 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 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.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