# safe-action-advanced

Скилл помогает разбирать расширенные возможности next-safe-action: bind-аргументы, metadata, ошибки фреймворка и серверные callbacks.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1200 установок · ★ 1
- Автор: next-safe-action
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/next-safe-action/skills/tree/HEAD/skills/safe-action-advanced/SKILL.md
- Обновлён: 2026-09-03
- HTML: https://affpapa.org/nevibecode/skills/safe-action-advanced

## Что делает

Скилл объясняет, как передавать дополнительные аргументы в actions через `.bind()`, прикреплять типизированные metadata и выводить типы с помощью `InferSafeActionFnInput` и `InferSafeActionFnResult`. Отдельно рассматриваются `redirect`, `notFound`, `forbidden` и `unauthorized`.

Внутри есть разбор callbacks второго аргумента `.action()`: `onSuccess`, `onError`, `onSettled` и `onNavigation`. Они выполняются на сервере, тогда как callbacks хуков `useAction` работают в браузере. Также скилл различает `throwServerError` и `returnServerError()`.

Серверные колбэки выполняются в Node.js, поэтому код для браузерных хуков нельзя автоматически переносить в этот слой.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add next-safe-action/skills --skill safe-action-advanced -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add next-safe-action/skills --skill safe-action-advanced -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add next-safe-action/skills --skill safe-action-advanced -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install next-safe-action/skills safe-action-advanced
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add next-safe-action/skills --skill safe-action-advanced -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/next-safe-action/skills --path skills/safe-action-advanced
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add next-safe-action/skills --skill safe-action-advanced -a opencode
```

### Claude.ai

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

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

## Когда брать
- передать дополнительные аргументы в action через `.bind()`
- типизировать metadata для middleware
- обработать `redirect`, `notFound`, `forbidden` и `unauthorized`
- вывести типы из action-функций и middleware
- настроить серверные callbacks для успеха и ошибки

## Примеры запросов агенту
- Объясни, как передать `resourceId` в action через `.bind()` и сохранить типы.
- Покажи, как настроить `onSuccess`, `onError` и `onSettled` во втором аргументе `.action()`.
- Сравни `throwServerError` с `returnServerError()` и подскажи, какой вариант нужен для обработанной ошибки.

## Похожие
- [nextjs-advanced-routing](https://affpapa.org/nevibecode/skills/nextjs-advanced-routing.md) — скилл · 334 установки
- [typescript-advanced-types](https://affpapa.org/nevibecode/skills/typescript-advanced-types.md) — скилл · 92169 установок
- [nextjs-app-router](https://affpapa.org/nevibecode/skills/nextjs-app-router.md) — скилл · 3900 установок
- [mcp-server-skills](https://affpapa.org/nevibecode/skills/mcp-server-skills.md) — скилл · 385 установок
- [nextjs-client-cookie-pattern](https://affpapa.org/nevibecode/skills/nextjs-client-cookie-pattern.md) — скилл · 323 установки
- [typescript-advanced](https://affpapa.org/nevibecode/skills/typescript-advanced.md) — скилл · 552 установки

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

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