Design compliant SMS marketing programs: opt-in capture, welcome/cart-recovery/promo flows, campaign cadence, TCPA and carrier guardrails. Triggers when someone asks about text-message marketing, SMS campaigns, cart recovery texts, opt-ins, or messaging compliance.
./install.sh sms-marketingname: "sms_marketing" description: "Design compliant SMS marketing programs: opt-in capture, welcome/cart-recovery/promo flows, campaign cadence, TCPA and carrier guardrails. Triggers when someone asks about text-message marketing, SMS campaigns, cart recovery texts, opt-ins, or messaging compliance."
Plan and write SMS marketing programs that convert and stay legal. Covers opt-in capture methods, the standard flows (welcome, cart recovery, post-purchase, promo/drop), campaign cadence, and the TCPA/FCC/carrier compliance guardrails that apply to US texting programs. This is practical education, not legal advice. For high-volume or gray-area sends, the agent routes to counsel.
references/optin_capture.md). Record the consent evidence: phone number, timestamp, source, and the exact language shown. Never send marketing texts without documented prior express written consent.references/flows.md). Keep each text under 160 GSM characters when possible, name the brand in every message, and make the call to action a single link or keyword.python3 bin/sms_check.py draft.json (see Tooling below). Fix every finding before the draft is approved. Rules summary in Operating Rules; full rules in references/compliance.md.bin/sms_check.py — pre-flight compliance checker. Takes a JSON draft and reports violations.
Draft format:
json
{
"brand": "Acme Outdoor",
"tcr_registered": true,
"disclosed_cadence_per_month": 4,
"optin": {"method": "checkout checkbox", "timestamp": "2026-10-09T13:40:00-05:00", "language": "Get order updates and 4 deals/month from Acme Outdoor. Reply STOP to opt out. Msg&data rates may apply."},
"messages": [
{"text": "Acme Outdoor: flash sale ends tonight, 20% off tents: example.com/sale Reply STOP to opt out", "send_time": "2026-10-10T14:00:00-05:00", "recipient_tz_offset": -5}
]
}
It checks: STOP keyword present, HELP/INFO availability on first message, brand identification, send time inside 8 AM to 9 PM recipient local time, no public link shorteners, no SHAFT content without approval flag, content matches a registered use case, frequency within disclosed cadence, and opt-in record completeness. Exit 0 means clean; non-zero prints each finding.
Quick usage:
bash
python3 bin/sms_check.py ~/workspace/skill-production/scratch/sms-draft-example.json
bin/sms_check.py with zero findings, or the findings are documented as accepted risks with the rationale written down.publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
No ratings yet — be the first to rate it.