Skip to content
Development
Skill

/push-to-talk-workflow

Build an Apple Push to Talk channel experience with system controls, ephemeral PTT pushes, audio-session ownership, and an app-owned communication backend.

From plugin
socket
7200 skills5 MCP
Install
$ npx -y skills add gaelic-ghost/socket --skill push-to-talk-workflow --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/push-to-talk-workflow

Context preview

The summary Claude sees to decide when to auto-load this skill.

Build an Apple Push to Talk channel experience with system controls, ephemeral PTT pushes, audio-session ownership, and an app-owned communication backend.

SKILL.md

push-to-talk-workflow.SKILL.md
name: push-to-talk-workflow
description: Build an Apple Push to Talk channel experience with system controls, ephemeral PTT pushes, audio-session ownership, and an app-owned communication backend.
metadata:
  hermes:
    category: apple-development
    tags: [push-to-talk, ptt, audio, apns, channels]

Push To Talk Workflow

Purpose

Build a walkie-talkie-style application using PushToTalk. The framework supplies system controls and channel lifecycle; the app still owns identity, membership, audio transport, encryption, moderation, and backend behavior.

Workflow

1. Model a channel with stable app-owned identity, membership authorization, transmission mode, and explicit join/leave lifecycle. 2. Use `PTChannelManager` and its delegate for system-visible channel state and begin/end transmission events. Treat half-duplex and full-duplex as product decisions, not interchangeable audio modes. 3. Configure the app's audio session only in response to the applicable PTT lifecycle event; preserve interruptions, Bluetooth routing, and privacy indicators. 4. Use the channel's ephemeral push token only for that channel lifetime. Send APNs PTT pushes with `pushtotalk`, the `.voip-ptt` topic suffix, immediate priority, and no stale-delivery window when the event is time-sensitive. 5. Keep transport, codec, encryption, recording, retention, and moderation as explicit app/backend responsibilities.

Validation

Validate on physical iPhone/iPad hardware with multiple participants, lock screen controls, join/leave churn, token rotation, delayed audio, interruptions, Bluetooth accessories, denied microphone permission, and expired-channel push delivery.

References

  • [Creating a Push to Talk app](https://developer.apple.com/documentation/pushtotalk/creating-a-push-to-talk-app)
  • [Push to Talk framework](https://developer.apple.com/documentation/pushtotalk)
Read more
Ships withsocket

Stuff for Agents on macOS Promo audio: Socket Codex Marketplace Promo

Get the whole plugin

Other skills on socket.