Not in the top 1,000 by GitHub stars

EVEDensity/Liquid-Glass-Skill

Interactive liquid glass editor and Codex skill. Design refractive controls, copy them for AI, and integrate them into existing web apps.

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.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → e9ad85dfd5cd

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit e9ad85dfd5cdef8cc4d22dea1798795e1fb8db48

4GitHub stars
Not availablestars in 7 days
1skill in this repository
69commits in 30 days

Heat

Insufficient history

Not enough history yet to measure heat. It appears after a few days of data.

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

Stars over time

Nov 5, 2026Nov 5, 20264

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

Individual skills in this repository

How it works

liquid-glass-ui

When your agent uses it

Implement, restyle, or debug interactive liquid glass in web interfaces. Use for refractive buttons, switches, sliders, segmented controls, toolbars, and floating surfaces with press, drag, or merge behavior. Choose CSS glass for arbitrary page content or WebGL2 refraction for a backdrop the app can supply as pixels.

What it loads into context

Frontmatter

77 tokens

Always available to the agent

SKILL.md

906 tokens

When the skill is activated

Reference documents

8,939 tokens

Loaded on request

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

The playbook

  1. Confirm the button design
  2. Choose the rendering path
  3. Implement and check

Scripts executed separately

  • assets/glass-button.js
  • assets/glass-motion.js
  • assets/liquid-glass-renderer.js
  • assets/liquid-glass.js
  • assets/mount-liquid-glass.js
  • demo/button-editor.js
  • demo/demo.js
  • demo/glass-menu.js
  • demo/icon-picker.js
  • demo/language.js
  • demo/merge-outline.js
  • demo/outline-editor.js
  • demo/replica.js
  • demo/shape-picker.js
  • package.json
  • scripts/package.mjs
  • scripts/serve.mjs
  • scripts/verify.mjs

Files

  • .github/workflows/pages.ymlasset1,692 bytes
  • .gitignoreasset234 bytes
  • LICENSEasset1,085 bytes
  • README.mddoc5,992 bytes
  • README_CN.mddoc5,689 bytes
  • README_JA.mddoc7,536 bytes
  • SKILL.mdcore4,339 bytes
  • SKILL.mdcore4,339 bytes
  • SKILL.mdcore4,339 bytes
  • SKILL.mdcore4,339 bytes
  • THIRD_PARTY_NOTICES.mddoc1,490 bytes
  • agents/openai.yamlasset219 bytes
  • assets/LICENSE-lucideasset3,208 bytes
  • assets/glass-backdrop.svgasset1,830 bytes
  • assets/glass-button.jsruns25,269 bytes
  • assets/glass-grid.svgasset573 bytes
  • assets/glass-motion.jsruns2,397 bytes
  • assets/liquid-glass-renderer.jsruns33,614 bytes
  • assets/liquid-glass.cssasset4,121 bytes
  • assets/liquid-glass.jsruns1,667 bytes
  • assets/mount-liquid-glass.jsruns2,665 bytes
  • assets/wallpapers/daisy.jpgasset119,517 bytes
  • assets/wallpapers/lake.jpgasset3,237,854 bytes
  • assets/wallpapers/prism.jpgasset116,622 bytes
  • demo/button-editor.jsruns23,982 bytes
  • demo/demo.cssasset25,000 bytes
  • demo/demo.jsruns34,700 bytes
  • demo/glass-menu.jsruns4,012 bytes
  • demo/icon-picker.jsruns8,504 bytes
  • demo/index.htmlasset11,436 bytes
  • demo/language.jsruns11,204 bytes
  • demo/lucide-catalog.jsonasset770,147 bytes
  • demo/merge-outline.jsruns3,002 bytes
  • demo/outline-editor.jsruns12,034 bytes
  • demo/replica.jsruns3,179 bytes
  • demo/shape-picker.jsruns4,227 bytes
  • docs/media/liquid-glass-ui-demo.mp4asset11,534,004 bytes
  • package-lock.jsonasset1,240 bytes
  • package.jsonruns404 bytes
  • references/acceptance.mddoc1,393 bytes
  • references/design-system.mddoc1,789 bytes
  • references/integration.mddoc11,396 bytes
  • references/validation.mddoc1,027 bytes
  • scripts/package.mjsruns3,536 bytes
  • scripts/serve.mjsruns3,190 bytes
  • scripts/verify.mjsruns72,776 bytes
Read SKILL.md

# Liquid Glass UI

Apply glass only to the named buttons or controls. Preserve the host background, layout, labels, and behavior. Before editing, state the target controls and confirm any unspecified visual choice. A change to another part of the interface requires a separate agreement.

## Confirm the button design

Use a design the user has already selected or pasted. Otherwise, open the demo at `http://localhost:58423/demo/` and ask the user to choose a control and click **Copy for AI**. Start `node scripts/serve.mjs` from the skill directory if needed. Before asking for the selection, read the baseline `copiedAt` from `GET http://localhost:58423/api/glass-handoff`. Use a newer handoff or the clipboard payload the user provides. Wait for the choice before editing the target.

Pass the returned configuration directly to the matching runtime. Version 2 uses `createLiquidGlassButton` from `assets/glass-button.js`. Version 3 uses `mountLiquidGlassReplica` from `demo/replica.js` for moving controls or group selections. Use the revision specified in a clipboard handoff. Use the existing page's readable source and preserve the crop, layout, and original actions. See the [handoff integration recipes](references/integration.md#integrate-a-copied-design). When the host pixels cannot be read, explain the available fallback and confirm it before editing the target.

## Choose the rendering path

- **CSS glass** fits arbitrary DOM, text, and scrolling content. Copy `assets/liquid-glass.css` for blur, tint, and a rim. Add `assets/liquid-glass.js` only if the user wants pointer highlights. CSS glass cannot bend or merge backdrop pixels.
- **WebGL2 refraction** fits images, video, and canvases controlled by the app. Copy `assets/liquid-glass-renderer.js` and `assets/mount-liquid-glass.js`. Keep the actual controls in HTML above an `aria-hidden` canvas. Use the app's original layout and a permitted backdrop.
View the complete source on GitHub

Skills included

  • liquid-glass-ui

Repository facts

License
MIT
Created
Nov 3, 2026
Last pushed
Nov 5, 2026
Forks
2
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

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

Show 5 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • demo/lucide-catalog.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • docs/media/liquid-glass-ui-demo.mp4:1 Analysis incomplete: Blob exceeds size or total-read limit; file skipped
Show all 111 signals by file

.gitignore

  • Access to secretsline 12
    [Credential-related source omitted]

README.md

  • Network accessline 9
    [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
  • Network accessline 10
    [![Claude Code](https://img.shields.io/badge/Claude%20Code-skill-d97757)](SKILL.md)
  • Network accessline 11
    [![Codex](https://img.shields.io/badge/Codex-skill-10a37f)](SKILL.md)
  • Network accessline 25
    https://github.com/user-attachments/assets/9c0b9150-876c-46cf-9f29-7a22a7e907b4
  • Network accessline 27
    18-second product demo · [Download the 4K MP4](https://github.com/EVEDensity/Liquid-Glass-Skill/raw/refs/heads/main/docs/media/liquid-glass-ui-demo.mp4)
  • Network accessline 34
    Install this skill for me: https://github.com/EVEDensity/Liquid-Glass-Skill
  • Network accessline 42
    mkdir -p "$HOME/.claude/skills" && git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$HOME/.claude/skills/liquid-glass-ui"
  • Network accessline 48
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills" | Out-Null; git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$env:USERPROFILE\.claude\skills\liquid-glass-ui"
  • Network accessline 54
    mkdir -p "$HOME/.agents/skills" && git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$HOME/.agents/skills/liquid-glass-ui"
  • Network accessline 60
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.agents\skills" | Out-Null; git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$env:USERPROFILE\.agents\skills\liquid-glass-ui"
  • Network accessline 91
    From the cloned skill directory, run the local server and open [localhost:58423/demo/](http://localhost:58423/demo/). Node.js is required.
  • Network accessline 132
    New project code and documentation are [MIT licensed](LICENSE). See [third-party notices](THIRD_PARTY_NOTICES.md) for assets and dependencies. The visual direction is inspired by [Good Machines Liquid Glass Lab](https://goodmachines.ai/lab/

README_CN.md

  • Network accessline 9
    [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
  • Network accessline 10
    [![Claude Code](https://img.shields.io/badge/Claude%20Code-skill-d97757)](SKILL.md)
  • Network accessline 11
    [![Codex](https://img.shields.io/badge/Codex-skill-10a37f)](SKILL.md)
  • Network accessline 25
    https://github.com/user-attachments/assets/9c0b9150-876c-46cf-9f29-7a22a7e907b4
  • Network accessline 27
    18 秒产品演示 · [下载 4K MP4](https://github.com/EVEDensity/Liquid-Glass-Skill/raw/refs/heads/main/docs/media/liquid-glass-ui-demo.mp4)
  • Network accessline 34
    请帮我安装这个 skill:https://github.com/EVEDensity/Liquid-Glass-Skill
  • Network accessline 42
    mkdir -p "$HOME/.claude/skills" && git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$HOME/.claude/skills/liquid-glass-ui"
  • Network accessline 48
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills" | Out-Null; git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$env:USERPROFILE\.claude\skills\liquid-glass-ui"
  • Network accessline 54
    mkdir -p "$HOME/.agents/skills" && git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$HOME/.agents/skills/liquid-glass-ui"
  • Network accessline 60
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.agents\skills" | Out-Null; git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$env:USERPROFILE\.agents\skills\liquid-glass-ui"
  • Network accessline 91
    在克隆后的 skill 目录中启动本地服务,并打开 [localhost:58423/demo/](http://localhost:58423/demo/)。需要安装 Node.js。
  • Network accessline 132
    本项目新增的代码和文档采用 [MIT 许可](LICENSE);素材与依赖说明见 [第三方声明](THIRD_PARTY_NOTICES.md)。视觉方向受到 [Good Machines Liquid Glass Lab](https://goodmachines.ai/lab/liquid-glass) 启发;本项目独立实现,并非 Apple 官方实现。

README_JA.md

  • Network accessline 9
    [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
  • Network accessline 10
    [![Claude Code](https://img.shields.io/badge/Claude%20Code-skill-d97757)](SKILL.md)
  • Network accessline 11
    [![Codex](https://img.shields.io/badge/Codex-skill-10a37f)](SKILL.md)
  • Network accessline 25
    https://github.com/user-attachments/assets/9c0b9150-876c-46cf-9f29-7a22a7e907b4
  • Network accessline 27
    18 秒のデモ · [4K MP4 をダウンロード](https://github.com/EVEDensity/Liquid-Glass-Skill/raw/refs/heads/main/docs/media/liquid-glass-ui-demo.mp4)
  • Network accessline 34
    この skill をインストールしてください: https://github.com/EVEDensity/Liquid-Glass-Skill
  • Network accessline 42
    mkdir -p "$HOME/.claude/skills" && git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$HOME/.claude/skills/liquid-glass-ui"
  • Network accessline 48
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills" | Out-Null; git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$env:USERPROFILE\.claude\skills\liquid-glass-ui"
  • Network accessline 54
    mkdir -p "$HOME/.agents/skills" && git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$HOME/.agents/skills/liquid-glass-ui"
  • Network accessline 60
    New-Item -ItemType Directory -Force "$env:USERPROFILE\.agents\skills" | Out-Null; git clone https://github.com/EVEDensity/Liquid-Glass-Skill.git "$env:USERPROFILE\.agents\skills\liquid-glass-ui"
  • Network accessline 91
    クローンした skill ディレクトリでローカルサーバーを起動し、[localhost:58423/demo/](http://localhost:58423/demo/) を開きます。Node.js が必要です。
  • Network accessline 132
    本プロジェクトで新たに作成したコードと文書は [MIT ライセンス](LICENSE) です。アセットと依存関係については [サードパーティ通知](THIRD_PARTY_NOTICES.md) を参照してください。ビジュアルの方向性は [Good Machines Liquid Glass Lab](https://goodmachines.ai/lab/liquid-glass) に着想を得ています。本プロジェクトは独立した実装であり、Apple の公式実装ではありません

SKILL.md

  • Network accessline 13
    Use a design the user has already selected or pasted. Otherwise, open the demo at `http://localhost:58423/demo/` and ask the user to choose a control and click **Copy for AI**. Start `node scripts/serve.mjs` from the skill directory if need
  • Network accessline 34
    Run `node scripts/serve.mjs` from this folder and open `http://localhost:58423/demo/` to try the bundled switch, slider, segmented control, and lens with six presets. The materials are independently implemented and tuned against the public 

THIRD_PARTY_NOTICES.md

  • Network accessline 3
    Liquid Glass UI is an independent MIT implementation. Its visual direction is informed by the public Liquid Glass lab at <https://goodmachines.ai/lab/liquid-glass>. The license for that site's source and assets was not established, so none 
  • Network accessline 7
    The icon picker includes [Lucide](https://lucide.dev/icons/) interface icons and [Lobe Icons](https://github.com/lobehub/lobe-icons) monochrome AI brand marks. Their license notices accompany the SVG geometry in `assets/glass-button.js` and

assets/glass-backdrop.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" width="1600" height="1100" viewBox="0 0 1600 1100">

assets/glass-button.js

  • Executable scriptline 1
    Executable file
  • Network accessline 126
    /* Lucide: https://github.com/lucide-icons/lucide
  • Network accessline 171
    Lobe Icons: https://github.com/lobehub/lobe-icons
  • Network accessline 242
    if (!entry) return null;   const [viewBox,solid,nodes] = entry;   const ns = "http://www.w3.org/2000/svg";
  • Network accessline 243
    const [viewBox,solid,nodes] = entry;   const ns = "http://www.w3.org/2000/svg";   const svg = doc.createElementNS(ns,"svg");
  • Network accessline 244
    const ns = "http://www.w3.org/2000/svg";

assets/glass-grid.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1100 944" width="1100" height="944">

assets/glass-motion.js

  • Executable scriptline 1
    Executable file

assets/liquid-glass-renderer.js

  • Executable scriptline 1
    Executable file

assets/liquid-glass.js

  • Executable scriptline 1
    Executable file

assets/mount-liquid-glass.js

  • Executable scriptline 1
    Executable file

demo/button-editor.js

  • Executable scriptline 1
    Executable file
  • Network accessline 10
    const paths = ['liquid-glass-renderer.js','mount-liquid-glass.js','glass-motion.js','glass-button.js'].map(file=>'../assets/'+file);   const [license,...modules] = await Promise.all(['../LICENSE',...paths].map(async path=>{     const respon
  • Network accessline 11
    const [license,...modules] = await Promise.all(['../LICENSE',...paths].map(async path=>{     const response = await fetch(new URL(path,import.meta.url));     if (!response.ok) throw new Error('Could not load '+path);
  • Network accessline 12
    const response = await fetch(new URL(path,import.meta.url));
  • Network accessline 31
    const handoffRevision = '2994d7d1fabdc73bf7d6e6a5937d93f03dfbfa90'; const handoffRepository = 'https://github.com/EVEDensity/Liquid-Glass-Skill';
  • Network accessline 32
    const handoffRepository = 'https://github.com/EVEDensity/Liquid-Glass-Skill';
  • Network accessline 451
    fetch('/api/glass-handoff',{

demo/demo.js

  • Executable scriptline 1
    Executable file

demo/glass-menu.js

  • Executable scriptline 1
    Executable file

demo/icon-picker.js

  • Executable scriptline 1
    Executable file
  • Network accessline 43
    async function load() {     try {       const response = await fetch(new URL('./lucide-catalog.json',import.meta.url));
  • Network accessline 44
    try {       const response = await fetch(new URL('./lucide-catalog.json',import.meta.url));       if (!response.ok) throw new Error('Icon catalog could not be loaded');
  • Network accessline 45
    const response = await fetch(new URL('./lucide-catalog.json',import.meta.url));

demo/language.js

  • Executable scriptline 1
    Executable file

demo/merge-outline.js

  • Executable scriptline 1
    Executable file

demo/outline-editor.js

  • Executable scriptline 1
    Executable file

demo/replica.js

  • Executable scriptline 1
    Executable file
  • Network accessline 13
    export async function loadReplicaSources(config) {   const entries = await Promise.all(Object.entries(files).filter(([key])=>key!=='backdrop'||config?.version!==3).map(async ([key,path]) => {     const response = await fetch(new URL(path,im
  • Network accessline 14
    const entries = await Promise.all(Object.entries(files).filter(([key])=>key!=='backdrop'||config?.version!==3).map(async ([key,path]) => {     const response = await fetch(new URL(path,import.meta.url));     if (!response.ok) throw new Erro
  • Network accessline 15
    const response = await fetch(new URL(path,import.meta.url));

demo/shape-picker.js

  • Executable scriptline 1
    Executable file
  • Network accessline 15
    button.dataset.shapeChoice = shape;     button.dataset.aria = button.dataset.title = label;     const svg = document.createElementNS('http://www.w3.org/2000/svg','svg');
  • Network accessline 16
    button.dataset.aria = button.dataset.title = label;     const svg = document.createElementNS('http://www.w3.org/2000/svg','svg');     svg.setAttribute('viewBox','0 0 24 24');
  • Network accessline 17
    const svg = document.createElementNS('http://www.w3.org/2000/svg','svg');

package-lock.json

  • Network accessline 15
    "node_modules/playwright": {       "version": "1.64.1",       "resolved": "https://registry.npmmirror.com/playwright/-/playwright-1.64.1.tgz",
  • Network accessline 16
    "version": "1.64.1",       "resolved": "https://registry.npmmirror.com/playwright/-/playwright-1.64.1.tgz",       "integrity": "sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==",
  • Network accessline 17
    "resolved": "https://registry.npmmirror.com/playwright/-/playwright-1.64.1.tgz",
  • Network accessline 31
    "node_modules/playwright-core": {       "version": "1.64.1",       "resolved": "https://registry.npmmirror.com/playwright-core/-/playwright-core-1.64.1.tgz",
  • Network accessline 32
    "version": "1.64.1",       "resolved": "https://registry.npmmirror.com/playwright-core/-/playwright-core-1.64.1.tgz",       "integrity": "sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==",
  • Network accessline 33
    "resolved": "https://registry.npmmirror.com/playwright-core/-/playwright-core-1.64.1.tgz",

package.json

  • Executable scriptline 1
    Executable file

references/validation.md

  • Network accessline 6
    $env:GLASS_PORT = '4220' $env:GLASS_TEST_URL = 'http://127.0.0.1:4220'
  • Network accessline 7
    $env:GLASS_TEST_URL = 'http://127.0.0.1:4220'

scripts/package.mjs

  • Executable scriptline 1
    Executable file

scripts/serve.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 11
    const server = http.createServer(async (req, res) => {   try {     const pathname = decodeURIComponent(new URL(req.url, 'http://localhost').pathname);
  • Network accessline 12
    try {     const pathname = decodeURIComponent(new URL(req.url, 'http://localhost').pathname);     if (pathname === '/api/glass-handoff') {
  • Network accessline 13
    const pathname = decodeURIComponent(new URL(req.url, 'http://localhost').pathname);
  • Network accessline 22
    if (req.method === 'GET') { res.end(JSON.stringify(latestHandoff ?? null)); return; }       if (req.method !== 'POST') { res.writeHead(405).end(); return; }       if (req.headers.origin !== `http://${host}` || req.headers['content-type'] !=
  • Network accessline 23
    if (req.method !== 'POST') { res.writeHead(405).end(); return; }       if (req.headers.origin !== `http://${host}` || req.headers['content-type'] !== 'application/json') {         res.writeHead(403).end(); return;
  • Network accessline 24
    if (req.headers.origin !== `http://${host}` || req.headers['content-type'] !== 'application/json') {
  • Network accessline 50
    } catch { res.writeHead(404).end('Not found'); } }); server.listen(port, '127.0.0.1', () => console.log(`Liquid Glass UI: http://localhost:${server.address().port}`));
  • Network accessline 52
    server.listen(port, '127.0.0.1', () => console.log(`Liquid Glass UI: http://localhost:${server.address().port}`));

scripts/verify.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    const evidence = resolve(root, 'evidence'); await mkdir(evidence, { recursive: true }); const url = process.env.GLASS_TEST_URL || 'http://127.0.0.1:58423';
  • Network accessline 10
    await mkdir(evidence, { recursive: true }); const url = process.env.GLASS_TEST_URL || 'http://127.0.0.1:58423'; let server;
  • Network accessline 11
    const url = process.env.GLASS_TEST_URL || 'http://127.0.0.1:58423'; let server; try { if (!(await fetch(url)).ok) throw new Error(); }
  • Network accessline 12
    let server; try { if (!(await fetch(url)).ok) throw new Error(); } catch {
  • Network accessline 13
    try { if (!(await fetch(url)).ok) throw new Error(); }
  • Network accessline 117
    assert.equal(Object.hasOwn(config,'backdrop'),false);   await selectionPage.waitForFunction(async expected=>{     const latest = await (await fetch('/api/glass-handoff')).json();
  • Network accessline 118
    await selectionPage.waitForFunction(async expected=>{     const latest = await (await fetch('/api/glass-handoff')).json();     return JSON.stringify(latest?.config)===JSON.stringify(expected);
  • Network accessline 119
    const latest = await (await fetch('/api/glass-handoff')).json();
  • Network accessline 315
    assert.deepEqual(config.items.map(item=>[item.kind,item.title,item.width]),[['menu','My glass actions',64]]);   await page.waitForFunction(async()=>{     const response = await fetch('/api/glass-handoff');
  • Network accessline 316
    await page.waitForFunction(async()=>{     const response = await fetch('/api/glass-handoff');     return (await response.json())?.config?.items?.[0]?.kind==='menu';
  • Network accessline 317
    const response = await fetch('/api/glass-handoff');
  • Network accessline 564
    const spec=JSON.parse(handoff.split(/liquid-glass\.json\r?\n/).at(-1));   await page.waitForFunction(async expected=>{     const latest = await (await fetch('/api/glass-handoff')).json();
  • Network accessline 565
    await page.waitForFunction(async expected=>{     const latest = await (await fetch('/api/glass-handoff')).json();     return latest && JSON.stringify(latest.config)===expected;
  • Network accessline 566
    const latest = await (await fetch('/api/glass-handoff')).json();

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: 2 facts
  • Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionassets/glass-button.js:244High confidence
  • Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentiondemo/shape-picker.js:17High confidence
Signal confidence: 102 facts

and 52 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md 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.