Orc-estrating an Optimized Workflow for Quickly Prototyping on Twilio with Claude Code Plugins

April 13, 2026
Written by
Reviewed by
Paul Kamp
Twilion

Building production-ready Twilio apps often involves a level of complexity that seasoned developers recognize.

Man with long hair and beard, wearing medieval attire, facepalming in frustration.

Consider what goes into shipping something real: TwiMLTwi lio’s M arkup L anguage – yes, consistent use of verbs and nouns, but still, a new grammar to internalize. Webhooks need signature validation for security. Twilio's APIs are well-designed (if we do say so ourselves!) and our docs are thorough, but with thousands of parameters - there's a lot of territory to cover. You're learning more than an API; you're learning an ecosystem with its own patterns, edge cases, and best practices accumulated over more than a decade of production use across dozens of use cases. This isn't unique to Twilio… it's the reality of building anything substantial.

What if you had a solid crew of homies there to help shoulder the burden? What if I told you: “you do”?

In this post, I’ll show you how to quickly prototype Twilio applications using Anthropic’s Claude Code plugins. I’ll use Twilio Voice as my primary example, but the patterns here hold for Messaging, Sync, Verify, and most all of Twilio’s other products. The Claude Code plugin I demonstrate allows you to quickly prototype so you can decide whether to plow ahead.

Sound good? Read on, intrepid adventurer!

Claude Code + Opus 4.6: A tipping-point for agentic programming

A character says, I was there Gandalf, 3000 years ago, with a serious expression in a dimly lit room.

My direct experience – as someone who's been mucking around in the LLM space for a few years – is that 2025 was a tipping point. In my opinion, 2025 is when the practice caught up with the hype of LLM-powered code generation. Specifically, based on my experiences with our friends at Anthropic’s Opus 4.6 model and Claude Code in particular, I believe the future is here.

And it's not just me. According to Boris Cherny, the lead developer for Claude Code, during a recent stretch 100% of his contributions to the codebase were written by Claude. A senior engineer at Google posted on the artist formerly known as Twitter that they gave Claude Code a description of a problem and it generated in an hour what it took them a year to build.

Those are certainly extreme examples, but they generally track with my experience. Things that used to take weeks now take hours, and things that used to take hours now take seconds. There is no better time than now to get in on the ground floor of the AI-assisted coding revolution, and no better partner than Twilio to be your guide through the mines of Moria.

Setting out from Bag End: installing the plugin

Dark, eerie scene of two figures emerging through large, old wooden doors in a dilapidated setting.

So let’s talk about the ground floor: install the plugin, and we’ll get on with our journey to a Twilio app. Start by running this command:

claude plugin add github:wittyreference/twilio-claude-plugin

One marketplace addition, one install command. Your project now has:

  • Six specialized subagents
  • Sixty-two domain-specific skill files
  • Fifteen slash commands for common operations
  • Nine automated Claude hooks that execute bash scripts for quality enforcement

The Claude plugin brings you a Twilio Co-pilot to any project. No restructuring required - but you will need a few prerequisites; more on those in a second.

Read more about how plugins extend Claude Code with skills, agents, hooks, and MCP servers, and find documentation on marketplace management. The best part about this marketplace is everything is free and open source!
A knight in armor with long hair stands with a determined look, with an army and dark sky in the background.

Required:

  • Claude Code — The CLI tool this runs on
  • Node.js 20-22 — Twilio Serverless Toolkit doesn't currently support beyond 22. In our testing, >22 seems to work fine (alarming terminal messages aside), but it hasn't been fully certified. I use fnm to manage node versions and avoid terminal warnings, YMMV.
  • Twilio Account — Account SID and Auth Token. You can sign up for free, here.
  • Twilio CLI with Serverless plugin — twilio plugins:install @twilio-labs/plugin-serverless
  • A Twilio Phone Number — For calls and SMS. See how to find and purchase one, here.

Environment Variables (you will add to your project's .env once created):

TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=your_auth_token
TWILIO_PHONE_NUMBER=+1234567890

Permissions — Some commands need explicit permission:

/permissions  # Grant WebSearch, WebFetch, Bash as needed

You can also tactically grant permissions on a case-by-case basis.

Your Fellowship Awaits

Close-up of a weathered warrior's face with scars and intense expression.

Enter my twilio-claude-plugin.

Ask Claude to tell you about all the fun things the plugin called twilio-claude-plugin (that you’ve already installed) can do for you. I’ll give you a summary below of what’s available to you in the context of your project.

The twilio-claude-plugin assembles a team of specialized AI subagents to help you with your Twilio app build. Each subagent has a distinct role, each contributing to the quest.


Agent Role Fellowship Member
Architect System design, pattern selection Gandalf, sees the whole journey, picks the path, calls in the eagles when things get hairy
Spec Technical specification writing Elrond up in this piece, establishes the contract, forges requirements from the shards of Narsil
Test-Gen TDD Red Phase, writes failing tests Legolas, sharp-eyed, basically immortal, always vigilant, never tiring
Dev TDD Green Phase, makes tests pass Gimli, burly boi who does the heavy lifting, ready to be tossed at whatever problems may arise
Review Code review with approval authority Aragorn, the final authority before merge
Docs Documentation updates Bilbo and Frodo, the scribes who record the journey

The key insight? You, as the leader of this intrepid band, don't have to be all of these. The Fellowship exists.

We've all played each of these roles simultaneously—architect in the morning, dev at lunch, reviewer before the meeting, docs writer after someone asks a question. It's exhausting, and we all prefer certain roles. Now? You can simply orchestrate.

Short cuts make long delays: the difference between slop and one-shot success

An orc exclaims about rapidly prototyping Twilio apps in a movie scene.

Here's where some people go wrong with AI-assisted development: they type a couple sentences into a chat model, press return, and wonder why the output needs multiple rounds of revision. That’s what I aimed to avoid with twilio-claude-plugin.

The skeleton key to unlocking real productivity gains comes from preparation. Having a defined workflow. A modular approach to getting things done.

The difference between slop and a one-shot banger that works on the first try is intentional, deliberate construction of the workflow and artifacts before the subagents start working.

Here is the workflow that has been very successful for a number of us here at Twilio:

Flowchart showing Claude Code optimized workflow with brainstorming, planning, architecting, and deployment stages.

Let me break that down.

Step 1: Brainstorm

Start with a brainstorming template ( here's mines, feel free to use it and at the bottom of the file add a little bit about your App idea so Claude knows where to start with brainstorming). Based on it, Claude asks you one question at a time about a new feature. When you've exhausted the topic, it consolidates the conversation into a structured document.

The brainstorm template asks the following. You don’t need answers to all the questions if you don’t have them:

  • Problem Statement: What are you trying to solve?
  • Target Users: Who will use this?
  • Key Features: What are the must-haves?
  • Twilio Services: Which APIs fit?
  • Integration Points: What connects to what?
  • Success Criteria: How do you know it works?

By the time you're done, you have a comprehensive plan before any code gets written. This interaction with Claude in plan mode is the difference between "build me a voice app" and "here are the seven specific components we need, the order in which they should be built, and the test criteria for each one."

Step 2: Developing the execution plan

Claude should switch straight into plan mode on its own (if it doesn't, shift-tab to cycle over to plan mode). This is where Claude decomposes the problem into concrete steps—a plan that can be executed by subagents with defined roles, scopes, output formats, and to-do lists.

Step 3: Hand to Architect

Once you have a solid plan, reviewed and signed off on by the expert (you!), Claude will pass it to the Architect subagent. The Architect reviews the design, validates the approach, ensures it follows project patterns, and kicks off the subagent pipeline.

From there, it flows: ArchitectSpecTest-GenDevReviewDocs

Each agent handles its specialty. Tests come before implementation ( TDD). Code gets reviewed before merge. Documentation updates automatically.

The human in this process? You! You made the decisions during brainstorming. You approved the plan. Now? You watch the Fellowship work.

Next, I’ll let you know what you’ll get with the plugin…

Gifts of Galadriel: what's in the box

A man with wet hair and face sleeping on a pile of wooden sticks.

Subagents (Claude-invoked)

Claude automatically selects these based on your task. You don't need to know the commands—describe what you want, and the right agent activates.

Slash commands (user-invoked)

Some operations you may want to run deliberately:


Command Purpose
/deploy \[env] Deploy to Twilio Serverless
/test \[scope] Run test suite with coverage
/twilio-docs \[topic] Search Twilio documentation
/twilio-logs Fetch and analyze debugger logs
/commit \[scope] Commit with pre-commit checks and conventional messages
/context \[action] Context optimization - summarize, load, or analyze context
/preflight Environment verification — CLI profile, env vars, auth validity
/push Push to remote with test verification and branch tracking
/validate \[type] \[SID] Deep validation of individual Twilio resources
/wrap-up \[scope] End-of-session doc updates — learnings, CLAUDE.md, todo

Skills (knowledge files)

Domain knowledge that loads automatically when relevant. Over 30 skills, including:

Twilio APIs:

  • voice — TwiML verbs, webhook parameters, call handling
  • messaging — SMS/MMS, status callbacks, media
  • verify — OTP channels, rate limits, error codes
  • sync — Documents, Lists, Maps, Streams
  • taskrouter — Skills-based routing, task assignment
  • conversation-relay — WebSocket protocol for real-time voice AI
  • messaging-services — Sender pools, A2P 10DLC compliance
  • and more!

Voice & Media:

  • conference — Call orchestration, hold/mute, warm transfers, coaching/whisper/barge
  • media-streams — WebSocket audio processing, custom STT/TTS,
  • real-time-transcription — Live transcription via , Voice Intelligence
  • voice-insights — Call quality diagnostics, "what happened on this call" auditing
  • and more!

Reference:

  • twilio-cli — CLI and Serverless Toolkit command reference
  • twilio-invariants — Proven debugging gotchas that cause silent failures
  • voice-use-case-map — Product mapping for 10 voice use cases
  • deep-validation — Validation patterns beyond HTTP 200
  • tdd-workflow — TDD Red/Green/Refactor pipeline patterns
  • and more!

Working on phone verification? The Verify skill loads automatically. Building a voice IVR? Voice context is already there. You don't need to memorize Twilio's geography. The maps exist.

Fool of a Took: hooks to save you from yourself

Close-up of a battle-worn mythical creature facing an elderly man with long white hair.

Claude Code hooks block dangerous operations before they cause irreversible damage.

In practice:


Hook What It Blocks Why
pre-write-validate.sh Hardcoded credentials (AC..., SK...), magic numbers No auth tokens in git history, evergreen naming
pre-bash-validate.sh git commit --no-verify Pre-commit hooks exist for a reason
pre-bash-validate.sh git push --force to main Protect shared history
post-write.sh Nothing—auto-fixes lint ESLint runs automatically
post-bash.sh Tracks command completions, deployment notifications Catch deploy failures and silent errors

In practice:

Claude: [Attempts to write file with hardcoded Account SID]
Hook: BLOCKED: Hardcoded Twilio Account SID detected!
      Use process.env.TWILIO_ACCOUNT_SID instead.

You can't accidentally commit your auth token to GitHub. If you ignore Gandalf's sage advice above and accidentally do (or already did) Twilio Git Guard is here to swoop in like a giant eagle and save you from the slopes of Mount Doom.

You shall not pass: test-driven development

Elderly bearded man holding a staff commands You shall not pass in a dramatic scene.

Most humans have a hard time with Test-Driven Development. You know who loves TDD, though? Robots. They straight up thrive in a TDD workflow.

The /test-gen/dev cycle embodies complementary skills working in sequence:

  • Red Phase (test-gen): Write “ rainy day” failing tests first
  • Green Phase (dev): Write “ sunny day” minimal code to pass
  • Refactor: Improve while keeping tests green

This is classic, by-the-book, TDD:

  • Tests define the contract before implementation
  • You can't accidentally skip testing: the tests come first
  • Refactoring is safe because tests catch regressions

The /dev agent verifies failing tests exist before implementing. It refuses to write code that isn't validated by tests. The discipline is built in.

Journey from Rivendell: The full workflow

Screenshot of Legolas from The Lord of the Rings with text They're taking the code to prod!

You saw the summary of the build up above, but here's my recommended approach for building something substantial:

1. Brainstorm

Create a brainstorm.md, then discuss it with Claude Code. (Again, feel free to use mine to start – start by editing the ‘Here’s the idea:’ part of the Your Brainstorm Topic section.)

Ask Claude about the file by saying

Help me with the idea in brainstorm.md.

Then, answer one question at a time. Claude consolidates the conversation into a plan after showing you first, to exit Plan Mode.

2. Develop the execution plan

Now, pass it back to Claude – ask Claude for

Give me a concrete, step-by-step development plan using the plugin: “Claude, use the Twilio Claude Plugin to give me a detailed, step-by-step development plan for this concept.”

3. Launch the Pipeline

Hand the plan to the Architect, if Claude doesn’t do it on its own by exiting Plan Mode. Let the subagent pipeline flow!

Copy into Claude terminal:

I'd like to start the subagent pipeline flow by starting with the architect.

4. Review and Deploy

Check the output. Run /test. Run /deploy. Ship it.

What used to take hours of context-switching between docs, code, and testing now might take minutes of orchestration. The difference isn't that the work was impossible before—it's that you're no longer doing it alone.

Ancient scrolls and wisdom: the CLAUDE.md hierarchy

Gollum from Lord of the Rings asks, What's context management, Precious? with a puzzled expression.

The plugin works best when your project has a CLAUDE.md file that establishes context, coding standards, and relationship framing.

Plugins don't use CLAUDE.md directly, but the Claude Code instance you're working in where the plugin is installed will find this valuable and can help tune your interactions to your desired temperature and tempo.

A good top-level CLAUDE.md includes:

  • Project overview and goals
  • Coding standards and preferences
  • Testing requirements
  • Communication style expectations

Here's a Claude.md that worked really well for me. Depending on the complexity and scope of your project, you may also wish to create CLAUDE.md files in subdirectories to include domain-specific context for different APIs, and you can do so easily by using the /init command within Claude Code itself. With this architecture, Claude doesn't start from zero, regardless of what you're building.

The plugin's skills layer on top of your project's CLAUDE.md. Your standards, plus Twilio’s expertise.

Mapmakers and pathfinders: attributions

A man and woman dressed in medieval attire surrounded by a crowd, with the caption My friends...

The CLAUDE.md structure and other interaction patterns draw heavily from pioneers in this space:

  • Harper Reed's dotfiles ( github.com/harperreed/dotfiles) — A foundational approach to Claude Code configuration, relationship framing, and coding principles.
  • Agent Skills for Context Engineering ( github.com/muratcankoylan) — Context engineering techniques adapted for development workflows.

We are standing on the shoulders of giants who share their work openly.

The road goes ever on

Fantasy cityscape with Twilio Apps and Claude Code + You text.

Convinced, but haven’t started your journey yet? Run this to get started:

claude plugin add github:wittyreference/twilio-claude-plugin

One command. Seven agents. Over 60 skills. Nine hooks. Decades of Twilio patterns and best practices, portable to any project.

Obviously ( hopefully!) my intention isn't to remove anyone from the process of designing or developing products. This is an augmentation strategy, a cognitive amplifier helping get work done quicker, enabling delivery of higher quality prototypes, getting past the blinking cursor problem, and automating busy work so you can focus on the things that only you can do.

The Fellowship exists. All you have to decide is what to do with the time that is given to you, now that you have twilio-claude-plugin. We can't wait to see what you build!

Michael Carpenter (aka MC) is a telecom API lifer who has been making phones ring with software since 2001. As a Director of Product at Twilio, the Venn Diagram of his interests is the intersection of AI, APIs, SIP, WebRTC, and mobile SDKs. He also knows a lot about Depeche Mode. Hit him up at mc (at) twilio.com or LinkedIn .