njerschow/textme/imessage
Claude Code and agent skill by njerschow/textme
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install njerschow/textme/imessageSKILL.md
iMessage Skill
Description
Send and receive iMessages via Claude Code. Get real-time input from the user via their phone, similar to how call-me enables voice conversations.
When to Use This Skill
Use `ask_user` when:
- You've completed significant work and want to report status and ask what's next
- You need real-time input for decisions
- You're blocked and need clarification to proceed
- You want to discuss next steps with the user
Use `notify_user` when:
- You want to send a status update without needing a response
- The information is non-urgent
- You don't want to block waiting for a reply
Do NOT use for:
- Simple yes/no questions that can be asked in the terminal
- Information the user has already provided
- Sending to non-whitelisted numbers
Primary Tools
ask_user
Send an iMessage and wait for the user to respond. This is the main tool - similar to initiate_call in call-me.
Parameters:
message(string, required): What to ask the user. Be conversational.timeout_seconds(number, optional): How long to wait (default: 300 = 5 minutes)
Behavior:
- Sends iMessage to the user
- Waits for response (polls every 5 seconds)
- Returns the user's response when received
- If timeout: returns notice, response will be picked up later via
check_messages
Example:
notify_user
Send an iMessage without waiting for a response. Fire-and-forget.
Parameters:
message(string, required): Message to send
Example:
Secondary Tools
check_messages
Check for pending iMessages. Use this to pick up responses that arrived after a timeout.
send_message
Send a message to a specific number. Lower-level than notify_user.
get_conversation
Get conversation history with a contact for context.
mark_read
Mark a message as processed without responding.
list_contacts
List all contacts who have messaged.
clear_history
Clear conversation history with a contact.
Example Workflows
Simple question and continue:
Status update (no response needed):
Multi-turn conversation:
Best Practices
- Be conversational - Write messages like texts, not documentation
- Be concise - Phone screens are small
- Provide context - Explain what you did before asking
- Offer clear options - "A or B?" is easier than open-ended questions
- Use `notify_user` for updates - Don't block when you don't need input
- Trust the timeout - If no response in 5 min, user is busy - continue or wait
How It Works
- MCP server polls Sendblue every 5 seconds for new messages
ask_userblocks up to 5 minutes waiting for response- Only whitelisted phone numbers can send/receive
- Conversation history is maintained for context
- Stop hook evaluates if Claude should proactively message the user
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/imessage/SKILL.md
Popularity
- Repository stars
- 81
- Repository forks
- 4
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/njerschow/textme/imessage)