activitykit

Implement ActivityKit Live Activities for Lock Screen and Dynamic Island UIs.

Updated May 6, 2026
One-click install
npx skills add https://github.com/Roy-wonji/claude-config --skill activitykit-roy-wonji
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: activitykit
Source: https://github.com/Roy-wonji/claude-config/tree/main/skills/swift-ios-skills/skills/activitykit
Command: npx skills add https://github.com/Roy-wonji/claude-config --skill activitykit-roy-wonji

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you implement and improve ActivityKit Live Activities so users see real-time, glanceable status updates on the Lock Screen and Dynamic Island without relying on constant app polling.

Core Features & Use Cases

  • Live Activity lifecycle guidance: Define ActivityAttributes and ContentState, then correctly request, update, and end activities (including dismissal policies).
  • UI for multiple surfaces: Build Lock Screen widgets and Dynamic Island layouts (compact, minimal, expanded) while handling limited space and stale content states.
  • Push-to-update correctness: Configure remote updates via APNs using the required token handling and payload format (including alert behavior).
  • Modern iOS coverage: Uses current ActivityKit APIs and documents platform additions such as scheduled activities, ActivityStyle, paired Mac/CarPlay behavior, and channel-based push.

Quick Start

Implement a Live Activity by defining your ActivityAttributes and ContentState, starting the activity with the correct pushType, updating state via activity.update, and ending it on every completion or failure path.

Frequently Asked Questions about activitykit

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

FAQPage Schema
How do I implement Live Activities for the iOS Lock Screen and Dynamic Island?

To implement Live Activities, you must define ActivityAttributes and Codable ContentState models, then use ActivityContent to request, update, and safely end activities across all code paths. This enables real-time, glanceable status updates on the Lock Screen and Dynamic Island.

How do I update Live Activities remotely using APNs push notifications?

You can update Live Activities remotely by configuring APNs push-to-update workflows with correct token handling and payload formatting. This requires starting the activity with the correct pushType and managing state updates via activity.update.

What is the correct way to handle stale content states in ActivityKit?

Handling stale content states in ActivityKit requires modeling correct Codable ContentState and applying proper dismissal policies when activities are updated or ended. This ensures outdated UI is safely dismissed across Lock Screen and Dynamic Island layouts.

How do I design UI layouts for the Dynamic Island?

Designing Dynamic Island UIs involves building distinct compact, minimal, and expanded layouts while managing limited space. You must configure these layouts alongside Lock Screen widgets using current ActivityKit APIs.

Can I use ActivityKit for scheduled activities and paired Mac or CarPlay behavior?

Yes, modern ActivityKit APIs support scheduled activities, ActivityStyle configurations, paired Mac and CarPlay behavior, and channel-based push. These platform additions allow broader real-time status updates beyond standard iOS surfaces.

Why do my Live Activities fail to end safely across all code paths?

Live Activities fail to end safely when completion or failure paths are not explicitly handled. You must ensure activities are dismissed using correct dismissal policies and ActivityContent for every request, update, and end operation.