shareplay-activities

Coordinate real-time shared experiences across devices with GroupActivities and SharePlay.

Updated Apr 19, 2026
One-click install
npx skills add https://github.com/femitz/flyby --skill shareplay-activities-femitz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shareplay-activities
Source: https://github.com/femitz/flyby/tree/main/.agents/skills/shareplay-activities
Command: npx skills add https://github.com/femitz/flyby --skill shareplay-activities-femitz

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

GroupActivities and SharePlay enable real-time coordination of shared experiences across devices, resolving the complexity of keeping media, state, and user interactions synchronized during FaceTime or iMessage sessions.

Core Features & Use Cases

  • Define a GroupActivity and its metadata to coordinate sessions across devices.
  • Manage session lifecycle: observe, join, and track participant changes.
  • Exchange messages and synchronize state using GroupSessionMessenger and GroupSessionJournal for large data transfers.
  • Coordinate media playback across participants with AVPlaybackCoordinator.
  • Launch SharePlay from within your app via GroupActivitySharingController and activation patterns.
  • Ensure late joiners receive the current state to catch up and stay in sync.
  • Provide SwiftUI integration examples for UI indicators and controls.

Quick Start

Create a WatchTogetherActivity with movieID and movieTitle, then call prepareForActivation() to start or join a SharePlay session.

Frequently Asked Questions about shareplay-activities

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I synchronize media playback across devices during a FaceTime session?

You can synchronize media playback across devices during FaceTime sessions using AVPlaybackCoordinator within GroupActivities. SharePlay coordinates real-time shared experiences, managing session lifecycle and tracking participant changes to keep media aligned.

What's the best way to handle late joiners in a SharePlay group activity?

Handling late joiners in a SharePlay group activity requires synchronizing their state upon session join. GroupActivities ensures late joiners receive the current shared state, allowing them to catch up and stay in sync with active participants.

How do I exchange messages and large data transfers in a GroupActivity session?

Exchanging messages and large data transfers in a GroupActivity session uses GroupSessionMessenger for standard communication and GroupSessionJournal for large data transfers. This enables robust state synchronization across connected devices.

Does SharePlay support collaborative interactions and shared app state on tvOS and visionOS?

SharePlay supports collaborative interactions and shared app state on tvOS and visionOS, alongside iOS and macOS. GroupActivities coordinate synchronized experiences, requiring specific entitlements and activity definitions for cross-platform functionality.

How do I start a SharePlay session from within my SwiftUI app?

To start a SharePlay session from within your SwiftUI app, define a GroupActivity with metadata, then call prepareForActivation(). Use GroupActivitySharingController and SwiftUI integration to provide UI indicators and controls for session activation.