{
  "schemaVersion": "1.0",
  "item": {
    "slug": "imessage-voice-memo-skill",
    "name": "Voice Memo",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/amzzzzzzz/imessage-voice-memo-skill",
    "canonicalUrl": "https://clawhub.ai/amzzzzzzz/imessage-voice-memo-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/imessage-voice-memo-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=imessage-voice-memo-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "references/VOICES.md",
      "scripts/send-voice-memo.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/imessage-voice-memo-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/imessage-voice-memo-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/imessage-voice-memo-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/imessage-voice-memo-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/imessage-voice-memo-skill/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Voice Memo",
        "body": "Send native iMessage voice bubbles (not file attachments) using ElevenLabs TTS and BlueBubbles."
      },
      {
        "title": "Quick Start",
        "body": "Run the script with text and recipient:\n\nscripts/send-voice-memo.sh \"Your message here\" +14169060839\n\nThis will:\n\nGenerate TTS audio via ElevenLabs (Rachel voice by default)\nConvert to Opus CAF @ 24kHz (iMessage native format)\nSend as native voice bubble via BlueBubbles"
      },
      {
        "title": "Requirements",
        "body": "BlueBubbles running locally with Private API enabled\nElevenLabs API key (for TTS)\nmacOS (for afconvert audio conversion)\nEnvironment variables in ~/.openclaw/.env:\nELEVENLABS_API_KEY=your-key-here\nBLUEBUBBLES_PASSWORD=your-password-here\n# Optional overrides:\nELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM  # Rachel (default)\nELEVENLABS_MODEL_ID=eleven_turbo_v2_5      # Turbo v2.5 (default)"
      },
      {
        "title": "The Working Formula",
        "body": "Critical parameters discovered 2026-02-19:\n\nParameterValueWhychatGuidany;-;+PHONENOT iMessage;-; (causes timeouts)methodprivate-apiRequired for native bubbleisAudioMessagetrueRequiredAudio formatOpus @ 24kHz in CAFiMessage native formatPre-convertYesDon't let BlueBubbles convert (wrong codec)"
      },
      {
        "title": "Voice Options",
        "body": "Default voice: Rachel (ElevenLabs)\n\nVoice ID: 21m00Tcm4TlvDq8ikWAM\nModel: eleven_turbo_v2_5 (fast, natural)\nCost: ~$0.04 per 30s message\n\nExpressive tags:\n\n[laughs] — natural laughter\n[sighs] — expressive sigh\n[excited] — energetic delivery\n\nExample: \"[excited] Oh my god, it worked!\"\n\nFor full voice list and IDs, see VOICES.md."
      },
      {
        "title": "Bidirectional Voice Memos",
        "body": "Sending (Amz → Amy):\nUse this skill. Native voice bubbles appear with waveform UI.\n\nReceiving (Amy → Amz):\nBlueBubbles auto-converts incoming voice memos to MP3. OpenClaw transcribes via Whisper. Transcribed text flows into conversation context automatically.\n\nMemory note: Incoming voice memo transcriptions flow into conversation context like any text message. They are NOT automatically persisted to memory or files — the agent must explicitly choose to store them, same as any conversation content. If you want to prevent transcriptions from being retained, instruct the agent not to record voice memo content in memory."
      },
      {
        "title": "Troubleshooting",
        "body": "Voice bubble arrives as file attachment:\n\nCheck method=private-api is set\nVerify chatGuid uses any;-; prefix (not iMessage;-;)\nCheck response has \"isAudioMessage\": true\n\nAPI times out:\n\nUse any;-;+PHONE format for chatGuid\nVerify BlueBubbles Private API is enabled\nRestart BlueBubbles if consistently slow\n\nAudio is 0 seconds / unplayable:\n\nEnsure pre-conversion to Opus @ 24kHz\nDon't let BlueBubbles convert (uses wrong codec)\nVerify with: afinfo output.caf (should show opus @ 24000 Hz)"
      }
    ],
    "body": "Voice Memo\n\nSend native iMessage voice bubbles (not file attachments) using ElevenLabs TTS and BlueBubbles.\n\nQuick Start\n\nRun the script with text and recipient:\n\nscripts/send-voice-memo.sh \"Your message here\" +14169060839\n\n\nThis will:\n\nGenerate TTS audio via ElevenLabs (Rachel voice by default)\nConvert to Opus CAF @ 24kHz (iMessage native format)\nSend as native voice bubble via BlueBubbles\nRequirements\nBlueBubbles running locally with Private API enabled\nElevenLabs API key (for TTS)\nmacOS (for afconvert audio conversion)\nEnvironment variables in ~/.openclaw/.env:\nELEVENLABS_API_KEY=your-key-here\nBLUEBUBBLES_PASSWORD=your-password-here\n# Optional overrides:\nELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM  # Rachel (default)\nELEVENLABS_MODEL_ID=eleven_turbo_v2_5      # Turbo v2.5 (default)\n\nThe Working Formula\n\nCritical parameters discovered 2026-02-19:\n\nParameter\tValue\tWhy\nchatGuid\tany;-;+PHONE\tNOT iMessage;-; (causes timeouts)\nmethod\tprivate-api\tRequired for native bubble\nisAudioMessage\ttrue\tRequired\nAudio format\tOpus @ 24kHz in CAF\tiMessage native format\nPre-convert\tYes\tDon't let BlueBubbles convert (wrong codec)\nVoice Options\n\nDefault voice: Rachel (ElevenLabs)\n\nVoice ID: 21m00Tcm4TlvDq8ikWAM\nModel: eleven_turbo_v2_5 (fast, natural)\nCost: ~$0.04 per 30s message\n\nExpressive tags:\n\n[laughs] — natural laughter\n[sighs] — expressive sigh\n[excited] — energetic delivery\n\nExample: \"[excited] Oh my god, it worked!\"\n\nFor full voice list and IDs, see VOICES.md.\n\nBidirectional Voice Memos\n\nSending (Amz → Amy): Use this skill. Native voice bubbles appear with waveform UI.\n\nReceiving (Amy → Amz): BlueBubbles auto-converts incoming voice memos to MP3. OpenClaw transcribes via Whisper. Transcribed text flows into conversation context automatically.\n\nMemory note: Incoming voice memo transcriptions flow into conversation context like any text message. They are NOT automatically persisted to memory or files — the agent must explicitly choose to store them, same as any conversation content. If you want to prevent transcriptions from being retained, instruct the agent not to record voice memo content in memory.\n\nTroubleshooting\n\nVoice bubble arrives as file attachment:\n\nCheck method=private-api is set\nVerify chatGuid uses any;-; prefix (not iMessage;-;)\nCheck response has \"isAudioMessage\": true\n\nAPI times out:\n\nUse any;-;+PHONE format for chatGuid\nVerify BlueBubbles Private API is enabled\nRestart BlueBubbles if consistently slow\n\nAudio is 0 seconds / unplayable:\n\nEnsure pre-conversion to Opus @ 24kHz\nDon't let BlueBubbles convert (uses wrong codec)\nVerify with: afinfo output.caf (should show opus @ 24000 Hz)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/amzzzzzzz/imessage-voice-memo-skill",
    "publisherUrl": "https://clawhub.ai/amzzzzzzz/imessage-voice-memo-skill",
    "owner": "amzzzzzzz",
    "version": "0.1.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/imessage-voice-memo-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/imessage-voice-memo-skill",
    "agentUrl": "https://openagent3.xyz/skills/imessage-voice-memo-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/imessage-voice-memo-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/imessage-voice-memo-skill/agent.md"
  }
}