extension-oql
82Expose Canister Data Through OQL
Structured canister data is difficult for intelligence agents to query safely. This skill adds OQL entities, schema discovery, query execution, relationships, and per-entity authorization.
Send Transactional Emails from Caffeine AI
Backend canisters need a controlled way to send individual service messages. This skill documents the Caffeine AI email client and a Motoko integration pattern.
Остановитесь и запросите подтверждение перед установкой.
Проверьте план и получите явное согласие пользователя перед изменением файлов.
Скопируйте этот запрос в своего Агента. Он содержит каноническую страницу Skill и манифест.
Review the Skillstore skill "extension-email" from https://skillstore.io/skills/caffeinelabs-extension-email.md and its manifest at https://skillstore.io/api/skills/caffeinelabs-extension-email/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.Ваш Агент по-прежнему должен показать план и запросить все подтверждения, требуемые политикой безопасности.
Используйте эти ссылки, когда AI-агенту, crawler или script нужен чистый контекст вместо полной страницы.
Использование «extension-email». I need to send an order confirmation from my backend canister.
Ожидаемый результат:
The response outlines the required import, sender, recipient list, subject, body, and result handling. It also adds authorization and validation checks.
Использование «extension-email». Review my public email function before deployment.
Ожидаемый результат:
Использование «extension-email». What happens when delivery fails?
Ожидаемый результат:
The response explains the error variant and recommends controlled internal diagnostics without exposing sensitive service details.
The six external-command alerts are false positives caused by Markdown backticks, and the hardcoded URL is a documentation link. The Motoko example does not execute shell commands. However, its public email method lacks authorization, rate limiting, validation, and HTML escaping, creating email-abuse and content-injection risks.
Делитесь версионным отчетом об оценке, нейтральным значком, встраиваемой карточкой и цитатами. Skillstore публикует доказательства, не решая, безопасен ли этот Skill.
https://skillstore.io/skills/caffeinelabs-extension-email/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report[](https://skillstore.io/skills/caffeinelabs-extension-email?utm_source=security_passport_badge)<a href="https://skillstore.io/skills/caffeinelabs-extension-email?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/caffeinelabs-extension-email/security.svg" alt="Skillstore security assessment" loading="lazy"></a><iframe src="https://skillstore.io/embed/skills/caffeinelabs-extension-email.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>caffeinelabs. (2026). extension-email security audit report (audit version 1) [Author version 0.1.5]. Skillstore. https://skillstore.io/skills/caffeinelabs-extension-email/audits/1@techreport{caffeinelabs-caffeinelabs-extension-email-2026,
author = {caffeinelabs},
title = {extension-email security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/caffeinelabs-extension-email/audits/1},
note = {Author version 0.1.5}
}cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "extension-email security audit report (audit version 1)"
version: "0.1.5"
type: report
authors:
- name: "caffeinelabs"
date-released: "2026-07-23"
url: "https://skillstore.io/skills/caffeinelabs-extension-email/audits/1"
identifiers:
- type: other
value: "skillstore:caffeinelabs-extension-email:audit:1"
description: "Skillstore immutable audit report identifier"
Add order confirmations to a backend canister and handle the delivery result.
Send one-off service notifications to individual recipients through the supported email client.
Compare an existing email integration with the documented module signature and error variants.
Show how to import the Caffeine AI email client and explain each `sendServiceEmail` parameter. Do not add a public sending endpoint.
Create a Motoko function for an authenticated user to receive an order confirmation. Use fixed sender details and validate the recipient address.
Update my service-email function to handle `#ok` and `#err` results. Keep user-facing responses generic and preserve useful internal diagnostics.
Review my Motoko email flow for authorization, order ownership, recipient validation, rate limits, HTML escaping, and `SendResult` handling. Propose focused changes.
Автор
caffeinelabsЛицензия
MIT
Версия автора
v0.1.5
Ревизия Skillstore
r1
Репозиторий
https://github.com/caffeinelabs/skills/tree/10fb452613c797633b8cb33639fc9a754a138039/skills/extension-emailСсылка
f32f934280aa94e399d875d7cf7b2ed16d1b82a3
Актуальность поддержки
23.07.2026
Использование
0 загрузок · 0 просмотров
Структура файлов
📄 SKILL.md
Expose Canister Data Through OQL
Structured canister data is difficult for intelligence agents to query safely. This skill adds OQL entities, schema discovery, query execution, relationships, and per-entity authorization.
Добавление одобрения пользователей в приложения Caffeine AI
Приложениям необходим контролируемый механизм допуска пользователей до предоставления доступа к защищенным функциям. Этот навык описывает проверки одобрения на бэкенде и процессы администрирования во фронтенде.
Add Object Storage to Caffeine AI Apps
Large files need storage beyond Internet Computer canister limits. This skill guides Caffeine AI projects through backend integration, browser uploads, cached display, downloads, and troubleshooting.
Query OQL Canisters with the ICP CLI
Writing OQL queries requires exact schema names, JSON types, Candid escaping, and careful pagination. This skill provides practical patterns for reliable, read-only canister queries.
Add Camera Capture to React Apps
Web camera integration requires permission handling, preview state, and device controls. This skill guides Claude, Codex, and Claude Code through the provided React hook.
Добавление исходящих HTTP-вызовов из бэкенда в Caffeine AI
Бэкенд-канистрам необходим контролируемый способ обращения к внешним сервисам. Этот навык показывает, как добавлять исходящие GET- и POST-вызовы с callback-функциями преобразования.
Конвертация email-шаблонов в Mailtrap
от mailtrap
Перенос шаблонов между email-провайдерами может нарушить работу переменных, условных выражений и вызовов отправки. Этот навык преобразует синтаксис провайдера в Mailtrap Handlebars и помечает изменения, требующие проверки.
Создавайте надежные бэкенд API
от alirezarezvani
Бэкенд-проекты часто требуют согласованного планирования API, баз данных, безопасности и развертывания. Этот навык дает Claude, Codex и Claude Code структурированные рекомендации по бэкенду с простыми вспомогательными скриптами и справочными материалами.
Создание шаблонов React Email с Resend
от resend
Создавать готовые к продакшену email-шаблоны сложно, потому что почтовые клиенты отличаются друг от друга. Этот навык помогает Claude, Codex и Claude Code работать с компонентами React Email, отправкой, стилизацией, локализацией и редакторскими рабочими процессами.
Безопасная диагностика производительности WordPress
от Automattic
Медленные сайты WordPress требуют тщательных измерений перед внесением изменений. Этот навык помогает Claude, Codex и Claude Code выполнять профилирование только backend-части, анализ узких мест и безопасную проверку.
Проектируйте более качественные REST и GraphQL API
от supercent-io
Командам API нужны согласованные контракты до начала реализации. Этот навык помогает проектировать ресурсы, форматы запросов, ошибки, версионирование и документацию.
Создание компонентов Convex
от get-convex
Компонентам Convex нужны четкое владение данными, функции-обертки и сгенерированные типы. Этот skill помогает проектировать компоненты, реализовывать их, подключать и проверять в проектах Convex.