SKILL.md
SharePlay Developer
Quick Start
- Decide whether this experience is launch-only co-location or shared state
sync.
- Add the Group Activities capability and required entitlement before
building SharePlay UI.
- Define one
GroupActivityper experience and keep the payload minimal and
Codable.
- Load the right reference only after you know the workflow.
- For spatial personas or immersive spaces, load
[spatial-coordination.md](references/spatial-coordination.md) before joining.
Load References When
| Reference | When to Use |
|---|---|
[activation-ui.md](references/activation-ui.md) |
When wiring the SharePlay entry point or start button flow. |
[activity-definition.md](references/activity-definition.md) |
When defining the GroupActivity payload, metadata, or transfer representation. |
[group-session-lifecycle.md](references/group-session-lifecycle.md) |
When joining, leaving, observing, or presenting a GroupSession. |
[messaging-journal.md](references/messaging-journal.md) |
When using GroupSessionMessenger, GroupSessionJournal, or late-joiner sync. |
[shareplay-spatial-api.md](references/shareplay-spatial-api.md) |
When checking the official GroupActivities APIs for activation, association, session ownership, and spatial coordination. |
[spatial-coordination.md](references/spatial-coordination.md) |
When configuring SystemCoordinator, spatial templates, or group immersive-space behavior. |
[visionos-immersive-space.md](references/visionos-immersive-space.md) |
When implementing launch-only SharePlay for a visionOS immersive space. |
[groupactivities-patterns.md](references/groupactivities-patterns.md) |
When you need broader GroupActivities patterns or sample-backed examples. |
Workflow
- Define the activity and choose the activation surface.
- Observe and configure the session before joining.
- Add messaging or journal synchronization only if shared state is required.
- Configure spatial coordination when the experience shares an immersive
space.
- Summarize the session lifecycle, sync model, and launch surface clearly.
When To Switch Skills
- Switch to
build-run-debugwhen the blocker is app launch, simulator state,
or runtime debugging rather than SharePlay behavior.
- Switch to
signing-entitlementswhen the issue is capabilities,
entitlements, or privacy gating.
- Switch to
telemetrywhen proof of event ordering or session state changes
matters more than API design.
Guardrails
- Keep
GroupActivitydata small andCodable. - Join only after the UI and local state are ready.
Output Expectations
Provide:
- the activity type and activation surface
- the chosen session and sync model
- which references were used
- the coordination model if immersive space is involved
- the next skill to use if the blocker is execution, signing, or testing