Skip to content
Back to skills

Call Me

ASecurity

Ring the user's iPhone with a question and get their spoken answer back as text, or send them a text, through the Call Me MCP server. Use when the user says "call me", "ring me", "text my phone", "phone me if something comes up", asks you to keep working while they are away from the keyboard, or when a long task is blocked on a decision only they can make.

  • 20 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 5, 2026
ai-agentsgogitapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned October 5, 2026

npx -y skills add radres/call-me --skill call-me --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Call Me?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Call Me
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/radres-call-me-6182c5bc/badge)](https://www.skillsdirectory.com/skills/radres-call-me-6182c5bc)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: call-me
description: Ring the user's iPhone with a question and get their spoken answer back as text, or send them a text, through the Call Me MCP server. Use when the user says "call me", "ring me", "text my phone", "phone me if something comes up", asks you to keep working while they are away from the keyboard, or when a long task is blocked on a decision only they can make.
license: MIT
---

# Call Me

Call Me is a voice relay, not a voice assistant. You do all the thinking. Call
Me rings the user's iPhone, reads your text aloud word for word, and hands
their spoken reply back to you as text. The text can be a question, a status
update or a summary of the day ahead. Use it to keep a task moving while the user is
driving, at the gym or away from the desk.

The tools come from the `call-me` MCP server in this plugin: `call`,
`poll_result`, `text`, `wait_for_reply`, `set_thread_title` and `setup`.

## The number

Every `call` and `text` needs `to`: the 10-digit number the Call Me iPhone app
shows under **My Number**. It is the only credential. There is no login, OAuth
or API key.

1. If `~/.aiphone/config.json` exists, use its `user_number`.
2. Otherwise ask the user for the number. If they do not have the app yet, call
   `setup` and show this link: [Download Call Me from the App Store](https://callmemcp.com/go/agent-plugin).
3. With the user's permission, save it to `~/.aiphone/config.json` as
   `{"user_number": "<10 digits>"}` (directory mode 700, file mode 600) so the
   next session does not ask again.

Never guess a number, reuse one from an example, or use one the user did not
give you.

To try the loop without ringing anyone, use the demo line `5550001234`. It
answers by itself and says so.

## Asking a question

1. `call` with `to`, a short `question` that includes the options ("Tests are
   green. Merge to main, or wait for review?"), and a `from_label` naming you
   and the project.
2. `status: "completed"` carries the answer in `transcript`. Act on it.
3. `status: "ringing"` means nobody has picked up yet. Pass `call_id` and
   `session_token` to `poll_result`; one or two polls settle it.
4. `missed` or `declined`: do not call again. Send one `text` with the same
   question, then `wait_for_reply` with the `session_token`.

Speak English: the phone reads the text with English text-to-speech. Up to
2000 characters, about two minutes of speech; for a decision, keep it
answerable in one sentence. Never put digits the user must read back (codes,
account numbers, long URLs) in spoken text;
send them with `text` first and refer to it in the call.

## Texting

`text` sends a push notification with no ring. Use it for status updates and
for anything that can wait. Pass the `session_token` from earlier results so
everything lands in one thread on the phone, and name that thread once with
`set_thread_title` (3 to 5 words).

## Etiquette

- Text first. Call when the answer is blocking or the user asked for a call.
- One call and one text per question is the ceiling. Do not retry in a loop.
- If you are about to end your turn with a question the user has not answered,
  call or text it first. Once your turn ends, nobody will ask it.
- If a result says the number is not active, tell the user: reaching a real
  phone needs the subscription in the iPhone app, and you cannot fix that.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…