activitykit

Coordinate iOS Live Activities attributes, content state, and push-based updates.

1|1|Updated Apr 11, 2026
One-click install
npx skills add https://github.com/Borisserz/FoodTracker --skill activitykit-borisserz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: activitykit
Source: https://github.com/Borisserz/FoodTracker/tree/main/.agents/skills/activitykit
Command: npx skills add https://github.com/Borisserz/FoodTracker --skill activitykit-borisserz

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Live Activities and Dynamic Island patterns enable real-time, glanceable updates on Lock Screen and Dynamic Island, but many apps lack a clear, scalable blueprint for modeling persistent and dynamic data, lifecycle events, and background updates.

Core Features & Use Cases

  • Define ActivityAttributes with static data and a nested ContentState for dynamic state
  • Implement push-to-update token handling, isStale awareness, and end/dismissal policies
  • Design Lock Screen and Dynamic Island layouts (compact, minimal, expanded) and perform reconciliation on app foreground/background
  • Support scheduled or remote start via Push-to-Start and Channel-based updates (iOS 18+/26+ features)

Quick Start

Define the attributes and initial content, then start the Live Activity using Activity.request with a token push type.

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 with push notifications on iOS?

To implement Live Activities with push notifications, you define ActivityAttributes for static data and ContentState for dynamic state, then start updates using Activity.request with a token push type. This coordinates push-based updates for the Lock Screen and Dynamic Island.

What is the best way to model data for iOS Dynamic Island layouts?

Modeling data for Dynamic Island layouts requires defining ActivityAttributes containing static persistent data alongside a nested ContentState for dynamic state. This separation drives UI reconciliation across compact, minimal, and expanded layouts.

How do I handle stale Live Activities and manage their expiration lifecycle?

Handling stale Live Activities involves monitoring the isStale flag and applying explicit end or dismissal policies. You must manage expiration and lifecycle events carefully across iOS versions to ensure proper UI cleanup.

Does ActivityKit support starting Live Activities remotely via push?

ActivityKit supports remote activation via Push-to-Start and channel-based updates on iOS 18+ and 26+. This enables scheduled or remote initialization of Live Activities without requiring the app to be open.

Why are my Live Activity push token updates not working on the Lock Screen?

Live Activity push token updates fail when tokens are mishandled or isStale states are ignored. Properly configuring push-to-update tokens, channel-based updates, and lifecycle management ensures dynamic content renders correctly on the Lock Screen.