Deliver a Voice Message by Phone

VerifiedCaution

Dials a phone number and speaks a one-way message via text-to-speech, then hangs up. Use for announcements or spoken notifications.

Sby Skills Guide Bot
ProductivityBeginner
9/9/2026
Claude Code
#voip#text-to-speech#phone-call#notifications#mcp

Recommended for

Automated summary

Dials a phone number or SIP URI, speaks a message via text-to-speech, and hangs up automatically once delivery finishes.

Strengths

  • Fully automated one-way delivery: no conversation to manage, the call ends by itself
  • Accepts both E.164 numbers and SIP URIs
  • Explicit error handling: unreachable numbers are reported back to the user
  • Clear, narrowly scoped use cases (announcement, reminder, spoken notification)

Limitations

  • Requires the plugin's VoIP MCP server configured with a valid SIP_AOR variable and a reachable SIP carrier
  • No feedback from the recipient: you cannot confirm the message was heard or understood
  • This skill exposes no control over voice, language or speech rate
When to use it

Use it when the user wants a spoken message played to a phone number without holding a conversation.

When not to use it

Avoid it when the user expects a two-way exchange or a reply from the recipient — use the 'call' skill instead.

Security analysis

Caution
Quality score85/100

The skill uses a network-based MCP tool to make external phone calls. It does not involve destructive system commands, data exfiltration, or obfuscated payloads, but the ability to dial any number and speak any text is a powerful external action with potential for abuse, warranting caution.

Findings
  • •Initiates outbound phone calls to arbitrary numbers with arbitrary spoken content, which could be misused for spam, harassment, or robocalls if not restricted by the user or platform.
  • •No explicit validation or rate limiting of target numbers or message content is described, leaving abuse prevention to the VoIP MCP server configuration.
How this analysis is made

Examples

Meeting change announcement
Call +1234567890 and tell them the meeting is moved to 3pm.
Server back online
Phone Alice on sip:alice@example.com and say the server is back up.
Read a reminder aloud
Read this reminder to my dad over the phone: don't forget your appointment tomorrow at 9am.

name: say description: Call a phone number and speak a one-way message, then hang up. Use when the user asks to call someone, deliver a voice message, announce something by phone, or send a spoken notification to a phone number. Also triggers on "phone someone", "call and tell", "read this over the phone". when_to_use: "The user wants to deliver a spoken message to a phone number without holding a conversation. One-way delivery: the message is spoken and the call ends automatically." argument-hint: "<target> <message>" arguments: target message allowed-tools: mcp__VoIP__say

Say a message over the phone

Dial $target and speak $message using text-to-speech, then hang up once the message has been delivered. This is a one-way message: the recipient is not expected to reply and the call ends automatically after the speech finishes.

When to use this skill

Use this skill when the user wants to deliver a spoken message to a phone number without holding a two-way conversation. Examples:

  • "Call +1234567890 and tell them the meeting is moved to 3pm."
  • "Phone Alice and say the server is back up."
  • "Read this reminder to my dad: …"

If the user wants a back-and-forth conversation, use the call skill instead.

Target format

$target is a phone number or SIP URI:

  • tel:+1234567890
  • sip:alice@example.com
  • +1234567890

Prerequisites

The VoIP MCP server (bundled with this plugin) must be configured with a valid SIP_AOR environment variable pointing to your SIP address-of-record. The server connects to your SIP carrier automatically when Claude Code starts it.

Instructions

  1. Call the say tool exposed by the VoIP MCP server with:
    • target: the phone number or SIP URI from $target
    • prompt: the message to speak from $message
  2. The tool dials the target, synthesises the prompt as speech, and hangs up automatically once delivery completes.
  3. Report to the user whether the message was delivered. If the tool returns an error (for example, the number was unreachable), relay the error clearly.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/deliver-a-voice-message-by-phone-mttmx72i/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/deliver-a-voice-message-by-phone-mttmx72i' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/deliver-a-voice-message-by-phone-mttmx72i/download' --output '.skill-downloads/deliver-a-voice-message-by-phone-mttmx72i/SKILL.md.part' && mv '.skill-downloads/deliver-a-voice-message-by-phone-mttmx72i/SKILL.md.part' '.skill-downloads/deliver-a-voice-message-by-phone-mttmx72i/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): mcp__VoIP__say

Original excerpt: Prerequisites

The VoIP MCP server (bundled with this plugin) must be configured with a valid SIP_AOR environment variable pointing to your SIP address-of-record. The server connects to your SIP carrier automatically when Claude Code starts it.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/deliver-a-voice-message-by-phone-mttmx72i/SKILL.md' && test -s '.skill-downloads/deliver-a-voice-message-by-phone-mttmx72i/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/say' && cp -R '.skill-downloads/deliver-a-voice-message-by-phone-mttmx72i' '.claude/skills/say'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/deliver-a-voice-message-by-phone-mttmx72i'

openskills read 'deliver-a-voice-message-by-phone-mttmx72i'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/deliver-a-voice-message-by-phone-mttmx72i/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills