plugins/twilio-developer-kit/skills/twilio/twilio-customer-support-architect/SKILL.md
Planning skill for building customer service and support systems. Qualifies the developer's needs across the support ladder (self-service → AI agents → contact center), channel mix, and scale to recommend the right Twilio architecture. Handles both "build me a call center" and "add an IVR to my existing support line."
npx skillsauth add openai/plugins twilio-customer-support-architectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a Customer Support Architecture Advisor. When a developer describes anything related to handling customer inquiries — inbound calls, support chat, IVR systems, call routing, agent desktops, or contact center infrastructure — use this framework to reason about what they need.
Trigger on any of these signals:
High-level request (e.g., "I need to build a customer support system"): → DISCOVERY MODE. Walk through Steps 2-4. This is a big architectural decision.
Mid-level request (e.g., "I need an IVR with call routing to different departments"):
→ VALIDATION MODE. They've described a pattern — validate the approach, recommend Studio vs custom TwiML, check if they need TaskRouter or simple <Dial> routing.
Specific implementation request (e.g., "Create a TwiML Bin that plays a greeting and gathers digits"): → BUILD MODE. Proceed with the relevant Product skill. Quick check: Are they building a one-off or something that should scale? If scale, nudge toward Studio or TaskRouter rather than hand-coded TwiML.
Inbound, outbound, or both?
Which channels do customers use to reach you?
What's your call/message volume?
<Dial> may sufficeDo you need self-service automation?
<Gather> + <Say>twilio-ai-agent-architect Planner skillDo you need agent tooling (desktop, CRM integration)?
What happens during transfers and holds?
<Dial> to another numberDeveloper says: "I want an automated phone menu / IVR."
Architecture: TwiML (<Gather>, <Say>, <Play>) or Twilio Studio
Key decision — Studio vs Custom TwiML:
twilio-voice-twimlDeveloper says: "I want AI to handle the easy questions before routing to humans."
Architecture: Level 1 + ConversationRelay (voice AI) or LLM-powered chat
→ Hand off to twilio-ai-agent-architect for the AI layer design. This Planner skill handles the surrounding infrastructure (routing, recording, human fallback).
Integration point: The AI agent's escalation payload feeds into Level 3's TaskRouter.
Developer says: "I need agent routing, queues, transfers, recording, and monitoring." Architecture: TaskRouter + Conference + Recordings + (optionally) Flex TaskRouter (the core of any Twilio contact center):
Conference (for call orchestration):
<Dial> — this enables warm transfer, hold, coachingRecordings:
<Dial record="record-from-answer-dual"> for dual-channel (agent on one channel, caller on other)<Record> verb is NOT for recording calls — it's voicemail-style. This is the #1 mistake developers make.Skills to install: twilio-taskrouter-routing, twilio-conference-calls, twilio-call-recordings
Developer says: "I want AI analytics, real-time coaching, and customer context for my agents."
→ Hand off to twilio-agent-augmentation-architect for the intelligence layer. This Planner skill provides the contact center foundation that augmentation builds on.
<Pay> verb for payment. If recording during payment, pause recording with Recordings REST API. PCI Mode is IRREVERSIBLE and account-wide — create a separate sub-account if needed.TWILIO_EDGE for explicit region control. Configure voiceFallbackUrl and smsFallbackUrl on phone numbers for HA.twilio-agent-augmentation-architect for intelligence layer.{CallSid}-{CallStatus} composite key for idempotent processing. Implement thin-receiver pattern — receive → queue → 200 OK immediately → async processing. Thundering herd: timeouts trigger retries, doubling/tripling callback volume.HAS operator on non-array attributes silently matches nothing (no error — tasks sit in queue forever)available flag updates return 200 OK but may not change the valueAfter qualifying the developer, recommend:
Recommended Architecture: [Level 1-4 description]
Product Skills to Install:
- twilio-voice-twiml (always for voice support)
- twilio-voice-outbound-calls (if outbound calling needed)
- twilio-sms-send-message (if SMS support channel)
- twilio-messaging-webhooks (if inbound SMS)
- twilio-email-send (if email channel with Twilio Account SID + Auth Token) or twilio-sendgrid-email-send (if email channel with SendGrid API key)
- twilio-conversations-api (if omnichannel threading)
- twilio-taskrouter-routing (if multi-agent — Level 3+)
- twilio-conference-calls (if transfers/coaching — Level 3+)
- twilio-call-recordings (if recording needed — Level 3+)
Cross-reference Planner Skills:
- twilio-ai-agent-architect (if Level 2 — AI self-service)
- twilio-agent-augmentation-architect (if Level 4 — intelligent CC)
Setup Skills:
- twilio-account-setup
- twilio-iam-auth-setup
- twilio-numbers-senders
- twilio-webhook-architecture
Guardrail Skills:
- twilio-security-hardening (always)
- twilio-reliability-patterns (especially for high-volume — 429 backoff)
- twilio-debugging-observability (Voice Insights for call quality)
development
Use when the user wants to spin up / create / launch / provision a DigitalOcean droplet (or "a remote dev box on DO") and connect to it from Codex as a remote SSH workspace.
data-ai
Search through Microsoft Teams chats or channels, triage unread or recent activity, draft follow-ups, and manage Planner tasks through connected Teams data.
tools
Motion / animation context for the `use_figma` MCP tool — animating Figma nodes via manual keyframes, animation styles, easing, and timeline duration. Load alongside figma-use whenever a task involves adding, editing, or inspecting animation on a node.
development
SwiftUI ↔ Figma translation. Use whenever the user mentions Swift, SwiftUI, iOS, iPhone, or iPad — in EITHER direction — translating a Figma design into SwiftUI (design → code), or pushing SwiftUI views / screens / tokens back into a Figma file (code → design). Triggers on phrases like 'implement this Figma design in SwiftUI', 'build this screen in Swift', 'push this SwiftUI view to Figma', 'mirror my Swift code in a Figma file', or whenever a Figma URL appears alongside `.swift` files / an `.xcodeproj`. Routes to a direction-specific reference doc; loads alongside `figma-use` for the code → design path.