Not in the top 1,000 by GitHub stars

gentpan/liquidglass

Real liquid glass for the web: refractive web components that render the same in Chrome, Safari and Firefox, plus an AI agent skill.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skill/liquid-glass-web/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

068ad226f53e → 068ad226f53e

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 068ad226f53e

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 068ad226f53e1ca62d857f78bdc32f58f3c5fce7

23GitHub stars
5stars in 7 days
1skill in this repository
0commits in 30 days

Heat

3.3
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 5, 202623

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

liquid-glass-web

When your agent uses it

Build refractive "liquid glass" UI for the web (Apple Liquid Glass style) that renders the same in Chrome, Safari/iOS and Firefox — SVG feDisplacementMap applied through CSS filter to the content itself, runtime displacement maps, chromatic fringe and rim highlights, press/squish springs, WebKit-specific fixes, WebGL for video. Ships the liquidglass.dev web components (switch, slider, segmented, button, panel, navbar, menu bar, toast, dock, lens), the zero-dependency engine, a reference page and a three-engine screenshot script. Use whenever a web or front-end task (HTML/CSS/React/Vue/Svelte) asks for liquid glass, glass refraction, a glass lens or magnifier, glassmorphism that should actually bend light, or Apple-style glass switches, sliders, segmented controls, tab indicators, cards, navbars, menus, toasts or docks — and when a backdrop-filter glass effect does not show up in Safari or Firefox. Not for native SwiftUI/UIKit apps (use the system glassEffect there).

What it loads into context

Frontmatter

227 tokens

Always available to the agent

SKILL.md

3,128 tokens

When the skill is activated

Reference documents

8,400 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. How it works
  2. Step 1 — pick the path
  3. Step 2 — use the bundled engine
  4. Step 3 — make it read as liquid glass
  5. Step 4 — rules that break an engine when ignored
  6. Accessibility and fallbacks
  7. Step 5 — verify before handing over
  8. Files

Scripts executed separately

  • assets/components.js
  • assets/glass-webgl.js
  • assets/liquid-glass.js
  • scripts/chrome-shot.mjs
  • scripts/serve.py
  • scripts/shoot.sh

Files

  • SKILL.mdcore12,279 bytes
  • SKILL.mdcore12,279 bytes
  • agents/openai.yamlasset296 bytes
  • assets/components.jsruns56,834 bytes
  • assets/demo.htmlasset33,954 bytes
  • assets/glass-webgl.jsruns7,209 bytes
  • assets/liquid-glass.jsruns24,816 bytes
  • references/browser-quirks.mddoc7,906 bytes
  • references/components.mddoc4,906 bytes
  • references/optics.mddoc5,347 bytes
  • references/patterns.mddoc12,356 bytes
  • scripts/chrome-shot.mjsruns4,417 bytes
  • scripts/serve.pyruns2,392 bytes
  • scripts/shoot.shruns2,113 bytes
  • scripts/snap-webkit.swiftasset2,470 bytes
Read SKILL.md

# Liquid glass for the web

Goal: glass that really bends light, like Apple's Liquid Glass, rather than a blur — and looks the same in Chromium, WebKit (Safari and every iOS browser) and Gecko (Firefox). The approach follows Aave Labs' [Building Glass for the Web](https://aave.com/design/building-glass-for-the-web); the bundled code is an independent implementation, verified screenshot-by-screenshot in all three engines. Live site and docs: https://liquidglass.dev.

## How it works

1. **Refraction goes on `filter: url(#id)`, not `backdrop-filter`.** `backdrop-filter: url()` only renders in Chromium. A plain `filter` referencing an SVG filter works everywhere, but it bends the element's *own* pixels — so whatever should be bent must be inside the glass element: the real content, or a decorative copy of it.
2. **The displacement map is generated at runtime from the lens shape.** Red/green = horizontal/vertical bend, blue = rim highlight, alpha = lens coverage, neutral grey 128 outside the lens. Pixels outside the lens pass through untouched, so text stays selectable and links clickable.
3. **Moving is cheap, reshaping regenerates.** Moving a lens only changes filter sub-region coordinates; the map is redrawn only when shape or optics change (cached, only a quarter computed).
4. **Surfaces without live DOM use WebGL with the same map.** Safari never runs SVG filters on a playing `<video>`; canvas content has no DOM either.

## Step 1 — pick the path

**Fastest: the ready-made web components.** If the project can load an ES module, use `assets/components.js` (copy it next to `assets/liquid-glass.js`, or load `https://liquidglass.dev/lib/components.js`). Elements: `lg-switch`, `lg-slider`, `lg-segmented`, `lg-button`, `lg-panel`, `lg-navbar`, `lg-menubar` + `lg-menu`, `toast()`, `lg-dock`, `lg-lens`. Usage, attributes and theming variables: [references/components.md](references/components.md).
View the complete source on GitHub

Skills included

  • liquid-glass-web

Repository facts

License
MIT
Created
Sep 19, 2026
Last pushed
Oct 30, 2026
Forks
0
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 7, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 1 note
  • skill/liquid-glass-web/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 23 signals by file

skill/liquid-glass-web/SKILL.md

  • Network accessline 8
    Goal: glass that really bends light, like Apple's Liquid Glass, rather than a blur — and looks the same in Chromium, WebKit (Safari and every iOS browser) and Gecko (Firefox). The approach follows Aave Labs' [Building Glass for the Web](htt
  • Network accessline 19
    **Fastest: the ready-made web components.** If the project can load an ES module, use `assets/components.js` (copy it next to `assets/liquid-glass.js`, or load `https://liquidglass.dev/lib/components.js`). Elements: `lg-switch`, `lg-slider`

skill/liquid-glass-web/assets/components.js

  • Executable scriptline 1
    Executable file
  • Network accessline 2
    * components.js v1.0.0 — Liquid Glass web components.  *  *   <script type="module" src="https://liquidglass.dev/lib/components.js"></script>
  • Network accessline 3
    *  *   <script type="module" src="https://liquidglass.dev/lib/components.js"></script>  *   <lg-switch checked>Wi-Fi</lg-switch>
  • Network accessline 4
    *   <script type="module" src="https://liquidglass.dev/lib/components.js"></script>

skill/liquid-glass-web/assets/demo.html

  • Network accessline 274
    /* ---------------------------------------------------------------- art (content to refract) */ const ART = `data:image/svg+xml,${encodeURIComponent(` <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 520" preserveAspectRatio="xMidY
  • Network accessline 275
    const ART = `data:image/svg+xml,${encodeURIComponent(` <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 520" preserveAspectRatio="xMidYMid slice">   <defs>
  • Network accessline 276
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 520" preserveAspectRatio="xMidYMid slice">

skill/liquid-glass-web/assets/glass-webgl.js

  • Executable scriptline 1
    Executable file

skill/liquid-glass-web/assets/liquid-glass.js

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    const NS = 'http://www.w3.org/2000/svg';
  • Network accessline 17
    const XLINK = 'http://www.w3.org/1999/xlink';

skill/liquid-glass-web/references/components.md

  • Network accessline 3
    `assets/components.js` (also hosted at `https://liquidglass.dev/lib/components.js`) defines light-DOM custom elements on top of the engine. They need `liquid-glass.js` in the same directory. Styles are injected once; theme them with the `--
  • Network accessline 10
    <script type="module" src="https://liquidglass.dev/lib/components.js"></script>

skill/liquid-glass-web/scripts/chrome-shot.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 40
    for (let i = 0; i < 100 && !ws; i++) {   try {     const targets = await (await fetch(`http://127.0.0.1:${port}/json`)).json();
  • Network accessline 41
    try {     const targets = await (await fetch(`http://127.0.0.1:${port}/json`)).json();     const page = targets.find((t) => t.type === 'page');
  • Network accessline 42
    const targets = await (await fetch(`http://127.0.0.1:${port}/json`)).json();

skill/liquid-glass-web/scripts/serve.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 59
    if __name__ == '__main__':     print(f'serving {ROOT} on http://127.0.0.1:{PORT}')
  • Network accessline 60
    print(f'serving {ROOT} on http://127.0.0.1:{PORT}')

skill/liquid-glass-web/scripts/shoot.sh

  • Executable scriptline 1
    #!/bin/zsh

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 1 fact
Signal confidence: 20 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skill/liquid-glass-web/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skill/liquid-glass-web/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skill/liquid-glass-web/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skill/liquid-glass-web/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skill/liquid-glass-web/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skill/liquid-glass-web/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.