feat: add sms skill + 5 SMS platform integration docs (#307)

New skill: skills/sms/
- SKILL.md (336 lines, under 500 limit): strategy, when SMS beats email,
  compliance overview, sequence types, copy guidelines, platform selection,
  measurement, common mistakes
- references/compliance.md: TCPA, A2P 10DLC, EU GDPR, CASL, Australia,
  opt-in disclosure templates, STOP/HELP response templates, audit checklist
- references/sequence-templates.md: full copy templates with character
  counts for welcome, abandoned cart, browse abandonment, post-purchase,
  win-back, promotional, transactional, re-engagement, replenishment, VIP
- references/platforms.md: platform deep-dives across Klaviyo SMS,
  Postscript, Attentive, Twilio, Plivo, AudienceTap, Brevo, SimpleTexting,
  Customer.io
- evals/evals.json: 6 evals covering getting started, abandoned cart,
  TCPA compliance, opt-out diagnosis, A2P throughput, emoji segment cost

New integration docs:
- tools/integrations/twilio.md
- tools/integrations/postscript.md
- tools/integrations/attentive.md
- tools/integrations/plivo.md
- tools/integrations/audiencetap.md

Registry + marketplace wiring:
- tools/REGISTRY.md: 5 new entries + new SMS / Messaging category section
- .claude-plugin/marketplace.json: bumped to 2.1.0, SMS added to plugin description
- VERSIONS.md: sms 1.0.0 + 2.1.0 changelog entry
- README.md: skill table re-sorted via sync-skills.js, sms added to ASCII flow

All 41 skills pass validation. sync-skills.js is idempotent on current state.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Corey Haines
2026-05-21 16:44:47 -07:00
committed by GitHub
parent 908500123b
commit d36433703b
14 changed files with 1966 additions and 2 deletions
+22
View File
@@ -54,6 +54,11 @@ Quick reference for AI agents to discover tool capabilities and integration meth
| postmark | Email | ✓ | - | [](clis/postmark.js) | ✓ | [postmark.md](integrations/postmark.md) |
| brevo | Email/SMS | ✓ | - | [](clis/brevo.js) | ✓ | [brevo.md](integrations/brevo.md) |
| activecampaign | Email/CRM | ✓ | - | [](clis/activecampaign.js) | ✓ | [activecampaign.md](integrations/activecampaign.md) |
| twilio | SMS/Voice | ✓ | - | ✓ | ✓ | [twilio.md](integrations/twilio.md) |
| plivo | SMS/Voice | ✓ | - | - | ✓ | [plivo.md](integrations/plivo.md) |
| postscript | SMS | ✓ | - | - | - | [postscript.md](integrations/postscript.md) |
| attentive | SMS | ✓ | - | - | - | [attentive.md](integrations/attentive.md) |
| audiencetap | SMS/Email | ✓ | - | - | - | [audiencetap.md](integrations/audiencetap.md) |
| hunter | Email Outreach | ✓ | - | [](clis/hunter.js) | - | [hunter.md](integrations/hunter.md) |
| snov | Email Outreach | ✓ | - | [](clis/snov.js) | - | [snov.md](integrations/snov.md) |
| lemlist | Email Outreach | ✓ | - | [](clis/lemlist.js) | - | [lemlist.md](integrations/lemlist.md) |
@@ -189,6 +194,23 @@ Email marketing, transactional email, and automation platforms.
**Agent recommendation**: Resend for transactional (dev-friendly). Postmark for deliverability. Customer.io for advanced automation. Kit for creators. Beehiiv for newsletters. Klaviyo for e-commerce email/SMS. ActiveCampaign for email + CRM combo.
### SMS / Messaging
SMS and MMS marketing platforms and programmable messaging APIs.
| Tool | Best For | MCP Available |
|------|----------|:-------------:|
| **klaviyo** | DTC ecom already on Klaviyo email | - |
| **postscript** | Shopify DTC, SMS-first depth | - |
| **attentive** | Mid-market+ DTC, full-service | - |
| **twilio** | Custom API builds, transactional, dev-first | - |
| **plivo** | Twilio alternative, lower per-send cost | - |
| **audiencetap** | DTC with AI-forward creative + on-pack QR opt-in | - |
| **brevo** | EU SMB email + SMS combo | - |
| **customer-io** | Behavior-based SMS automation | - |
**Agent recommendation**: Klaviyo SMS for ecom already on Klaviyo email. Postscript for Shopify-first depth. Attentive for mid-market+ wanting concierge support. Twilio (or Plivo for lower cost) for custom builds and transactional/auth. AudienceTap when AI creative or on-pack QR opt-in matters.
### Advertising
Paid advertising platforms and campaign management.
+152
View File
@@ -0,0 +1,152 @@
# Attentive
Full-service SMS marketing platform for mid-market and enterprise direct-to-consumer brands. Combines tooling with dedicated success teams.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API |
| MCP | - | Not available |
| CLI | - | None |
| SDK | - | Use API directly |
## Authentication
- **Type**: OAuth 2.0 or API Key (depending on integration type)
- **Header**: `Authorization: Bearer {access_token}`
- **Get credentials**: Account-level provisioning through Attentive integrations team
- **Note**: API access requires partnership or eligible plan
## Common Agent Operations
### Subscribe a user
```bash
POST https://api.attentivemobile.com/v1/subscriptions
{
"user": {
"phone": "+15551234567",
"email": "user@example.com"
},
"signUpSourceId": "...",
"subscriptionType": "MARKETING"
}
```
Sign-up source ID determines opt-in attribution and compliance disclosure shown.
### Unsubscribe
```bash
POST https://api.attentivemobile.com/v1/subscriptions/unsubscribe
{
"user": { "phone": "+15551234567" },
"subscriptionType": "MARKETING"
}
```
### Custom event tracking
```bash
POST https://api.attentivemobile.com/v1/events/custom
{
"user": { "phone": "+15551234567" },
"type": "abandoned_cart",
"properties": {
"cart_value": 89.99,
"items": ["Product A"]
}
}
```
### E-commerce events (purchase, add-to-cart, product view)
```bash
POST https://api.attentivemobile.com/v1/events/ecommerce/purchase
{
"user": { "phone": "+15551234567" },
"items": [{
"productId": "SKU-123",
"name": "Product A",
"price": { "value": 4999, "currency": "USD" },
"quantity": 1
}],
"occurredAt": "2026-05-15T10:00:00Z"
}
```
Similar endpoints for `/add_to_cart`, `/product_view`, `/checkout`.
### Send transactional message
```bash
POST https://api.attentivemobile.com/v1/messages/transactional
{
"user": { "phone": "+15551234567" },
"messageBody": "Your order #1234 shipped. Track: https://...",
"type": "ORDER_SHIPPING"
}
```
### List campaigns
```bash
GET https://api.attentivemobile.com/v1/campaigns
```
### Webhooks
Subscribe to: `subscriber.created`, `subscriber.unsubscribed`, `message.sent`, `message.delivered`, `message.failed`, `conversion.attributed`.
## API Pattern
REST + JSON. Bearer auth. Webhook signature verification via HMAC-SHA256.
## Key Features
- Concierge sales (live agents responding via SMS)
- Identity resolution (matching anonymous site visitors to phone numbers for retargeting)
- Strong analytics + attribution (multi-touch, conversion path)
- AI Journey AI / Pro AI (AI-generated send timing and copy)
- Custom Audience Manager (advanced segmentation)
- A/B testing built into campaign builder
- Two-way SMS at scale
- A2P 10DLC fully managed
- Short code provisioning included on most plans
- Dedicated CSM, copy support, strategy consults
## Pricing
- Custom contracts; typically $1K$10K+/mo platform fee + per-send fees
- Annual contracts standard
- Pricing rarely makes sense for <50K active SMS subscribers
- Negotiable based on volume and tier
## When to Use
- Mid-market+ DTC brand (50K+ active SMS subscribers, $5M+/yr revenue)
- Want dedicated CSM and copy support, not just tooling
- Need concierge two-way SMS at scale
- Multi-channel ecom team that wants single-pane SMS-first platform
- Want short code included rather than separately leased
- Identity resolution / cross-device matching matters
## When NOT to Use
- Smaller brands — too expensive, overkill
- Already on Klaviyo and SMS is secondary — Klaviyo SMS is simpler
- Shopify-only and want depth — Postscript is more Shopify-native
- Custom platform / B2B SaaS — Twilio
## Relevant Skills
- sms
- emails (run alongside)
- churn-prevention
- customer-research (identity resolution data)
+125
View File
@@ -0,0 +1,125 @@
# AudienceTap
SMS and email marketing platform built for direct-to-consumer brands. Newer entrant positioning as a more flexible, AI-forward alternative to Klaviyo / Postscript / Attentive with emphasis on creative automation and on-pack QR opt-in.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API (confirm with vendor; access tied to plan tier) |
| MCP | - | Not available |
| CLI | - | None |
| SDK | - | Use API directly |
> Verify current API surface and capabilities at https://audiencetap.com before building against this guide — newer platform, surface evolves quickly.
## Authentication
- **Type**: API Key (Bearer)
- **Header**: `Authorization: Bearer {api_key}`
- **Get key**: AudienceTap dashboard → Settings → API
- **Note**: API access generally requires Growth or Pro tier
## Common Agent Operations
### Subscribe a user
```bash
POST https://api.audiencetap.com/v1/subscribers
{
"phone_number": "+15551234567",
"email": "user@example.com",
"first_name": "Jane",
"opt_in_source": "checkout",
"list_id": "..."
}
```
### Unsubscribe
```bash
POST https://api.audiencetap.com/v1/subscribers/unsubscribe
{
"phone_number": "+15551234567",
"channel": "sms"
}
```
### Track event
```bash
POST https://api.audiencetap.com/v1/events
{
"subscriber": { "phone_number": "+15551234567" },
"event_name": "abandoned_cart",
"properties": {
"cart_value": 89.99,
"items": ["Product A"]
}
}
```
### Send transactional message
```bash
POST https://api.audiencetap.com/v1/messages/transactional
{
"phone_number": "+15551234567",
"body": "Your order #1234 shipped. Track: https://...",
"category": "shipping"
}
```
### List flows / automations
```bash
GET https://api.audiencetap.com/v1/flows
```
### Webhooks
Subscribe to: subscriber events, message delivery events, conversion attribution. Configured in dashboard.
## API Pattern
REST + JSON. Bearer auth. Pagination conventions vary by endpoint — confirm in current docs.
## Key Features
- SMS + email on one platform (positioned similarly to Klaviyo's combined product)
- AI creative generation (subject lines, SMS copy, image variants)
- On-pack QR code opt-in (insert-card based opt-in for ecom shipments)
- Shopify, BigCommerce, and headless commerce integrations
- A2P 10DLC handled in-platform
- Automation builder for cart, post-purchase, win-back, etc.
- Identity resolution (matching anonymous visitors to known subscribers)
## Pricing
- Plans typically tiered by subscriber count + send volume
- Per-send pricing comparable to other DTC SMS platforms (~$0.015 SMS, ~$0.04 MMS)
- Confirm current pricing at https://audiencetap.com — newer platform with evolving plans
## When to Use
- Mid-market DTC brand willing to try a newer platform for better AI tooling or pricing leverage
- Brand wanting on-pack QR opt-in as a primary acquisition channel (printed insert cards driving SMS opt-in)
- Want SMS + email under one roof with stronger AI features than incumbents currently offer
- Evaluating alternatives during a contract negotiation with Klaviyo / Postscript / Attentive
## When NOT to Use
- Need a fully battle-tested platform with deep ecosystem — incumbents have more integrations and case studies
- Compliance tooling at enterprise scale — verify A2P / TCPA depth before committing for large lists
- B2B SaaS, transactional, or developer-first use — Twilio or Plivo
## Relevant Skills
- sms
- emails
- referrals (on-pack QR opt-in is a referral-adjacent acquisition channel)
- directory-submissions (on-pack insert cards as an offline channel)
+140
View File
@@ -0,0 +1,140 @@
# Plivo
Cloud communications API platform — SMS, MMS, voice, WhatsApp. Direct Twilio competitor with similar pricing and developer-first positioning.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API |
| MCP | - | Not available |
| CLI | - | None official |
| SDK | ✓ | Node, Python, Ruby, PHP, Java, Go, .NET |
## Authentication
- **Type**: Basic auth with Auth ID + Auth Token
- **Header**: `Authorization: Basic base64(AuthID:AuthToken)`
- **Get credentials**: https://console.plivo.com → Account → Account Settings
- **Note**: Subaccounts available for isolating environments or customers
## Common Agent Operations
### Send SMS
```bash
POST https://api.plivo.com/v1/Account/{AuthID}/Message/
{
"src": "+15559876543",
"dst": "+15551234567",
"text": "Hello from Plivo"
}
```
### Send MMS
```bash
POST https://api.plivo.com/v1/Account/{AuthID}/Message/
{
"src": "+15559876543",
"dst": "+15551234567",
"text": "Check this out",
"type": "mms",
"media_urls": ["https://example.com/image.jpg"]
}
```
### Bulk send (powerpack)
Use Plivo's Powerpack feature to send from a pool of numbers with sticky sender + automatic A2P registration. Configured in console; messages then sent with `powerpack_uuid` instead of `src`.
```bash
POST https://api.plivo.com/v1/Account/{AuthID}/Message/
{
"powerpack_uuid": "...",
"dst": "+15551234567",
"text": "Hello"
}
```
### Get message details
```bash
GET https://api.plivo.com/v1/Account/{AuthID}/Message/{MessageUUID}/
```
### List messages
```bash
GET https://api.plivo.com/v1/Account/{AuthID}/Message/?limit=20&offset=0
```
### Rent a phone number
```bash
# Search available
GET https://api.plivo.com/v1/Account/{AuthID}/PhoneNumber/?country_iso=US&type=local
# Rent
POST https://api.plivo.com/v1/Account/{AuthID}/PhoneNumber/{NumberID}/
```
### Configure inbound message webhook on an Application
```bash
POST https://api.plivo.com/v1/Account/{AuthID}/Application/
{
"app_name": "SMS Receiver",
"message_url": "https://your-app.com/sms-webhook",
"message_method": "POST"
}
```
Then assign the application to the phone number.
### A2P 10DLC registration (US)
Configured through console UI under Compliance. Programmatic registration available for high-volume customers via dedicated API endpoints (request access).
## API Pattern
REST + JSON. Pagination via `limit` + `offset`. Webhook callbacks for inbound messages and delivery status (configured per-application).
## Pricing
- US 10DLC SMS: $0.0055/msg (typically lower than Twilio)
- US toll-free SMS: $0.0055/msg
- US short code SMS: similar + monthly lease
- MMS: ~$0.02
- Carrier surcharges layered on top
- Phone number rental: ~$0.80/mo local, ~$1/mo toll-free
Plivo typically prices 520% under Twilio at the per-send level. Less of an ecosystem advantage but real cost savings at high volume.
## Rate Limits
- Default: 1 msg/sec
- Powerpacks scale throughput based on number pool size and A2P trust
- Short codes: 100+ msg/sec
## When to Use
- Custom SMS build, want a Twilio-like API with lower cost
- High-volume sending where the per-message delta matters
- Want bulk sending with sticky sender via Powerpack
- B2B SaaS embedding SMS or transactional/auth at scale
## When NOT to Use
- DTC ecom marketing flows — Klaviyo, Postscript, Attentive
- Ecosystem matters more than price — Twilio's broader product surface (Voice, Studio, SendGrid, Segment, etc.) wins
- Need mature WhatsApp Business — Twilio has deeper WhatsApp tooling
## Relevant Skills
- sms
- onboarding (post-signup notifications)
+126
View File
@@ -0,0 +1,126 @@
# Postscript
SMS marketing platform built for Shopify direct-to-consumer brands. Deepest Shopify integration of any SMS platform.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API |
| MCP | - | Not available |
| CLI | - | None |
| SDK | - | Use API directly |
## Authentication
- **Type**: API Key
- **Header**: `Authorization: Bearer {api_key}` or `X-Postscript-Api-Key: {api_key}`
- **Get key**: Postscript dashboard → Settings → API
- **Note**: Keys are scoped per shop
## Common Agent Operations
### Search subscribers
```bash
GET https://api.postscript.io/api/v2/subscribers?phone_number=%2B15551234567
```
### Create subscriber (opt-in)
```bash
POST https://api.postscript.io/api/v2/subscribers
{
"phone_number": "+15551234567",
"email": "user@example.com",
"first_name": "Jane",
"subscribed_at": "2026-05-15T10:00:00Z",
"opt_in_source": "checkout_keyword"
}
```
Must include valid opt-in metadata for TCPA compliance.
### Unsubscribe
```bash
DELETE https://api.postscript.io/api/v2/subscribers/{subscriberId}/subscription
```
### List keywords (e.g., JOIN, SAVE)
```bash
GET https://api.postscript.io/api/v2/keywords
```
### Send transactional message
```bash
POST https://api.postscript.io/api/v2/transactional/sms
{
"phone_number": "+15551234567",
"message": "Your order #1234 shipped. Track at https://..."
}
```
Transactional requires separate enablement; counts under transactional consent.
### List campaigns
```bash
GET https://api.postscript.io/api/v2/campaigns
```
### List automations (flows)
```bash
GET https://api.postscript.io/api/v2/automations
```
### Webhooks
Subscribe to events: `subscriber.created`, `subscriber.unsubscribed`, `message.delivered`, `message.failed`, `conversion.attributed`.
## API Pattern
REST + JSON. Standard `Bearer` auth. Pagination via `cursor` and `limit` (max 100).
## Key Features
- Native Shopify integration: purchases, abandoned carts, browse, product catalog auto-sync
- Strong abandoned cart and browse abandonment automation builders
- AI Reply (auto-reply trained on brand voice)
- Conversational SMS / live agent for two-way
- Opt-in tools: popups, keyword opt-in, checkout opt-in
- A2P 10DLC managed in-platform
- Reporting: revenue, click-through, conversion attribution, opt-out rate
## Pricing
- Plans: Starter (free, 1K msgs/mo), Growth ($100+/mo), Professional, Enterprise
- Per-send pricing on top: ~$0.015 SMS, ~$0.04 MMS
- Annual contracts standard at Growth+
- Pricing scales meaningfully past 50K subscribers
## When to Use
- Shopify DTC brand wanting SMS-specific tooling (vs combined email/SMS)
- Need deep abandoned cart, browse abandonment, post-purchase automation out of the box
- Want managed A2P 10DLC + compliance tools
- Mid-size DTC brand (10K500K SMS subscribers)
## When NOT to Use
- Non-Shopify ecom — integration is shallow
- Already on Klaviyo for email and SMS is secondary — Klaviyo SMS is simpler
- Mid-market/enterprise needing concierge support — Attentive
- Custom platform or B2B SaaS — Twilio
## Relevant Skills
- sms
- emails (run alongside via Klaviyo or similar)
- churn-prevention (win-back flows)
- onboarding (post-purchase activation)
+152
View File
@@ -0,0 +1,152 @@
# Twilio
Programmable communications platform: SMS, MMS, WhatsApp, voice, email (via SendGrid). The default low-level API for custom SMS builds, transactional messaging, and B2B SaaS embedding SMS into products.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API, well-documented, mature |
| MCP | - | Not available natively (community wrappers exist) |
| CLI | ✓ | Official `twilio` CLI |
| SDK | ✓ | Node, Python, Ruby, PHP, Java, Go, C#, .NET |
## Authentication
- **Type**: Basic auth with Account SID + Auth Token (or API Key SID + Secret)
- **Header**: `Authorization: Basic base64(AccountSID:AuthToken)`
- **Get credentials**: https://console.twilio.com → Account Info
- **Recommendation**: Use API Keys (revocable, scoped) for production rather than the master Auth Token
## Common Agent Operations
### Send SMS
```bash
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json
To=+15551234567
From=+15559876543
Body=Hello from Twilio
```
### Send MMS
```bash
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json
To=+15551234567
From=+15559876543
Body=Check this out
MediaUrl=https://example.com/image.jpg
```
### List messages
```bash
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json?PageSize=50
```
### Get message status
```bash
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}.json
```
Status values: `queued`, `sending`, `sent`, `delivered`, `undelivered`, `failed`.
### List phone numbers
```bash
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers.json
```
### Buy a phone number
```bash
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers.json
PhoneNumber=+15559876543
```
### Configure webhook for inbound messages
```bash
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{Sid}.json
SmsUrl=https://your-app.com/sms-webhook
SmsMethod=POST
```
Inbound SMS POSTs to the webhook with: `From`, `To`, `Body`, `MessageSid`, `NumMedia`, etc.
### A2P 10DLC registration (US)
```bash
# Create brand
POST https://messaging.twilio.com/v1/a2p/BrandRegistrations
CustomerProfileBundleSid=...
A2PProfileBundleSid=...
# Create campaign
POST https://messaging.twilio.com/v1/Services/{ServiceSid}/Compliance/Usa2p
BrandRegistrationSid=...
Description=...
MessageSamples[]=Sample text 1
MessageFlow=Opt-in flow description
UseCase=MARKETING
```
Most workflows are clearer in the Console UI. Programmatic registration is for high-scale platforms managing many brands.
## API Pattern
REST + form-encoded request bodies (not JSON for most endpoints). Resources nested under Account: `/Accounts/{AccountSid}/...`. Pagination via `Page`, `PageSize`, `NextPageUri`.
## Key Concepts
- **Messaging Service**: virtual sender container; load-balances across multiple numbers, handles A2P registration grouping
- **Sticky Sender**: same recipient always receives from the same number within a service
- **Geo-Match**: route to a number matching the recipient's country/region
- **Status Callback**: webhook fired on every delivery state change
- **Carrier Lookup**: pre-send check for line type (mobile, landline, VoIP) — costs ~$0.005
## Pricing
- US 10DLC SMS: $0.0079/msg
- US toll-free SMS: $0.0079/msg
- US short code SMS: $0.0079/msg + $1,000/mo lease
- MMS: ~$0.02
- Carrier surcharges (~$0.005 US 10DLC)
- A2P 10DLC: ~$15 brand + $10/mo per campaign
- Phone number rental: $1.15/mo (10DLC) to $2/mo (toll-free)
## Rate Limits
- Default: 1 msg/sec on long codes (10DLC trust score raises this to 4100+)
- Short code: 100+ msg/sec
- Messaging Services throttle automatically
- Carrier filtering applies above contracted throughput
## When to Use
- Building custom SMS flows into a product (B2B SaaS, mobile apps)
- Transactional and auth SMS (OTPs, alerts, notifications)
- Multi-channel orchestration (SMS + voice + WhatsApp)
- High-volume programmable messaging
- When you need full control and minimal abstraction
- Backing store for Customer.io / Segment / other orchestration layers
## When NOT to Use
- DTC ecom marketing flows — use Klaviyo, Postscript, or Attentive (better tooling for cart recovery, segments, A/B tests)
- If you don't want to handle compliance plumbing — Twilio gives you primitives, not policy
- Marketing UI for non-technical users — there isn't one
## Relevant Skills
- sms
- emails (transactional sister product via SendGrid)
- onboarding (post-signup SMS milestones)