Guide · Agent skill
How to use the Dial phone CLI agent skill (dial-cli)
Updated · written with AI from the project's own documentation and checked against our catalogue data
The dial-cli skill teaches an AI agent to use the Dial command-line tool, which gives the agent a phone number for sending texts, placing calls handled by an AI voice agent, and receiving inbound texts or verification codes. This guide explains what an agent skill is, how to install this one, how to ask for phone tasks in plain language, and what to check before letting an agent contact anyone.
Quick start
- 1Download the skill ZIP. Get the dial-cli ZIP from the skill page. The package contains SKILL.md.
- 2Unzip it into the skills folder. Extract it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder.
- 3Or upload it in the Claude apps. Go to Settings, then Capabilities, then Skills, and upload the ZIP there.
- 4Confirm the CLI is installed. Run command -v dial. If nothing prints, install the Dial CLI or use an environment where it is preinstalled.
- 5Make a request in plain language. Ask the agent to text, call, or wait for a code, and name the contact and purpose.
- 6Check the result. Use the --json output and the dial call get command to confirm what happened.
What is an agent skill and what does dial-cli add?
An agent skill is a folder containing a SKILL.md file. The file gives an AI agent instructions for a specific task, and the agent loads it when a request matches the skill's description. Without a skill, the agent has to work out command usage on its own.
The dial-cli skill covers the dial CLI, the official command-line tool for Dial, a communication platform for AI agents (getdial.ai). With it loaded, the agent knows the usual workflows, the --json output convention, and where to look up current Dial documentation instead of guessing. The skill says that dial --help alone does not show these workflows.
- Send an SMS from a provisioned Dial number
- Place an outbound voice call handled by an AI voice agent
- Wait for an inbound text, such as a one-time code
- Wait for a call to end and read its final status
- Look up current Dial features in the online docs
How do you install the dial-cli skill?
There are two routes. You can download the ZIP from the skill page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder to scope it to one project. In the Claude apps, you can instead upload the ZIP under Settings, then Capabilities, then Skills.
After installing, start a new session so the agent can discover the skill. The package contains a single file, SKILL.md.
- Personal: unzip into ~/.claude/skills/
- Single project: unzip into the project's .claude/skills/ folder
- Claude apps: Settings, then Capabilities, then Skills, then upload the ZIP
~/.claude/skills/Make sure the dial CLI is available
The skill assumes the dial CLI is already installed, and says it is preinstalled in the sandbox image it was written for. The source does not explain how to install the CLI on a personal machine, so check first. Run command -v dial. If it prints nothing, the CLI is not on your path.
Inside the intended sandbox, the skill tells the agent not to improvise an install if dial is missing. It should report the problem to the operator instead.
command -v dialHow do you trigger the skill with natural requests?
You do not need to name the skill. The agent loads it when you mention phones, calls, texts, SMS, voice, OTP, 2FA, or verification codes, or when you ask it to text, call, ring, or wait for a code from someone. Plain requests work well, as long as they name the contact and the purpose.
The skill also says to load it before the first dial command in a session, so a request to run dial directly should still trigger it.
- Text +14155550123 to confirm our meeting is at 3pm.
- Call the restaurant at +14155550123 and ask whether they have a table for two at 7pm.
- Wait for the 2FA code the service sends to this number and tell me what it is.
- Check what the Dial platform can do with inbound voice.
What commands does the agent run?
The skill lists the most common workflows as command shapes. The agent should run dial --help, or dial with a command name and --help, before using a command for the first time. The CLI is the source of truth for flags.
Every command accepts --json, which gives output that scripts or jq can parse. Phone numbers must be in E.164 format, such as +14155550123, and the agent should reject anything else before calling Dial.
- dial message --to +14155550123 --body text sends an SMS
- dial call --to +14155550123 --outbound-instruction text places a voice call; dial call get id shows the result after it ends
- dial wait-for message.received -f channel=sms waits for an inbound text
- dial wait-for call.ended -f callId=id waits for a call to end, including cancelled calls
- dial typing start or stop shows a typing indicator; the skill says it is safe to call on SMS numbers
dial message --to +14155550123 --body "Your appointment is confirmed."
dial wait-for message.received -f channel=sms --jsonWhat safety and network points should you know?
This skill sends real SMS and places real calls. Those may cost money, reach people who did not expect them, or fall under consent and telemarketing rules in your area. Only use it to contact people who know about and agree to the contact.
The skill runs scripts and needs network access to docs.getdial.ai for documentation lookups, so it will not work offline. The agent is told never to ask you for an API key or read auth files, because in the sandbox the credential is added at the network boundary. Writes such as message, call, and number purchase are not idempotent, so the skill says to list first to check before retrying an ambiguous failure.
Buying a number requires an explicit programmatic consent attestation, and the skill assumes the account and number already exist and will not set one up.
- Only contact people who have agreed to it
- Expect real charges and regulatory duties in some places
- Do not expect the skill to configure a new account or number
- Check results before retrying a write
How do you look up more Dial features?
For features beyond the local CLI help, the skill points to the online docs at docs.getdial.ai. To check whether Dial supports something, search the full docs file for a keyword. To read a page in detail, use the sitemap to find pages, then fetch the markdown version of any page by adding .md to its URL.
curl -fsSL https://docs.getdial.ai/llms-full.txt | grep -i -B2 -A8 'whatsapp'
curl -fsSL https://docs.getdial.ai/sitemap.xml | grep -oE 'https://docs\.getdial\.ai/[^<]+'What people use it for
- A developer's test agent waits for a one-time code sent by SMS during automated sign-up testing.
- An operator's sandboxed agent texts a contact on a provisioned Dial number to confirm an appointment.
- An agent places a voice call through an AI voice agent with a short outbound instruction, then reads the call's final status.
- Someone exploring what a communication API for AI agents can do, using the docs lookup pattern to check for a feature.
Frequently asked questions
Is the dial-cli skill free?
The skill is published under the MIT licence. The source does not state Dial platform pricing, and SMS and calls may cost money, so check Dial's own documentation before use.
What do I need to use the dial-cli skill?
You need the dial CLI installed, a Dial account with a provisioned phone number, and network access to docs.getdial.ai for documentation lookups. The skill assumes the account and credentials are managed by the operator and does not set them up.
How do I install the dial-cli skill in Claude?
Download the ZIP from the skill page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder. You can also upload the ZIP in the Claude apps under Settings, then Capabilities, then Skills.
Can the agent use this skill without an API key?
In the sandbox the skill was written for, yes: the API key is injected at the network boundary, and the agent is told never to ask for it or read auth files. The source does not explain how to supply credentials on a personal machine.
Why does the agent need to load the skill before running dial?
According to the skill, dial --help alone does not show the workflows, the --json conventions, or the docs lookup pattern needed to use Dial correctly, so the skill supplies that context.
What should I do if I get a 401 or 403 error?
The skill says the gateway supplies the credential, so the agent cannot fix these errors itself. The source text on this topic is cut off, so check the error code and the Dial documentation, and report the problem to your operator.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use dial-cli if you are building or operating an agent in a prepared environment that needs to receive verification codes, or send texts and calls to people who have agreed to them. Pick something else if you want an agent to contact people without their knowledge, if you have no Dial account or number, or if you need the tool to work offline.
Download the skill