.claude/skills/voice-call/SKILL.md
# /voice-call - FaceTime Voice Calling Place and receive FaceTime Audio calls with live transcription and voice/text responses. ## Quick Start ```bash # Full voice conversation (responds via FaceTime audio) ~/.claude-mind/system/bin/voice-call --voice-response # Call with text responses (via iMessage) ~/.claude-mind/system/bin/voice-call --text-response # Call a specific number ~/.claude-mind/system/bin/voice-call +15551234567 --voice-response ``` ## Prerequisites Run `audio-setup --check
npx skillsauth add claudeaceae/samara-main .claude/skills/voice-callInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Place and receive FaceTime Audio calls with live transcription and voice/text responses.
# Full voice conversation (responds via FaceTime audio)
~/.claude-mind/system/bin/voice-call --voice-response
# Call with text responses (via iMessage)
~/.claude-mind/system/bin/voice-call --text-response
# Call a specific number
~/.claude-mind/system/bin/voice-call +15551234567 --voice-response
Run audio-setup --check to verify:
| Script | Purpose |
|--------|---------|
| voice-call | High-level orchestrator (setup → call → listen → respond → teardown) |
| facetime | FaceTime control (open/close/status/call/answer/hangup) |
| facetime-incoming-watcher | Polls for incoming calls, auto-answers collaborator |
| call-record | Aggregate device management + sox recording |
| call-transcribe | Whisper transcription of WAV files |
| call-listen | Recording + transcription + response loop |
| call-speak | Play TTS audio to "Claude Mic" device |
| audio-setup | Verify/configure audio prerequisites |
| aggregate-device | Create/destroy CoreAudio aggregate devices |
voice-call [target] [options]
--text-response Respond via iMessage (default)
--voice-response Respond with TTS through FaceTime
--greeting TEXT Custom greeting when call connects
--no-greeting Skip initial greeting
--timeout SECS Max call duration (default: 600)
--answer Answer mode (incoming call, skip dialing)
facetime-audio:// URL scheme only shows a notification on macOS 26+, not an actual call.rec with 35dB gain amplification + 0.1% silence threshold. Call audio from the aggregate device is very low amplitude; gain boost is required for silence detection.call-record setup → Create aggregate device, set system output
facetime call → UI automation dials FaceTime Audio
call-speak greeting → TTS greeting through Claude Mic
call-record start → Begin sox recording from Call Capture
↕ call-listen loop: record → transcribe → respond → pause/resume
call-record stop → Stop sox recording
call-record teardown → Destroy aggregate, restore audio devices
facetime hangup → Click NotificationCenter End button
facetime-incoming-watcher → Polls NotificationCenter every 5s
detect Accept/Decline → Incoming call found
identify caller → Match against collaborator name/phone
call-record setup → Create aggregate device (before accepting!)
facetime answer → Click Accept + set audio devices
voice-call --answer → Greeting → call-listen loop → cleanup
The watcher runs as a launchd service (com.claude.facetime-incoming). It auto-answers calls from the collaborator (~2-3s pickup) and lets unknown callers ring.
Stored at ~/.claude-mind/state/voice-call-config.json:
{
"micDevice": "Claude Mic",
"captureDevice": "Call Capture",
"whisperModel": "~/.claude-mind/system/models/ggml-base.en.bin",
"sampleRate": 16000,
"silenceThreshold": 1.0,
"silenceLevel": "0.1%",
"callGain": 35
}
silenceThreshold — seconds of silence before splitting chunks (default: 1.5)silenceLevel — amplitude threshold for silence detection (default: 0.1%)callGain — dB gain applied before silence detection (default: 35)service-toggle voiceCall on|off|status
Use /voice-call or natural phrases like "call me", "FaceTime me", "let's talk on the phone".
development
# /webhook --- name: webhook description: Manage webhook sources - list, add, test, and view incoming events context: fork triggers: - webhook - add webhook - create webhook - webhook setup - incoming webhooks --- Manage the webhook receiver system. Use this skill to add new webhook sources, test existing ones, and view incoming events. ## What You Can Do 1. **List sources** - Show all registered webhook sources 2. **Add source** - Create a new webhook source with secure secret 3.
testing
Check crypto wallet balances, transaction history, and addresses
tools
--- name: sync description: Check for drift between repo and running system. Use when checking if scripts or Samara are out of sync, verifying system integrity, or before/after rebuilds. Trigger words: sync, organism sync, check drift, system drift, repo sync. context: fork allowed-tools: - Bash - Read - Grep --- # Sync Skill Check for drift between the repo and running system, and optionally fix it. ## What This Does Runs the `sync-organism` script to detect differences between: - `~/
tools
--- name: stream description: Query the unified event stream for recent activity across all surfaces. Use when user asks about recent conversations, what happened on iMessage/CLI/wake cycles, or wants to see cross-surface activity. Trigger words: stream, recent activity, what happened, iMessage today, CLI earlier, recent conversations, cross-surface. context: fork allowed-tools: - Bash - Read --- # Unified Event Stream Query This skill provides on-demand access to the unified event stream