Commit 021ab38
committed
fix(claude-design-skill): inline all critical upstream content (fat skill)
Claude Design's self-audits revealed a structural problem with the
thin-entry-point + fetch-5-references architecture. Actual empirical
observations from the agent:
- Fetch budget is ~3 per turn, resets on user message.
- "Fetch 5 required" → in practice 0-3 get full reads, the rest are
skimmed or skipped. The "required" list is aspirational.
- Even successful fetches often get skimmed — Claude Design admitted
"saw the page loaded, did not read through" for multiple required
files.
- Inline templates (the preview.html block) work perfectly — Claude
Design copies them verbatim every time.
- One-file skill of ~500-2000 lines is the sweet spot where Claude
Design reads top-to-bottom in a single call.
Restructure the skill to inline every load-bearing rule that was
previously an external fetch:
- Pre-delivery checklist (unchanged, still top)
- preview.html verbatim template with token forward (unchanged)
- Full composition contract: data-attribute tables, layout-before-
animation, sub-composition <template> pattern, video/audio rules
- Determinism ❌/✅ block with every banned pattern and its
replacement
- Scene transitions: 4 non-negotiable rules + energy→transition,
mood→transition, duration presets, narrative-position tables
- Shader transitions: all 14 official shader names (verified from
package source registry.ts), init() config, shader-compatible CSS
rules, when-not-to-use guidance
- Typography: banned fonts list (verbatim), pairing rules, dark-bg
optical compensation, OpenType features, safe modern font picks
by category
- Motion principles: easing-is-emotion, speed-communicates-weight,
build/breathe/resolve structure, visual composition for frames
- Visual direction: 8 named preset styles as a table (Swiss Pulse,
Velvet Standard, Deconstructed, Maximalist Type, Data Drift, Soft
Signal, Folk Frequency, Shadow Cut) with GSAP signature + shader
pairing
- GSAP essentials: transform aliases table, immediateRender gotcha
with the exact wipe-bug pattern and its fix, autoAlpha guidance,
position-parameter syntax, stagger
- Registry blocks: how Claude Design can fetch block HTML directly
(can't run hyperframes add CLI), list of 11 common blocks from
the 39 available
- Worked-examples pointer: registry/examples/ tree with specific
picks by aesthetic (vignelli, swiss-grid, warm-grain, kinetic-
type, product-promo, nyt-graph, decision-tree)
- Optional feature references (fetch when needed): captions, tts,
audio-reactive, css-patterns, dynamic-techniques, transcript-
guide, registry skill
Verified all 14 shader names against packages/shader-transitions/src/
shaders/registry.ts. Banned fonts list verified against references/
typography.md. Scene transitions tables verified against references/
transitions.md. No fabricated content.
File goes from 138 to 681 lines — well within Claude Design's
reported sweet spot (500-2000 lines) where it reads fully without
paginating.
Made-with: Cursor1 parent 173ae35 commit 021ab38
1 file changed
Lines changed: 607 additions & 64 deletions
0 commit comments