Install any skill in seconds. Free to start, no credit card required.
Get Started Free →notque/webgl-card-effects
Standalone WebGL fragment shaders for card visual effects: holographic foil, shimmer, rarity glow.
Passed 13 of 20 test cases with the skill, and 6 of 20 without it.
and 7 more in the full report
9 fixed6 passed either way7 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
What specific string constant names must be exported from `src/components/cards/effects/cardShaders.ts` for the fragment shaders?
| Checked | Without skill | With skill |
|---|---|---|
| Exports string constants named SHIMMER_FRAG, RARE_FRAG, and LEGENDARY_FRAG. | Missed | Passed |
The instructions your model reads when the skill loads.
This skill adds GPU-accelerated visual effects to React card components using standalone WebGL2 fragment shaders — no Three.js, no R3F, no external library required. It targets deckbuilder games and card UIs where rarity tiers should feel visually distinct, not just differentiated by a CSS box-shadow value.
Scope: Holographic foil overlays, metallic shimmer bands, rarity-driven energy pulses, and interactive tilt-shine effects mounted directly on React card components. The canonical target is FramedCard.tsx in a React 19 / Vite / Tailwind project with a rarity system (starter → common → uncommon → rare → legendary).
Not in scope: 3D transformations, texture loading, post-processing pipelines, or any Three.js scene management. For those, use threejs-builder.
Key constraint: Browsers cap WebGL contexts at roughly 8–16 total per page. This skill uses a single shared WebGL2 context with blit-to-2D-canvas output per card, avoiding the per-card context problem entirely. See references/shader-integration-react.md for the full singleton pattern.
Goal: Understand which effects are needed and confirm the card component structure before writing any code.
Step 1: Read the card component
Read these files before writing anything:
src/components/cards/FramedCard.tsx — component structure, hover state, rarity prop flowsrc/components/cards/cardStyles.ts — CARD_SIZE_CONFIG for pixel dimensions, rarity string valuesConfirm:
isHovered state already exists in the componentshowShine / card-shine CSS exists and needs coordinationStep 2: Select effect tier per rarity
| Rarity | WebGL? | Effect |
|---|---|---|
| starter / common | No | CSS shimmer only — no WebGL overhead |
| uncommon | Yes (subtle) | Metallic band shimmer, very low opacity |
| rare | Yes (medium) | Moving shimmer + blue hue shift + edge pulse |
| legendary | Yes (full) | Rainbow holographic foil, mouse-reactive tilt |
test cases passed, vs 6 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.