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

progressive-blur — скилл для Claude Code: установка

Скилл создаёт верхний или нижний градиентный blur в CSS через слои backdrop-filter. Пригодится для мягкого затемнения края экрана.

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

Что делает progressive-blur

Скилл выдаёт HTML и CSS для progressive blur сверху или снизу окна. Эффект собирается из нескольких слоёв с backdrop-filter, mask и разной силой размытия: от 0.5px до 64px. Перед генерацией нужно определить сторону, высоту области и её z-index относительно интерфейса.

Элемент .gradient-blur размещается внутри <body> рядом с началом DOM, а фон позади него должен существовать, потому что backdrop-filter размывает содержимое за слоем. Свойство pointer-events: none сохраняет клики по интерфейсу. Большие значения blur нагружают GPU, поэтому для слабых устройств это повод сократить число слоёв.

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

  • добавить мягкое размытие у верхнего края экрана
  • создать нижний gradient blur поверх контента
  • настроить силу размытия через CSS-слои
  • разместить blur между контентом и модальными окнами

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

  • Добавь progressive blur снизу страницы высотой 65% и объясни, куда вставить .gradient-blur.
  • Сделай верхний progressive blur для интерфейса и настрой z-index ниже модального окна.
  • Уменьши число слоёв progressive blur для устройства с ограниченным GPU. Контролируй клики через pointer-events: none.

Как установить progressive-blur

1Через Skills CLI (Vercel)

npx skills add MengTo/Skills --skill progressive-blur -a claude-code

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

~/.claude/skills/progressive-blur/SKILL.md

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

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

Вопросы о progressive-blur

Как установить progressive-blur в Claude Code?

Выполните npx skills add MengTo/Skills --skill progressive-blur -a claude-code, затем повторите npx skills add MengTo/Skills --skill progressive-blur -a claude-code. Файл скилла находится в ~/.claude/skills/progressive-blur/SKILL.md.

Что делает progressive-blur?

Скилл создаёт CSS-эффект progressive blur сверху или снизу окна. Он использует несколько масок и слоёв backdrop-filter, чтобы размытие постепенно усиливалось от края.

Что проверить перед использованием progressive-blur?

За .gradient-blur должен быть фон или другой контент, иначе backdrop-filter нечего размывать. Для слабых устройств стоит уменьшить число слоёв, а pointer-events: none оставить включённым.

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

SKILL.md · MIT
---
name: progressive-blur
description: Create a layered CSS progressive blur (top or bottom) using multiple backdrop-filter masks for depth and softness. Use when asked for “progressive blur”, “gradient blur overlay”, or stepped blur masks that fade from an edge of the viewport.
---

# Progressive Blur Skill

## Workflow
1. Confirm placement (top or bottom), height, and z-index relative to UI.
2. Provide the matching snippet and a short usage checklist.
3. Offer only targeted tweaks (height, blur steps, direction, opacity stops).

## Usage checklist
- Insert the HTML inside `<body>`.
- Keep the `.gradient-blur` element near the top of the DOM.
- Ensure the background behind it exists (backdrop-filter blurs what is behind).
- Adjust `z-index` to sit above content but below modals.

## Top blur (from top)
```html
<div class="gradient-blur">
  <div></div><div></div><div></div><div></div><div></div><div></div>
</div>
<style>
  .gradient-blur {
    position: fixed;
    z-index: 5;
    inset: 0 0 auto 0;
    height: 12%;
    pointer-events: none;
  }

  .gradient-blur > div,
  .gradient-blur::before,
  .gradient-blur::after {
    position: absolute;
    inset: 0;
  }

  .gradient-blur::before {
    content: "";
    z-index: 1;
    backdrop-filter: blur(0.5px);
    mask: linear-gradient(to top,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 1) 12.5%,
      rgba(0, 0, 0, 1) 25%,
      rgba(0, 0, 0, 0) 37.5%);
  }

  .gradient-blur > div:nth-of-type(1) {
    z-index: 2;
    backdrop-filter: blur(1px);
    mask: linear-gradient(to top,
      rgba(0, 0, 0, 0) 12.5%,
      rgba(0, 0, 0, 1) 25%,
      rgba(0, 0, 0, 1) 37.5%,
      rgba(0, 0, 0, 0) 50%);
  }

  .gradient-blur > div:nth-of-type(2) {
    z-index: 3;
    backdrop-filter: blur(2px);
    mask: linear-gradient(to top,
      rgba(0, 0, 0, 0) 25%,
      rgba(0, 0, 0, 1) 37.5%,
      rgba(0, 0, 0, 1) 50%,
      rgba(0, 0, 0, 0) 62.5%);
  }

  .gradient-blur > div:nth-of-type(3) {
    z-index: 4;
    backdrop-filter: blur(4px);
    mask: linear-gradient(to top,
      rgba(0, 0, 0, 0) 37.5%,
      rgba(0, 0, 0, 1) 50%,
      rgba(0, 0, 0, 1) 62.5%,
      rgba(0, 0, 0, 0) 75%);
  }

  .gradient-blur > div:nth-of-type(4) {
    z-index: 5;
    backdrop-filter: blur(8px);
    mask: linear-gradient(to top,
      rgba(0, 0, 0, 0) 50%,
      rgba(0, 0, 0, 1) 62.5%,
      rgba(0, 0, 0, 1) 75%,
      rgba(0, 0, 0, 0) 87.5%);
  }

  .gradient-blur > div:nth-of-type(5) {
    z-index: 6;
    backdrop-filter: blur(16px);
    mask: linear-gradient(to top,
      rgba(0, 0, 0, 0) 62.5%,
      rgba(0, 0, 0, 1) 75%,
      rgba(0, 0, 0, 1) 87.5%,
      rgba(0, 0, 0, 0) 100%);
  }

  .gradient-blur > div:nth-of-type(6) {
    z-index: 7;
    backdrop-filter: blur(32px);
    mask: linear-gradient(to top,
      rgba(0, 0, 0, 0) 75%,
      rgba(0, 0, 0, 1) 87.5%,
      rgba(0, 0, 0, 1) 100%);
  }

  .gradient-blur::after {
    content: "";
    z-index: 8;
    backdrop-filter: blur(64px);
    mask: linear-gradient(to top,
      rgba(0, 0, 0, 0) 87.5%,
      rgba(0, 0, 0, 1) 100%);
  }
</style>
```

## Bottom blur (from bottom)
```html
<div class="gradient-blur">
  <div></div><div></div><div></div><div></div><div></div><div></div>
</div>
<style>
  .gradient-blur {
    position: fixed;
    z-index: 5;
    inset: auto 0 0 0;
    height: 65%;
    pointer-events: none;
  }

  .gradient-blur > div,
  .gradient-blur::before,
  .gradient-blur::after {
    position: absolute;
    inset: 0;
  }

  .gradient-blur::before {
    content: "";
    z-index: 1;
    backdrop-filter: blur(0.5px);
    mask: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 1) 12.5%,
      rgba(0, 0, 0, 1) 25%,
      rgba(0, 0, 0, 0) 37.5%);
  }

  .gradient-blur > div:nth-of-type(1) {
    z-index: 2;
    backdrop-filter: blur(1px);
    mask: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 12.5%,
      rgba(0, 0, 0, 1) 25%,
      rgba(0, 0, 0, 1) 37.5%,
      rgba(0, 0, 0, 0) 50%);
  }

  .gradient-blur > div:nth-of-type(2) {
    z-index: 3;
    backdrop-filter: blur(2px);
    mask: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 25%,
      rgba(0, 0, 0, 1) 37.5%,
      rgba(0, 0, 0, 1) 50%,
      rgba(0, 0, 0, 0) 62.5%);
  }

  .gradient-blur > div:nth-of-type(3) {
    z-index: 4;
    backdrop-filter: blur(4px);
    mask: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 37.5%,
      rgba(0, 0, 0, 1) 50%,
      rgba(0, 0, 0, 1) 62.5%,
      rgba(0, 0, 0, 0) 75%);
  }

  .gradient-blur > div:nth-of-type(4) {
    z-index: 5;
    backdrop-filter: blur(8px);
    mask: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 50%,
      rgba(0, 0, 0, 1) 62.5%,
      rgba(0, 0, 0, 1) 75%,
      rgba(0, 0, 0, 0) 87.5%);
  }

  .gradient-blur > div:nth-of-type(5) {
    z-index: 6;
    backdrop-filter: blur(16px);
    mask: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 62.5%,
      rgba(0, 0, 0, 1) 75%,
      rgba(0, 0, 0, 1) 87.5%,
      rgba(0, 0, 0, 0) 100%);
  }

  .gradient-blur > div:nth-of-type(6) {
    z-index: 7;
    backdrop-filter: blur(32px);
    mask: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 75%,
      rgba(0, 0, 0, 1) 87.5%,
      rgba(0, 0, 0, 1) 100%);
  }

  .gradient-blur::after {
    content: "";
    z-index: 8;
    backdrop-filter: blur(64px);
    mask: linear-gradient(to bottom,
      rgba(0, 0, 0, 0) 87.5%,
      rgba(0, 0, 0, 1) 100%);
  }
</style>
```

## Customization knobs
- Direction: flip `to top` ↔ `to bottom`.
- Height: adjust `.gradient-blur` height percentage.
- Strength: change blur values (0.5px → 64px).
- Steps: add/remove layers to control smoothness.

## Common pitfalls
- `backdrop-filter` needs content behind it; it will not blur a flat background.
- High blur values are GPU-heavy; reduce steps on low-end devices.
- Ensure `pointer-events: none` stays to avoid blocking clicks.

## Questions to ask when specs are missing
- Should the blur start from the top or bottom?
- How tall should the blur area be?
- Is performance a concern on lower-end devices?

© MengTo · MIT · MengTo/Skills

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

Всё по теме «Фронтенд и UI» →
glassmorphism iart-ai Скилл для ИИ-агента, который добавляет в интерфейс матовое стекло: размытие фона, светлая кромка, слоистые тени и жидкое преломление. CX Codex +1 2 400установок progressive-hydration patterns.dev Скилл объясняет агенту, как разбить гидратацию серверного React-приложения на части и отложить JavaScript для неважных блоков. CX Codex +1 952установок progressive-web-app aj-geddes Помогает собрать прогрессивное веб-приложение: манифест, service worker, работа без сети и установка на телефон. CX Codex +1 522установок skill-progressive-disclosure-design samber Помогает решить, что оставить в SKILL.md, а что вынести в references/, чтобы скилл не съедал контекст зря. CX Codex +1 4 300установок emil-design-eng emilkowalski Скилл задаёт правила для полировки интерфейсов, компонентов и анимаций. Пригодится, когда UI работает, но требует более точных состояний и переходов. CX Codex +1 388 200установок review-animations emilkowalski Проверяет код интерфейсных анимаций по принципам Эмиля Ковальски. Помогает убрать дерганые переходы, медленный ease-in и лишнюю нагрузку на процессор. CX Codex +1 256 500установок

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

design-first-ui-prompting Превращает сырые идеи интерфейсов в строгие спецификации для генерации UI. Помогает фиксировать сетку, типографику и отступы по правилам дизайн-систем. CX Codex +1 1 800установок gsap-scrolltrigger-storytelling Скилл для скролл-сторителлинга: закреплённые секции, послойное появление интерфейса и переходы между сценами на GSAP ScrollTrigger. CX Codex +1 1 800установок tailwindcss Скилл для ИИ-агента, который помогает верстать интерфейсы на Tailwind CSS: сетки, типографика, адаптив, темы и паттерны компонентов. CX Codex +1 1 700установок optimize-web-animations Останавливает фоновую анимацию вне экрана и устраняет утечки памяти во фронтенде. Пригодится, когда страница с CSS, Canvas или WebGL нагружает процессор и тормозит скролл. CX Codex +1 1 700установок cobejs Скилл помогает агенту собрать лёгкий вращающийся глобус с метками на cobe, без полного three.js. Пригодится для hero-блока или страницы «о нас». CX Codex +1 1 700установок webgl-3d-object Добавляет в агент правила генерации трёхмерных объектов на Three.js с честным PBR-освещением, тенями и анимацией вместо псевдо-3D на CSS. CX Codex +1 1 600установок video-to-superprompt Разбирает референсное видео и готовит подробный промпт для воссоздания интерфейса, анимаций и прокрутки. Пригодится перед сборкой страницы или приложения по видеодемо. CX Codex +1 1 600установок pricing-page Помогает собрать или переписать страницу тарифов SaaS: структура, планы, тексты, FAQ и разметка под поиск и ИИ-ответы. CX Codex +1 1 600установок

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

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