From 4c5b8e38a1d55f1d4f8357262ed8577d1677a8b1 Mon Sep 17 00:00:00 2001 From: Vance Ingalls Date: Wed, 8 Apr 2026 20:49:46 -0700 Subject: [PATCH] feat(skills): add typography and motion principles, fix validate $& bug (#228) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add two new skill reference files that address measured LLM composition failures: - fonts.md: Typography principles — banned fonts, guardrails for violations (pairing two sans-serifs, defaulting to 400/700 weight), and guidance the LLM genuinely doesn't apply without being told (register switching, tension as meaning, easing direction as emotion). Includes Google Fonts API discovery script with 7-category multi-strategy query. - motion-principles.md: Motion design principles — guardrails for same-ease and same-speed defaults, y-axis entrance monotony, and guidance for build/breathe/ resolve scene structure, hard cuts as intentional transitions, visual composition rules for video-not-web density. Both files validated against baseline evals: 3 compositions created without guidance confirmed the LLM reaches for banned fonts (Inter, Cormorant Garamond, Playfair Display, Roboto Condensed), uses power2.out on 45-72% of tweens, enters 80%+ of elements from y-axis, and pairs multiple sans-serifs. Also: - Fix validate.ts $& replacement bug (runtime source containing $& caused String.prototype.replace to re-insert the matched `, + () => ``, ); } diff --git a/skills/hyperframes/SKILL.md b/skills/hyperframes/SKILL.md index 0f7207a38..3266c70c5 100644 --- a/skills/hyperframes/SKILL.md +++ b/skills/hyperframes/SKILL.md @@ -100,7 +100,7 @@ Video must be `muted playsinline`. Audio is always a separate `