AWS Messaging Blog
Getting started with Amazon SES Agent Skills for AI-assisted email development
Building email infrastructure with Amazon Simple Email Service (SES) involves navigating identity verification, authentication protocols, configuration sets, bounce handling, and deliverability monitoring. Developers often spend time reading documentation and iterating on API calls before getting their first email sent correctly. AI coding agents can accelerate this process, but without domain-specific context, they frequently generate code using the legacy V1 API, skip authentication setup, or miss production requirements like tenant isolation.
Today, we are releasing Amazon SES Agent Skills, an open source set of agent skills that give AI coding agents the context they need to build email integrations correctly from the start. The skills work with Kiro, Claude Code, and any agent that supports the open Agent Skills format.
What are agent skills?
Agent skills are structured context packages that teach AI agents how to use a specific service correctly. Rather than relying on general training data (which may be outdated or incomplete), a skill provides the agent with validated patterns, common mistake avoidance, and step-by-step workflows for a specific domain.
When you install the Amazon SES agent skills, your AI agent gains access to:
- The correct API version and SDK client to use (SES V2, not V1)
- The required order of operations (verify identity before sending, create configuration set before going to production)
- Production-ready patterns including tenant isolation, bounce handling, and email validation
- Common mistakes and how to avoid them
- Executable example scripts in Python, Node.js, and Java
Two skills, two use cases
Amazon SES has two distinct capabilities that use different API clients:
| Skill | Use case | SDK client |
|---|---|---|
aws-ses |
Sending email
(transactional, marketing, notifications) |
sesv2 |
aws-mail-manager |
Receiving and processing inbound email
(routing, filtering, archiving, SMTP relay) |
mailmanager |
These are different APIs with different clients. A common mistake agents make without this context is mixing them up or using the legacy ses client for sending.
Installing the skills
Install both skills:
npx skills add amazon-ses/skills
Or install a specific skill:
npx skills add amazon-ses/skills --skill aws-ses
npx skills add amazon-ses/skills --skill aws-mail-manager
Once installed, the skill activates automatically when you ask your agent about email-related tasks.
What the agent experience looks like
After installing the aws-ses skill, ask your agent: “Help me send my first email with Amazon SES.”
Without the skill, an agent might generate code using the deprecated V1 API, skip identity verification, or omit a configuration set. With the skill, the agent follows the correct workflow:
- Verifies your identity is set up (domain or email address)
- Checks sandbox status and recommends simulator addresses for testing
- Creates a configuration set for event tracking
- Sets up a tenant for workload isolation
- Generates code using the V2 API with proper error handling
Here is an example of what the agent produces for a Python quickstart:
import boto3
from botocore.exceptions import ClientError
client = boto3.client('sesv2', region_name='us-east-1')
try:
response = client.send_email(
FromEmailAddress='sender@example.com',
Destination={'ToAddresses': ['success@simulator.amazonses.com']},
Content={
'Simple': {
'Subject': {'Data': 'Hello from Amazon SES'},
'Body': {'Text': {'Data': 'This email was sent using Amazon SES V2 API.'}}
}
},
ConfigurationSetName='my-config-set',
TenantName='my-tenant'
)
print(f"Message sent: {response['MessageId']}")
except ClientError as e:
print(f"Send failed: {e.response['Error']['Code']} - {e.response['Error']['Message']}")
The agent knows to use sesv2 (not ses), includes a configuration set for observability, uses a tenant for isolation, and sends to a simulator address for safe testing.
What the Mail Manager skill provides
For inbound email processing, the aws-mail-manager skill teaches the agent the core pipeline architecture:
Internet → Ingress Point → Traffic Policy → Rule Set → Action
The skill ensures the agent creates resources in the correct dependency order (traffic policy and rule set before ingress point), uses the correct condition syntax (union types with exactly one key per object), and waits for the ingress point to reach ACTIVE status before recommending DNS changes.
How the skills are structured
Each skill contains:
- SKILL.md — The entry point that describes capabilities, common mistakes, and when to use the skill
- references/ — Task-oriented guides for specific workflows (identity verification, configuration sets, tenant setup, troubleshooting)
- scripts/ or examples/ — Executable code the agent can reference or adapt
The agent loads only the context relevant to your current task. Ask about sending email and it loads the sending guides. Ask about archiving inbound email and it loads the archive reference.
Prerequisites
To use the skills, you need:
- An AI coding agent that supports the Agent Skills format (Kiro, Claude Code, or compatible tools)
- An AWS account with Amazon SES access
- AWS credentials configured (environment variables, shared credentials file, or IAM role)
- The SDK for your language: Python (
boto3), Node.js (@aws-sdk/client-sesv2), or Java (software.amazon.awssdk:sesv2)
Try it today
The Amazon SES Agent Skills are available now on GitHub:
- Repository: amazon-ses/skills
- License: Apache-2.0
Install the skills, ask your agent to help you send your first email, and see how structured context changes the development experience. If you find issues or want to contribute, open an issue or pull request on the repository.