# encore-webhook

Скилл учит агента принимать входящие вебхуки от Stripe, GitHub, Slack и других сервисов через api.raw() и проверять подписи.

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

## Что делает

Скилл нужен, когда сторонний сервис шлёт события POST-запросом на ваш адрес. Агент разбирает такой эндпоинт на `api.raw()` из `encore.dev/api`: у обработчика есть прямой доступ к request и response в стиле Node.js, поэтому можно прочитать неразобранное тело запроса. Без сырого тела подпись не проверить, а именно она подтверждает, что запрос пришёл от провайдера.

Внутри — порядок шагов и таблица провайдеров. Для Stripe подпись лежит в заголовке `Stripe-Signature` и проверяется через `stripe.webhooks.constructEvent(rawBody, sig, secret)`, для GitHub — HMAC-SHA256 по заголовку `X-Hub-Signature-256`, у Slack, Shopify и Twilio свои схемы. Секрет скилл советует хранить через `secret(...)` из `encore.dev/config`, а не в коде.

Отдельное правило — отвечать 2xx быстро. Отправитель повторит запрос, если ответ не 2xx или пришёл поздно, поэтому тяжёлую работу скилл предлагает уводить в Pub/Sub после проверки подписи. Для обычных типизированных JSON-эндпоинтов в своём сервисе он не подходит: там нужен `api(...)` и скилл `encore-api`.

## Требования
- Работает с: GitHub, Slack, Stripe

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill encore-webhook -a claude-code
```
```bash
npx skills add encoredev/skills --skill webhook -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill webhook -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill webhook -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install encoredev/skills webhook
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill webhook -a gemini-cli
```

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

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add encoredev/skills --skill webhook -a opencode
```

### Claude.ai

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

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

## Когда брать
- принять вебхук от Stripe и проверить подпись
- прочитать сырое тело POST-запроса до парсинга
- защитить эндпоинт от поддельных событий
- ответить провайдеру 2xx и не словить повторную доставку
- вынести обработку события в Pub/Sub

## Примеры запросов агенту
- сделай эндпоинт /webhooks/stripe на api.raw и проверь Stripe-Signature
- нужен GitHub webhook с проверкой X-Hub-Signature-256 по сырому телу
- принимай вебхуки от Slack и публикуй события в топик

## Похожие
- [upgrade-stripe](https://affpapa.org/nevibecode/skills/stripe-upgrade-stripe.md) — скилл · 72900 установок
- [stripe-best-practices](https://affpapa.org/nevibecode/skills/stripe-best-practices-2.md) — скилл · 98100 установок
- [stripe-integration](https://affpapa.org/nevibecode/skills/stripe-integration.md) — скилл · 13404 установки
- [stripe](https://affpapa.org/nevibecode/skills/stripe.md) — скилл · 704 установки
- [stripe-webhooks](https://affpapa.org/nevibecode/skills/stripe-webhooks.md) — скилл · 595 установок
- [payment-gateway-integration](https://affpapa.org/nevibecode/skills/payment-gateway-integration.md) — скилл · 524 установки

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

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

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