postmark — скилл для Claude Code: письма, шаблоны, вебхуки
Скилл-маршрутизатор по Postmark: подсказывает агенту, какой под-скилл взять для отправки писем, входящих, шаблонов и вебхуков.
npx skills add ActiveCampaign/postmark-skills --skill postmark -a claude-codeЧто делает postmark
Этот скилл сам ничего не отправляет. Он читает задачу и направляет агента в один из под-скиллов: postmark-send-email для одиночных, пакетных и шаблонных писем, postmark-inbound для входящей почты через вебхуки, postmark-templates для серверных шаблонов Handlebars, postmark-webhooks для событий доставки, а postmark-email-best-practices — про SPF, DKIM, DMARC и соответствие CAN-SPAM, GDPR и CASL.
Внутри есть таблица маршрутизации по фразам вроде «отправить письмо» или «настроить обработку отказов», список токенов и таблица установки SDK по файлам проекта: package.json — npm install postmark, requirements.txt — pip install postmarker, Gemfile — gem install postmark, composer.json — composer require wildbit/postmark-php, *.csproj — dotnet add package Postmark. Для работы нужен Server API Token из панели Postmark, он идёт в заголовке X-Postmark-Server-Token.
Главная ловушка — вебхуки. Исходящие события и входящая почта живут на разной инфраструктуре и повторяются по разным расписаниям: у исходящих до 9 попыток примерно за 72 минуты и только на 5xx, 408, 429 и таймауты, у входящих — до 10 попыток примерно за 10.5 часа на любой не-200 ответ. Если перенести логику одного на другой, обработчик будет вести себя не так, как вы ждёте. Ещё: транзакционные и маркетинговые письма нельзя смешивать в одном потоке — это бьёт по доставляемости.
Какие задачи решает
- отправить транзакционное письмо через Postmark API
- разобрать входящие письма и превратить их в тикеты
- создать серверный шаблон Handlebars и отправить по нему
- настроить вебхуки на отказы, открытия и жалобы на спам
- проверить, почему вебхук перешёл в статус paused
Примеры запросов агенту
- Отправь письмо с подтверждением регистрации через Postmark
- Настрой обработку входящих писем в Postmark и создавай тикет из каждого
- Создай шаблон письма в Postmark и отправь его по списку получателей
Как установить postmark
1Через Skills CLI (Vercel)
npx skills add ActiveCampaign/postmark-skills --skill postmark -a claude-code2Вручную: положить файлы
~/.claude/skills/postmark/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/postmark/
1Через Skills CLI (Vercel)
npx skills add ActiveCampaign/postmark-skills --skill postmark -a codex2Вручную: положить файлы
.agents/skills/postmark/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ActiveCampaign/postmark-skills --skill postmark -a cursor2Вручную: положить файлы
.cursor/skills/postmark/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ActiveCampaign/postmark-skills postmark2Вручную: положить файлы
.github/skills/postmark/SKILL.md1Через Skills CLI (Vercel)
npx skills add ActiveCampaign/postmark-skills --skill postmark -a gemini-cli2Командой платформы
gemini skills install https://github.com/ActiveCampaign/postmark-skillsВручную: положить файлы
.devin/skills/postmark/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ActiveCampaign/postmark-skills --skill postmark -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о postmark
Как установить postmark в Claude?
Выполните npx skills add ActiveCampaign/postmark-skills --skill postmark -a claude-code. Скилл окажется в ~/.claude/skills/postmark/SKILL.md.
Что делает скилл postmark?
Он определяет, какая задача перед агентом, и передаёт её нужному под-скиллу: отправка писем, входящие, шаблоны, вебхуки или лучшие практики доставляемости.
Чем отличаются исходящие и входящие вебхуки Postmark?
Это разные системы с разными расписаниями повторов. Исходящие повторяются до 9 раз примерно за 72 минуты и только на 5xx, 408, 429 и таймауты, входящие — до 10 раз примерно за 10.5 часа на любой не-200 ответ.
Исходный текст
SKILL.md · MIT
--- name: postmark description: Use when working with Postmark email platform - routes to specific sub-skills for sending emails, processing inbound email, managing templates, or configuring webhooks. license: MIT metadata: author: postmark version: "1.0.0" --- # Postmark Skills Postmark is a transactional email platform built for developers, with 15+ years of deliverability expertise. These skills teach AI agents how to use the Postmark API effectively. ## Sub-Skills | Feature | Skill | Use When | |---------|-------|----------| | **Sending emails** | `postmark-send-email` | Sending transactional or broadcast emails — single, batch, bulk, or with templates | | **Inbound processing** | `postmark-inbound` | Processing incoming emails via webhooks, building reply-by-email, email-to-ticket, or document extraction | | **Template management** | `postmark-templates` | Creating, editing, or sending with Postmark's server-side Handlebars templates and layouts | | **Webhooks** | `postmark-webhooks` | Setting up outbound webhooks for delivery, bounce, open, click, spam complaint, and subscription change events — including endpoint verification, per-webhook statistics, and retry behavior | | **Best practices** | `postmark-email-best-practices` | Deliverability setup, compliance (CAN-SPAM/GDPR/CASL), email design, list management, testing, and sending reliability | ### Outbound and inbound webhooks are different systems `postmark-webhooks` covers **outbound** event webhooks; `postmark-inbound` covers **inbound** email webhooks. They run on separate infrastructure and have **different retry schedules** — do not apply one to the other: | | Outbound webhooks (`postmark-webhooks`) | Inbound webhooks (`postmark-inbound`) | |---|---|---| | Retries | Up to **9** retries over ~**72 minutes** (3 standard + 6 backoff) | Up to **10** retries over ~**10.5 hours** | | Retried on | 5xx, 408, 429, network timeouts only — every other 4xx is permanent | Any non-200 response | Endpoint verification and per-webhook statistics are outbound features — see `postmark-webhooks`. ## Quick Routing - **"Send an email"** → `postmark-send-email` - **"Send a batch of emails"** → `postmark-send-email` - **"Send using a template"** → `postmark-send-email` (template section) or `postmark-templates` (to create/manage templates) - **"Handle incoming email"** → `postmark-inbound` - **"Process inbound webhooks"** → `postmark-inbound` - **"Create an email template"** → `postmark-templates` - **"Track deliveries/bounces/opens"** → `postmark-webhooks` - **"Set up bounce handling"** → `postmark-webhooks` - **"Verify a webhook endpoint" / "my webhook is unverified"** → `postmark-webhooks` - **"Webhook statistics / failure rate / why is my webhook paused"** → `postmark-webhooks` - **"Webhook retries"** → `postmark-webhooks` (outbound events) or `postmark-inbound` (inbound email) - **"Set up SPF/DKIM/DMARC"** → `postmark-email-best-practices` - **"Email compliance / GDPR / CAN-SPAM"** → `postmark-email-best-practices` - **"Domain warm-up"** → `postmark-email-best-practices` - **"List hygiene / suppression management"** → `postmark-email-best-practices` - **"Design a transactional email"** → `postmark-email-best-practices` - **"Test email safely"** → `postmark-email-best-practices` ## Common Setup ### Authentication Postmark uses two types of API tokens: | Token | Header | Scope | |-------|--------|-------| | **Server Token** | `X-Postmark-Server-Token` | Sending emails, templates, bounces, webhooks, message streams | | **Account Token** | `X-Postmark-Account-Token` | Managing servers, domains, sender signatures | Get your Server API Token from [Postmark Servers](https://account.postmarkapp.com/servers). ### SDK Installation Detect the project language and install the appropriate SDK: | File | Language | Install Command | |------|----------|----------------| | `package.json` | Node.js / TypeScript | `npm install postmark` | | `requirements.txt` / `pyproject.toml` | Python | `pip install postmarker` | | `Gemfile` | Ruby | `gem install postmark` | | `composer.json` | PHP | `composer require wildbit/postmark-php` | | `*.csproj` / `*.sln` | .NET | `dotnet add package Postmark` | ### Message Streams Postmark separates email by intent into **Message Streams**: | Stream | Value | Purpose | |--------|-------|---------| | **Transactional** | `outbound` | 1:1 triggered emails (welcome, password reset, receipts) — **default** | | **Broadcast** | `broadcast` | Marketing, newsletters, announcements | Never mix transactional and broadcast email in the same stream — it damages deliverability. ## Resources - [Postmark Developer Docs](https://postmarkapp.com/developer) - [API Reference](https://postmarkapp.com/developer/api/overview) - [Postmark API for LLMs](https://postmarkapp.com/llms.txt) - [Postmark Dashboard](https://account.postmarkapp.com)
© postmark · MIT · ActiveCampaign/postmark-skills