From pipecat-cloud
Scaffolds a new Pipecat AI voice project by collecting configuration interactively and running pipecat init. Guides through choosing bot type, transport, STT, LLM, and TTS.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pipecat-cloud:initThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scaffold a new Pipecat project by collecting configuration from the user and running `pipecat init` in non-interactive mode.
Scaffold a new Pipecat project by collecting configuration from the user and running pipecat init in non-interactive mode.
/init [<target-dir>]
<target-dir> (optional): Directory to create the project in. Defaults to a new directory named after the project. Use . for the current directory.Check if pipecat is installed by running pipecat --version. If not installed, tell the user to install it with uv tool install pipecat-ai-cli and stop.
Before asking the user any questions, run pipecat init --list-options to get the current valid values for all fields. The output is JSON:
{
"bot_type": ["web", "telephony"],
"transports": {
"web": ["daily", "smallwebrtc"],
"telephony": ["twilio", "telnyx", ...]
},
"stt": ["deepgram_stt", "openai_stt", ...],
"llm": ["openai_llm", "anthropic_llm", ...],
"tts": ["cartesia_tts", "elevenlabs_tts", ...],
"realtime": ["openai_realtime", "gemini_live_realtime", ...],
"video": ["heygen_video", "tavus_video", "simli_video"]
}
Use this data to populate the choices in every question below. Do NOT hardcode service lists — always use the values from --list-options.
Walk through the following questions to build the project configuration. After collecting all answers, show a summary and run the command.
Choosing the right interaction method:
--list-options formatted as a readable list, then let the user reply with their choice in chat.Ask the user for a project name. This is passed as the target directory (positionally) — the project is scaffolded in place in a directory of that name, and the project identifier is derived from it.
Ask the user to choose a bot type:
web) - Browser or mobile apptelephony) - Phone callsIf the bot type is web, ask the user to choose a client framework:
react)vanilla)none) - Server only, no client generatedIf the user chose React, ask which dev server:
vite)nextjs)Skip this step entirely for telephony bots.
Show the user the full list of available transports from --list-options, filtered by the selected bot type. Let the user reply with their choice.
If the user chose a daily_pstn transport, ask for mode:
--daily-pstn-mode dial-in--daily-pstn-mode dial-outIf the user chose a twilio_daily_sip transport, ask for mode:
--twilio-daily-sip-mode dial-in--twilio-daily-sip-mode dial-outThen ask if they want to add an additional transport for local testing. This is common — e.g. a telephony bot that also supports WebRTC for development.
Ask the user to choose a pipeline architecture:
cascade) - STT → LLM → TTS pipelinerealtime) - Speech-to-speech modelIf cascade mode, show the full list of available options from --list-options for each service and let the user reply with their choice:
If realtime mode, show all available realtime services and let the user reply with their choice.
For each service question, display the options as a numbered vertical list (one per line) so the user can easily scan and pick one.
Show the user the default feature settings and ask if they want to customize:
Defaults:
If they want to customize, ask about each feature. For video avatar service (web bots only), use the video options from --list-options.
If a video avatar service is selected, video output is automatically enabled.
Ask if they want to generate Pipecat Cloud deployment files (Dockerfile, pcc-deploy.toml). Default is yes.
If deploying to cloud, ask if they want to enable Krisp noise cancellation. Default is no.
After collecting all answers, build the pipecat init command using non-interactive flags. Lead with the project name as the positional target directory — the project is scaffolded in place there:
pipecat init <project_name> \
--bot-type <web|telephony> \
--transport <transport> \
--mode <cascade|realtime> \
[--stt <service>] \
[--llm <service>] \
[--tts <service>] \
[--realtime <service>] \
[--video <service>] \
[--client-framework <react|vanilla|none>] \
[--client-server <vite|nextjs>] \
[--daily-pstn-mode <dial-in|dial-out>] \
[--twilio-daily-sip-mode <dial-in|dial-out>] \
[--recording | --no-recording] \
[--transcription | --no-transcription] \
[--video-input | --no-video-input] \
[--video-output | --no-video-output] \
[--deploy-to-cloud | --no-deploy-to-cloud] \
[--enable-krisp | --no-enable-krisp] \
[--observability | --no-observability] \
[--eval | --no-eval]
Passing scaffold flags makes pipecat init run non-interactively (no prompts) and scaffold the runnable bot in place, alongside the coding-agent guide files it writes (AGENTS.md, CLAUDE.md).
Use . as the target to scaffold into the current directory instead of a new one.
For multiple transports, repeat the --transport flag (e.g. --transport twilio --transport smallwebrtc).
Before running the command, show the user a summary of their choices:
Ask the user to confirm before proceeding. If they want to change something, go back and re-ask that specific question.
Run the pipecat init command. The positional target directory controls where the project is created — use the <target-dir> argument if the user provided one, otherwise default to a new directory named after the project.
If the command succeeds, show the user what was generated and suggest next steps:
cd <project_name>/server.env.example to .env and fill in API keysIf deploying to cloud, also mention they can use /pipecat-cloud:deploy to deploy.
pipecat init fails with validation errors, show the error and help the user fix their choices.npx claudepluginhub pipecat-ai/skills --plugin pipecatScaffolds a complete Vapi voice-agent project from a ROUGH_DRAFT.md spec, generating TypeScript framework, scenario registry, and bootstrap script. Use when bootstrapping Vapi assistant fleets.
Provides documentation and capability reference for building real-time voice/multimodal AI apps with Daily and Pipecat transports.
Scaffolds a complete zaileys WhatsApp bot project from a spec, supporting both WhatsApp Web (QR/pairing) and Meta Cloud API providers. Generates a layered src/ structure, package.json, tsconfig, and env config.