Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
f9bfe18
Add anti-pattern detection CLI, browser visualizer, gallery page, and…
pbakaus Mar 17, 2026
1fb896a
Add typography anti-pattern detection: overused fonts, single font, f…
pbakaus Mar 17, 2026
32a5413
Add deep detection via jsdom and URL scanning via Puppeteer
pbakaus Mar 17, 2026
37393f1
Normalize detection to jsdom by default, regex as fallback
pbakaus Mar 17, 2026
ed1579e
Skip page-level checks on partials/components
pbakaus Mar 17, 2026
8a357d4
Add color and contrast anti-pattern detection
pbakaus Mar 17, 2026
27715ed
Add Tailwind color class detection for all color anti-patterns
pbakaus Mar 17, 2026
e45d6cd
Add color detection to browser visualizer script
pbakaus Mar 17, 2026
72b9ca2
Add layout anti-pattern detection: nested cards, identical grids, spa…
pbakaus Mar 17, 2026
9dad325
Narrow browser script pure-black-white to only flag #000 backgrounds
pbakaus Mar 17, 2026
94a20d8
Add layout detection to browser visualizer
pbakaus Mar 17, 2026
f90e640
Fix nested card detection, drop identical-card-grid
pbakaus Mar 17, 2026
ae47758
Fix browser nested card dedup — use WeakSet like CLI
pbakaus Mar 17, 2026
add8c19
Fix nested card detection: innermost-only, lower threshold, raw style…
pbakaus Mar 17, 2026
b34e094
Fix browser nested cards: WeakSet not iterable, match CLI heuristic
pbakaus Mar 17, 2026
7bc3a55
DRY: replace Puppeteer page.evaluate with browser script injection, a…
pbakaus Mar 17, 2026
623a8a8
Extract shared core module, generate browser script at build time
pbakaus Mar 18, 2026
fbfe525
Move generated browser script to .claude/skills/critique/scripts/
pbakaus Mar 18, 2026
d8803c8
Fix browser script serving: run build after skill sync, serve via /js/
pbakaus Mar 18, 2026
d1d8929
Merge 3 detection scripts into one universal file
pbakaus Mar 18, 2026
c751015
Add motion and dark-glow anti-pattern detection (15 → 16)
pbakaus Mar 18, 2026
0ac2e2b
Redesign antidote section with detector summary and gallery link
pbakaus Mar 18, 2026
d444d25
Refine antidote section: inline critique note, remove card layout
pbakaus Mar 18, 2026
0574bd0
DRY: extract checkHtmlPatterns, add gradient background detection
pbakaus Mar 18, 2026
4d2ef64
Fix glow/gradient detection, fix test performance (280s -> 5s)
pbakaus Mar 18, 2026
50485e0
Add 9 design quality detections, improve browser overlay UX
pbakaus Mar 19, 2026
8899d51
Polish browser overlay UX: hover expansion, tooltip, resize tracking
pbakaus Mar 19, 2026
afcff7e
Add impeccable CLI with detect subcommand
pbakaus Mar 19, 2026
2f49a27
Enhance /critique skill with CLI-first scan and browser visualization
pbakaus Mar 19, 2026
4591e51
Tighten critique skill per best practices (195 -> 104 lines)
pbakaus Mar 19, 2026
a24328a
Skip CLI detector for URLs (avoids Puppeteer install)
pbakaus Mar 19, 2026
699c104
Fix critique skill from real-world testing
pbakaus Mar 20, 2026
cda5e42
Flip critique order: LLM assessment first, detector second
pbakaus Mar 20, 2026
87067ca
Clarify detector accepts markup files, not CSS-only
pbakaus Mar 20, 2026
a243cbf
Stronger guardrail: detector must run after LLM review
pbakaus Mar 20, 2026
4f18dda
Improve critique skill: sub-agents, scripts_path, browser overlays
pbakaus Mar 20, 2026
9583837
Bump version to 2.0.0, add changelog entry
pbakaus Mar 20, 2026
ce64404
Merge remote-tracking branch 'origin/main' into v2.0
pbakaus Mar 20, 2026
122dddb
Fix CLI docs and browser detector bugs
pbakaus Mar 21, 2026
1260c23
Remove small-target detection (too aggressive for regular links)
pbakaus Mar 21, 2026
2201d86
Add test fixture for short text in wide containers, document test runner
pbakaus Mar 21, 2026
3d0400c
Fix CI: use bun run test to split unit/fixture tests correctly
pbakaus Mar 21, 2026
61426fa
Add .impeccable.md to .gitignore
pbakaus Mar 21, 2026
efcfd5d
Merge main into v2.0: consolidate critique skill with scoring, person…
pbakaus Mar 28, 2026
3f86b72
Isolate browser tabs for critique sub-agents to prevent interference
pbakaus Mar 28, 2026
9ffa802
Hide overlays for non-rendered elements using IntersectionObserver
pbakaus Mar 28, 2026
05c9776
Fix overlay positioning for fixed elements and improve test fixture
pbakaus Mar 28, 2026
3818073
Reposition overlays after ancestor CSS transitions (reveal animations)
pbakaus Mar 28, 2026
fda447e
Merge layout findings into existing overlays instead of stacking
pbakaus Mar 28, 2026
ce98272
Polish browser overlay UI: label slide, banner scroll, toggle, passth…
pbakaus Mar 28, 2026
8d0e9de
Prepare CLI for npm: v2.0.1, Node compat, npm-specific README
pbakaus Mar 30, 2026
da8a59e
Add skills subcommand and fix npm metadata
pbakaus Mar 30, 2026
62349fa
Add install guards and prefix support to skills install
pbakaus Mar 30, 2026
3530a57
Prefix all cross-references when renaming skills, not just frontmatter
pbakaus Mar 30, 2026
5bb6328
Add e2e tests for skills CLI and fix symlink handling
pbakaus Mar 30, 2026
4a198d8
Handle prefixed skills during npx-skills-managed update
pbakaus Mar 30, 2026
b858a58
Add tests for prefix round-trip (detect, undo, re-apply)
pbakaus Mar 30, 2026
209444a
Bump version to 2.0.2
pbakaus Mar 30, 2026
f683f41
Rename frontend-design to impeccable, fold teach-impeccable into teac…
pbakaus Mar 30, 2026
bdc23f0
Redesign Antidote section: horizontal disclosure, gallery sidebar, de…
pbakaus Mar 30, 2026
17f389d
Update Framework section: CLI story + detect element in periodic table
pbakaus Mar 30, 2026
487ac0c
Redesign Commands section: magazine spread + fisheye nav
pbakaus Mar 31, 2026
39930a4
Fix fisheye: absolute positioning with scroll-compensated centering
pbakaus Mar 31, 2026
107aa8b
Refine Commands section: fisheye alignment, category ordering, instal…
pbakaus Mar 31, 2026
b5cd306
Redesign Get Started section: three-column layout with skills, CLI, a…
pbakaus Apr 1, 2026
3f7b5fd
Redesign Antidote section: card stack gallery, tabbed patterns, new s…
pbakaus Apr 2, 2026
4b356a6
Improve mobile experience across all sections
pbakaus Apr 2, 2026
03a4433
Restructure narrative: Foundation, Language, Antidote, Visual Mode
pbakaus Apr 3, 2026
99bc9d4
Revert critique sub-agent over-engineering, add Codex spawning guidance
pbakaus Apr 3, 2026
0d4d6b4
Add build-time count validation, fix all stale count references
pbakaus Apr 3, 2026
50e5c9a
Merge remote-tracking branch 'origin/main' into v2.0
pbakaus Apr 3, 2026
3c9f705
Add animated foundation icons with ambient + hover states
pbakaus Apr 3, 2026
dd559cd
Improve foundation section responsive breakpoints
pbakaus Apr 3, 2026
8d05411
Harden CLI detection for framework files, multi-file projects, and de…
pbakaus Apr 3, 2026
740f2a1
Add large-scan confirmation prompt, fix bun-jsdom docs
pbakaus Apr 3, 2026
3edb1bb
Delegate detection to @impeccable/detect package, add live command
pbakaus Apr 3, 2026
1a28702
Switch @impeccable/detect dependency to npm registry
pbakaus Apr 3, 2026
3974789
Remove detection engine files, now in @impeccable/detect package
pbakaus Apr 3, 2026
f974875
Add BSL-1.1 dependency disclosure to NOTICE.md
pbakaus Apr 3, 2026
12aae1f
Bump to 2.0.4, align version with @impeccable/detect
pbakaus Apr 3, 2026
62a6472
Bump all version references to 2.0.4, add changelog entry
pbakaus Apr 3, 2026
76f61af
Add licensing FAQ entry explaining BSL/Apache split
pbakaus Apr 4, 2026
87243ca
Update critique skill to use live stop instead of kill/lsof
pbakaus Apr 4, 2026
077e1a7
Update @impeccable/detect to 2.0.5 (live stop support)
pbakaus Apr 4, 2026
d8d5b8a
Move CLI to separate repo, make this skills-only (Apache 2.0)
pbakaus Apr 4, 2026
824a04b
Version 2.0.6
pbakaus Apr 4, 2026
c8d654a
Align all version references to 2.0.6, update repo URLs to impeccable…
pbakaus Apr 4, 2026
e18ee52
Clean up FAQ and consolidate changelog into single v2.0 entry
pbakaus Apr 4, 2026
f2a40ba
Fix changelog: scoring/personas were v1.6, not v2.0
pbakaus Apr 4, 2026
2eb7674
Tighten v2.0 changelog: single CLI bullet, highlight critique browser…
pbakaus Apr 4, 2026
6ff1333
Add /craft and /validate to v2.0 changelog
pbakaus Apr 4, 2026
ef87172
Remove /validate from v2.0 changelog (not ready yet)
pbakaus Apr 4, 2026
8531503
Rename /craft to /shape, add /impeccable craft, remove "--" pattern
pbakaus Apr 4, 2026
f9b78b1
Replace spring bounce with ease-out-quint on foundation cards
pbakaus Apr 4, 2026
6c6b7fc
Add license labels to Get Started terminal headers
pbakaus Apr 4, 2026
3c9cc86
Merge CLI into main repo, switch everything to Apache 2.0
pbakaus Apr 5, 2026
3ca60a8
Remove stale package-lock.json (project uses bun.lock)
pbakaus Apr 5, 2026
6ec6d97
Update partnerships section for Renaissance Geek, unify licensing to …
pbakaus Apr 6, 2026
7154b4d
Tighten The Language section, update star count to 16k
pbakaus Apr 6, 2026
9ccdb91
Reorganize periodic table, remove validate skill
pbakaus Apr 6, 2026
e961d56
Add Chrome DevTools extension for anti-pattern detection
pbakaus Apr 6, 2026
13b2f76
Polish Chrome extension for Web Store submission
pbakaus Apr 7, 2026
b391485
Detect low-contrast and gray text over gradient backgrounds
pbakaus Apr 7, 2026
bb4de8e
Sync built skill outputs after validate skill removal
pbakaus Apr 7, 2026
83330a6
Update commands grid layout and impeccable command demo
pbakaus Apr 7, 2026
e1032b7
Add icon-tile-stack rule and cross-validate engine against skill
pbakaus Apr 7, 2026
45e6851
Show full anti-pattern names in overlay labels
pbakaus Apr 7, 2026
8b93dfa
Merge color/motion/glow/layout fixture pairs into side-by-side files
pbakaus Apr 7, 2026
5bc5ece
Wire quality rules into the CLI and add Puppeteer fixture tests
pbakaus Apr 7, 2026
092e4a9
Improve copy output: URL, slash-prefixed skills, rollup, no fragment
pbakaus Apr 7, 2026
3569085
Make cramped-padding rule asymmetric and proportional to font-size
pbakaus Apr 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .agents/skills/adapt/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Adapt existing designs to work effectively across different contexts - different

## MANDATORY PREPARATION

Invoke /frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /teach-impeccable first. Additionally gather: target platforms/devices and usage contexts.
Invoke /impeccable — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first. Additionally gather: target platforms/devices and usage contexts.

---

Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/animate/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Analyze a feature and strategically add animations and micro-interactions that e

## MANDATORY PREPARATION

Invoke /frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /teach-impeccable first. Additionally gather: performance constraints.
Invoke /impeccable — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first. Additionally gather: performance constraints.

---

Expand Down
4 changes: 2 additions & 2 deletions .agents/skills/arrange/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Assess and improve layout and spacing that feels monotonous, crowded, or structu

## MANDATORY PREPARATION

Invoke /frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /teach-impeccable first.
Invoke /impeccable — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first.

---

Expand Down Expand Up @@ -46,7 +46,7 @@ Analyze what's weak about the current spatial design:

## Plan Layout Improvements

Consult the [spatial design reference](reference/spatial-design.md) from the frontend-design skill for detailed guidance on grids, rhythm, and container queries.
Consult the [spatial design reference](reference/spatial-design.md) from the impeccable skill for detailed guidance on grids, rhythm, and container queries.

Create a systematic plan:

Expand Down
8 changes: 4 additions & 4 deletions .agents/skills/audit/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ argument-hint: "[area (feature, page, component...)]"

## MANDATORY PREPARATION

Invoke /frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /teach-impeccable first.
Invoke /impeccable — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first.

---

Expand Down Expand Up @@ -65,7 +65,7 @@ Run comprehensive checks across 5 dimensions. Score each dimension 0-4 using the

### 5. Anti-Patterns (CRITICAL)

Check against ALL the **DON'T** guidelines in the frontend-design skill. Look for AI slop tells (AI color palette, gradient text, glassmorphism, hero metrics, card grids, generic fonts) and general design anti-patterns (gray on color, nested cards, bounce easing, redundant copy).
Check against ALL the **DON'T** guidelines in the impeccable skill. Look for AI slop tells (AI color palette, gradient text, glassmorphism, hero metrics, card grids, generic fonts) and general design anti-patterns (gray on color, nested cards, bounce easing, redundant copy).

**Score 0-4**: 0=AI slop gallery (5+ tells), 1=Heavy AI aesthetic (3-4 tells), 2=Some tells (1-2 noticeable), 3=Mostly clean (subtle issues only), 4=No AI tells (distinctive, intentional design)

Expand Down Expand Up @@ -108,7 +108,7 @@ For each issue, document:
- **Impact**: How it affects users
- **WCAG/Standard**: Which standard it violates (if applicable)
- **Recommendation**: How to fix it
- **Suggested command**: Which command to use (prefer: /animate, /quieter, /optimize, /adapt, /clarify, /distill, /delight, /onboard, /normalize, /audit, /harden, /polish, /extract, /bolder, /arrange, /typeset, /critique, /colorize, /overdrive)
- **Suggested command**: Which command to use (prefer: /animate, /quieter, /shape, /optimize, /adapt, /clarify, /distill, /delight, /onboard, /normalize, /audit, /harden, /polish, /extract, /bolder, /arrange, /typeset, /critique, /colorize, /overdrive)

### Patterns & Systemic Issues

Expand All @@ -127,7 +127,7 @@ List recommended commands in priority order (P0 first, then P1, then P2):
1. **[P?] `/command-name`** — Brief description (specific context from audit findings)
2. **[P?] `/command-name`** — Brief description (specific context)

**Rules**: Only recommend commands from: /animate, /quieter, /optimize, /adapt, /clarify, /distill, /delight, /onboard, /normalize, /audit, /harden, /polish, /extract, /bolder, /arrange, /typeset, /critique, /colorize, /overdrive. Map findings to the most appropriate command. End with `/polish` as the final step if any fixes were recommended.
**Rules**: Only recommend commands from: /animate, /quieter, /shape, /optimize, /adapt, /clarify, /distill, /delight, /onboard, /normalize, /audit, /harden, /polish, /extract, /bolder, /arrange, /typeset, /critique, /colorize, /overdrive. Map findings to the most appropriate command. End with `/polish` as the final step if any fixes were recommended.

After presenting the summary, tell the user:

Expand Down
6 changes: 3 additions & 3 deletions .agents/skills/bolder/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Increase visual impact and personality in designs that are too safe, generic, or

## MANDATORY PREPARATION

Invoke /frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /teach-impeccable first.
Invoke /impeccable — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first.

---

Expand All @@ -35,7 +35,7 @@ If any of these are unclear from the codebase, ask the user directly to clarify

**CRITICAL**: "Bolder" doesn't mean chaotic or garish. It means distinctive, memorable, and confident. Think intentional drama, not random chaos.

**WARNING - AI SLOP TRAP**: When making things "bolder," AI defaults to the same tired tricks: cyan/purple gradients, glassmorphism, neon accents on dark backgrounds, gradient text on metrics. These are the OPPOSITE of bold—they're generic. Review ALL the DON'T guidelines in the frontend-design skill before proceeding. Bold means distinctive, not "more effects."
**WARNING - AI SLOP TRAP**: When making things "bolder," AI defaults to the same tired tricks: cyan/purple gradients, glassmorphism, neon accents on dark backgrounds, gradient text on metrics. These are the OPPOSITE of bold—they're generic. Review ALL the DON'T guidelines in the impeccable skill before proceeding. Bold means distinctive, not "more effects."

## Plan Amplification

Expand All @@ -53,7 +53,7 @@ Create a strategy to increase impact while maintaining coherence:
Systematically increase impact across these dimensions:

### Typography Amplification
- **Replace generic fonts**: Swap system fonts for distinctive choices (see frontend-design skill for inspiration)
- **Replace generic fonts**: Swap system fonts for distinctive choices (see impeccable skill for inspiration)
- **Extreme scale**: Create dramatic size jumps (3x-5x differences, not 1.5x)
- **Weight contrast**: Pair 900 weights with 200 weights, not 600 with 400
- **Unexpected choices**: Variable fonts, display fonts for headlines, condensed/extended widths, monospace as intentional accent (not as lazy "dev tool" default)
Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/clarify/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Identify and improve unclear, confusing, or poorly written interface text to mak

## MANDATORY PREPARATION

Invoke /frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /teach-impeccable first. Additionally gather: audience technical level and users' mental state in context.
Invoke /impeccable — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first. Additionally gather: audience technical level and users' mental state in context.

---

Expand Down
2 changes: 1 addition & 1 deletion .agents/skills/colorize/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Strategically introduce color to designs that are too monochromatic, gray, or la

## MANDATORY PREPARATION

Invoke /frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /teach-impeccable first. Additionally gather: existing brand colors.
Invoke /impeccable — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run /impeccable teach first. Additionally gather: existing brand colors.

---

Expand Down
Loading
Loading