twilio-customer-support-architect — Codex skill: how to install
Architects customer support setups on Twilio. It evaluates channel mix, call volume, and automation needs to recommend the right stack from TwiML to Flex.
npx skills add openai/plugins --skill twilio-customer-support-architect -a codexWhat twilio-customer-support-architect does
This skill guides the architectural design of customer support systems. It detects the request depth and selects an operating mode: discovery for high-level goals or validation for specific architectural patterns.
The workflow qualifies requirements using daily volume and communication channels. For operations under 50 calls daily, simple TwiML routing is enough. Higher volumes trigger recommendations for TaskRouter workflows and worker queues. For complex multi-step menus, it advises using Twilio Studio instead of custom state machines.
It flags common telephony mistakes before you write code. Using the <Record> verb turns a live conversation into a voicemail recording. The skill corrects this by enforcing dual-channel <Dial> parameters or the Recordings REST API. It also mandates the Conference API whenever you need warm transfers or supervisor coaching.
What it helps with
- choose between Twilio Studio and custom TwiML for IVR flows
- structure TaskRouter workflows, task queues, and worker skills
- design warm transfers and supervisor coaching via Conference API
- configure dual-channel call recording instead of voicemail verbs
Example prompts for the agent
- I need to design an inbound call center with department routing and call recording.
- Should I use Twilio Studio or hand-coded TwiML for a multi-step phone menu?
- How do I set up warm transfers and supervisor whisper coaching in Twilio?
How to install twilio-customer-support-architect
1Skills CLI (Vercel)
npx skills add openai/plugins --skill twilio-customer-support-architect -a codex2Manually: put the files in place
.agents/skills/twilio-customer-support-architect/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill twilio-customer-support-architect -a claude-code2Manually: put the files in place
~/.claude/skills/twilio-customer-support-architect/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/twilio-customer-support-architect/
Manually: put the files in place
.cursor/skills/twilio-customer-support-architect/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins twilio-customer-support-architect2Manually: put the files in place
.github/skills/twilio-customer-support-architect/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/twilio-developer-kit/skills/twilio-customer-support-architectManually: put the files in place
.devin/skills/twilio-customer-support-architect/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them
Questions about twilio-customer-support-architect
How to install twilio-customer-support-architect in Codex?
Run npx skills add openai/plugins --skill twilio-customer-support-architect -a codex. The skill file will be placed at .agents/skills/twilio-customer-support-architect/SKILL.md.
What does twilio-customer-support-architect do?
It acts as an architectural advisor for customer service projects. The skill assesses call volume, channels, and agent requirements to recommend Twilio services like Studio, TaskRouter, or Flex.
Why does the skill advise against using the <Record> verb for contact centers?
The <Record> verb acts like voicemail and does not record active conversations properly. For QA and dual-channel agent-caller audio, the skill guides you to use <Dial record="record-from-answer-dual"> or the Recordings REST API.
Source text
SKILL.md · MIT
---
name: twilio-customer-support-architect
description: >
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."
tier: discover
---
## Role
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.
## When This Skill Activates
Trigger on any of these signals:
- "Contact center," "call center," "support line," "help desk"
- "IVR," "phone tree," "call routing," "call queue"
- "Agent desktop," "Flex," "agent routing"
- "Inbound calls," "customer service," "support chat"
- "Warm transfer," "call recording," "whisper," "barge," "coaching"
- "Self-service," "automated support"
- Any request to handle incoming customer communications at scale
## Step 1: Detect Specificity and Decide Your Mode
**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.
## Step 2: Qualify Intent — The 6 Essential Questions
1. **Inbound, outbound, or both?**
- Inbound only (customers calling you): Focus on IVR + routing + agent tools
- Outbound only (you calling customers): Focus on campaign dialing + compliance
- Both: Full contact center — likely needs TaskRouter + Flex
2. **Which channels do customers use to reach you?**
- Voice only → TwiML + routing
- Voice + SMS → Add messaging handling, possibly Conversations API for threading
- Voice + SMS + WhatsApp + Email + Chat → Omnichannel — Conversations API + Flex
- Reference the Channel Mix Matrix: Voice and Email dominate Customer Service & Support
3. **What's your call/message volume?**
- Low (< 50/day): Simple TwiML + `<Dial>` may suffice
- Medium (50-500/day): TaskRouter for fair distribution + basic reporting
- High (500+/day): Full TaskRouter + Flex + real-time monitoring + queue management
4. **Do you need self-service automation?**
- Simple menu ("Press 1 for billing"): TwiML `<Gather>` + `<Say>`
- Complex multi-step flow: Twilio Studio (no-code, recommended by SEs over custom state machines)
- AI-powered self-service: → Hand off to `twilio-ai-agent-architect` Planner skill
5. **Do you need agent tooling (desktop, CRM integration)?**
- No (agents use their own phone) → TwiML + TaskRouter, no Flex needed
- Yes (browser-based agent desktop) → Twilio Flex
- Yes + CRM integration → Flex + Salesforce/HubSpot/Zendesk connector
6. **What happens during transfers and holds?**
- Simple cold transfer → `<Dial>` to another number
- Warm transfer (introduce caller to next agent) → Conference API
- Coaching/whisper/barge (supervisor listens, coaches agent) → Conference with participant modes
## Step 3: Assess Sophistication — The Support Ladder
### Level 1: Self-Service Automation
**Developer says:** "I want an automated phone menu / IVR."
**Architecture:** TwiML (`<Gather>`, `<Say>`, `<Play>`) or Twilio Studio
**Key decision — Studio vs Custom TwiML:**
- **Use Studio when:** Non-developers need to modify flows. Multi-step logic with branching. Rapid prototyping. SEs strongly recommend this over hand-coded state machines.
- **Use custom TwiML when:** Developer team wants full code control. Flows are simple (< 3 levels). Need dynamic behavior from external APIs.
- **Use TwiML Bins when:** Static responses only. No logic. Fastest to deploy.
**Skills to install:** `twilio-voice-twiml`
### Level 2: AI-Powered Self-Service
**Developer 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.
### Level 3: Contact Center
**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):
- Workers = your agents (with attributes: skills, languages, department)
- Task Queues = logical groups (billing, technical, VIP)
- Workflows = routing rules (if skill=billing AND language=es, route to Spanish billing queue)
- Reservations = agent accepts/rejects the task
**Conference** (for call orchestration):
- Every call should be a Conference, not a direct `<Dial>` — this enables warm transfer, hold, coaching
- Hold vs Mute: Hold plays music and the held party can't hear. Mute silences one party but they still hear. Critical distinction.
- Coaching: Supervisor joins as coach — hears both sides, can speak to agent only. Coach audio is NOT in the conference recording.
**Recordings:**
- Record every call for QA: `<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.
- For mid-call control (pause during credit card), use the Recordings REST API
**Skills to install:** `twilio-taskrouter-routing`, `twilio-conference-calls`, `twilio-call-recordings`
### Level 4: Intelligent Contact Center
**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.
## Step 4: Qualify Context
### Existing Infrastructure
- **Greenfield (building from scratch):** Start with Studio (self-service) + TaskRouter (routing) + Conference (transfers). Add Flex if browser-based desktop needed.
- **Existing phone system / PBX:** Consider Elastic SIP Trunking to connect existing infrastructure to Twilio. Or migrate incrementally — route overflow to Twilio first.
- **Existing Flex deployment:** Focus on what to add (TaskRouter workflows, Conference patterns, recordings) rather than rebuilding.
### CRM Integration
- **Salesforce:** Flex has native Salesforce connector. Alternatively, use Studio + Twilio Functions to push/pull data.
- **HubSpot:** Webhook-based integration via Functions. No native connector.
- **Zendesk:** Flex plugin available. Ticket creation on call completion.
- **ServiceNow:** REST API integration via Functions. Common in enterprise.
- 3-5 questions determine integration success — qualify the CRM early.
### Regulatory & Compliance Context
- **TCPA:** Quiet hours (8am-9pm recipient local time). Prior express consent required for autodialed/prerecorded calls. Applies to outbound contact center campaigns.
- **PCI DSS:** Never record credit card numbers. Use `<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.
- **HIPAA:** Requires BAA with Twilio. Recording encryption mandatory. Transcript access restrictions. API key rotation. PHI in IVR prompts must be minimized.
- **FDCPA / Regulation F (Debt Collection):** Max 7 call attempts per debt per 7-day rolling window. Mini-Miranda disclosure required on every communication. Voicemail must include disclosure or use limited-content message. SMS requires separate consent from voice consent. Developer must track all this — Twilio does not enforce.
- **GDPR:** EU call recording requires explicit consent or legitimate interest basis. Right to deletion applies to recordings and transcripts.
- **SHAKEN/STIR:** Three attestation levels (A/B/C). Only A produces green checkmark on caller ID. Affects answer rates for outbound. E.164 formatting required.
### Tech Stack Considerations
- **Existing CCaaS (Genesys, Five9, NICE):** Webhook-based integration. Consider incremental migration — handle overflow or specific queues via Twilio first.
- **SIP Infrastructure:** Elastic SIP Trunking for PBX interconnect. TLS and SRTP configuration. E.164 dialplan requirements.
- **Serverless constraints:** Twilio Functions: 30 concurrent executions/service, 10-second timeout, 256 MB memory. Status callbacks multiply load (50 concurrent calls × 6 callbacks = 300 invocations). Use thin-receiver pattern or external compute for high-volume.
- **Multi-region:** Twilio processes calls in closest region by default. Use `TWILIO_EDGE` for explicit region control. Configure `voiceFallbackUrl` and `smsFallbackUrl` on phone numbers for HA.
### Scale & Architecture
- **< 10 agents:** TaskRouter with simple workflow, single queue. No Flex needed — agents can use phone.
- **10-50 agents:** TaskRouter with skills-based routing, multiple queues. Flex recommended for desktop.
- **50+ agents:** Full Flex deployment, multi-skill workflows, real-time queue monitoring, supervisor tools. Consider `twilio-agent-augmentation-architect` for intelligence layer.
- **Status callback resilience at scale:** Use `{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.
## Decision Rules
### Studio vs Functions vs Custom Code
- **Use Studio when:** Non-developers need to modify IVR flows. Multi-step branching logic with conditional routing. Rapid prototyping or frequent flow changes. You want visual debugging and versioning. SEs recommend this for most IVR use cases.
- **Use Functions when:** You need tight programmatic control over every call state transition. Heavy external API integration mid-flow (CRM lookups, payment processing). Sub-second latency requirements where Studio's orchestration overhead matters. Your team is developer-heavy and prefers code over visual tools.
- **Use TaskRouter (not custom code) for routing:** Skills-based matching, queue management, reservation lifecycle. Always use for multi-agent setups. Common mistake: developers reinvent TaskRouter in Node.js — don't.
- **Functions scaling constraint:** 30 concurrent executions per service, 10-second timeout. At 50+ simultaneous calls with status callbacks (6 per call = 300 invocations), you exceed the limit. Use the thin-receiver pattern: receive callback → write to queue → return 200 immediately → process asynchronously.
### Conference Patterns
- Every multi-agent call should use Conference, not direct Dial
- Warm transfer: Put caller on hold in Conference → dial new agent into same Conference → brief → drop original agent
- Gotcha: Conference requires ≥2 participants to exist. API state can be misleading for single-participant conferences.
- Gotcha: Coach audio is NOT captured in conference recordings. Record separately if needed.
### TaskRouter Gotchas
- Hyphens in worker attribute names break expressions silently
- `HAS` operator on non-array attributes silently matches nothing (no error — tasks sit in queue forever)
- Reservation timeout → worker moves to offline Activity → fewer available workers → deeper backlog → positive feedback loop (cascade failure)
- Activity `available` flag updates return 200 OK but may not change the value
## Output Format
After 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)
```
© Twilio · MIT · openai/plugins