create-squad
This skill designs, creates, and updates Vapi Squads (multi-assistant systems) through the public API.
Identity proven by GitHub's verified organisation badge (VapiAI)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
- License
- MIT (permissive)
- Pin
- ecd56bdpinned Oct 9, 2026
- Context cost
- about 1,700 tokenswhen the skill loads
- GitHub stars
- 66on vapiai/skills
- Scripts
- None found
What it does
“Design, create, update, and verify Vapi Squads and documented handoff tools through the public API. Use for choosing a single assistant versus a multi-assistant Squad, persistent or transient members, entry-member ordering, specialization boundaries, context engineering, variable extraction, model-specific handoff patterns, assistant-version pins, and safe Squad updates.”
Generated summary from the skill's own text
This skill designs, creates, and updates Vapi Squads (multi-assistant systems) through the public API. It helps decide when multiple specialized assistants with handoff tools are better than a single assistant, configure safe handoff boundaries, and apply live changes to existing Squads.
When to use it
- Multiple specialists need separate domains, tools, or credential access
- Deliberate context isolation between assistants is required
- Handoff boundaries between assistants need explicit documentation
- Updating existing Squad membership or handoff configurations
When not to
- A single focused assistant can handle the task reliably
- Creating conversational steps that do not warrant operational cost
- User has not explicitly authorized live API mutations
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add vapiai/skills --skill create-squadInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install vapiai/skills create-squad@ecd56bd32688be8ea6fe54029445b536333d8d9cInstalls the commit we checked (ecd56bd).
Copy by hand
Download the folder at ecd56bd and put it in .claude/skills/create-squad for Claude Code and in .agents/skills/create-squad for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "create-squad" by Vapi. Source, pinned to commit ecd56bd32688be8ea6fe54029445b536333d8d9c: https://github.com/vapiai/skills/tree/ecd56bd32688be8ea6fe54029445b536333d8d9c/create-squad 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/create-squad/ for Claude Code and .agents/skills/create-squad/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/vapi/create-squad
SKILL.md at the pin
---
name: create-squad
description: Design, create, update, and verify Vapi Squads and documented handoff tools through the public API. Use for choosing a single assistant versus a multi-assistant Squad, persistent or transient members, entry-member ordering, specialization boundaries, context engineering, variable extraction, model-specific handoff patterns, assistant-version pins, and safe Squad updates.
license: MIT
compatibility: Internet access and VAPI_API_KEY are required only for live Vapi API operations.
metadata:
author: vapi
version: "2.0"
---
# Vapi Squad Creation
Use a Squad only when multiple focused assistants improve the design. Default to a payload or implementation plan unless the user explicitly requests live Vapi mutations.
## Decide Whether to Use a Squad
Prefer one assistant when one focused prompt and one compatible tool set can handle the use case reliably. Use a Squad for genuine boundaries such as:
- distinct domains or personas;
- different tool or credential access;
- deliberate context isolation;
- separately maintained specialists.
Do not create one assistant per conversational step. Keep related steps in one member and make each handoff boundary earn its latency and operational cost.
## Safety and Source Rules
- Verify squad, member, handoff, context, and version fields against the current public [Squads documentation](https://docs.vapi.ai/squads), [Handoff tool guide](https://docs.vapi.ai/squads/handoff), and OpenAPI schema.
- Never invent assistant IDs, names, tool IDs, destinations, versions, credentials, server URLs, or extracted variables.
- Prompt text does not create a handoff. Configure and attach a documented `handoff` tool.
- Keep member order explicit: the first member starts the call.
- Prefer saved assistants, reusable tools, and a saved Squad for production. Use transient members or Squads only when the request is intentionally ephemeral or a prototype.
## Persistent Squad Procedure
1. Determine the execution mode.
- Return JSON or a plan when the user asks for a draft or does not clearly authorize live writes.
- Perform live creates or updates only with explicit intent and an available `VAPI_API_KEY`.
2. Define focused members.
- State each member's responsibility, tools, and handoff boundaries.
- Choose the entry member and place it first.
- Reuse existing assistants by resolving names through `GET /assistant`; create missing assistants first with the `create-assistant` skill.
3. Create handoff relationships after destinations exist.
- Resolve every destination assistant before building a persistent handoff tool.
- Use `type: "assistant"` plus a verified `assistantId` for saved cross-assistant destinations.
- Use clear descriptions that state when the model should hand off and what should be collected first.
- Create reusable handoff tools through `POST /tool`, then attach them to the source assistants with the configuration-preserving procedure in the `create-tool` skill.
- For OpenAI models, current public guidance recommends one handoff tool per destination. For Anthropic models, one tool with multiple destinations is supported and recommended.
4. Configure public context controls only when needed.
- Use `contextEngineeringPlan` on a handoff destination: `all`, `lastNMessages`, `userAndAssistantMessages`, `previousAssistantMessages`, or `none` when supported by the current schema.
- Use `variableExtractionPlan.schema` only for specific structured values needed downstream. Do not invent values or claim extraction occurred before a real handoff.
- Keep sensitive tool results out of downstream context when the use case requires isolation.
5. Create and verify the Squad.
- Build `members` from verified assistant IDs in explicit order.
- Optionally set `assistantVersion` only to a version returned by the public assistant API when the user wants an immutable pin. Omit it to follow latest.
- Before a production-affecting create or update, recap member order, handoffs, and target and obtain explicit confirmation unless the user's current instruction already unambiguously authorizes that exact mutation now.
- Send `POST /squad` only after explicit live-create intent.
- Validate the returned Squad ID, complete member order, entry member, pins, and handoff attachments before reporting success.
6. Handle failures honestly.
- On a `400`, correct a documented field placement or limit before at most one justified retry.
- On `401` or `403`, stop for authentication or permission issues. On `404`, report the missing assistant, tool, or Squad. On `5xx`, report the service failure.
- If a sequence partially succeeds, list the IDs created so the user can review or clean them up. Do not continue creating dependent resources after a fatal error.
## Persistent Squad Payload
Use verified IDs only:
```json
{
"name": "Support Squad",
"members": [
{ "assistantId": "<verified-triage-assistant-id>" },
{ "assistantId": "<verified-billing-assistant-id>" },
{ "assistantId": "<verified-technical-assistant-id>" }
]
}
```
The first member is the entry assistant. Handoff tools belong on the relevant source assistants; Squad membership alone does not define every transition.
## Handoff Payload
```json
{
"type": "handoff",
"function": { "name": "handoff_to_billing" },
"destinations": [
{
"type": "assistant",
"assistantId": "<verified-billing-assistant-id>",
"description": "The caller needs billing, invoice, or payment help.",
"contextEngineeringPlan": {
"type": "userAndAssistantMessages"
},
"variableExtractionPlan": {
"schema": {
"type": "object",
"properties": {
"accountNumber": { "type": "string" }
}
}
}
}
]
}
```
Placeholders are acceptable in templates, never in live requests. Read [Squad Configuration](references/squad-configuration.md) for transient Squads, context transfer, version pins, and safe Squad updates. Read [Squad API Examples](references/api-examples.md) when the user requests TypeScript, Python, or cURL implementation code.
## Update Safely
Send only the changed top-level fields to `PATCH /squad/{id}`. Omit `members` for a name-only or other non-member update. When the requested change affects member order, membership, version pins, assistant overrides, or handoff destinations:
1. `GET /squad/{id}`.
2. Copy the complete ordered `members` array and current `membersOverrides` when it must also change.
3. Apply only the requested change, preserving each member's `assistantId` or inline assistant, `assistantVersion`, `assistantOverrides`, and any documented destination fields already present.
4. Patch the complete merged `members` array plus only the other changed top-level fields.
5. Re-fetch and verify order, entry member, pins, overrides, and handoffs.
## Public Sources
- [Introduction to Squads](https://docs.vapi.ai/squads)
- [Handoff tool](https://docs.vapi.ai/squads/handoff)
- [Passing data between assistants](https://docs.vapi.ai/squads/passing-data-between-assistants)
- [Squad API reference](https://docs.vapi.ai/api-reference/squads/get)
From vapiai/skills at ecd56bd, shown as plain text under its license: MIT (permissive). The license text is in create-squad/SKILL.md.
View SKILL.md on GitHub at ecd56bdFiles
- SKILL.md7.2 KB · 9054df7caeb4
- references/
- api-examples.md2.1 KB · c9a70309c102
- squad-configuration.md2.7 KB · 6eeab169d742
3 files, 12 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at ecd56bdMore from Vapi
create-assistant
Designs and creates Vapi voice assistants for phone and web by managing system prompts, provider selection, tool integration, and API validation.
Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago
create-assistant
This skill designs and creates Vapi voice assistants for phone and web calls.
Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago
create-call
This skill creates one-off outbound phone calls, web calls, and batch calls via the Vapi API.
Claude Code, Codex, Cursor +4 · about 1.5K tokens · pinned 6 days ago
create-call
This skill enables agents to create outbound phone calls, web calls, and batch calls via the Vapi API.
Claude Code, Codex, Cursor +4 · about 1.5K tokens · pinned 6 days ago
create-campaign
This skill enables agents to create, manage, and diagnose Vapi outbound campaigns for reaching multiple contacts with personalized calls using the…
Claude Code, Codex, Cursor +4 · about 3.1K tokens · pinned 6 days ago
create-campaign
This skill creates, manages, and monitors Vapi outbound calling campaigns for multi-contact operations.
Claude Code, Codex, Cursor +4 · about 3.1K tokens · pinned 6 days ago
Related in AI and agents
agent-builder
Agent Builder orchestrates the creation, modification, testing, and publishing of n8n Agents.
by n8nOfficial publisher
Claude Code, Codex, Cursor +3 · about 2.3K tokens · pinned 6 days ago
intent-recognition
Classifies automation requests by determining which primitive owns the top-level control flow (workflow, agent, needs clarification, or out-of-scope) and…
by n8nOfficial publisher
Claude Code, Codex, Cursor +4 · about 6.9K tokens · pinned 6 days ago
planned-task-runtime
This skill manages follow-up interactions with a background task execution system, handling task completion synthesis, failure replanning, workflow building…
by n8nOfficial publisher
Claude Code, Codex, Cursor +3 · about 2.2K tokens · pinned 6 days ago
skill-creator
This skill guides agents through creating new skills that extend Gemini CLI with specialized knowledge, workflows, and tool integrations.
by GoogleOfficial publisher
Contains scripts
Gemini CLI · about 5K tokens · pinned 6 days ago
-21risk-automation
This skill automates 21risk operations by connecting to the 21risk toolkit through Composio's Rube MCP server.
by ComposioOfficial publisher
Claude Code, Codex, Cursor +3 · about 690 tokens · pinned 6 days ago
-2chat-automation
This skill automates 2chat tasks by integrating with Composio's 2chat toolkit through Rube MCP.
by ComposioOfficial publisher
Agents not labelled yet · about 680 tokens · pinned 6 days ago
Open roles at Vapi
5 of 11 open roles on the jobs board
- Member of Technical Staff, Agentic Release Engineer
San Francisco (Hybrid)
- Member of Technical Staff, DevOps
San Francisco, California, United States (Remote)
- Member of Technical Staff, Frontend
San Francisco, California, United States (Remote)
- Member of Technical Staff, Agentic Developer Experience
San Francisco (Remote)
- Solutions Engineer - NY
New York, New York, United States (Remote)