# notifications-and-recovery

Скилл для проектирования уведомлений и состояний ошибок: тосты, инлайн-ошибки, баннеры и пути восстановления. Пригодится, когда нужно продумать фидбек после действия.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 854 установки · ★ 165
- Автор: dembrandt
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/dembrandt/dembrandt-skills/tree/HEAD/skills/notifications-and-recovery/SKILL.md
- Обновлён: 2026-10-22
- HTML: https://affpapa.org/nevibecode/skills/notifications-and-recovery

## Что делает

Скилл задаёт правила выбора паттерна уведомления. Тосты — для быстрого результата действия, инлайн-ошибки — для валидации полей, баннеры — для проблем, которые никуда не денутся, модалки — когда без решения пользователя продолжить нельзя. Отдельная таблица описывает, как каждый паттерн закрывается: автоскрытие, ручное закрытие или сброс после исправления.

Внутри есть конкретные требования. Тосты размещаются снизу по центру или справа, держатся 4–6 секунд, ошибки не исчезают сами. Одновременно показывается только один тост, остальные встают в очередь. Для инлайн-ошибок валидация идёт по потере фокуса, а не на каждый символ, сообщение привязывается через `aria-describedby`. У каждого состояния ошибки должна быть кнопка восстановления: повтор, отмена действия, восстановление черновика.

Скилл срабатывает по путям вроде `components/**`, `src/components/**`, `**/*.tsx`, `**/*.jsx`, `design-system/**` и `ui/**`, а также по словам вроде «toast», «inline error», «retry», «banner». Если вы работаете не с компонентами интерфейса, толку от него не будет. Для повторных попыток есть лимит: после трёх неудач предлагается обратиться в поддержку.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill notifications-and-recovery -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/notifications-and-recovery/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/notifications-and-recovery/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill notifications-and-recovery -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/notifications-and-recovery/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill notifications-and-recovery -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/notifications-and-recovery/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dembrandt/dembrandt-skills notifications-and-recovery
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/notifications-and-recovery/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill notifications-and-recovery -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/dembrandt/dembrandt-skills --path skills/notifications-and-recovery
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/notifications-and-recovery/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill notifications-and-recovery -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/dembrandt/dembrandt-skills/tree/HEAD/skills/notifications-and-recovery/SKILL.md

## Когда брать
- спроектировать тост после сохранения формы
- показать ошибку валидации рядом с полем
- добавить кнопку повтора при сбое сети
- сделать баннер о проблеме, которая не проходит сама
- продумать восстановление черновика после падения

## Примеры запросов агенту
- Покажи тост, когда форма сохранилась
- Что показать пользователю, если запрос к API упал?
- Спроектируй состояние ошибки для этой формы

## Похожие
- [syncfusion-react-notifications](https://affpapa.org/nevibecode/skills/syncfusion-react-notifications.md) — скилл · 654 установки
- [harden](https://affpapa.org/nevibecode/skills/aladicf-harden.md) — скилл · 539 установок
- [configure-notifications](https://affpapa.org/nevibecode/skills/configure-notifications.md) — скилл · 780 установок
- [setup-notifications-via-wecom](https://affpapa.org/nevibecode/skills/setup-notifications-via-wecom.md) — скилл · 341 установка
- [ask-sonner](https://affpapa.org/nevibecode/skills/ask-sonner.md) — скилл · 140500 установок
- [slack-notifications](https://affpapa.org/nevibecode/hooks/slack-notifications.md) — хук · 279 установок

Из того же набора: [dembrandt/dembrandt-skills](https://affpapa.org/nevibecode/by/dembrandt/dembrandt-skills.md) — 34 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
