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

extension-email — скилл для Claude Code: что делает и как установить

Скилл учит агента отправлять сервисные и транзакционные письма из канистр Motoko. Пригодится для разовых системных оповещений и чеков.

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

Что делает extension-email

Скилл добавляет инструкции по работе с готовым модулем mo:caffeineai-email/emailClient.mo. Он предназначен для отправки сервисных сообщений: чеков, статусов заказов и уведомлений. Для маркетинговых рассылок или подтверждения адресов этот инструмент использовать нельзя.

Каждому получателю уходит отдельное письмо через функцию sendServiceEmail. Вызов возвращает тип SendResult со значениями #ok или #err. Метод принципиально не выбрасывает исключений, поэтому любая сетевая ошибка или сбой шлюза возвращается в виде текста внутри #err.

Для работы требуется подписка Caffeine AI уровней plus или pro и пакет caffeineai-email версии ~0.4.0. Отправка идёт через шлюз с переменными INTEGRATIONS_GATEWAY_URL и INTEGRATIONS_GATEWAY_API_KEY. Если платформа не передала эти настройки при развёртывании, вызов завершится ошибкой #err.

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

  • отправить подтверждение заказа из бэкенда на Motoko
  • разослать сервисные уведомления отдельными письмами каждому адресату
  • обработать сбои отправки почты через тип SendResult без выброса исключений

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

  • Напиши функцию отправки подтверждения заказа через sendServiceEmail из модуля mo:caffeineai-email/emailClient.
  • Добавь обработку результата SendResult при отправке сервисного письма в бэкенде Motoko.

Как установить extension-email

1Через Skills CLI (Vercel)

npx skills add caffeinelabs/skills --skill extension-email -a claude-code

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

~/.claude/skills/extension-email/SKILL.md

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

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

Вопросы о extension-email

Как установить extension-email в Claude Code?

Выполните команду npx skills add caffeinelabs/skills --skill extension-email -a claude-code в терминале.

Можно ли использовать этот скилл для маркетинговых рассылок?

Нет, он рассчитан только на служебные и транзакционные письма. Для маркетинга и подтверждения почты у Caffeine AI предусмотрены отдельные скиллы.

Что нужно для работы extension-email?

Понадобится пакет caffeineai-email версии ~0.4.0, подписка Caffeine AI уровня plus или pro, а также ключи INTEGRATIONS_GATEWAY_URL и INTEGRATIONS_GATEWAY_API_KEY, передаваемые платформой.

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

SKILL.md · Apache-2.0
---
name: extension-email
description: Support for sending service/transactional emails. Don't use this for sending marketing emails or verification emails.
version: 0.4.1
compatibility:
  mops:
    caffeineai-email: "~0.4.0"
caffeineai-subscription: [plus, pro]
---

# Email — Service/Transactional
Service/transactional email extension for [Caffeine AI](https://caffeine.ai?utm_source=caffeine-skill&utm_medium=referral).

## Overview

This skill adds support for sending service and transactional emails from the backend canister. Use `sendServiceEmail` for order confirmations, notifications, and similar one-off emails.

# Backend

This component is for sending service/transactional emails. 

There is the prefabricated module `mo:caffeineai-email/emailClient.mo` which cannot be modified.

- Use the sendServiceEmail function. 
- Each recipient is sent an individual email
- It returns a SendResult which is #ok if the email is sent successfully otherwise #err(error) with the error text. 
- A failed send never throws. Every failure, a gateway error included, comes back as `#err`.

```mo:caffeineai-email/emailClient.mo
module {
  public type SendResult = {
    #ok;
    #err : Text;
  };

  public func sendServiceEmail(
    fromUsername : Text,
    recipients : [Text],
    subject : Text,
    htmlBody : Text,
  ) : async SendResult;
};
```

Usage for `sendServiceEmail`:

```motoko filepath=src/backend/main.mo
import Runtime "mo:core/Runtime";
import EmailClient "mo:caffeineai-email/emailClient";

actor {
  public func sendOrderConfirmationEmail(recipientEmailAddress : Text, username : Text, orderReference : Text) : async () {
    let result = await EmailClient.sendServiceEmail(
      "no-reply",
      [recipientEmailAddress],
      "Order " # orderReference # " confirmed",
      "Hello " # username # ",\nYour order " # orderReference # " has been confirmed. Your items will ship tomorrow.",
    );
    switch (result) {
      case (#ok) {};
      case (#err(error)) {
        Runtime.trap("Failed to send order confirmation email: " # error);
      };
    };
  };
};
```

## Upgrading from the previous version

An app built with `caffeineai-email` 0.3.x re-pins with `mops add [email protected]`. `sendServiceEmail` and `sendRawEmail` keep their signatures. Every send now goes through the mail gateway with the settings the platform injects on every deploy (`INTEGRATIONS_GATEWAY_URL` / `INTEGRATIONS_GATEWAY_API_KEY`); the transport canister and `INTEGRATIONS_CANISTER_ID` are no longer used, and a send without those settings returns `#err` instead of falling back. Apps that use verification, marketing or calendar email follow the upgrade sections of those skills.

An app built with `caffeineai-email` 0.2.x re-pins with `mops add [email protected]`. `sendServiceEmail` and `sendRawEmail` keep their signatures; every send now carries an idempotency key, so a retried outcall is sent and charged once. Apps that use verification or marketing email follow the upgrade sections of those skills.

© caffeinelabs · Apache-2.0 · caffeinelabs/skills

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

Всё по теме «Бэкенд и API» →
email-best-practices Resend Скилл от Resend: агент проверяет доставляемость писем, согласие на рассылку, комплаенс и доступность вёрстки ещё до отправки. CX Codex +1 13 500установок resend resend Скилл для работы с Resend Email API: отправка транзакционных писем, приём входящих через вебхуки, шаблоны, домены и логи запросов. CX Codex +1 23 400установок postmark postmark Скилл-маршрутизатор по Postmark: подсказывает агенту, какой под-скилл взять для отправки писем, входящих, шаблонов и вебхуков. CX Codex +1 782установок email-smtp-send tiangong-ai Отправляет письма через SMTP с локальными вложениями и сохраняет копию в папку «Отправленные» через IMAP. Пригодится агенту для надёжной почтовой рассылки и отчётов. CX Codex +1 6 800установок pipefy-members-email-webhooks pipefy Скилл для работы с Pipefy через агента: приглашает участников в пайп, отправляет письма из инбокса карточки и управляет вебхуками. CX Codex +1 669установок twilio-sendgrid-email-send официальный Twilio Скилл учит агента отправлять письма через SendGrid v3 Mail Send API: одиночные, пакетные с шаблонами, отложенные и с вложениями. Нужен ключ SendGrid с префиксом SG. CX Codex GP ChatGPT ★ 7 596звёзд репо

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

extension-openai Задаёт правила интеграции OpenAI в канистры Motoko через пакет openai-client. Защищает API-ключ от утечки при реплицированных вызовах. CX Codex +1 28 100установок extension-email-raw Скилл добавляет в проект отправку одного письма сразу нескольким получателям через to, cc и bcc. Пригодится, когда нужно разослать уведомление участникам встречи. CX Codex +1 28 100установок extension-invite-links Скилл добавляет в проект систему приглашений и сбор ответов RSVP. Гости отправляют подтверждения по кодам без авторизации, а администратор видит сводку через вход в систему. CX Codex +1 28 100установок extension-http-outcalls Скилл для HTTP-запросов из бэкенд-канистры к внешним API. Следит, чтобы каждый запрос был ограничен на стороне провайдера. CX Codex +1 28 100установок extension-object-storage Скилл добавляет в проект хранилище файлов: содержимое лежит вне сети, а бэкенд держит только ссылки на него. Пригодится для галерей изображений, видео и документов. CX Codex +1 28 100установок extension-email-verification Добавляет в приложение на Caffeine AI подтверждение email по ссылке: получатель кликает кнопку и адрес помечается проверенным. CX Codex +1 28 100установок extension-oql Открывает данные канистры Motoko для запросов агента Caffeine Data Intelligence через эндпоинты schema() и execute(). Пригодится для поиска по картам и массивам на естественном языке. CX Codex +1 27 700установок connector-googlemail Инструкция по отправке писем из канистры от имени личного аккаунта Gmail пользователя через Motoko и Mops. Защищает от сырых HTTP-запросов к Google API. CX Codex +1 25 000установок

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

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