wraps-team/wraps/wraps-cli
Claude Code and agent skill by wraps-team/wraps
- community
Checking that the SKILL.md file is still in the repository.
CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account with automatic DKIM, SPF, DMARC configuration.
Install
npx vskill@latest install wraps-team/wraps/wraps-cliSKILL.md
@wraps.dev/cli
CLI that deploys SES, DynamoDB, Lambda, and IAM resources to your AWS account. Configures DKIM, SPF, DMARC, and event tracking automatically.
Installation
Quick Start
Prerequisites
- Node.js 20+
- AWS account with credentials configured
- Environment variables:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY - Or AWS CLI profile:
~/.aws/credentials - Or IAM role (EC2, ECS, Lambda)
Email Commands
wraps email init
Deploy new email infrastructure to your AWS account.
Options:
--provider <name>— Hosting provider (vercel, aws-lambda, generic)--region <region>— AWS region (default: us-east-1)--domain <domain>— Domain to verify for sending--preset <preset>— Configuration preset (default, production)
What gets deployed:
- SES Configuration (domain verification, DKIM, SPF, DMARC)
- Event Tracking (bounces, complaints, deliveries, opens, clicks)
- DynamoDB Table (email event history, 90-day TTL)
- Lambda Functions (event processing, webhook handling)
- IAM Roles (least-privilege, OIDC support for Vercel)
- CloudWatch (metrics and alarms)
All resources use the wraps-email-* namespace prefix.
wraps email status
Show current deployment status.
Output includes:
- Deployment state (deployed, pending, none)
- Domain verification status
- SES sending status (sandbox/production)
- Infrastructure resource summary
wraps email plan
Show the SES pricing plan per Region and what your volume costs under each.
--set accepts NONE (à la carte), ESSENTIALS, PRO, ENTERPRISE, asks for confirmation (skip with --yes), and never guesses the Region.
wraps email vdm
Show, and optionally switch, Virtual Deliverability Manager (VDM) for the account in a Region — bundled with the Essentials, Pro and Enterprise SES pricing plans.
--enable and --disable are mutually exclusive. --engagement/--no-engagement and --optimized-delivery/--no-optimized-delivery override the sub-settings when enabling; asks for confirmation unless --yes is passed.
wraps email verify
Check and guide domain DNS verification.
DNS Records Required:
- DKIM (3 CNAME records)
- SPF (TXT record)
- DMARC (TXT record)
- Optional: Custom MAIL FROM
wraps email upgrade
Add features to existing deployment.
wraps email domains config
Configure SES configuration set options per domain — tracking, delivery, reputation, suppression, archiving, sending, and VDM.
Flag reference:
| Group | Enable | Disable | |
|---|---|---|---|
| Open tracking | --opens | --no-opens | |
| Click tracking | --clicks | --no-clicks | |
| TLS required | --tls-required | --no-tls-required | |
| Sending enabled | --sending-enabled | --no-sending-enabled | |
| Reputation metrics | --reputation-metrics | --no-reputation-metrics | |
| Suppress bounces | --suppress-bounce | --no-suppress-bounce | |
| Suppress complaints | --suppress-complaint | --no-suppress-complaint | |
| Email archive | --archive | --no-archive | |
| VDM engagement | --vdm-engagement | --no-vdm-engagement | |
| VDM optimized shared delivery | --vdm-inbox | --no-vdm-inbox | |
| Auto Validation | --auto-validation | --no-auto-validation |
--validation-threshold <medium|high|managed> sets Auto Validation's confidence threshold (default managed).
Notes:
- Archive uses a shared
wraps-email-archiveMail Manager archive, created automatically on first use - VDM options only appear when VDM is enabled for the account — turn it on with
wraps email vdm --enable - Auto Validation is stored inside the configuration set's suppression options — it requires suppression to already be configured (
--suppress-bounce/--suppress-complaint), orwraps email domains configrefuses withSUPPRESSION_OPTIONS_MISSING - Primary domain: after changes, run
wraps email upgradeto sync Pulumi state - Additional domains: changes are saved to local metadata immediately
wraps email connect
Import existing SES infrastructure into Wraps management.
Use this if you already have SES configured and want to use Wraps SDK/dashboard without redeploying.
wraps email restore
Restore infrastructure from saved metadata.
wraps email destroy
Remove all Wraps email infrastructure.
Warning: This removes all deployed resources. Email sending will stop working.
Configuration
State Storage
Deployment state is stored in ~/.wraps/ directory:
- One state file per AWS account + region combination
- Contains resource IDs, configuration, and metadata
Environment Variables
| Variable | Description | |
|---|---|---|
AWS_PROFILE | AWS credentials profile to use | |
AWS_REGION | Default AWS region | |
AWS_ACCESS_KEY_ID | AWS access key (if not using profile) | |
AWS_SECRET_ACCESS_KEY | AWS secret key (if not using profile) | |
WRAPS_TELEMETRY_DISABLED | Set to 1 to disable telemetry |
Common Workflows
New Project Setup
Vercel Project Setup
Multi-Region Setup
Existing SES Migration
SES Sandbox
New AWS accounts start in SES sandbox mode:
- Can only send to verified email addresses
- Limited to 200 emails/day
To exit sandbox:
- Verify your domain:
wraps email verify --domain yourapp.com - Request production access in AWS Console → SES → Account Dashboard
- Provide use case, expected volume, complaint handling process
The CLI will guide you through this process.
Troubleshooting
"Credentials not found"
"Domain verification pending"
DNS propagation can take up to 72 hours. Check status:
Common issues:
- CNAME records not added correctly
- TTL too high (try 300 seconds)
- DNS provider caching
"SES sandbox mode"
You need production access to send to non-verified emails:
- Go to AWS Console → SES → Account Dashboard
- Click "Request Production Access"
- Fill out the form with your use case
"IAM permission denied"
Ensure your IAM user/role has these permissions:
ses:*iam:CreateRole,iam:AttachRolePolicy(for OIDC setup)dynamodb:CreateTable,dynamodb:*(for event tracking)lambda:CreateFunction,lambda:*(for event processing)cloudwatch:PutMetricAlarm(for monitoring)
Or use the managed policy: arn:aws:iam::aws:policy/AdministratorAccess (not recommended for production).
Telemetry
The CLI collects anonymous usage data to improve the product:
- Command names and success/failure status
- System info (OS, Node version)
Never collected: AWS credentials, domains, email content, PII.
Opt out:
Resource Naming
All resources created by Wraps use consistent naming:
| Resource | Name Pattern | |
|---|---|---|
| SES Configuration Set | wraps-email-tracking | |
| DynamoDB Table | wraps-email-events | |
| Lambda Functions | wraps-email-processor | |
| IAM Roles | wraps-email-* | |
| CloudWatch Alarms | wraps-email-* |
This makes it easy to identify and audit Wraps resources in your AWS account.
Non-Destructive
The CLI follows a non-destructive approach:
- Never modifies existing AWS resources
- Only creates new resources with
wraps-*prefix destroyonly removes resources created by Wraps- Your existing SES configuration is never touched
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingapps/website/public/.well-known/skills/wraps-cli/SKILL.md
Popularity
- Repository stars
- 48
- Repository forks
- 7
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/wraps-team/wraps/wraps-cli)