# 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.

- Skill: `gaelic-ghost/push-to-talk-workflow` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gaelic-ghost/push-to-talk-workflow`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gaelic-ghost/push-to-talk-workflow/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: gaelic-ghost (https://skillmd.com/u/gaelic-ghost)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/gaelic-ghost/push-to-talk-workflow

---


# 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)

