К основному содержанию
скилл CX Codex

ios-liquid-glass — скилл для Claude Code: справочник по Liquid Glass

Справочник по API Liquid Glass из iOS 26+: модификаторы glassEffect, контейнеры, морфинг-переходы и навигация. Пригодится, когда верстаешь стеклянные панели в SwiftUI.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Prisma-Labs-Dev/apple-skills --skill ios-liquid-glass -a claude-code
Открыть на GitHub

Что делает ios-liquid-glass

Скилл отвечает на вопросы про систему Liquid Glass: как накладывать glassEffect, какие есть варианты (.regular, .clear, .identity), как собрать GlassEffectContainer и сделать переходы между элементами через glassEffectID и @Namespace. Внутри — примеры кода на SwiftUI: тонировка, интерактивное поведение, кастомные формы вроде .rect(cornerRadius: .containerConcentric).

Отдельные разделы — навигация и системные эффекты. Плавающий таб-бар, группировка кнопок в тулбаре через ToolbarSpacer, шторки с .navigationTransition(.zoom), эффекты SF Symbols и хаптики на UIKit. Есть таблица принципов Apple — иерархия, гармония, согласованность — и пометка, что это ориентир, а не жёсткое правило.

Ограничение, о котором стоит знать заранее: стекло не может сэмплить другое стекло. Если наложить эффект на контентную поверхность, а не на слой навигации, модель сэмплинга ломается — поэтому несколько элементов собирают в GlassEffectContainer. Скилл запускается в форк-контексте с агентом Explore, то есть не грузит основную сессию.

Какие задачи решает

  • наложить стеклянный эффект на кнопку или панель в SwiftUI
  • собрать несколько стеклянных элементов в один контейнер
  • сделать морфинг-переход между кнопками через glassEffectID
  • настроить плавающий таб-бар и группировку в тулбаре
  • проверить, как стекло ведёт себя при Reduce Transparency

Примеры запросов агенту

  • Покажи, как применить glassEffect к кнопке с тонировкой и интерактивным поведением
  • Собери GlassEffectContainer с морфинг-переходом между тремя кнопками
  • Как сделать шторку с .navigationTransition(.zoom) из кнопки в тулбаре?

Как установить ios-liquid-glass

1Через Skills CLI (Vercel)

npx skills add Prisma-Labs-Dev/apple-skills --skill ios-liquid-glass -a claude-code

2Вручную: положить файлы

~/.claude/skills/ios-liquid-glass/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/ios-liquid-glass/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о ios-liquid-glass

Как установить ios-liquid-glass в Claude?

Выполни npx skills add Prisma-Labs-Dev/apple-skills --skill ios-liquid-glass -a claude-code. Скилл встанет в ~/.claude/skills/ios-liquid-glass/SKILL.md.

Что делает ios-liquid-glass?

Даёт справочник по API Liquid Glass для iOS 26+: модификаторы glassEffect, GlassEffectContainer, морфинг-переходы, навигационные паттерны и хаптики. Агент отвечает по этим примерам вместо того, чтобы угадывать синтаксис.

Почему стекло нельзя накладывать на контент?

Liquid Glass рассчитан на слой навигации и управления. На контентной поверхности его модель сэмплинга не работает, поэтому несколько стеклянных элементов собирают в GlassEffectContainer.

Исходный текст

SKILL.md · MIT
---
name: ios-liquid-glass
user-invocable: true
description: "API reference: Liquid Glass (iOS 26+). Query for glass effects, navigation patterns, GlassEffect modifiers, design principles."
context: fork
agent: Explore
---

# iOS Liquid Glass Reference

API reference for the Liquid Glass design system (iOS 26+): glass effects, containers, morphing transitions, and related system behaviors. This documents what the system provides — design direction is yours.

## When to Use

- Implementing glass materials, `glassEffect` modifiers, or `GlassEffectContainer`
- Navigation surfaces that use system glass (tabs, toolbars, sheets)
- Checking how glass adapts to accessibility settings
- Creating app icons with Icon Composer

## Apple's Stated Design Principles

Apple describes Liquid Glass with three principles (reference, not a mandate):

| Principle | Description |
|-----------|-------------|
| **Hierarchy** | Controls float above content. Glass frames content rather than obscuring it. |
| **Harmony** | Software design aligns with hardware — concentric corners, fluid gestures. |
| **Consistency** | Adapts across iPhone, iPad, Mac — same identity, contextual expression. |

One functional constraint worth knowing: glass is designed for the navigation/control layer. Applying it to content surfaces defeats its sampling model (see containers below).

## Liquid Glass Core API

### Basic Glass Effect

```swift
import SwiftUI

// Simple glass application
Text("Action")
    .padding()
    .glassEffect() // .regular variant, .capsule shape

// With explicit parameters
Button("Confirm") { }
    .padding()
    .glassEffect(.regular, in: RoundedRectangle(cornerRadius: 12), isEnabled: true)
```

### Glass Variants

| Variant | Use Case |
|---------|----------|
| `.regular` | Toolbars, nav bars, tab bars, standard controls |
| `.clear` | Floating controls over media (photos, maps, video) |
| `.identity` | Conditional disable: `glassEffect(isActive ? .regular : .identity)` |

### Glass Modifiers

```swift
// Semantic tinting
.glassEffect(.regular.tint(.accentColor))

// Interactive behaviors (scaling, shimmer, touch illumination)
.glassEffect(.regular.interactive())

// Combined
.glassEffect(.regular.tint(.blue).interactive())
```

### Custom Shapes

```swift
// Standard shapes
.glassEffect(.regular, in: .capsule)
.glassEffect(.regular, in: .circle)
.glassEffect(.regular, in: RoundedRectangle(cornerRadius: 16))

// Container-concentric (matches device/container corners)
.glassEffect(.regular, in: .rect(cornerRadius: .containerConcentric))
```

## GlassEffectContainer & Morphing

### Container Setup

Glass cannot sample other glass. Use containers for multiple glass elements:

```swift
GlassEffectContainer(spacing: 30) {
    HStack(spacing: 20) {
        ForEach(actions) { action in
            Button(action.title, systemImage: action.icon) { }
                .frame(width: 44, height: 44)
                .glassEffect(.regular.interactive())
        }
    }
}
```

### Morphing Transitions

```swift
struct ExpandableActions: View {
    @State private var isExpanded = false
    @Namespace private var namespace

    var body: some View {
        GlassEffectContainer(spacing: 30) {
            VStack(spacing: 30) {
                if isExpanded {
                    ActionButton(icon: "rotate.right")
                        .glassEffectID("rotate", in: namespace)
                }

                HStack(spacing: 30) {
                    if isExpanded {
                        ActionButton(icon: "slider.horizontal.3")
                            .glassEffectID("adjust", in: namespace)
                    }

                    Button {
                        withAnimation(.bouncy) { isExpanded.toggle() }
                    } label: {
                        Image(systemName: isExpanded ? "xmark" : "plus")
                            .frame(width: 56, height: 56)
                    }
                    .glassEffect(.regular.tint(.accentColor).interactive())
                    .glassEffectID("toggle", in: namespace)

                    if isExpanded {
                        ActionButton(icon: "crop")
                            .glassEffectID("crop", in: namespace)
                    }
                }

                if isExpanded {
                    ActionButton(icon: "wand.and.stars")
                        .glassEffectID("enhance", in: namespace)
                }
            }
        }
    }
}
```

## Navigation Patterns

### Tab Bar (Floating)

```swift
TabView {
    Tab("Home", systemImage: "house") {
        HomeView()
    }

    Tab("Search", systemImage: "magnifyingglass") {
        SearchView()
    }

    Tab("Profile", systemImage: "person") {
        ProfileView()
    }
}
// Tab bar now floats, reacts to background, collapses on scroll
```

### Toolbar with Grouping

```swift
.toolbar {
    ToolbarItemGroup(placement: .topBarTrailing) {
        Button("Edit", systemImage: "pencil") { }
        Button("Share", systemImage: "square.and.arrow.up") { }
    }

    ToolbarSpacer(.flexible, placement: .topBarTrailing)

    ToolbarItem(placement: .topBarTrailing) {
        Button("Done", systemImage: "checkmark") { }
            .tint(.accentColor)
    }
}
```

### Sheets with Morphing

```swift
struct ContentView: View {
    @State private var showSettings = false
    @Namespace private var namespace

    var body: some View {
        NavigationStack {
            ContentView()
                .toolbar {
                    ToolbarItem(placement: .topBarTrailing) {
                        Button("Settings", systemImage: "gear") {
                            showSettings = true
                        }
                        .matchedTransitionSource(id: "settings", in: namespace)
                    }
                }
                .sheet(isPresented: $showSettings) {
                    SettingsView()
                        .navigationTransition(.zoom(sourceID: "settings", in: namespace))
                        .presentationDetents([.medium, .large])
                }
        }
    }
}
```

## SF Symbols Effects

```swift
Image(systemName: "checkmark.circle")
    .symbolEffect(.drawOn, value: isComplete)

Image(systemName: "heart.fill")
    .symbolEffect(.bounce, value: isFavorite)
```

## Haptics API

```swift
import UIKit

// Impact feedback
let generator = UIImpactFeedbackGenerator(style: .medium)
generator.impactOccurred()

// Selection feedback
let selection = UISelectionFeedbackGenerator()
selection.selectionChanged()

// Success/error
let notification = UINotificationFeedbackGenerator()
notification.notificationOccurred(.success)
```

## Accessibility Behaviors

### Automatic Glass Adaptations

Glass automatically adapts to:
- **Reduce Transparency**: More frosting
- **Increase Contrast**: Stark borders
- **Reduce Motion**: Tones down animation

### Manual Checks

```swift
@Environment(\.accessibilityReduceTransparency) var reduceTransparency
@Environment(\.accessibilityReduceMotion) var reduceMotion

var animation: Animation? {
    reduceMotion ? nil : .bouncy
}
```

System expectations: minimum 44x44pt touch targets, accessibility labels, Dynamic Type support.

## Reference

For official Apple documentation links, WWDC session IDs, and API quick reference tables, see [reference.md](reference.md).

© Prisma-Labs-Dev · MIT · Prisma-Labs-Dev/apple-skills

Похожие скиллы

Всё по теме «Мобильная разработка» →
expo-liquid-glass devanshuDesai Помогает собрать стеклянные интерфейсы в Expo React Native: четыре пути реализации, проверки доступности и откат на Android. CX Codex +1 476установок liquid-glass-design affaan-m Скилл для Claude и других ИИ-редакторов: подсказывает агенту, как собрать интерфейс в стиле Liquid Glass из iOS 26. Пригодится, если вы пишете SwiftUI, UIKit или WidgetKit под iOS 26+. CX Codex +1 5 200установок swiftui-liquid-glass официальный OpenAI Скилл помогает создавать и проверять интерфейсы SwiftUI с Liquid Glass для iOS 26+. Он нужен при внедрении эффекта, ревью и проверке fallback-сценариев. CX Codex GP ChatGPT 121установок liquid-glass официальный OpenAI Помогает внедрить оформление Liquid Glass в приложениях на macOS SwiftUI и убрать самодельные фоны, мешающие системным материалам. CX Codex GP ChatGPT 78установок ios-glass-ui-designer heyman333 Переделывает интерфейс мобильного приложения под нативный iOS: стеклянные материалы, типографика SF Pro, safe-area. Пригодится, когда экран выглядит чужим на iPhone. CX Codex +1 504установок axiom-design CharlesWiltgen Скилл помогает принимать решения по дизайну приложений Apple: сетки HIG, эффекты Liquid Glass, подбор SF Symbols, шрифты и переключение экранов авторизации. CX Codex +1 1 400установок

Из того же набора21

hig Локальный справочник Apple Human Interface Guidelines в Markdown для проверки размеров кнопок, Dynamic Type, терминологии и системных компонентов без выхода в сеть. CX Codex +1 786установок healthkit Скилл подкладывает агенту документацию по HealthKit: операции с хранилищем, выборки образцов, тренировки, единицы измерения. Пригодится, когда пишете код под iOS и не хотите каждый раз лезть в документацию Apple. CX Codex +1 712установок ios-dev Точка входа для разработки под iOS и SwiftUI в ИИ-агентах. Координирует руководства по паттернам, чек-лист корректности и справочники по API Apple. CX Codex +1 697установок apple-docs-index Индекс документации Apple для iOS и macOS. Помогает агенту находить нужные API в SwiftUI, UIKit или SwiftData без лишних поисковых запросов в сеть. CX Codex +1 673установок combine Скилл поднимает документацию Combine и отвечает на вопросы про паблишеры, сабскрайберы, операторы и асинхронные потоки данных. CX Codex +1 618установок corehaptics Скилл поднимает документацию по Core Haptics, чтобы агент отвечал на вопросы про тактильную отдачу без поиска по сайту Apple. CX Codex +1 501установок usernotifications Скилл находит справку по фреймворку UserNotifications от Apple. Пригодится при настройке локальных или пуш-уведомлений в iOS и macOS. CX Codex +1 473установок apple-aso Разбирает store.config.json и приводит заголовок, подзаголовок и ключевые слова к лимитам App Store. Пригодится, когда готовите релиз или новую локализацию. CX Codex +1 471установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой