# Add Email Verification to Caffeine AI Apps

Unverified addresses can weaken account trust and communication. This skill guides Caffeine AI developers through click-to-verify flows using supported Motoko modules.

## Install

```bash
npx skillstore add caffeinelabs/extension-email-verification
```

## Metadata

- Status: approved
- Slug: caffeinelabs-extension-email-verification
- Version: 0.1.5
- Author version: 0.1.5
- Skillstore revision: r2
- Version status: valid
- Tree hash: 6befa64f87ab352a744750d3f1a832c688ef62ad78dc258d3ac2f4269437caea
- Author: caffeinelabs
- GitHub username: caffeinelabs
- License: MIT
- Repository: https://github.com/caffeinelabs/skills/tree/main/skills/extension-email-verification/
- Ref: a39a91716eadede5f4cdefd78178fed4e837a128
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, network, filesystem
- Quality score: 71
- Public page: https://skillstore.pages.dev/skills/caffeinelabs-extension-email-verification
- Manifest: https://skillstore.pages.dev/api/skills/caffeinelabs-extension-email-verification/manifest

## Capabilities

- Guides integration of the prefabricated verified email state module.
- Shows how to include the verification callback mixin in a Motoko actor.
- Explains how to send recipient-specific messages with a verification URL placeholder.
- Provides a registration example with caller and email uniqueness checks.
- Shows how to query whether the current user's email is verified.
- Reminds admin interface builders to preserve the required verification URL placeholder.

## Use Cases

- Verify New Accounts: Add ownership confirmation to a Motoko registration flow before enabling trusted account actions.
- Track Verified Addresses: Use the supported state module to check verified status without duplicating profile fields.
- Prepare Verification Templates: Build admin-managed email content that keeps the required verification URL placeholder.

## Prompt Templates

### Set Up Verification

```
Add email verification to my Caffeine AI Motoko app. Show the required imports, state initialization, and callback mixin.
```

### Send a Verification Message

```
Create a verification email flow for new users. Include the required URL placeholder and handle the send result.
```

### Build Registration Checks

```
Design registration and verified-status endpoints. Prevent duplicate callers and duplicate addresses while using the supported verified email store.
```

### Harden the Verification Flow

```
Review my verification design for abuse risks. Add input validation, HTML escaping, rate limits, and tests while preserving the supported modules.
```

## Limitations

- Requires the Caffeine AI email extension and compatible Motoko packages.
- Provides instructions and examples, not a standalone verification service.
- Uses prefabricated verification modules that the application cannot modify.
- The sample lacks HTML escaping, address validation, and explicit rate limiting.

## Best Practices

- Use the supported verified email store as the single source of verification status.
- Keep the verification URL placeholder in every HTML template sent through the extension.
- Validate addresses, escape HTML values, and rate-limit verification requests.

## Anti Patterns

- Do not store a separate verification flag on each user profile.
- Do not remove or alter the required verification URL placeholder.
- Do not place unescaped user input directly into an HTML email.

## Security Audit

- Audited at: 2026-07-23T12:02:24.368\+00:00
- Summary: All 13 static findings are false positives caused by Markdown code spans, code fences, an informational URL, and a relative documentation link. The embedded example still presents two medium risks: unescaped user input in HTML email and a publicly callable email-sending flow without explicit abuse controls. These example patterns should be hardened before publication.

## Stats

- Views: 1
- Downloads: 6
- Favorites: 0
- Popularity score: 0
